66import java .util .List ;
77import java .util .Map ;
88import com .fasterxml .jackson .core .JsonProcessingException ;
9+ import com .fasterxml .jackson .databind .JsonNode ;
910import com .fasterxml .jackson .databind .node .BooleanNode ;
1011import com .fasterxml .jackson .databind .node .IntNode ;
1112import com .fasterxml .jackson .databind .node .ObjectNode ;
1213import com .fasterxml .jackson .databind .node .TextNode ;
1314import io .sentrius .sso .core .annotations .LimitAccess ;
1415import io .sentrius .sso .core .annotations .Model ;
1516import io .sentrius .sso .core .controllers .BaseController ;
17+ import io .sentrius .sso .core .model .HostSystem ;
1618import io .sentrius .sso .core .model .security .UserType ;
1719import io .sentrius .sso .core .model .users .User ;
1820import io .sentrius .sso .core .model .dto .UserDTO ;
1921import io .sentrius .sso .core .model .dto .UserTypeDTO ;
2022import io .sentrius .sso .core .model .security .enums .UserAccessEnum ;
2123import io .sentrius .sso .core .model .users .UserConfig ;
2224import io .sentrius .sso .core .model .users .UserSettings ;
25+ import io .sentrius .sso .core .model .zt .OpsZeroTrustAcessTokenRequest ;
26+ import io .sentrius .sso .core .model .zt .ZeroTrustAccessTokenRequest ;
2327import io .sentrius .sso .core .security .service .CryptoService ;
2428import io .sentrius .sso .core .services .ErrorOutputService ;
2529import io .sentrius .sso .core .services .SessionService ;
2630import io .sentrius .sso .core .services .UserCustomizationService ;
2731import io .sentrius .sso .core .services .UserService ;
2832import io .sentrius .sso .core .services .HostGroupService ;
2933import io .sentrius .sso .core .config .SystemOptions ;
34+ import io .sentrius .sso .core .services .ZeroTrustAccessTokenService ;
35+ import io .sentrius .sso .core .services .ZeroTrustRequestService ;
3036import io .sentrius .sso .core .utils .JsonUtil ;
3137import io .sentrius .sso .core .utils .MessagingUtil ;
3238import jakarta .servlet .http .HttpServletRequest ;
3743import org .springframework .web .bind .annotation .GetMapping ;
3844import org .springframework .web .bind .annotation .ModelAttribute ;
3945import org .springframework .web .bind .annotation .PostMapping ;
46+ import org .springframework .web .bind .annotation .RequestBody ;
4047import org .springframework .web .bind .annotation .RequestMapping ;
4148import org .springframework .web .bind .annotation .RequestParam ;
4249
@@ -51,6 +58,8 @@ public class UserApiController extends BaseController {
5158 final CryptoService cryptoService ;
5259 private final MessagingUtil messagingUtil ;
5360 final UserCustomizationService userThemeService ;
61+ final ZeroTrustRequestService ztatRequestService ;
62+ final ZeroTrustAccessTokenService ztatService ;
5463
5564 static Map <String , Field > fields = new HashMap <>();
5665 static {
@@ -66,14 +75,18 @@ protected UserApiController(UserService userService, SystemOptions systemOptions
6675 HostGroupService hostGroupService , CryptoService cryptoService ,
6776 MessagingUtil messagingUtil ,
6877 UserCustomizationService userThemeService ,
69- SessionService sessionService
78+ SessionService sessionService ,
79+ ZeroTrustRequestService ztatRequestService ,
80+ ZeroTrustAccessTokenService ztatService
7081 ) {
7182 super (userService , systemOptions , errorOutputService );
7283 this .hostGroupService = hostGroupService ;
7384 this .cryptoService = cryptoService ;
7485 this .messagingUtil = messagingUtil ;
7586 this .userThemeService = userThemeService ;
7687 this .sessionService = sessionService ;
88+ this .ztatRequestService = ztatRequestService ;
89+ this .ztatService = ztatService ;
7790 }
7891
7992 @ GetMapping ("list" )
@@ -117,7 +130,6 @@ public String deleteUser(@RequestParam("userId") String userId) throws GeneralSe
117130 }
118131
119132 @ PostMapping ("/settings" )
120- @ LimitAccess (userAccess = {UserAccessEnum .CAN_EDIT_USERS })
121133 public String updateUser (HttpServletRequest request , HttpServletResponse response ) throws JsonProcessingException {
122134 var user = userService .getOperatingUser (request ,response , null );
123135
@@ -163,6 +175,18 @@ public String updateUser(HttpServletRequest request, HttpServletResponse respons
163175 return "redirect:/sso/v1/users/settings?message=" + MessagingUtil .getMessageId (MessagingUtil .SETTINGS_UPDATED );
164176 }
165177
178+ @ PostMapping ("/settings/workhours" )
179+ public String updateWorkhours (HttpServletRequest request , HttpServletResponse response ,
180+ @ RequestBody JsonNode body ) throws JsonProcessingException {
181+ log .info ("Updating work hours: {}" , body );
182+ /*
183+ var reason = ztatService.createReason("Updating work hours", "Updating work hours", "");
184+ var ztatRequest = ztatService.createOpsRequest("Updating work hours", "Updating work hours",
185+ reason, userService.getOperatingUser(request,response, null));
186+ ztatRequestService.createOpsTATRequest(ztatRequest);*/
187+ return "" ;
188+ }
189+
166190 @ GetMapping ("/types/list" )
167191 @ LimitAccess (userAccess = {UserAccessEnum .CAN_MANAGE_USERS })
168192 public ResponseEntity <List <UserTypeDTO >> getUserTypes () throws GeneralSecurityException {
0 commit comments