Skip to content

Commit

Permalink
reactor
Browse files Browse the repository at this point in the history
  • Loading branch information
otary committed Nov 22, 2024
1 parent 5294600 commit a03cb91
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 19 deletions.
16 changes: 16 additions & 0 deletions src/main/java/org/gitlab4j/api/PersonalAccessTokenApi.java
Original file line number Diff line number Diff line change
Expand Up @@ -93,4 +93,20 @@ public PersonalAccessToken getPersonalAccessToken(String id) throws GitLabApiExc
Response response = get(Response.Status.OK, null, "personal_access_tokens", id);
return (response.readEntity(PersonalAccessToken.class));
}

/**
* Revokes a personal access token. Available only for admin users.
*
* <pre><code>GitLab Endpoint: DELETE /personal_access_tokens/:token_id</code></pre>
* @param tokenId the personal access token ID to revoke
* @throws GitLabApiException if any exception occurs
*/
public void revokePersonalAccessToken(Long tokenId) throws GitLabApiException {
if (tokenId == null) {
throw new RuntimeException("tokenId cannot be null");
}
Response.Status expectedStatus =
(isApiVersion(GitLabApi.ApiVersion.V3) ? Response.Status.OK : Response.Status.NO_CONTENT);
delete(expectedStatus, null, "personal_access_tokens", tokenId);
}
}
35 changes: 16 additions & 19 deletions src/main/java/org/gitlab4j/api/UserApi.java
Original file line number Diff line number Diff line change
Expand Up @@ -805,19 +805,7 @@ public SshKey addSshKey(String title, String key) throws GitLabApiException {
* @throws GitLabApiException if any exception occurs
*/
public SshKey addSshKey(Long userId, String title, String key) throws GitLabApiException {

if (userId == null) {
throw new RuntimeException("userId cannot be null");
}

GitLabApiForm formData = new GitLabApiForm().withParam("title", title).withParam("key", key);
Response response = post(Response.Status.CREATED, formData, "users", userId, "keys");
SshKey sshKey = response.readEntity(SshKey.class);
if (sshKey != null) {
sshKey.setUserId(userId);
}

return (sshKey);
return addSshKey(userId, title, key, null);
}

/**
Expand All @@ -833,12 +821,20 @@ public SshKey addSshKey(Long userId, String title, String key) throws GitLabApiE
* @throws GitLabApiException if any exception occurs
*/
public SshKey addSshKey(Long userId, String title, String key, Date expiresAt) throws GitLabApiException {
GitLabApiForm formData = new GitLabApiForm()
.withParam("title", title)
.withParam("key", key)
.withParam("expires_at", expiresAt);
Response response = post(Response.Status.CREATED, formData, "user", "keys");
return (response.readEntity(SshKey.class));
if (userId == null) {
throw new RuntimeException("userId cannot be null");
}

GitLabApiForm formData = new GitLabApiForm().withParam("title", title).withParam("key", key);
if (expiresAt != null) {
formData.withParam("expires_at", expiresAt);
}
Response response = post(Response.Status.CREATED, formData, "users", userId, "keys");
SshKey sshKey = response.readEntity(SshKey.class);
if (sshKey != null) {
sshKey.setUserId(userId);
}
return (sshKey);
}

/**
Expand Down Expand Up @@ -1030,6 +1026,7 @@ public void revokePersonalAccessToken(Long tokenId) throws GitLabApiException {
(isApiVersion(ApiVersion.V3) ? Response.Status.OK : Response.Status.NO_CONTENT);
delete(expectedStatus, null, "personal_access_tokens", tokenId);
}

// as per https://docs.gitlab.com/ee/api/README.html#impersonation-tokens, impersonation tokens are a type of
// personal access token
private ImpersonationToken createPersonalAccessTokenOrImpersonationToken(
Expand Down

0 comments on commit a03cb91

Please sign in to comment.