This is an automated email from the ASF dual-hosted git repository. ofuks pushed a commit to branch audit in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
The following commit(s) were added to refs/heads/audit by this push: new 28302a4 Added audit for managing git accounts 28302a4 is described below commit 28302a4eba17adef530513a3604eb8183ff89e9b Author: Oleh Fuks <olegfuk...@gmail.com> AuthorDate: Thu Jun 11 17:20:18 2020 +0300 Added audit for managing git accounts --- .../dlab/backendapi/domain/AuditActionEnum.java | 1 + .../backendapi/interceptor/AuditInterceptor.java | 2 +- .../backendapi/resources/GitCredsResource.java | 41 ++++++++++++---------- .../service/impl/GitCredentialServiceImpl.java | 6 +++- 4 files changed, 29 insertions(+), 21 deletions(-) diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/domain/AuditActionEnum.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/domain/AuditActionEnum.java index 973af41..96e7f86 100644 --- a/services/self-service/src/main/java/com/epam/dlab/backendapi/domain/AuditActionEnum.java +++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/domain/AuditActionEnum.java @@ -26,5 +26,6 @@ public enum AuditActionEnum { CREATE_ENDPOINT, DELETE_ENDPOINT, BUCKET_UPLOAD_OBJECT, BUCKET_DOWNLOAD_OBJECT, BUCKET_DELETE_OBJECT, CREATE_IMAGE, + MANAGE_GIT_ACCOUNT, FOLLOW_NOTEBOOK_LINK } diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/interceptor/AuditInterceptor.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/interceptor/AuditInterceptor.java index a5a9166..fc04335 100644 --- a/services/self-service/src/main/java/com/epam/dlab/backendapi/interceptor/AuditInterceptor.java +++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/interceptor/AuditInterceptor.java @@ -97,7 +97,7 @@ public class AuditInterceptor implements MethodInterceptor { .filter(i -> Objects.nonNull(parameters[i].getAnnotation(ResourceName.class))) .mapToObj(i -> (String) mi.getArguments()[i]) .findAny() - .orElseThrow(() -> new DlabException("Resource name parameter wanted!")); + .orElse(StringUtils.EMPTY); } private String getInfo(MethodInvocation mi, Parameter[] parameters) { diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/GitCredsResource.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/GitCredsResource.java index 5628771..dd21b5b 100644 --- a/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/GitCredsResource.java +++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/GitCredsResource.java @@ -29,7 +29,11 @@ import lombok.extern.slf4j.Slf4j; import javax.validation.Valid; import javax.validation.constraints.NotNull; -import javax.ws.rs.*; +import javax.ws.rs.Consumes; +import javax.ws.rs.GET; +import javax.ws.rs.PUT; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; @@ -42,26 +46,25 @@ import javax.ws.rs.core.Response; @Slf4j public class GitCredsResource implements ExploratoryAPI { - private GitCredentialService gitCredentialService; + private final GitCredentialService gitCredentialService; - @Inject - public GitCredsResource(GitCredentialService gitCredentialService) { - this.gitCredentialService = gitCredentialService; - } + @Inject + public GitCredsResource(GitCredentialService gitCredentialService) { + this.gitCredentialService = gitCredentialService; + } - /** - * Update GIT credentials for user. - * - * @param userInfo user info. - * @param formDTO the list of credentials. - * @return {@link Response.Status#OK} request for provisioning service has been accepted.<br> - */ - @PUT - public Response updateGitCreds(@Auth UserInfo userInfo, - @Valid @NotNull ExploratoryGitCredsDTO formDTO) { - gitCredentialService.updateGitCredentials(userInfo, formDTO); - return Response.ok().build(); - } + /** + * Update GIT credentials for user. + * + * @param userInfo user info. + * @param formDTO the list of credentials. + * @return {@link Response.Status#OK} request for provisioning service has been accepted.<br> + */ + @PUT + public Response updateGitCreds(@Auth UserInfo userInfo, @Valid @NotNull ExploratoryGitCredsDTO formDTO) { + gitCredentialService.updateGitCredentials(userInfo, formDTO); + return Response.ok().build(); + } /** * Returns info about GIT credentials for user. diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/GitCredentialServiceImpl.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/GitCredentialServiceImpl.java index 6d94a0b..0d715d0 100644 --- a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/GitCredentialServiceImpl.java +++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/GitCredentialServiceImpl.java @@ -20,6 +20,8 @@ package com.epam.dlab.backendapi.service.impl; import com.epam.dlab.auth.UserInfo; +import com.epam.dlab.backendapi.annotation.Audit; +import com.epam.dlab.backendapi.annotation.User; import com.epam.dlab.backendapi.dao.ExploratoryDAO; import com.epam.dlab.backendapi.dao.GitCredsDAO; import com.epam.dlab.backendapi.domain.EndpointDTO; @@ -41,6 +43,7 @@ import org.apache.commons.lang3.StringUtils; import java.util.stream.Collectors; +import static com.epam.dlab.backendapi.domain.AuditActionEnum.MANAGE_GIT_ACCOUNT; import static com.epam.dlab.rest.contracts.ExploratoryAPI.EXPLORATORY_GIT_CREDS; @Slf4j @@ -62,8 +65,9 @@ public class GitCredentialServiceImpl implements GitCredentialService { @Inject private EndpointService endpointService; + @Audit(action = MANAGE_GIT_ACCOUNT) @Override - public void updateGitCredentials(UserInfo userInfo, ExploratoryGitCredsDTO formDTO) { + public void updateGitCredentials(@User UserInfo userInfo, ExploratoryGitCredsDTO formDTO) { log.debug("Updating GIT creds for user {} to {}", userInfo.getName(), formDTO); try { gitCredsDAO.updateGitCreds(userInfo.getName(), formDTO); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@dlab.apache.org For additional commands, e-mail: commits-h...@dlab.apache.org