---
изменил UserAuthAction
This commit is contained in:
aalehin 2022-12-19 14:28:48 +03:00
parent 39c4b7d30f
commit 2474be998b
2 changed files with 31 additions and 13 deletions

View file

@ -37,7 +37,9 @@ public class UserController extends AbstractQueueController {
private final Imdg<User> userImdg; private final Imdg<User> userImdg;
@Autowired @Autowired
public UserController(IOperator operator, IStateLoader stateLoader, ImdgProvider imdgProvider) { public UserController(IOperator operator,
IStateLoader stateLoader,
ImdgProvider imdgProvider) {
super(operator); super(operator);
this.stateLoader = stateLoader; this.stateLoader = stateLoader;
this.userImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_User, User.class); this.userImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_User, User.class);

View file

@ -1,31 +1,41 @@
package ru.spcex.clearing.backendapi.controller.request.cud.utilities; package ru.spcex.clearing.backendapi.controller.request.cud.utilities;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import ru.spcex.clearing.backendapi.domain.actions.IAction; import ru.spcex.clearing.backendapi.domain.actions.IAction;
import ru.spcex.clearing.backendapi.errors.BackEndError; import ru.spcex.clearing.backendapi.errors.BackEndError;
import ru.spcex.clearing.platform.messaging.domain.ActionType; import ru.spcex.clearing.platform.messaging.domain.ActionType;
import ru.spcex.clearing.platform.messaging.domain.cud.utilities.UserAuthRequest; import ru.spcex.clearing.platform.messaging.domain.cud.utilities.UserAuthRequest;
import ru.spcex.clearing.platform.messaging.domain.json.deserialize.InstantDeserializer;
import ru.spcex.clearing.platform.messaging.domain.json.serialize.InstantSerializer;
import ru.spcex.platform.utils.enumeration.EnumMessage; import ru.spcex.platform.utils.enumeration.EnumMessage;
import java.time.Instant;
import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
public class UserAuthAction implements IAction<UserAuthRequest> { public class UserAuthAction implements IAction<UserAuthRequest> {
private final UserAuthRequest authRequest; @JsonProperty
private String username;
public UserAuthAction() { @JsonProperty
this.authRequest = new UserAuthRequest(); private List<String> roles = new ArrayList<>();
} @JsonSerialize(using = InstantSerializer.class)
@JsonDeserialize(using = InstantDeserializer.class)
public UserAuthRequest getAuthRequest() { @JsonProperty
return authRequest; private Instant time;
} @JsonProperty
private String serverIp;
@JsonProperty
private String clientIp;
@Override @Override
public Collection<EnumMessage> validate() { public Collection<EnumMessage> validate() {
long count = authRequest.getRoles().stream().distinct().count(); long count = roles.stream().distinct().count();
if (count != authRequest.getRoles().size()) { if (count != roles.size()) {
return List.of(new EnumMessage(BackEndError.KeycloakRepeatedRoles)); return List.of(new EnumMessage(BackEndError.KeycloakRepeatedRoles));
} }
return Collections.emptyList(); return Collections.emptyList();
@ -33,7 +43,13 @@ public class UserAuthAction implements IAction<UserAuthRequest> {
@Override @Override
public UserAuthRequest toRequest() { public UserAuthRequest toRequest() {
return authRequest; UserAuthRequest userAuthRequest = new UserAuthRequest();
userAuthRequest.setServerIp(serverIp);
userAuthRequest.setUsername(username);
userAuthRequest.setRoles(roles);
userAuthRequest.setTime(time);
return userAuthRequest;
} }
@Override @Override