parent
0b24bae280
commit
2ec7c0fdc1
4 changed files with 40 additions and 11 deletions
|
|
@ -4,26 +4,43 @@ import io.swagger.annotations.ApiOperation;
|
||||||
import io.swagger.annotations.ApiResponse;
|
import io.swagger.annotations.ApiResponse;
|
||||||
import io.swagger.annotations.ApiResponses;
|
import io.swagger.annotations.ApiResponses;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.http.MediaType;
|
||||||
|
import org.springframework.security.core.Authentication;
|
||||||
|
import org.springframework.security.core.context.SecurityContextHolder;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestMethod;
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
import org.springframework.web.bind.annotation.ResponseBody;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
import ru.clearing.classes.statics.data.user.User;
|
import ru.clearing.classes.statics.data.user.User;
|
||||||
|
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
||||||
|
import ru.spcex.clearing.backendapi.controller.request.cud.utilities.UserAuthAction;
|
||||||
|
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
|
||||||
|
import ru.spcex.clearing.backendapi.controller.response.cud.CudResponse;
|
||||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
||||||
|
import ru.spcex.clearing.backendapi.security.KeycloakUtils;
|
||||||
|
import ru.spcex.clearing.backendapi.service.IOperator;
|
||||||
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||||
|
import ru.spcex.platform.imdg.api.Imdg;
|
||||||
|
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.concurrent.ExecutionException;
|
||||||
|
|
||||||
@Controller
|
@Controller
|
||||||
@RequestMapping("/users")
|
@RequestMapping("/users")
|
||||||
public class UserController {
|
public class UserController extends AbstractQueueController {
|
||||||
private final IStateLoader stateLoader;
|
private final IStateLoader stateLoader;
|
||||||
|
private final Imdg<User> userImdg;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
public UserController(IStateLoader stateLoader) {
|
public UserController(IOperator operator, IStateLoader stateLoader, ImdgProvider imdgProvider) {
|
||||||
|
super(operator);
|
||||||
this.stateLoader = stateLoader;
|
this.stateLoader = stateLoader;
|
||||||
|
this.userImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_User, User.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation(value = "get all users.")
|
@ApiOperation(value = "get all users.")
|
||||||
|
|
@ -36,4 +53,22 @@ public class UserController {
|
||||||
response.fromEntity(all);
|
response.fromEntity(all);
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ApiOperation(value = "update user")
|
||||||
|
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)})
|
||||||
|
@RequestMapping(method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||||
|
@ResponseBody
|
||||||
|
public CudResponse update(
|
||||||
|
@RequestBody UserAuthAction userAuthAction) throws ExecutionException, InterruptedException {
|
||||||
|
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
|
||||||
|
String username = KeycloakUtils.getUserNameFromAuthentication(authentication);
|
||||||
|
User user = userImdg.getSingleObjectByFieldValues(Map.of("identifier", username));
|
||||||
|
if (user == null) {
|
||||||
|
return processRequest(Consts.USER_AUTH_SUCCESS, userAuthAction);
|
||||||
|
}
|
||||||
|
throw new IllegalStateException("cannot create user cause it is exists: " + username);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,20 +5,16 @@ server.ssl.key-store=classpath:keystore/client.p12
|
||||||
server.ssl.key-store-password=Aa123456
|
server.ssl.key-store-password=Aa123456
|
||||||
server.ssl.enabled=true
|
server.ssl.enabled=true
|
||||||
spring.main.web-application-type=servlet
|
spring.main.web-application-type=servlet
|
||||||
|
|
||||||
backend-api.example-setting=test
|
backend-api.example-setting=test
|
||||||
|
|
||||||
backend-api.hazelcast.cluster-members=127.0.0.1:5701
|
backend-api.hazelcast.cluster-members=127.0.0.1:5701
|
||||||
backend-api.hazelcast.login=dev
|
backend-api.hazelcast.login=dev
|
||||||
backend-api.hazelcast.password=dev-pass
|
backend-api.hazelcast.password=dev-pass
|
||||||
|
|
||||||
backend-api.kafka-producer.bootstrap-servers=localhost:9092
|
backend-api.kafka-producer.bootstrap-servers=localhost:9092
|
||||||
backend-api.kafka-producer.acks=all
|
backend-api.kafka-producer.acks=all
|
||||||
backend-api.kafka-producer.retries=0
|
backend-api.kafka-producer.retries=0
|
||||||
backend-api.kafka-producer.batch-size=16384
|
backend-api.kafka-producer.batch-size=16384
|
||||||
backend-api.kafka-producer.linger-ms=1
|
backend-api.kafka-producer.linger-ms=1
|
||||||
backend-api.kafka-producer.buffer-memory=33554432
|
backend-api.kafka-producer.buffer-memory=33554432
|
||||||
|
|
||||||
backend-api.kafka-consumer.bootstrap-servers=localhost:9092
|
backend-api.kafka-consumer.bootstrap-servers=localhost:9092
|
||||||
backend-api.kafka-consumer.group-id=dev-group-backend-api
|
backend-api.kafka-consumer.group-id=dev-group-backend-api
|
||||||
backend-api.kafka-consumer.enable-auto-commit=true
|
backend-api.kafka-consumer.enable-auto-commit=true
|
||||||
|
|
@ -26,10 +22,7 @@ backend-api.kafka-consumer.session-timeout-ms=30000
|
||||||
backend-api.kafka-consumer.auto-offset-reset=latest
|
backend-api.kafka-consumer.auto-offset-reset=latest
|
||||||
backend-api.kafka-consumer.linger-ms=1
|
backend-api.kafka-consumer.linger-ms=1
|
||||||
backend-api.kafka-consumer.buffer-memory=33554432
|
backend-api.kafka-consumer.buffer-memory=33554432
|
||||||
|
|
||||||
backend-api.security.authorization-disabled=false
|
backend-api.security.authorization-disabled=false
|
||||||
|
|
||||||
|
|
||||||
##keycloak
|
##keycloak
|
||||||
##keycloak.auth-server-url=http://10.200.200.147:8080/
|
##keycloak.auth-server-url=http://10.200.200.147:8080/
|
||||||
##keycloak.realm=master
|
##keycloak.realm=master
|
||||||
|
|
|
||||||
|
|
@ -36,10 +36,11 @@ public class UserRoleSessionMapStore extends TemplateMapStore<UserRoleSession> {
|
||||||
@Override
|
@Override
|
||||||
public UserRoleSession objectReader(ResultSet resultSet) throws SQLException {
|
public UserRoleSession objectReader(ResultSet resultSet) throws SQLException {
|
||||||
UserRoleSession object = new UserRoleSession();
|
UserRoleSession object = new UserRoleSession();
|
||||||
|
Long companyId = resultSet.getObject("COMPANY_ID", Long.class);
|
||||||
object.setId(resultSet.getObject("ID", Long.class));
|
object.setId(resultSet.getObject("ID", Long.class));
|
||||||
object.setUserId(resultSet.getObject("USER_ID", Long.class));
|
object.setUserId(resultSet.getObject("USER_ID", Long.class));
|
||||||
object.setUserRole(resultSet.getObject("USER_ROLE", String.class));
|
object.setUserRole(resultSet.getObject("USER_ROLE", String.class));
|
||||||
object.setCompanyId(resultSet.getObject("COMPANY_ID", Long.class));
|
object.setCompanyId(companyId.equals(0L) ? 1 : companyId);
|
||||||
object.setStatus(resultSet.getObject("STATUS", String.class));
|
object.setStatus(resultSet.getObject("STATUS", String.class));
|
||||||
return object;
|
return object;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,4 +4,4 @@ imdg.hazelcast.password=dev-pass
|
||||||
imdg.hazelcast.cluster-members[0]=127.0.0.1
|
imdg.hazelcast.cluster-members[0]=127.0.0.1
|
||||||
imdg.database.login=clearing
|
imdg.database.login=clearing
|
||||||
imdg.database.password=Aa111111
|
imdg.database.password=Aa111111
|
||||||
imdg.database.url=jdbc:postgresql://10.200.200.133:5432/postgres
|
imdg.database.url=jdbc:postgresql://10.200.200.133:5432/postgres?currentSchema=clearing_prod
|
||||||
Loading…
Add table
Reference in a new issue