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

Reply via email to