package com.bcxin.backend.configs; import com.bcxin.backend.core.AppConfigProperty; import com.bcxin.backend.core.components.StorageProvider; import com.bcxin.backend.domain.models.SuperviseDTO; import com.bcxin.saas.core.components.JsonProvider; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.util.StringUtils; import java.util.Collection; @Configuration public class TaskConfig { @Bean @ConditionalOnMissingBean public JsonProvider jsonProvider() { return new JsonProvider.JsonProviderImpl(); } @Bean public AppConfigProperty appConfigProperty( @Value("${myapps.storage.root}") String rootPath, @Value("${myapps.domain.url}") String domainUrl, @Value("${myapps.synced.proxied-targets:}") Collection proxiedTargets, @Value("${myapps.out.requset-dir-key:}") String outRequsetDirKey) { return AppConfigProperty.create(rootPath, domainUrl, proxiedTargets,outRequsetDirKey); } @Bean("default.supervise") public SuperviseDTO defaultSuperviseDTO( @Value("${myapps.supervise.region-id:}") String regionId, @Value("${myapps.supervise.system-admin:}") String systemAdmin, @Value("${myapps.supervise.src-app:}") String srcApp, @Value("${myapps.supervise.target-app:}") String targetApp, @Value("${myapps.supervise.callback-url:}") String callbackUrl, @Value("${myapps.supervise.target-service-url:}") String targetServiceUrl) { SuperviseDTO superviseDTO = new SuperviseDTO(); superviseDTO.setRegionId(regionId); superviseDTO.setSystemAdmin(systemAdmin); superviseDTO.setSrcApp(srcApp); superviseDTO.setTargetApp(targetApp); superviseDTO.setCallbackUrl(callbackUrl); superviseDTO.setTargetServiceUrl(targetServiceUrl); return superviseDTO; } @Bean public StorageProvider storageProvider(AppConfigProperty appConfigProperty) { return new StorageProvider.StorageProviderImpl(appConfigProperty); } }