This is an automated email from the ASF dual-hosted git repository.
arnold pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract.git
The following commit(s) were added to refs/heads/develop by this push:
new 691075998 Add custom Configuration class for useradministration
service (FINERACT-1932)
691075998 is described below
commit 69107599856b5a9868aa6c5bbd56628ab3da8900
Author: Sinha, Abhinav <[email protected]>
AuthorDate: Fri Aug 11 09:48:51 2023 -0400
Add custom Configuration class for useradministration service
(FINERACT-1932)
---
.../service/AppUserReadPlatformServiceImpl.java | 19 +---
...pUserWritePlatformServiceJpaRepositoryImpl.java | 2 -
...encesWritePlatformServiceJpaRepositoryImpl.java | 20 +---
...ordValidationPolicyReadPlatformServiceImpl.java | 4 -
.../service/PermissionReadPlatformServiceImpl.java | 27 ++---
...ssionWritePlatformServiceJpaRepositoryImpl.java | 13 +--
.../service/RoleReadPlatformServiceImpl.java | 4 -
.../RoleWritePlatformServiceJpaRepositoryImpl.java | 2 -
.../starter/UserAdministrationConfiguration.java | 126 +++++++++++++++++++++
9 files changed, 144 insertions(+), 73 deletions(-)
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/useradministration/service/AppUserReadPlatformServiceImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/useradministration/service/AppUserReadPlatformServiceImpl.java
index 12d2949d0..b621d8f32 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/useradministration/service/AppUserReadPlatformServiceImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/useradministration/service/AppUserReadPlatformServiceImpl.java
@@ -24,6 +24,7 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.Set;
+import lombok.RequiredArgsConstructor;
import org.apache.fineract.infrastructure.core.domain.JdbcSupport;
import
org.apache.fineract.infrastructure.security.service.PlatformSecurityContext;
import org.apache.fineract.organisation.office.data.OfficeData;
@@ -39,34 +40,20 @@ import
org.apache.fineract.useradministration.domain.AppUserClientMapping;
import org.apache.fineract.useradministration.domain.AppUserRepository;
import org.apache.fineract.useradministration.domain.Role;
import org.apache.fineract.useradministration.exception.UserNotFoundException;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
-import org.springframework.stereotype.Service;
-@Service
+@RequiredArgsConstructor
public class AppUserReadPlatformServiceImpl implements
AppUserReadPlatformService {
- private final JdbcTemplate jdbcTemplate;
private final PlatformSecurityContext context;
+ private final JdbcTemplate jdbcTemplate;
private final OfficeReadPlatformService officeReadPlatformService;
private final RoleReadPlatformService roleReadPlatformService;
private final AppUserRepository appUserRepository;
private final StaffReadPlatformService staffReadPlatformService;
- @Autowired
- public AppUserReadPlatformServiceImpl(final PlatformSecurityContext
context, final JdbcTemplate jdbcTemplate,
- final OfficeReadPlatformService officeReadPlatformService, final
RoleReadPlatformService roleReadPlatformService,
- final AppUserRepository appUserRepository, final
StaffReadPlatformService staffReadPlatformService) {
- this.context = context;
- this.officeReadPlatformService = officeReadPlatformService;
- this.roleReadPlatformService = roleReadPlatformService;
- this.appUserRepository = appUserRepository;
- this.jdbcTemplate = jdbcTemplate;
- this.staffReadPlatformService = staffReadPlatformService;
- }
-
/*
* used for caching in spring expression language.
*/
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/useradministration/service/AppUserWritePlatformServiceJpaRepositoryImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/useradministration/service/AppUserWritePlatformServiceJpaRepositoryImpl.java
index a03efcdc4..11d18eef9 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/useradministration/service/AppUserWritePlatformServiceJpaRepositoryImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/useradministration/service/AppUserWritePlatformServiceJpaRepositoryImpl.java
@@ -63,11 +63,9 @@ import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
import org.springframework.orm.jpa.JpaSystemException;
import
org.springframework.security.authentication.AuthenticationServiceException;
-import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
-@Service
@Slf4j
@RequiredArgsConstructor
public class AppUserWritePlatformServiceJpaRepositoryImpl implements
AppUserWritePlatformService {
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/useradministration/service/PasswordPreferencesWritePlatformServiceJpaRepositoryImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/useradministration/service/PasswordPreferencesWritePlatformServiceJpaRepositoryImpl.java
index 4d3926763..3efebab5b 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/useradministration/service/PasswordPreferencesWritePlatformServiceJpaRepositoryImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/useradministration/service/PasswordPreferencesWritePlatformServiceJpaRepositoryImpl.java
@@ -21,6 +21,8 @@ package org.apache.fineract.useradministration.service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
import org.apache.fineract.infrastructure.core.api.JsonCommand;
import org.apache.fineract.infrastructure.core.data.CommandProcessingResult;
import
org.apache.fineract.infrastructure.core.data.CommandProcessingResultBuilder;
@@ -30,29 +32,17 @@ import
org.apache.fineract.useradministration.data.PasswordPreferencesDataValida
import org.apache.fineract.useradministration.domain.PasswordValidationPolicy;
import
org.apache.fineract.useradministration.domain.PasswordValidationPolicyRepository;
import
org.apache.fineract.useradministration.exception.PasswordValidationPolicyNotFoundException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataIntegrityViolationException;
import org.springframework.orm.jpa.JpaSystemException;
-import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-@Service
+@Slf4j
+@RequiredArgsConstructor
public class PasswordPreferencesWritePlatformServiceJpaRepositoryImpl
implements PasswordPreferencesWritePlatformService {
- private static final Logger LOG =
LoggerFactory.getLogger(PasswordPreferencesWritePlatformServiceJpaRepositoryImpl.class);
private final PasswordValidationPolicyRepository validationRepository;
private final PasswordPreferencesDataValidator dataValidator;
- @Autowired
- public PasswordPreferencesWritePlatformServiceJpaRepositoryImpl(final
PasswordValidationPolicyRepository validationPolicyRepository,
- final PasswordPreferencesDataValidator dataValidator) {
- this.validationRepository = validationPolicyRepository;
- this.dataValidator = dataValidator;
-
- }
-
@Transactional
@Override
public CommandProcessingResult updatePreferences(final JsonCommand
command) {
@@ -91,7 +81,7 @@ public class
PasswordPreferencesWritePlatformServiceJpaRepositoryImpl implements
.with(changes) //
.build();
} catch (final JpaSystemException | DataIntegrityViolationException
dve) {
- LOG.error("Error occured.", dve);
+ log.error("Error occured.", dve);
throw new
PlatformDataIntegrityException("error.msg.password.validation.policy.unknown.data.integrity.issue",
"Unknown data integrity issue with resource.", dve);
}
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/useradministration/service/PasswordValidationPolicyReadPlatformServiceImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/useradministration/service/PasswordValidationPolicyReadPlatformServiceImpl.java
index c4b23bfc8..662594bb6 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/useradministration/service/PasswordValidationPolicyReadPlatformServiceImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/useradministration/service/PasswordValidationPolicyReadPlatformServiceImpl.java
@@ -25,20 +25,16 @@ import
org.apache.fineract.infrastructure.core.domain.JdbcSupport;
import
org.apache.fineract.infrastructure.core.service.database.DatabaseSpecificSQLGenerator;
import
org.apache.fineract.useradministration.data.PasswordValidationPolicyData;
import
org.apache.fineract.useradministration.exception.PasswordValidationPolicyNotFoundException;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.EmptyResultDataAccessException;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
-import org.springframework.stereotype.Service;
-@Service
public class PasswordValidationPolicyReadPlatformServiceImpl implements
PasswordValidationPolicyReadPlatformService {
private final JdbcTemplate jdbcTemplate;
private final DatabaseSpecificSQLGenerator sqlGenerator;
private final PasswordValidationPolicyMapper
passwordValidationPolicyMapper;
- @Autowired
public PasswordValidationPolicyReadPlatformServiceImpl(final JdbcTemplate
jdbcTemplate, DatabaseSpecificSQLGenerator sqlGenerator) {
this.jdbcTemplate = jdbcTemplate;
this.sqlGenerator = sqlGenerator;
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/useradministration/service/PermissionReadPlatformServiceImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/useradministration/service/PermissionReadPlatformServiceImpl.java
index b08f0c669..9554f8cdb 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/useradministration/service/PermissionReadPlatformServiceImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/useradministration/service/PermissionReadPlatformServiceImpl.java
@@ -21,32 +21,21 @@ package org.apache.fineract.useradministration.service;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Collection;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
import
org.apache.fineract.infrastructure.core.service.database.DatabaseSpecificSQLGenerator;
import
org.apache.fineract.infrastructure.security.service.PlatformSecurityContext;
import org.apache.fineract.useradministration.data.PermissionData;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
-import org.springframework.stereotype.Service;
-@Service
+@Slf4j
+@RequiredArgsConstructor
public class PermissionReadPlatformServiceImpl implements
PermissionReadPlatformService {
- private static final Logger LOG =
LoggerFactory.getLogger(PermissionReadPlatformServiceImpl.class);
-
+ private final PlatformSecurityContext context;
private final JdbcTemplate jdbcTemplate;
private final DatabaseSpecificSQLGenerator sqlGenerator;
- private final PlatformSecurityContext context;
-
- @Autowired
- public PermissionReadPlatformServiceImpl(final PlatformSecurityContext
context, final JdbcTemplate jdbcTemplate,
- DatabaseSpecificSQLGenerator sqlGenerator) {
- this.context = context;
- this.jdbcTemplate = jdbcTemplate;
- this.sqlGenerator = sqlGenerator;
- }
@Override
public Collection<PermissionData> retrieveAllPermissions() {
@@ -55,7 +44,7 @@ public class PermissionReadPlatformServiceImpl implements
PermissionReadPlatform
final PermissionUsageDataMapper mapper = new
PermissionUsageDataMapper(sqlGenerator);
final String sql = mapper.permissionSchema();
- LOG.debug("retrieveAllPermissions: {}", sql);
+ log.debug("retrieveAllPermissions: {}", sql);
return this.jdbcTemplate.query(sql, mapper, new Object[] {});
}
@@ -66,7 +55,7 @@ public class PermissionReadPlatformServiceImpl implements
PermissionReadPlatform
final PermissionUsageDataMapper mapper = new
PermissionUsageDataMapper(sqlGenerator);
final String sql = mapper.makerCheckerablePermissionSchema();
- LOG.debug("retrieveAllMakerCheckerablePermissions: {}", sql);
+ log.debug("retrieveAllMakerCheckerablePermissions: {}", sql);
return this.jdbcTemplate.query(sql, mapper, new Object[] {});
}
@@ -76,7 +65,7 @@ public class PermissionReadPlatformServiceImpl implements
PermissionReadPlatform
final PermissionUsageDataMapper mapper = new
PermissionUsageDataMapper(sqlGenerator);
final String sql = mapper.rolePermissionSchema();
- LOG.debug("retrieveAllRolePermissions: {}", sql);
+ log.debug("retrieveAllRolePermissions: {}", sql);
return this.jdbcTemplate.query(sql, mapper, new Object[] { roleId });
}
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/useradministration/service/PermissionWritePlatformServiceJpaRepositoryImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/useradministration/service/PermissionWritePlatformServiceJpaRepositoryImpl.java
index 10552b830..193ea27c6 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/useradministration/service/PermissionWritePlatformServiceJpaRepositoryImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/useradministration/service/PermissionWritePlatformServiceJpaRepositoryImpl.java
@@ -21,6 +21,7 @@ package org.apache.fineract.useradministration.service;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
+import lombok.RequiredArgsConstructor;
import org.apache.fineract.infrastructure.core.api.JsonCommand;
import org.apache.fineract.infrastructure.core.data.CommandProcessingResult;
import
org.apache.fineract.infrastructure.core.data.CommandProcessingResultBuilder;
@@ -30,27 +31,17 @@ import
org.apache.fineract.useradministration.domain.Permission;
import org.apache.fineract.useradministration.domain.PermissionRepository;
import
org.apache.fineract.useradministration.exception.PermissionNotFoundException;
import
org.apache.fineract.useradministration.serialization.PermissionsCommandFromApiJsonDeserializer;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Caching;
-import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-@Service
+@RequiredArgsConstructor
public class PermissionWritePlatformServiceJpaRepositoryImpl implements
PermissionWritePlatformService {
private final PlatformSecurityContext context;
private final PermissionRepository permissionRepository;
private final PermissionsCommandFromApiJsonDeserializer
fromApiJsonDeserializer;
- @Autowired
- public PermissionWritePlatformServiceJpaRepositoryImpl(final
PlatformSecurityContext context,
- final PermissionRepository permissionRepository, final
PermissionsCommandFromApiJsonDeserializer fromApiJsonDeserializer) {
- this.context = context;
- this.permissionRepository = permissionRepository;
- this.fromApiJsonDeserializer = fromApiJsonDeserializer;
- }
-
@Caching(evict = { @CacheEvict(value = "users", allEntries = true),
@CacheEvict(value = "usersByUsername", allEntries = true) })
@Transactional
@Override
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/useradministration/service/RoleReadPlatformServiceImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/useradministration/service/RoleReadPlatformServiceImpl.java
index 67be81272..a884933e7 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/useradministration/service/RoleReadPlatformServiceImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/useradministration/service/RoleReadPlatformServiceImpl.java
@@ -25,19 +25,15 @@ import
org.apache.fineract.infrastructure.core.domain.JdbcSupport;
import org.apache.fineract.portfolio.self.registration.SelfServiceApiConstants;
import org.apache.fineract.useradministration.data.RoleData;
import org.apache.fineract.useradministration.exception.RoleNotFoundException;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.EmptyResultDataAccessException;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
-import org.springframework.stereotype.Service;
-@Service
public class RoleReadPlatformServiceImpl implements RoleReadPlatformService {
private final JdbcTemplate jdbcTemplate;
private final RoleMapper roleRowMapper;
- @Autowired
public RoleReadPlatformServiceImpl(final JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
this.roleRowMapper = new RoleMapper();
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/useradministration/service/RoleWritePlatformServiceJpaRepositoryImpl.java
b/fineract-provider/src/main/java/org/apache/fineract/useradministration/service/RoleWritePlatformServiceJpaRepositoryImpl.java
index 062ca98a4..2d505aa1f 100644
---
a/fineract-provider/src/main/java/org/apache/fineract/useradministration/service/RoleWritePlatformServiceJpaRepositoryImpl.java
+++
b/fineract-provider/src/main/java/org/apache/fineract/useradministration/service/RoleWritePlatformServiceJpaRepositoryImpl.java
@@ -43,10 +43,8 @@ import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Caching;
import org.springframework.dao.DataIntegrityViolationException;
import org.springframework.orm.jpa.JpaSystemException;
-import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-@Service
@Slf4j
@RequiredArgsConstructor
public class RoleWritePlatformServiceJpaRepositoryImpl implements
RoleWritePlatformService {
diff --git
a/fineract-provider/src/main/java/org/apache/fineract/useradministration/starter/UserAdministrationConfiguration.java
b/fineract-provider/src/main/java/org/apache/fineract/useradministration/starter/UserAdministrationConfiguration.java
new file mode 100644
index 000000000..f092ee0e3
--- /dev/null
+++
b/fineract-provider/src/main/java/org/apache/fineract/useradministration/starter/UserAdministrationConfiguration.java
@@ -0,0 +1,126 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.fineract.useradministration.starter;
+
+import
org.apache.fineract.infrastructure.core.service.database.DatabaseSpecificSQLGenerator;
+import
org.apache.fineract.infrastructure.security.service.PlatformPasswordEncoder;
+import
org.apache.fineract.infrastructure.security.service.PlatformSecurityContext;
+import org.apache.fineract.organisation.office.domain.OfficeRepositoryWrapper;
+import
org.apache.fineract.organisation.office.service.OfficeReadPlatformService;
+import org.apache.fineract.organisation.staff.domain.StaffRepositoryWrapper;
+import org.apache.fineract.organisation.staff.service.StaffReadPlatformService;
+import org.apache.fineract.portfolio.client.domain.ClientRepositoryWrapper;
+import
org.apache.fineract.useradministration.data.PasswordPreferencesDataValidator;
+import
org.apache.fineract.useradministration.domain.AppUserPreviousPasswordRepository;
+import org.apache.fineract.useradministration.domain.AppUserRepository;
+import
org.apache.fineract.useradministration.domain.PasswordValidationPolicyRepository;
+import org.apache.fineract.useradministration.domain.PermissionRepository;
+import org.apache.fineract.useradministration.domain.RoleRepository;
+import org.apache.fineract.useradministration.domain.UserDomainService;
+import
org.apache.fineract.useradministration.serialization.PermissionsCommandFromApiJsonDeserializer;
+import
org.apache.fineract.useradministration.service.AppUserReadPlatformService;
+import
org.apache.fineract.useradministration.service.AppUserReadPlatformServiceImpl;
+import
org.apache.fineract.useradministration.service.AppUserWritePlatformService;
+import
org.apache.fineract.useradministration.service.AppUserWritePlatformServiceJpaRepositoryImpl;
+import
org.apache.fineract.useradministration.service.PasswordPreferencesWritePlatformService;
+import
org.apache.fineract.useradministration.service.PasswordPreferencesWritePlatformServiceJpaRepositoryImpl;
+import
org.apache.fineract.useradministration.service.PasswordValidationPolicyReadPlatformService;
+import
org.apache.fineract.useradministration.service.PasswordValidationPolicyReadPlatformServiceImpl;
+import
org.apache.fineract.useradministration.service.PermissionReadPlatformService;
+import
org.apache.fineract.useradministration.service.PermissionReadPlatformServiceImpl;
+import
org.apache.fineract.useradministration.service.PermissionWritePlatformService;
+import
org.apache.fineract.useradministration.service.PermissionWritePlatformServiceJpaRepositoryImpl;
+import org.apache.fineract.useradministration.service.RoleDataValidator;
+import org.apache.fineract.useradministration.service.RoleReadPlatformService;
+import
org.apache.fineract.useradministration.service.RoleReadPlatformServiceImpl;
+import org.apache.fineract.useradministration.service.RoleWritePlatformService;
+import
org.apache.fineract.useradministration.service.RoleWritePlatformServiceJpaRepositoryImpl;
+import org.apache.fineract.useradministration.service.UserDataValidator;
+import
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.jdbc.core.JdbcTemplate;
+
+@Configuration
+public class UserAdministrationConfiguration {
+
+ @Bean
+ @ConditionalOnMissingBean(AppUserReadPlatformService.class)
+ public AppUserReadPlatformService
appUserReadPlatformService(PlatformSecurityContext context, JdbcTemplate
jdbcTemplate,
+ OfficeReadPlatformService officeReadPlatformService,
RoleReadPlatformService roleReadPlatformService,
+ AppUserRepository appUserRepository, StaffReadPlatformService
staffReadPlatformService) {
+ return new AppUserReadPlatformServiceImpl(context, jdbcTemplate,
officeReadPlatformService, roleReadPlatformService,
+ appUserRepository, staffReadPlatformService);
+ }
+
+ @Bean
+ @ConditionalOnMissingBean(AppUserWritePlatformService.class)
+ public AppUserWritePlatformService
appUserWritePlatformService(PlatformSecurityContext context, UserDomainService
userDomainService,
+ PlatformPasswordEncoder platformPasswordEncoder, AppUserRepository
appUserRepository,
+ OfficeRepositoryWrapper officeRepositoryWrapper, RoleRepository
roleRepository, UserDataValidator fromApiJsonDeserializer,
+ AppUserPreviousPasswordRepository
appUserPreviewPasswordRepository, StaffRepositoryWrapper staffRepositoryWrapper,
+ ClientRepositoryWrapper clientRepositoryWrapper) {
+ return new AppUserWritePlatformServiceJpaRepositoryImpl(context,
userDomainService, platformPasswordEncoder, appUserRepository,
+ officeRepositoryWrapper, roleRepository,
fromApiJsonDeserializer, appUserPreviewPasswordRepository,
staffRepositoryWrapper,
+ clientRepositoryWrapper);
+ }
+
+ @Bean
+ @ConditionalOnMissingBean(PasswordPreferencesWritePlatformService.class)
+ public PasswordPreferencesWritePlatformService
passwordPreferencesWritePlatformService(
+ PasswordValidationPolicyRepository validationPolicyRepository,
PasswordPreferencesDataValidator dataValidator) {
+ return new
PasswordPreferencesWritePlatformServiceJpaRepositoryImpl(validationPolicyRepository,
dataValidator);
+ }
+
+ @Bean
+
@ConditionalOnMissingBean(PasswordValidationPolicyReadPlatformService.class)
+ public PasswordValidationPolicyReadPlatformService
passwordValidationPolicyReadPlatformService(JdbcTemplate jdbcTemplate,
+ DatabaseSpecificSQLGenerator sqlGenerator) {
+ return new
PasswordValidationPolicyReadPlatformServiceImpl(jdbcTemplate, sqlGenerator);
+ }
+
+ @Bean
+ @ConditionalOnMissingBean(PermissionReadPlatformService.class)
+ public PermissionReadPlatformService
permissionReadPlatformService(PlatformSecurityContext context, JdbcTemplate
jdbcTemplate,
+ DatabaseSpecificSQLGenerator sqlGenerator) {
+ return new PermissionReadPlatformServiceImpl(context, jdbcTemplate,
sqlGenerator);
+ }
+
+ @Bean
+ @ConditionalOnMissingBean(PermissionWritePlatformService.class)
+ public PermissionWritePlatformService
permissionWritePlatformService(PlatformSecurityContext context,
+ PermissionRepository permissionRepository,
PermissionsCommandFromApiJsonDeserializer fromApiJsonDeserializer) {
+ return new PermissionWritePlatformServiceJpaRepositoryImpl(context,
permissionRepository, fromApiJsonDeserializer);
+ }
+
+ @Bean
+ @ConditionalOnMissingBean(RoleReadPlatformService.class)
+ public RoleReadPlatformService roleReadPlatformService(JdbcTemplate
jdbcTemplate) {
+ return new RoleReadPlatformServiceImpl(jdbcTemplate);
+ }
+
+ @Bean
+ @ConditionalOnMissingBean(RoleWritePlatformService.class)
+ public RoleWritePlatformService
roleWritePlatformService(PlatformSecurityContext context, RoleRepository
roleRepository,
+ PermissionRepository permissionRepository, RoleDataValidator
roleCommandFromApiJsonDeserializer,
+ PermissionsCommandFromApiJsonDeserializer
permissionsFromApiJsonDeserializer) {
+ return new RoleWritePlatformServiceJpaRepositoryImpl(context,
roleRepository, permissionRepository,
+ roleCommandFromApiJsonDeserializer,
permissionsFromApiJsonDeserializer);
+ }
+}