@Override public ExtPubKey getPublicKey(long id) { Map<String, Object> uriVariabels = new HashMap<String, Object>(0); uriVariabels.put("id", id); return getRestTemplate().getForObject(buildUri("/user/keys/{id}", uriVariabels), ExtPubKey.class); }
@Override public List<ExtPubKey> listPublicKeys() { return getRestTemplate().exchange(buildUri("/user/keys"), HttpMethod.GET, null, extPubKeyListTypeRef) .getBody(); }
@Override public GitHubUserProfile getUserProfile() { return getRestTemplate().getForObject(buildUri("user"), GitHubUserProfile.class); }
@Override public void deletePublicKey(long id) { Map<String, Object> uriVariabels = new HashMap<String, Object>(0); uriVariabels.put("id", id); getRestTemplate().delete(buildUri("/user/keys/{id}", uriVariabels)); }
@Override public List<Email> listEmails() { return Arrays .asList(getRestTemplate().getForEntity(buildUriString(USER_EMAILS_PATH), Email[].class).getBody()); }
@Override public List<PubKey> listPublicKeys(String username) { Map<String, Object> uriVariabels = new HashMap<String, Object>(0); uriVariabels.put("username", username); RequestEntity<Void> reqEntity = RequestEntity.get(buildUri("/users/{username}/keys", uriVariabels)).build(); return getRestTemplate().exchange(reqEntity, pubKeyListTypeRef).getBody(); }
@Override public ExtPubKey createPublicKey(PubKeyInput pubKey) { RequestEntity<PubKeyInput> reqEntity = RequestEntity.post(buildUri(USER_EMAILS_PATH)) .contentType(MediaType.APPLICATION_JSON).body(pubKey); return getRestTemplate().exchange(reqEntity, ExtPubKey.class).getBody(); }
@Override public List<Email> addEmails(List<String> emails) { RequestEntity<List<String>> reqEntity = RequestEntity.post(buildUri(USER_EMAILS_PATH)) .contentType(MediaType.APPLICATION_JSON).body(emails); return getRestTemplate().exchange(reqEntity, emailListTypeRef).getBody(); }
@Override public void deleteEmails(List<String> emails) { RequestEntity<List<String>> reqEntity = RequestEntity.method(HttpMethod.DELETE, buildUri(USER_EMAILS_PATH)) .contentType(MediaType.APPLICATION_JSON).body(emails); getRestTemplate().exchange(reqEntity, Void.class); }