From b0e7595d7323d0d604e8fc44eaca17317d4e8c77 Mon Sep 17 00:00:00 2001 From: psemenkov Date: Fri, 7 Apr 2023 14:19:59 +0300 Subject: [PATCH] =?UTF-8?q?http://jira.mfd.msk:8088/browse/CLS-258=20=20?= =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20=D0=BF=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B5=D1=80=D0=BA=D1=83=20=D1=80=D0=BE=D0=BB=D0=B5=D0=B9?= =?UTF-8?q?.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- clearing-parent/securities-service/pom.xml | 4 ++++ .../securities/config/ValidationConfig.java | 11 +++++++++++ .../securities/errors/SecuritiesError.java | 1 + .../service/cud/CouponPeriodService.java | 10 +++++++++- .../securities/service/cud/CurrencyService.java | 10 +++++++++- .../service/cud/EquitySecurityService.java | 15 +++++++++++++-- .../service/cud/FixedIncomeCashFlowService.java | 10 +++++++++- .../service/cud/FixedIncomeSecurityService.java | 15 +++++++++++++-- .../service/cud/MoneyMarketSecurityService.java | 14 ++++++++++++++ 9 files changed, 83 insertions(+), 7 deletions(-) diff --git a/clearing-parent/securities-service/pom.xml b/clearing-parent/securities-service/pom.xml index ae27be76c..e838f0eec 100644 --- a/clearing-parent/securities-service/pom.xml +++ b/clearing-parent/securities-service/pom.xml @@ -50,6 +50,10 @@ spring-boot-starter-test test + + ru.spcex.clearing + security-util + diff --git a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/config/ValidationConfig.java b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/config/ValidationConfig.java index 6fcd1fcf6..4d1263bc2 100644 --- a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/config/ValidationConfig.java +++ b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/config/ValidationConfig.java @@ -1,11 +1,16 @@ package ru.spcex.clearing.securities.config; +import org.springframework.beans.factory.config.ConfigurableBeanFactory; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Scope; import ru.clearing.platform.dictionary.CountryCodeDictionary; import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.securities.errors.SecuritiesError; +import ru.spcex.clearing.util.security.UserRoleVerification; import ru.spcex.clearing.validation.common.ValidationHelper; import ru.spcex.platform.classes.base.SpcexObjectBase; +import ru.spcex.platform.enumeration.UserRole; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.utils.enumeration.IMessageResolver; @@ -29,8 +34,14 @@ public class ValidationConfig { } @Bean("validationHelper") + @Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE) public ValidationHelper validationHelper(IMessageResolver messageResolver) { return new ValidationHelper(messageResolver); } + @Bean + @Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE) + public UserRoleVerification userRoleVerification(ImdgProvider imdgProvider, IMessageResolver messageResolver) { + return new UserRoleVerification(imdgProvider, messageResolver, UserRole.Admin, SecuritiesError.UserVerifyDenial); + } } diff --git a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/errors/SecuritiesError.java b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/errors/SecuritiesError.java index 5a64dc08e..40d4e0641 100644 --- a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/errors/SecuritiesError.java +++ b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/errors/SecuritiesError.java @@ -3,6 +3,7 @@ package ru.spcex.clearing.securities.errors; import ru.spcex.platform.utils.enumeration.IErrorEnumId; public enum SecuritiesError implements IErrorEnumId { + UserVerifyDenial(1001L), // 'Нет прав на проведение данной операции RequiredFieldIsEmpty(1002L), WrongFieldValue(1004L), InstrumentAlreadyExists(1010L), diff --git a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/CouponPeriodService.java b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/CouponPeriodService.java index e6bf52ebe..d99d1e678 100644 --- a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/CouponPeriodService.java +++ b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/CouponPeriodService.java @@ -16,7 +16,9 @@ import ru.spcex.clearing.platform.messaging.domain.cud.securitites.CouponPeriodU import ru.spcex.clearing.platform.messaging.service.QueueConsumer; import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate; import ru.spcex.clearing.securities.validation.ValidationProvider; +import ru.spcex.clearing.util.security.UserRoleVerification; import ru.spcex.clearing.validation.common.ValidationHelper; +import ru.spcex.platform.enumeration.UserRole; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgId; import ru.spcex.platform.imdg.api.ImdgProvider; @@ -29,18 +31,21 @@ public class CouponPeriodService extends QueueConsumer implements InitializingBe private final ImdgId idGenerator; private final ValidationProvider validation; private final ValidationHelper validationHelper; + private final UserRoleVerification userRoleVerification; @Autowired public CouponPeriodService(Consumer kafkaQueue, Producer kafkaProducer, ImdgProvider imdgProvider, ValidationProvider validation, + UserRoleVerification userRoleVerification, ValidationHelper validationHelper) { super(kafkaQueue, kafkaProducer); this.validation = validation; this.couponPeriodImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_CouponPeriod, CouponPeriod.class); this.imdgProvider = imdgProvider; this.idGenerator = imdgProvider.getImdgIdGenerator(); + this.userRoleVerification = userRoleVerification.setRoleForVerification(UserRole.Admin); this.validationHelper = validationHelper; } @@ -79,7 +84,10 @@ public class CouponPeriodService extends QueueConsumer implements InitializingBe CouponPeriodUpdateRequest req = userRequest.getRequestPayload(); log.debug("updateCurrency received id = {}", req.getId()); - RequestInfoUpdate requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, validation.couponPeriodUpdateValidator()); + RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(userRequest); + if (requestInfoUpdate != null) return requestInfoUpdate; + + requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, validation.couponPeriodUpdateValidator()); if (requestInfoUpdate != null) return requestInfoUpdate; CouponPeriod couponPeriod = couponPeriodImdg.getSingleObjectByID(req.getId()); diff --git a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/CurrencyService.java b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/CurrencyService.java index 8796e8e76..9ad133b26 100644 --- a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/CurrencyService.java +++ b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/CurrencyService.java @@ -16,7 +16,9 @@ import ru.spcex.clearing.platform.messaging.domain.cud.securitites.CurrencyUpdat import ru.spcex.clearing.platform.messaging.service.QueueConsumer; import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate; import ru.spcex.clearing.securities.validation.ValidationProvider; +import ru.spcex.clearing.util.security.UserRoleVerification; import ru.spcex.clearing.validation.common.ValidationHelper; +import ru.spcex.platform.enumeration.UserRole; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgId; import ru.spcex.platform.imdg.api.ImdgProvider; @@ -28,6 +30,7 @@ public class CurrencyService extends QueueConsumer implements InitializingBean { private final ImdgProvider imdgProvider; private final ImdgId idGenerator; private final ValidationProvider validation; + private final UserRoleVerification userRoleVerification; private final ValidationHelper validationHelper; @Autowired @@ -35,12 +38,14 @@ public class CurrencyService extends QueueConsumer implements InitializingBean { Producer kafkaProducer, ImdgProvider imdgProvider, ValidationProvider validation, + UserRoleVerification userRoleVerification, ValidationHelper validationHelper) { super(kafkaQueue, kafkaProducer); this.validation = validation; this.currencyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Currency, Currency.class); this.imdgProvider = imdgProvider; this.idGenerator = imdgProvider.getImdgIdGenerator(); + this.userRoleVerification = userRoleVerification.setRoleForVerification(UserRole.Admin); this.validationHelper = validationHelper; } @@ -76,7 +81,10 @@ public class CurrencyService extends QueueConsumer implements InitializingBean { CurrencyUpdateRequest req = userRequest.getRequestPayload(); log.debug("updateCurrency received id = {}", req.getId()); - RequestInfoUpdate requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, validation.currencyUpdateValidator()); + RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(userRequest); + if (requestInfoUpdate != null) return requestInfoUpdate; + + requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, validation.currencyUpdateValidator()); if (requestInfoUpdate != null) return requestInfoUpdate; Currency currency = currencyImdg.getSingleObjectByID(req.getId()); diff --git a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/EquitySecurityService.java b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/EquitySecurityService.java index 5a3585bb8..c19885ee4 100644 --- a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/EquitySecurityService.java +++ b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/EquitySecurityService.java @@ -19,7 +19,9 @@ import ru.spcex.clearing.platform.messaging.service.QueueConsumer; import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate; import ru.spcex.clearing.securities.component.ListingBuilder; import ru.spcex.clearing.securities.validation.ValidationProvider; +import ru.spcex.clearing.util.security.UserRoleVerification; import ru.spcex.clearing.validation.common.ValidationHelper; +import ru.spcex.platform.enumeration.UserRole; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgId; import ru.spcex.platform.imdg.api.ImdgProvider; @@ -36,6 +38,7 @@ public class EquitySecurityService extends QueueConsumer implements Initializing private final ImdgProvider imdgProvider; private final ImdgId idGenerator; private final ValidationProvider validation; + private final UserRoleVerification userRoleVerification; private final ValidationHelper validationHelper; private final ListingBuilder listingBuilder = new ListingBuilder(); @@ -43,6 +46,7 @@ public class EquitySecurityService extends QueueConsumer implements Initializing public EquitySecurityService(Consumer kafkaQueue, Producer kafkaProducer, ImdgProvider imdgProvider, + UserRoleVerification userRoleVerification, ValidationProvider validation, ValidationHelper validationHelper) { super(kafkaQueue, kafkaProducer); @@ -51,6 +55,7 @@ public class EquitySecurityService extends QueueConsumer implements Initializing this.listingImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Listing, Listing.class); this.imdgProvider = imdgProvider; this.idGenerator = imdgProvider.getImdgIdGenerator(); + this.userRoleVerification = userRoleVerification.setRoleForVerification(UserRole.Admin); this.validationHelper = validationHelper; } @@ -116,7 +121,10 @@ public class EquitySecurityService extends QueueConsumer implements Initializing EquitySecurityUpdateRequest req = userRequest.getRequestPayload(); log.debug("MoneyMarketSecurityUpdateRequest received id = {}", req.getId()); - RequestInfoUpdate requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, validation.equityUpdateValidator()); + RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(userRequest); + if (requestInfoUpdate != null) return requestInfoUpdate; + + requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, validation.equityUpdateValidator()); if (requestInfoUpdate != null) return requestInfoUpdate; EquitySecurity equity = equitySecurityImdg.getSingleObjectByID(req.getId()); @@ -149,7 +157,10 @@ public class EquitySecurityService extends QueueConsumer implements Initializing CommonDeleteRequest req = userRequest.getRequestPayload(); log.debug("CommonDeleteRequest received id = {}", req.getId()); - RequestInfoUpdate requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, validation.equityDeleteValidator()); + RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(userRequest); + if (requestInfoUpdate != null) return requestInfoUpdate; + + requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, validation.equityDeleteValidator()); if (requestInfoUpdate != null) return requestInfoUpdate; Instant updateTime = Instant.now(); diff --git a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/FixedIncomeCashFlowService.java b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/FixedIncomeCashFlowService.java index ab17cf7ed..6b99a0c32 100644 --- a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/FixedIncomeCashFlowService.java +++ b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/FixedIncomeCashFlowService.java @@ -15,7 +15,9 @@ import ru.spcex.clearing.platform.messaging.domain.cud.securitites.FixedIncomeCa import ru.spcex.clearing.platform.messaging.domain.cud.securitites.FixedIncomeCashFlowUpdateRequest; import ru.spcex.clearing.platform.messaging.service.QueueConsumer; import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate; +import ru.spcex.clearing.util.security.UserRoleVerification; import ru.spcex.clearing.validation.common.ValidationHelper; +import ru.spcex.platform.enumeration.UserRole; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.utils.validation.IValidator; @@ -27,6 +29,7 @@ public class FixedIncomeCashFlowService extends QueueConsumer implements Initial private final Logger log = LoggerFactory.getLogger(getClass()); private final Imdg fixedIncomeCashFlowImdg; private final ImdgProvider imdgProvider; + private final UserRoleVerification userRoleVerification; private final ValidationHelper validationHelper; private final Function fixedIncomeCashFlowNewRequestValidator; @@ -35,11 +38,13 @@ public class FixedIncomeCashFlowService extends QueueConsumer implements Initial public FixedIncomeCashFlowService(Consumer kafkaQueue, Producer kafkaResponseQueue, ImdgProvider imdgProvider, + UserRoleVerification userRoleVerification, ValidationHelper validationHelper, @Qualifier("fixedIncomeCashFlowNewRequestValidator") Function fixedIncomeCashFlowNewRequestValidator, @Qualifier("fixedIncomeCashFlowUpdateRequestValidator") Function fixedIncomeCashFlowUpdateRequestValidator) { super(kafkaQueue, kafkaResponseQueue); this.imdgProvider = imdgProvider; + this.userRoleVerification = userRoleVerification.setRoleForVerification(UserRole.Admin); this.validationHelper = validationHelper; this.fixedIncomeCashFlowNewRequestValidator = fixedIncomeCashFlowNewRequestValidator; this.fixedIncomeCashFlowUpdateRequestValidator = fixedIncomeCashFlowUpdateRequestValidator; @@ -83,7 +88,10 @@ public class FixedIncomeCashFlowService extends QueueConsumer implements Initial public RequestInfoUpdate fixedIncomeCashFlowUpdate(BaseRequest userRequest) { log.debug("FixedIncomeCashFlowUpdateRequest received {}", userRequest.getId()); - RequestInfoUpdate requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, fixedIncomeCashFlowUpdateRequestValidator); + RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(userRequest); + if (requestInfoUpdate != null) return requestInfoUpdate; + + requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, fixedIncomeCashFlowUpdateRequestValidator); if (requestInfoUpdate != null) return requestInfoUpdate; FixedIncomeCashFlowUpdateRequest req = userRequest.getRequestPayload(); diff --git a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/FixedIncomeSecurityService.java b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/FixedIncomeSecurityService.java index aa618aefa..d571ed199 100644 --- a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/FixedIncomeSecurityService.java +++ b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/FixedIncomeSecurityService.java @@ -19,7 +19,9 @@ import ru.spcex.clearing.platform.messaging.service.QueueConsumer; import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate; import ru.spcex.clearing.securities.component.ListingBuilder; import ru.spcex.clearing.securities.validation.ValidationProvider; +import ru.spcex.clearing.util.security.UserRoleVerification; import ru.spcex.clearing.validation.common.ValidationHelper; +import ru.spcex.platform.enumeration.UserRole; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgId; import ru.spcex.platform.imdg.api.ImdgProvider; @@ -36,6 +38,7 @@ public class FixedIncomeSecurityService extends QueueConsumer implements Initial private final ImdgProvider imdgProvider; private final ImdgId idGenerator; private final ValidationProvider validation; + private final UserRoleVerification userRoleVerification; private final ValidationHelper validationHelper; private final ListingBuilder listingBuilder = new ListingBuilder(); @@ -44,6 +47,7 @@ public class FixedIncomeSecurityService extends QueueConsumer implements Initial Producer kafkaProducer, ImdgProvider imdgProvider, ValidationProvider validation, + UserRoleVerification userRoleVerification, ValidationHelper validationHelper) { super(kafkaQueue, kafkaProducer); this.validation = validation; @@ -51,6 +55,7 @@ public class FixedIncomeSecurityService extends QueueConsumer implements Initial this.listingImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Listing, Listing.class); this.imdgProvider = imdgProvider; this.idGenerator = imdgProvider.getImdgIdGenerator(); + this.userRoleVerification = userRoleVerification.setRoleForVerification(UserRole.Admin); this.validationHelper = validationHelper; } @@ -121,7 +126,10 @@ public class FixedIncomeSecurityService extends QueueConsumer implements Initial FixedIncomeSecurityUpdateRequest req = userRequest.getRequestPayload(); log.debug("updateFixedIncome received id = {}", req.getId()); - RequestInfoUpdate requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, validation.fixedIncomeUpdateValidator()); + RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(userRequest); + if (requestInfoUpdate != null) return requestInfoUpdate; + + requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, validation.fixedIncomeUpdateValidator()); if (requestInfoUpdate != null) return requestInfoUpdate; FixedIncomeSecurity fixedIncome = fixedIncomeSecurityImdg.getSingleObjectByID(req.getId()); @@ -160,7 +168,10 @@ public class FixedIncomeSecurityService extends QueueConsumer implements Initial CommonDeleteRequest req = userRequest.getRequestPayload(); log.debug("CommonDeleteRequest received id = {}", req.getId()); - RequestInfoUpdate requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, validation.fixedIncomeDeleteValidator()); + RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(userRequest); + if (requestInfoUpdate != null) return requestInfoUpdate; + + requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, validation.fixedIncomeDeleteValidator()); if (requestInfoUpdate != null) return requestInfoUpdate; Instant updateTime = Instant.now(); diff --git a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/MoneyMarketSecurityService.java b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/MoneyMarketSecurityService.java index c96cb0e94..55c1c14b5 100644 --- a/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/MoneyMarketSecurityService.java +++ b/clearing-parent/securities-service/src/main/java/ru/spcex/clearing/securities/service/cud/MoneyMarketSecurityService.java @@ -21,7 +21,9 @@ import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate; import ru.spcex.clearing.platform.messaging.service.Status; import ru.spcex.clearing.securities.component.ListingBuilder; import ru.spcex.clearing.securities.validation.ValidationProvider; +import ru.spcex.clearing.util.security.UserRoleVerification; import ru.spcex.clearing.validation.common.ValidationHelper; +import ru.spcex.platform.enumeration.UserRole; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgId; import ru.spcex.platform.imdg.api.ImdgProvider; @@ -43,6 +45,7 @@ public class MoneyMarketSecurityService extends QueueConsumer implements Initial private final ImdgProvider imdgProvider; private final ImdgId idGenerator; private final ValidationProvider validation; + private final UserRoleVerification userRoleVerification; private final ValidationHelper validationHelper; private final IMessageResolver messageResolver; private final ListingBuilder listingBuilder = new ListingBuilder(); @@ -52,9 +55,11 @@ public class MoneyMarketSecurityService extends QueueConsumer implements Initial Producer kafkaProducer, ImdgProvider imdgProvider, ValidationProvider validation, + UserRoleVerification userRoleVerification, ValidationHelper validationHelper, IMessageResolver messageResolver) { super(kafkaQueue, kafkaProducer); + this.userRoleVerification = userRoleVerification.setRoleForVerification(UserRole.Admin); this.validationHelper = validationHelper; this.validation = validation; this.moneyMarketSecurityMap = imdgProvider.getImdg(IMDGDistributedNames.Map_MoneyMarketSecurity, MoneyMarketSecurity.class); @@ -145,6 +150,10 @@ public class MoneyMarketSecurityService extends QueueConsumer implements Initial private RequestInfoUpdate updateMoneyMarket(BaseRequest userRequest) { MoneyMarketSecurityUpdateRequest req = userRequest.getRequestPayload(); log.debug("MoneyMarketSecurityUpdateRequest received id = {}", req.getId()); + + RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(userRequest); + if (requestInfoUpdate != null) return requestInfoUpdate; + IValidator validator = validation.mmsUpdateValidator().apply(req); Optional validationError = validator.tillFirstError(); if (validationError.isPresent()) { @@ -190,6 +199,11 @@ public class MoneyMarketSecurityService extends QueueConsumer implements Initial private RequestInfoUpdate deleteMoneyMarket(BaseRequest userRequest) { CommonDeleteRequest req = userRequest.getRequestPayload(); log.debug("CommonDeleteRequest received id = {}", req.getId()); + + RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(userRequest); + if (requestInfoUpdate != null) return requestInfoUpdate; + + IValidator validator = validation.mmsDeleteValidator().apply(req); Optional validationError = validator.tillFirstError(); if (validationError.isPresent()) {