Class AbstractPermissionService<T extends tech.corefinance.common.model.AbstractPermission,C extends tech.corefinance.common.model.AbstractInternalServiceConfig>

java.lang.Object
tech.corefinance.common.service.AbstractPermissionService<T,C>
All Implemented Interfaces:
CommonService<String,T,PermissionRepository<T>>, PermissionService<T,C>

public abstract class AbstractPermissionService<T extends tech.corefinance.common.model.AbstractPermission,C extends tech.corefinance.common.model.AbstractInternalServiceConfig> extends Object implements PermissionService<T,C>
  • Field Details

    • permissionRepository

      @Autowired protected PermissionRepository<T extends tech.corefinance.common.model.AbstractPermission> permissionRepository
    • internalServiceConfigRepository

      @Autowired protected InternalServiceConfigRepository<C extends tech.corefinance.common.model.AbstractInternalServiceConfig> internalServiceConfigRepository
    • initDataConfiguration

      @Autowired protected InitDataConfiguration initDataConfiguration
    • coreFinanceUtil

      @Autowired protected CoreFinanceUtil coreFinanceUtil
    • objectMapper

      @Autowired protected com.fasterxml.jackson.databind.ObjectMapper objectMapper
    • validator

      @Autowired protected jakarta.validation.Validator validator
    • permissionFileRegex

      @Value("${tech.corefinance.initial.permission-file}") protected String permissionFileRegex
    • internalApiFileRegex

      @Value("${tech.corefinance.initial.internal-api-file}") protected String internalApiFileRegex
  • Constructor Details

    • AbstractPermissionService

      public AbstractPermissionService()
  • Method Details

    • getRepository

      public PermissionRepository<T> getRepository()
      Specified by:
      getRepository in interface CommonService<String,T extends tech.corefinance.common.model.AbstractPermission,PermissionRepository<T extends tech.corefinance.common.model.AbstractPermission>>
    • initializationDefaultData

      public tech.corefinance.common.dto.PermissionInitializeDto initializationDefaultData() throws IOException
      Specified by:
      initializationDefaultData in interface PermissionService<T extends tech.corefinance.common.model.AbstractPermission,C extends tech.corefinance.common.model.AbstractInternalServiceConfig>
      Throws:
      IOException
    • saveOrUpdatePermission

      public T saveOrUpdatePermission(T permission)
      Specified by:
      saveOrUpdatePermission in interface PermissionService<T extends tech.corefinance.common.model.AbstractPermission,C extends tech.corefinance.common.model.AbstractInternalServiceConfig>
    • saveOrUpdateApiConfig

      public C saveOrUpdateApiConfig(C config)
      Specified by:
      saveOrUpdateApiConfig in interface PermissionService<T extends tech.corefinance.common.model.AbstractPermission,C extends tech.corefinance.common.model.AbstractInternalServiceConfig>
    • initialPermissions

      protected abstract List<T> initialPermissions(List<org.springframework.core.io.Resource> permissionResources) throws IOException
      Throws:
      IOException
    • initialInternalApiConfigs

      protected abstract List<C> initialInternalApiConfigs(List<org.springframework.core.io.Resource> configResources) throws IOException
      Throws:
      IOException
    • createOrUpdatePermission

      public T createOrUpdatePermission(T permission) throws IOException
      Specified by:
      createOrUpdatePermission in interface PermissionService<T extends tech.corefinance.common.model.AbstractPermission,C extends tech.corefinance.common.model.AbstractInternalServiceConfig>
      Throws:
      IOException
    • loadPermission

      public org.springframework.data.domain.Page<T> loadPermission(String searchText, int pageSize, int pageIndex, List<org.springframework.data.domain.Sort.Order> orders)
      Specified by:
      loadPermission in interface PermissionService<T extends tech.corefinance.common.model.AbstractPermission,C extends tech.corefinance.common.model.AbstractInternalServiceConfig>