backend-api http://jira.mfd.msk:8088/browse/CLS-64 UserSettingsController.java

This commit is contained in:
AKurakin 2023-06-15 18:26:21 +03:00
parent ef187881b2
commit ea561b9a85

View file

@ -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<Map<String, Object>> 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<Map<String, Object>> all = stateLoader.getAllMetaTransform(IMDGDistributedNames.Map_UserSettings, UserSettings.class,
Map.of("userId", user.getId())
);
var response = new CommonGetAllResponse();
response.fromEntity(all);
return response;