|
1 | 1 | package io.sentrius.sso.controllers.view; |
2 | 2 |
|
| 3 | +import java.util.List; |
3 | 4 | import io.sentrius.sso.core.annotations.LimitAccess; |
4 | 5 | import io.sentrius.sso.core.config.SystemOptions; |
5 | 6 | import io.sentrius.sso.core.controllers.BaseController; |
| 7 | +import io.sentrius.sso.core.model.dto.JITTrackerDTO; |
6 | 8 | import io.sentrius.sso.core.model.security.enums.ZeroTrustAccessTokenEnum; |
7 | 9 | import io.sentrius.sso.core.model.users.User; |
8 | 10 | import io.sentrius.sso.core.services.ErrorOutputService; |
9 | 11 | import io.sentrius.sso.core.services.ZeroTrustRequestService; |
10 | 12 | import io.sentrius.sso.core.services.UserService; |
| 13 | +import io.sentrius.sso.core.utils.AccessUtil; |
| 14 | +import io.sentrius.sso.core.utils.ZTATUtils; |
11 | 15 | import jakarta.servlet.http.HttpServletRequest; |
12 | 16 | import jakarta.servlet.http.HttpServletResponse; |
13 | 17 | import org.springframework.http.ResponseEntity; |
@@ -53,13 +57,38 @@ public String viewMyTats(HttpServletRequest request, HttpServletResponse respons |
53 | 57 | return "sso/ztats/view_my_ztats"; |
54 | 58 | } |
55 | 59 |
|
| 60 | + |
| 61 | + List<JITTrackerDTO> decorateTats(List<JITTrackerDTO> tats, User operatingUser){ |
| 62 | + boolean canApprove = AccessUtil.canAccess(operatingUser, ZeroTrustAccessTokenEnum.CAN_APPROVE_ZTATS); |
| 63 | + boolean canDeny = AccessUtil.canAccess(operatingUser, ZeroTrustAccessTokenEnum.CAN_DENY_ZTATS); |
| 64 | + if (canApprove || canDeny) { |
| 65 | + for (var tat : tats) { |
| 66 | + |
| 67 | + if (tat.getUserName().equals(operatingUser.getUsername())) { |
| 68 | + tat.setCurrentUser(true); |
| 69 | + if (systemOptions.getCanApproveOwnZtat()) { |
| 70 | + tat.setCanApprove(canApprove); |
| 71 | + tat.setCanDeny(canDeny); |
| 72 | + } |
| 73 | + } |
| 74 | + else { |
| 75 | + tat.setCanApprove(canApprove); |
| 76 | + tat.setCanDeny(canDeny); |
| 77 | + } |
| 78 | + |
| 79 | + } |
| 80 | + } |
| 81 | + return tats; |
| 82 | + } |
| 83 | + |
56 | 84 | private void modelTATs(Model model, User operatingUser){ |
57 | | - model.addAttribute("openTerminalTats", ztatRequestService.getOpenAccessTokenRequests(operatingUser)); |
58 | | - model.addAttribute("openOpsTats", ztatRequestService.getOpenOpsRequests(operatingUser)); |
59 | | - model.addAttribute("approvedTerminalTats", ztatRequestService.getApprovedTerminalAccessTokenRequests(operatingUser)); |
60 | | - model.addAttribute("approvedOpsTats", ztatRequestService.getApprovedOpsAccessTokenRequests(operatingUser)); |
61 | | - model.addAttribute("deniedOpsTats", ztatRequestService.getDeniedOpsAccessTokenRequests(operatingUser)); |
62 | | - model.addAttribute("deniedTerminalTats", ztatRequestService.getDeniedTerminalAccessTokenRequests(operatingUser)); |
| 85 | + model.addAttribute("openTerminalTats", |
| 86 | + decorateTats(ztatRequestService.getOpenAccessTokenRequests(operatingUser),operatingUser)); |
| 87 | + model.addAttribute("openOpsTats", decorateTats(ztatRequestService.getOpenOpsRequests(operatingUser),operatingUser)); |
| 88 | + model.addAttribute("approvedTerminalTats", decorateTats(ztatRequestService.getApprovedTerminalAccessTokenRequests(operatingUser),operatingUser)); |
| 89 | + model.addAttribute("approvedOpsTats", decorateTats(ztatRequestService.getApprovedOpsAccessTokenRequests(operatingUser),operatingUser)); |
| 90 | + model.addAttribute("deniedOpsTats",decorateTats( ztatRequestService.getDeniedOpsAccessTokenRequests(operatingUser),operatingUser)); |
| 91 | + model.addAttribute("deniedTerminalTats", decorateTats(ztatRequestService.getDeniedTerminalAccessTokenRequests(operatingUser),operatingUser)); |
63 | 92 | } |
64 | 93 |
|
65 | 94 | } |
0 commit comments