From ea561b9a854fd4e31f1ad90c5d2e2a32e83e80f7 Mon Sep 17 00:00:00 2001 From: AKurakin Date: Thu, 15 Jun 2023 18:26:21 +0300 Subject: [PATCH] backend-api http://jira.mfd.msk:8088/browse/CLS-64 UserSettingsController.java --- .../queue/utilities/UserSettingsController.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/utilities/UserSettingsController.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/utilities/UserSettingsController.java index bb68fb9b3..960e9f21d 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/utilities/UserSettingsController.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/utilities/UserSettingsController.java @@ -45,12 +45,21 @@ public class UserSettingsController extends AbstractQueueController { this.userImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_User, User.class); } - @ApiOperation(value = "get all user settings.") + @ApiOperation(value = "get all user settings for current user.") @ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)}) @RequestMapping(method = RequestMethod.GET) @ResponseBody - public CommonGetAllResponse getAll() { - Collection> all = stateLoader.getAllMetaTransform(IMDGDistributedNames.Map_UserSettings, UserSettings.class); + public CommonGetAllResponse getAllForCurrentUser() { + Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); + String username = KeycloakUtils.getUserNameFromAuthentication(authentication); + User user = userImdg.getSingleObjectByFieldValues(Map.of("identifier", username)); + if (user == null) { + throw new IllegalStateException("cannot obtain userId from logged in user " + username); + } + + Collection> all = stateLoader.getAllMetaTransform(IMDGDistributedNames.Map_UserSettings, UserSettings.class, + Map.of("userId", user.getId()) + ); var response = new CommonGetAllResponse(); response.fromEntity(all); return response;