From f5e7be4b44d741ff6fbe07ab1261b9116d1ef8c0 Mon Sep 17 00:00:00 2001 From: Paulo Gomes da Cruz Junior Date: Wed, 14 Dec 2022 10:42:31 -0800 Subject: [PATCH 01/31] chore: updating pom updating pom file to add build and properties --- backend/pom.xml | 650 +++++++++++++++++++++++++++++++----------------- 1 file changed, 418 insertions(+), 232 deletions(-) diff --git a/backend/pom.xml b/backend/pom.xml index 90800d27e9..8afeb38ee8 100644 --- a/backend/pom.xml +++ b/backend/pom.xml @@ -1,238 +1,424 @@ - - 4.0.0 - - org.springframework.boot - spring-boot-starter-parent - 3.0.0 - - - ca.bc.gov - nr-forest-client-backend - 0.0.1 - nr-forest-client-backend - Starting NR Forest Client Backend - - - Apache License, Version 2.0 - https://www.apache.org/licenses/LICENSE-2.0.txt - repo - - - - UTF-8 - UTF-8 - 17 - 17 - 3.10.1 - ${java.version} - ${java.version} - - - - - org.springframework.boot - spring-boot-starter-actuator - - - org.springframework.boot - spring-boot-starter-validation - - - org.springframework.boot - spring-boot-starter-data-jpa - - - org.springframework.boot - spring-boot-starter-web - - - com.h2database - h2 - test - - - org.springframework.boot - spring-boot-starter-test - test - - - com.oracle.database.jdbc - ojdbc11 - - - org.postgresql - postgresql - - - jakarta.inject - jakarta.inject-api - 2.0.1 - - - commons-collections - commons-collections - 3.2.2 - - - org.springdoc - springdoc-openapi-starter-webmvc-ui - 2.0.0 - - - org.apache.oltu.oauth2 - org.apache.oltu.oauth2.client - 1.0.2 - - - org.codehaus.jettison - jettison - 1.5.3 - - - org.springframework - spring-context-indexer - true - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - ${maven.compiler.version} - - - org.sonarsource.scanner.maven - sonar-maven-plugin - 3.6.0.1398 - - - org.jacoco - jacoco-maven-plugin - 0.8.8 - - - org.hibernate.orm.tooling - hibernate-enhance-maven-plugin - ${hibernate.version} - - - org.springframework.boot - spring-boot-maven-plugin - - - org.apache.maven.plugins - maven-surefire-plugin - - 1 - true - false - - - - org.apache.maven.plugins - maven-failsafe-plugin - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - nr-forest-client-backend - - - - dev - - - integration-test - - integration-test - false - true - - - - coverage - - true - - + + 4.0.0 + + + org.springframework.boot + spring-boot-starter-parent + 3.0.0 + + + + ca.bc.gov + nr-forest-client-backend + 0.0.1 + nr-forest-client-backend + Starting NR Forest Client Backend + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0.txt + repo + + + + + UTF-8 + UTF-8 + 17 + 17 + 3.10.1 + ${java.version} + ${java.version} + + true + false + true + true + + ${project.build.directory}/coverage-reports + + ${maven.build.timestamp} + yyyy-MM-dd HH:mm:ss + + 5.9.1 + 1.9.1 + + + + + org.springframework.boot + spring-boot-starter-actuator + + + org.springframework.boot + spring-boot-starter-validation + + + org.springframework.boot + spring-boot-starter-data-jpa + + + org.springframework.boot + spring-boot-starter-web + + + com.h2database + h2 + test + + + org.springframework.boot + spring-boot-starter-test + test + + + com.oracle.database.jdbc + ojdbc11 + + + org.postgresql + postgresql + + + jakarta.inject + jakarta.inject-api + 2.0.1 + + + commons-collections + commons-collections + 3.2.2 + + + org.springdoc + springdoc-openapi-starter-webmvc-ui + 2.0.0 + + + org.apache.oltu.oauth2 + org.apache.oltu.oauth2.client + 1.0.2 + + + org.codehaus.jettison + jettison + 1.5.3 + + + org.springframework + spring-context-indexer + true + + + + - - maven-compiler-plugin - ${maven.compiler.version} - - ${java.version} - ${java.version} - - - org.springframework - spring-context-indexer - ${spring-framework.version} - - - - - - org.apache.maven.plugins - maven-failsafe-plugin - - - integration-tests - - integration-test - verify - - - - - - org.hibernate.orm.tooling - hibernate-enhance-maven-plugin - ${hibernate.version} - - + + org.springframework.boot + spring-boot-maven-plugin - true - true + + + org.projectlombok + lombok + + - - enhance - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - org.jacoco - jacoco-maven-plugin - - - prepare-agent - - prepare-agent - - - - coverage-report - prepare-package - - report - - - - + + + + org.apache.maven.plugins + maven-failsafe-plugin + 2.22.2 + + + integration-tests + + integration-test + verify + + + @{argLine} + false + ${skip.integration.tests} + + **/*IntegrationTest.java + + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.22.2 + + @{argLine} + ${skip.unit.tests} + + **/*IntegrationTest.java + + + + cucumber.junit-platform.naming-strategy=long + + + + + + + org.jacoco + jacoco-maven-plugin + 0.8.8 + + ${jacoco.skip} + + **/configuration/** + **/exception/** + **/dto/** + **/entity/** + **/repository/** + **/validator/** + **/*$*Builder* + **/BootApplication* + **/test/** + **/bdd/** + **/extensions/** + **/*Test* + + + + + pre-unit-test + + prepare-agent + + + ${jacoco.output.data}/jacoco-ut.exec + + + + post-unit-test + test + + report + + + ${jacoco.output.data}/jacoco-ut.exec + ${jacoco.output.data}/jacoco-ut + + + + pre-integration-test + pre-integration-test + + prepare-agent-integration + + + ${jacoco.output.data}/jacoco-it.exec + + + + post-integration-test + post-integration-test + + report-integration + + + ${jacoco.output.data}/jacoco-it.exec + ${jacoco.output.data}/jacoco-it + + + + merge-unit-and-integration + post-integration-test + + merge + + + + + ${jacoco.output.data} + + *.exec + + + + ${project.build.directory}/jacoco.exec + + + + merged-reports + post-integration-test + + report + + + ${project.build.directory}/jacoco.exec + ${jacoco.output.data}/merged-test-report + + + + coverage-check + + check + + + + + BUNDLE + + + LINE + COVEREDRATIO + 70% + + + + + + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.4.1 + + 8 + Javadoc Documentation for ${project.name} ${project.version} + + ${project.name} ${project.version} + + + + + + org.apache.maven.plugins + maven-enforcer-plugin + 3.1.0 + + + default-cli + + enforce + + + + + + [3.2,) + Invalid Maven version. It should be at least 3.2 + + + 17 + Invalid Java Version. It should be at least 17 + + + + central + spring-milestones + + + central + spring-milestones + + + + No Snapshots Allowed in releases! + true + + + + + + + + + + org.apache.maven.plugins + maven-checkstyle-plugin + 3.2.0 + + ${checkstyle.skip} + google_checks.xml + true + true + false + + + + validate + validate + + check + + + + + + + org.cyclonedx + cyclonedx-maven-plugin + 2.7.3 + + + validate + + makeAggregateBom + + + + + ${checkstyle.skip} + application + all + bom + + + - - - + nr-forest-client-backend + + + + + dev + + + + all-tests + + all-tests + false + false + false + + + + + integration-test + + integration-test + false + true + + + + + + + spring-milestones + Spring Milestones + https://repo.spring.io/milestone + + false + + + From a0a5bfe1462808a58cb0eaab1528ee42cd82e501 Mon Sep 17 00:00:00 2001 From: Paulo Gomes da Cruz Junior Date: Wed, 14 Dec 2022 11:27:27 -0800 Subject: [PATCH 02/31] chore: adding commons-lang3 adding apache commons lang 3 as a dependency --- backend/pom.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/backend/pom.xml b/backend/pom.xml index 8afeb38ee8..eca92d9a31 100644 --- a/backend/pom.xml +++ b/backend/pom.xml @@ -92,6 +92,11 @@ commons-collections 3.2.2 + + org.apache.commons + commons-lang3 + 3.12.0 + org.springdoc springdoc-openapi-starter-webmvc-ui From e68e5521890e5f55f05e3750ef12baf17df1c85b Mon Sep 17 00:00:00 2001 From: Paulo Gomes da Cruz Junior Date: Wed, 14 Dec 2022 11:28:45 -0800 Subject: [PATCH 03/31] chore: code cleanup refactoring a small portion of the code to: - comply with checkstyle guideline - use records when possible - removed interfaces for services --- .../java/ca/bc/gov/app/BootApplication.java | 6 +- .../java/ca/bc/gov/app/core/CoreConstant.java | 88 +-- .../OraclePersistenceConfiguration.java | 40 +- .../PostgresPersistenceConfiguration.java | 44 +- .../configuration/SwaggerConfiguration.java | 20 +- .../core/entity/AbstractCodeDescrEntity.java | 121 ++-- .../ca/bc/gov/app/core/entity/CodeDescr.java | 7 +- .../app/core/misc/scope/ScopeConstant.java | 64 ++- .../app/core/repository/CoreRepository.java | 6 +- .../ca/bc/gov/app/core/util/CoreUtil.java | 133 ++++- .../gov/app/core/util/impl/CoreUtilImpl.java | 130 ----- .../ca/bc/gov/app/core/vo/CodeDescrVO.java | 84 +-- .../ChesCommonServicesController.java | 31 +- .../service/ChesCommonServicesService.java | 84 ++- .../impl/ChesCommonServicesServiceImpl.java | 91 --- .../m/ob/controller/OrgBookApiController.java | 65 ++- .../app/m/ob/service/OrgBookApiService.java | 191 ++++++- .../service/impl/OrgBookApiServiceImpl.java | 185 ------ .../bc/gov/app/m/ob/vo/OrgBookResponseVO.java | 17 +- .../java/ca/bc/gov/app/m/ob/vo/ResultVO.java | 4 + .../m/om/controller/OpenMapsController.java | 11 +- .../gov/app/m/om/service/OpenMapsService.java | 138 ++++- .../om/service/impl/OpenMapsServiceImpl.java | 138 ----- .../java/ca/bc/gov/app/m/om/vo/FeatureVO.java | 4 + .../m/om/vo/FirstNationBandVidationVO.java | 155 ++--- .../gov/app/m/om/vo/OpenMapsResponseVO.java | 31 +- .../ca/bc/gov/app/m/om/vo/PropertyVO.java | 14 + .../controller/LegacyClientController.java | 57 +- .../entity/ClientDoingBusinessAsEntity.java | 76 +-- .../entity/ClientLocationEntity.java | 532 +++++++++--------- .../entity/ClientPublicViewEntity.java | 140 ++--- .../entity/ClientStatusCodeEntity.java | 149 +++-- .../entity/ForestClientEntity.java | 450 +++++++-------- .../ClientDoingBusinessAsRepository.java | 17 +- .../repository/ClientLocationRepository.java | 13 +- .../ClientPublicViewRepository.java | 25 +- .../repository/ForestClientRepository.java | 66 ++- .../service/LegacyClientService.java | 36 +- .../service/impl/LegacyClientServiceImpl.java | 41 -- .../vo/ClientPublicFilterObjectVO.java | 19 +- .../legacyclient/vo/ClientPublicViewVO.java | 80 +-- .../client/controller/ClientController.java | 28 +- .../client/entity/ClientTypeCodeEntity.java | 54 +- .../client/entity/SubmissionDetailEntity.java | 219 +++---- .../client/entity/SubmissionEntity.java | 169 +++--- .../entity/SubmissionStatusCodeEntity.java | 44 +- .../repository/ClientTypeCodeRepository.java | 16 +- .../SubmissionDetailRepository.java | 3 +- .../repository/SubmissionRepository.java | 3 +- .../SubmissionStatusCodeRepository.java | 5 +- .../client/service/ClientService.java | 25 +- .../service/impl/ClientServiceImpl.java | 31 - .../LegacyClientControllerTest.java | 122 ++-- .../controller/ClientControllerTest.java | 86 ++- 54 files changed, 2092 insertions(+), 2316 deletions(-) delete mode 100644 backend/src/main/java/ca/bc/gov/app/core/util/impl/CoreUtilImpl.java delete mode 100644 backend/src/main/java/ca/bc/gov/app/m/ches/service/impl/ChesCommonServicesServiceImpl.java delete mode 100644 backend/src/main/java/ca/bc/gov/app/m/ob/service/impl/OrgBookApiServiceImpl.java create mode 100644 backend/src/main/java/ca/bc/gov/app/m/ob/vo/ResultVO.java delete mode 100644 backend/src/main/java/ca/bc/gov/app/m/om/service/impl/OpenMapsServiceImpl.java create mode 100644 backend/src/main/java/ca/bc/gov/app/m/om/vo/FeatureVO.java create mode 100644 backend/src/main/java/ca/bc/gov/app/m/om/vo/PropertyVO.java delete mode 100644 backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/service/impl/LegacyClientServiceImpl.java delete mode 100644 backend/src/main/java/ca/bc/gov/app/m/postgres/client/service/impl/ClientServiceImpl.java diff --git a/backend/src/main/java/ca/bc/gov/app/BootApplication.java b/backend/src/main/java/ca/bc/gov/app/BootApplication.java index 1b3ee85af1..84ea12ea94 100644 --- a/backend/src/main/java/ca/bc/gov/app/BootApplication.java +++ b/backend/src/main/java/ca/bc/gov/app/BootApplication.java @@ -6,7 +6,7 @@ @SpringBootApplication public class BootApplication { - public static void main(String[] args) { - SpringApplication.run(BootApplication.class, args); - } + public static void main(String[] args) { + SpringApplication.run(BootApplication.class, args); + } } diff --git a/backend/src/main/java/ca/bc/gov/app/core/CoreConstant.java b/backend/src/main/java/ca/bc/gov/app/core/CoreConstant.java index b829eca4b5..6acbfc123b 100644 --- a/backend/src/main/java/ca/bc/gov/app/core/CoreConstant.java +++ b/backend/src/main/java/ca/bc/gov/app/core/CoreConstant.java @@ -1,48 +1,48 @@ package ca.bc.gov.app.core; public final class CoreConstant { - - public static final String EMPTY_STRING = ""; - public static final String IND_YES = "Y"; - public static final String IND_NO = "N"; - - public static final String IND_OTHER = "O"; - - public static final String IND_TRUE = "1"; - public static final String IND_FALSE = "0"; - - public static final String SLASH = "/"; - public static final String BACKSLASH = "\\"; - public static final String COLON = ":"; - public static final String SEMICOLON = ";"; - - public static final String DOT = "."; - public static final String APOSTROPHE = "'"; - public static final String COMMA = ","; - public static final String CSV_SPACE_DELIMITER = ", "; - public static final String UNDERSCORE = "_"; - - public static final String QUESTION_MARK = "?"; - public static final String AMPERSAND = "&"; - public static final String ALPHASAND = "@"; - public static final String SPACE = " "; - public static final String DASH = "-"; - - public static final String DOLLAR = "$"; - public static final String PERCENTAGE = "%"; - - public static final String RIGHT_PARENTHESE = ")"; - public static final String LEFT_PARENTHESE = "("; - - public static final String ENGLISH_LOCALE = "en"; - public static final String ENGLISH_US_LOCALE = "en_US"; - - public static final String SORTING_ASC = "ASC"; - public static final String SORTING_DESC = "DESC"; - - public static final String NOT_AVAILABLE = "NA"; - - public static final String FILE_EXTENSION_PDF = "pdf"; - public static final String FILE_EXTENSION_ZIP = "zip"; - + + public static final String EMPTY_STRING = ""; + public static final String IND_YES = "Y"; + public static final String IND_NO = "N"; + + public static final String IND_OTHER = "O"; + + public static final String IND_TRUE = "1"; + public static final String IND_FALSE = "0"; + + public static final String SLASH = "/"; + public static final String BACKSLASH = "\\"; + public static final String COLON = ":"; + public static final String SEMICOLON = ";"; + + public static final String DOT = "."; + public static final String APOSTROPHE = "'"; + public static final String COMMA = ","; + public static final String CSV_SPACE_DELIMITER = ", "; + public static final String UNDERSCORE = "_"; + + public static final String QUESTION_MARK = "?"; + public static final String AMPERSAND = "&"; + public static final String ALPHASAND = "@"; + public static final String SPACE = " "; + public static final String DASH = "-"; + + public static final String DOLLAR = "$"; + public static final String PERCENTAGE = "%"; + + public static final String RIGHT_PARENTHESE = ")"; + public static final String LEFT_PARENTHESE = "("; + + public static final String ENGLISH_LOCALE = "en"; + public static final String ENGLISH_US_LOCALE = "en_US"; + + public static final String SORTING_ASC = "ASC"; + public static final String SORTING_DESC = "DESC"; + + public static final String NOT_AVAILABLE = "NA"; + + public static final String FILE_EXTENSION_PDF = "pdf"; + public static final String FILE_EXTENSION_ZIP = "zip"; + } diff --git a/backend/src/main/java/ca/bc/gov/app/core/configuration/OraclePersistenceConfiguration.java b/backend/src/main/java/ca/bc/gov/app/core/configuration/OraclePersistenceConfiguration.java index 0d88173b85..1e7fc3b530 100644 --- a/backend/src/main/java/ca/bc/gov/app/core/configuration/OraclePersistenceConfiguration.java +++ b/backend/src/main/java/ca/bc/gov/app/core/configuration/OraclePersistenceConfiguration.java @@ -1,7 +1,6 @@ package ca.bc.gov.app.core.configuration; import javax.sql.DataSource; - import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.jdbc.DataSourceBuilder; @@ -12,27 +11,28 @@ import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; @Configuration -@EnableJpaRepositories(entityManagerFactoryRef = "oracleEntityManager", - basePackages = "ca.bc.gov.app.m.oracle") +@EnableJpaRepositories(entityManagerFactoryRef = "oracleEntityManager", + basePackages = "ca.bc.gov.app.m.oracle") public class OraclePersistenceConfiguration { - public final static String ORACLE_ATTRIBUTE_SCHEMA_QUALIFIER = "THE."; - public final static String ORACLE_ATTRIBUTE_SCHEMA = "THE"; - public static final String ORACLE_API_TAG = "Legacy Client"; - - @Bean(name = "oracleDataSource") - @ConfigurationProperties(prefix = "oracle.datasource") - public DataSource dataSource() { - return DataSourceBuilder.create().build(); - } + public final static String ORACLE_ATTRIBUTE_SCHEMA_QUALIFIER = "THE."; + public final static String ORACLE_ATTRIBUTE_SCHEMA = "THE"; + public static final String ORACLE_API_TAG = "Legacy Client"; + + @Bean(name = "oracleDataSource") + @ConfigurationProperties(prefix = "oracle.datasource") + public DataSource dataSource() { + return DataSourceBuilder.create().build(); + } - @Bean(name = "oracleEntityManager") - public LocalContainerEntityManagerFactoryBean oracleEntityManager(final EntityManagerFactoryBuilder builder, - @Qualifier("oracleDataSource") final DataSource dataSource) { - return builder.dataSource(dataSource) - .packages("ca.bc.gov.app.m.oracle") - .persistenceUnit("oracle") - .build(); - } + @Bean(name = "oracleEntityManager") + public LocalContainerEntityManagerFactoryBean oracleEntityManager( + final EntityManagerFactoryBuilder builder, + @Qualifier("oracleDataSource") final DataSource dataSource) { + return builder.dataSource(dataSource) + .packages("ca.bc.gov.app.m.oracle") + .persistenceUnit("oracle") + .build(); + } } \ No newline at end of file diff --git a/backend/src/main/java/ca/bc/gov/app/core/configuration/PostgresPersistenceConfiguration.java b/backend/src/main/java/ca/bc/gov/app/core/configuration/PostgresPersistenceConfiguration.java index 7e204002ed..5e9ed8a8e4 100644 --- a/backend/src/main/java/ca/bc/gov/app/core/configuration/PostgresPersistenceConfiguration.java +++ b/backend/src/main/java/ca/bc/gov/app/core/configuration/PostgresPersistenceConfiguration.java @@ -1,7 +1,6 @@ package ca.bc.gov.app.core.configuration; import javax.sql.DataSource; - import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.jdbc.DataSourceBuilder; @@ -13,29 +12,30 @@ import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; @Configuration -@EnableJpaRepositories(entityManagerFactoryRef = "postgresEntityManager", - basePackages = "ca.bc.gov.app.m.postgres") +@EnableJpaRepositories(entityManagerFactoryRef = "postgresEntityManager", + basePackages = "ca.bc.gov.app.m.postgres") public class PostgresPersistenceConfiguration { - public final static String POSTGRES_ATTRIBUTE_SCHEMA_QUALIFIER = "nrfc."; - public final static String POSTGRES_ATTRIBUTE_SCHEMA = "nrfc"; - public static final String POSTGRES_API_TAG = "Client"; + public final static String POSTGRES_ATTRIBUTE_SCHEMA_QUALIFIER = "nrfc."; + public final static String POSTGRES_ATTRIBUTE_SCHEMA = "nrfc"; + public static final String POSTGRES_API_TAG = "Client"; + + @Primary + @Bean(name = "postgresDataSource") + @ConfigurationProperties(prefix = "postgres.datasource") + public DataSource dataSource() { + return DataSourceBuilder.create().build(); + } - @Primary - @Bean(name = "postgresDataSource") - @ConfigurationProperties(prefix = "postgres.datasource") - public DataSource dataSource() { - return DataSourceBuilder.create().build(); - } + @Primary + @Bean(name = "postgresEntityManager") + public LocalContainerEntityManagerFactoryBean postgresEntityManager( + final EntityManagerFactoryBuilder builder, + @Qualifier("postgresDataSource") final DataSource dataSource) { + return builder.dataSource(dataSource) + .packages("ca.bc.gov.app.m.postgres") + .persistenceUnit("postgres") + .build(); + } - @Primary - @Bean(name = "postgresEntityManager") - public LocalContainerEntityManagerFactoryBean postgresEntityManager(final EntityManagerFactoryBuilder builder, - @Qualifier("postgresDataSource") final DataSource dataSource) { - return builder.dataSource(dataSource) - .packages("ca.bc.gov.app.m.postgres") - .persistenceUnit("postgres") - .build(); - } - } \ No newline at end of file diff --git a/backend/src/main/java/ca/bc/gov/app/core/configuration/SwaggerConfiguration.java b/backend/src/main/java/ca/bc/gov/app/core/configuration/SwaggerConfiguration.java index f0e4348b87..c5cae204d5 100644 --- a/backend/src/main/java/ca/bc/gov/app/core/configuration/SwaggerConfiguration.java +++ b/backend/src/main/java/ca/bc/gov/app/core/configuration/SwaggerConfiguration.java @@ -1,20 +1,20 @@ package ca.bc.gov.app.core.configuration; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.info.Info; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; @Configuration public class SwaggerConfiguration { - @Bean - public OpenAPI customOpenAPI() { - return new OpenAPI().info(apiInfo()); - } + @Bean + public OpenAPI customOpenAPI() { + return new OpenAPI().info(apiInfo()); + } - private Info apiInfo() { - return new Info().title("FSA Forest Client").description("Forest Client Application").version("1.0"); - } + private Info apiInfo() { + return new Info().title("FSA Forest Client").description("Forest Client Application") + .version("1.0"); + } } \ No newline at end of file diff --git a/backend/src/main/java/ca/bc/gov/app/core/entity/AbstractCodeDescrEntity.java b/backend/src/main/java/ca/bc/gov/app/core/entity/AbstractCodeDescrEntity.java index ff710b55b2..6daa382d48 100644 --- a/backend/src/main/java/ca/bc/gov/app/core/entity/AbstractCodeDescrEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/core/entity/AbstractCodeDescrEntity.java @@ -1,94 +1,93 @@ package ca.bc.gov.app.core.entity; -import java.util.Date; - import jakarta.persistence.Column; import jakarta.persistence.MappedSuperclass; import jakarta.persistence.Temporal; import jakarta.persistence.TemporalType; +import java.util.Date; @MappedSuperclass public abstract class AbstractCodeDescrEntity implements AbstractEntity, CodeDescr { - private static final long serialVersionUID = 4380176116164211795L; + private static final long serialVersionUID = 4380176116164211795L; - @Column(name = "DESCRIPTION", nullable = false) - private String description; + @Column(name = "DESCRIPTION", nullable = false) + private String description; - @Temporal(TemporalType.DATE) - @Column(name = "EFFECTIVE_DATE", nullable = false) - private Date effectiveDate; + @Temporal(TemporalType.DATE) + @Column(name = "EFFECTIVE_DATE", nullable = false) + private Date effectiveDate; - @Temporal(TemporalType.DATE) - @Column(name = "EXPIRY_DATE", nullable = true) - private Date expiryDate; + @Temporal(TemporalType.DATE) + @Column(name = "EXPIRY_DATE", nullable = true) + private Date expiryDate; - @Column(name = "CREATE_TIMESTAMP") - private Date createTimestamp; + @Column(name = "CREATE_TIMESTAMP") + private Date createTimestamp; - @Column(name = "UPDATE_TIMESTAMP") - private Date updateTimestamp; + @Column(name = "UPDATE_TIMESTAMP") + private Date updateTimestamp; - @Column(name = "CREATE_USER") - private String createUser; + @Column(name = "CREATE_USER") + private String createUser; - @Column(name = "UPDATE_USER") - private String updateUser; + @Column(name = "UPDATE_USER") + private String updateUser; - public String getDescription() { - return description; - } + public String getDescription() { + return description; + } - public void setDescription(String description) { - this.description = description; - } + public void setDescription(String description) { + this.description = description; + } - public Date getEffectiveDate() { - return effectiveDate; - } + public Date getEffectiveDate() { + return effectiveDate; + } - public void setEffectiveDate(Date effectiveDate) { - this.effectiveDate = effectiveDate; - } + public void setEffectiveDate(Date effectiveDate) { + this.effectiveDate = effectiveDate; + } - public Date getExpiryDate() { - return expiryDate; - } + public Date getExpiryDate() { + return expiryDate; + } - public void setExpiryDate(Date expiryDate) { - this.expiryDate = expiryDate; - } + public void setExpiryDate(Date expiryDate) { + this.expiryDate = expiryDate; + } - public Date getCreateTimestamp() { - return createTimestamp; - } + public Date getCreateTimestamp() { + return createTimestamp; + } - public void setCreateTimestamp(Date createTimestamp) { - this.createTimestamp = createTimestamp; - } + public void setCreateTimestamp(Date createTimestamp) { + this.createTimestamp = createTimestamp; + } - public Date getUpdateTimestamp() { - return updateTimestamp; - } + public Date getUpdateTimestamp() { + return updateTimestamp; + } - public void setUpdateTimestamp(Date updateTimestamp) { - this.updateTimestamp = updateTimestamp; - } + public void setUpdateTimestamp(Date updateTimestamp) { + this.updateTimestamp = updateTimestamp; + } - public String getCreateUser() { - return createUser; - } + public String getCreateUser() { + return createUser; + } - public void setCreateUser(String createUser) { - this.createUser = createUser; - } + public void setCreateUser(String createUser) { + this.createUser = createUser; + } - public String getUpdateUser() { - return updateUser; - } + public String getUpdateUser() { + return updateUser; + } - public void setUpdateUser(String updateUser) { - this.updateUser = updateUser; - } + public void setUpdateUser(String updateUser) { + this.updateUser = updateUser; + } } diff --git a/backend/src/main/java/ca/bc/gov/app/core/entity/CodeDescr.java b/backend/src/main/java/ca/bc/gov/app/core/entity/CodeDescr.java index 30eae859dd..448221052c 100644 --- a/backend/src/main/java/ca/bc/gov/app/core/entity/CodeDescr.java +++ b/backend/src/main/java/ca/bc/gov/app/core/entity/CodeDescr.java @@ -4,7 +4,8 @@ public interface CodeDescr extends Serializable { - String getCode(); - String getDescription(); - + String getCode(); + + String getDescription(); + } diff --git a/backend/src/main/java/ca/bc/gov/app/core/misc/scope/ScopeConstant.java b/backend/src/main/java/ca/bc/gov/app/core/misc/scope/ScopeConstant.java index ac2f89a117..a2c662586b 100644 --- a/backend/src/main/java/ca/bc/gov/app/core/misc/scope/ScopeConstant.java +++ b/backend/src/main/java/ca/bc/gov/app/core/misc/scope/ScopeConstant.java @@ -4,31 +4,41 @@ import org.springframework.web.util.TagUtils; public class ScopeConstant { - - /** Constant identifying the request scope */ - public static final String REQUEST = TagUtils.SCOPE_REQUEST; - - /** Constant identifying the session scope */ - public static final String SESSION = TagUtils.SCOPE_SESSION; - - /** Constant identifying the application scope */ - public static final String APPLICATION = TagUtils.SCOPE_APPLICATION; - - /** - * Scope identifier for the standard singleton scope: "singleton". - *

Note that extended bean factories might support further scopes. - * @see #setScope - */ - public static final String SINGLETON = BeanDefinition.SCOPE_SINGLETON; - - /** - * Scope identifier for the standard prototype scope: "prototype". - *

Note that extended bean factories might support further scopes. - * @see #setScope - */ - public static final String PROTOTYPE = BeanDefinition.SCOPE_PROTOTYPE; - - /** Constant identifying the view scope as used in JSF2 */ - public static final String VIEW = "view"; - + + /** + * Constant identifying the request scope + */ + public static final String REQUEST = TagUtils.SCOPE_REQUEST; + + /** + * Constant identifying the session scope + */ + public static final String SESSION = TagUtils.SCOPE_SESSION; + + /** + * Constant identifying the application scope + */ + public static final String APPLICATION = TagUtils.SCOPE_APPLICATION; + + /** + * Scope identifier for the standard singleton scope: "singleton". + *

Note that extended bean factories might support further scopes. + * + * @see #setScope + */ + public static final String SINGLETON = BeanDefinition.SCOPE_SINGLETON; + + /** + * Scope identifier for the standard prototype scope: "prototype". + *

Note that extended bean factories might support further scopes. + * + * @see #setScope + */ + public static final String PROTOTYPE = BeanDefinition.SCOPE_PROTOTYPE; + + /** + * Constant identifying the view scope as used in JSF2 + */ + public static final String VIEW = "view"; + } diff --git a/backend/src/main/java/ca/bc/gov/app/core/repository/CoreRepository.java b/backend/src/main/java/ca/bc/gov/app/core/repository/CoreRepository.java index be9ea2c77e..a7f7952b10 100644 --- a/backend/src/main/java/ca/bc/gov/app/core/repository/CoreRepository.java +++ b/backend/src/main/java/ca/bc/gov/app/core/repository/CoreRepository.java @@ -1,7 +1,6 @@ package ca.bc.gov.app.core.repository; import java.io.Serializable; - import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaSpecificationExecutor; import org.springframework.data.repository.NoRepositoryBean; @@ -9,6 +8,7 @@ @NoRepositoryBean @Transactional(value = "transactionManager") -public interface CoreRepository extends JpaRepository, JpaSpecificationExecutor { - +public interface CoreRepository + extends JpaRepository, JpaSpecificationExecutor { + } diff --git a/backend/src/main/java/ca/bc/gov/app/core/util/CoreUtil.java b/backend/src/main/java/ca/bc/gov/app/core/util/CoreUtil.java index 36b0ca7645..8c5a87fc38 100644 --- a/backend/src/main/java/ca/bc/gov/app/core/util/CoreUtil.java +++ b/backend/src/main/java/ca/bc/gov/app/core/util/CoreUtil.java @@ -1,33 +1,136 @@ package ca.bc.gov.app.core.util; +import ca.bc.gov.app.core.CoreConstant; +import ca.bc.gov.app.core.entity.AbstractCodeDescrEntity; +import ca.bc.gov.app.core.vo.CodeDescrVO; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; +import java.text.DateFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Calendar; +import java.util.Comparator; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Component; + +@Component +public class CoreUtil { + + + public Date getCurrentTime() { + return Calendar.getInstance().getTime(); + } + + + public boolean isNumber(String str) { + return str.matches("^\\d+$"); + } + + + public T jsonStringToObj(String jsonInString, Class valueType) { + try { + ObjectMapper mapper = new ObjectMapper(); + mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES); + return mapper.readValue(jsonInString, valueType); + } catch (Exception e) { + throw new RuntimeException( + "Failed to convert JSON string: " + jsonInString + " to object of type: " + + valueType.getCanonicalName(), e); + } + } + + + public String objToJsonString(Object obj) { + try { + ObjectMapper mapper = new ObjectMapper(); + mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); + return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(obj); + } catch (Exception e) { + throw new RuntimeException("Failed to convert object: " + obj + " to JSON string", e); + } + } + + + public boolean isNullOrBlank(String str) { + return str == null || str.trim().length() == 0; + } -import ca.bc.gov.app.core.entity.AbstractCodeDescrEntity; -import ca.bc.gov.app.core.vo.CodeDescrVO; -public interface CoreUtil { + public List fromCsvToStringList(String csvString) { + if (!isNullOrBlank(csvString)) { + return new ArrayList<>(Arrays.asList(csvString.split("\\s*,\\s*"))); + } else { + return new ArrayList<>(); + } + } - String BEAN_NAME = "coreUtil"; - Date getCurrentTime(); - - boolean isNumber(String str); + public String fromStringListToCsvWithAposthrophe(String csvString) { + List tempList = fromCsvToStringList(csvString); + if (CollectionUtils.isEmpty(tempList)) { + return null; + } + String finalStr = null; + for (String listItem : tempList) { + if (finalStr == null) { + finalStr = CoreConstant.APOSTROPHE + listItem + CoreConstant.APOSTROPHE; + } else { + finalStr = + finalStr + CoreConstant.CSV_SPACE_DELIMITER + CoreConstant.APOSTROPHE + listItem + + CoreConstant.APOSTROPHE; + } + } + return finalStr; + } - T jsonStringToObj(String jsonInString, Class valueType); - String objToJsonString(Object obj); + public List toSortedCodeDescrVOs( + List codeDescrEntities) { + Comparator comparatorByDescription = (e1, e2) -> + (e1.getDescription()).compareTo(e2.getDescription()); - boolean isNullOrBlank(String str); + return codeDescrEntities. + stream(). + sorted(comparatorByDescription). + map(this::toCodeDescrVO). + collect(Collectors.toList()); + } - List fromCsvToStringList(String csvString); - String fromStringListToCsvWithAposthrophe(String csvString); + public CodeDescrVO toCodeDescrVO(AbstractCodeDescrEntity codeDescrEntity) { + return codeDescrEntity == null ? null : new CodeDescrVO(codeDescrEntity.getCode(), + codeDescrEntity.getDescription(), + codeDescrEntity.getEffectiveDate(), + codeDescrEntity.getExpiryDate(), + null); + } - List toSortedCodeDescrVOs(List codeDescrEntities); - CodeDescrVO toCodeDescrVO(AbstractCodeDescrEntity codeDescrEntity); + public Date toDate(String dateStr, String format) { + if (isNullOrBlank(dateStr)) { + return null; + } + DateFormat dateFormat = new SimpleDateFormat(format); + try { + return dateFormat.parse(dateStr); + } catch (ParseException e) { + throw new IllegalArgumentException( + "Failed to produce Date instance out of (supposedly) " + format + " format: " + dateStr); + } + } - Date toDate(String dateStr, String format); + public boolean isSame(String value1, String value2){ + return + StringUtils.isNotBlank(value1) && + StringUtils.isNotBlank(value2) && + value1.equalsIgnoreCase(value2); + } } diff --git a/backend/src/main/java/ca/bc/gov/app/core/util/impl/CoreUtilImpl.java b/backend/src/main/java/ca/bc/gov/app/core/util/impl/CoreUtilImpl.java deleted file mode 100644 index 90a096e87f..0000000000 --- a/backend/src/main/java/ca/bc/gov/app/core/util/impl/CoreUtilImpl.java +++ /dev/null @@ -1,130 +0,0 @@ -package ca.bc.gov.app.core.util.impl; - -import java.text.DateFormat; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Calendar; -import java.util.Comparator; -import java.util.Date; -import java.util.List; -import java.util.stream.Collectors; - -import org.apache.commons.collections.CollectionUtils; -import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.stereotype.Component; - -import com.fasterxml.jackson.databind.DeserializationFeature; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.SerializationFeature; - -import ca.bc.gov.app.core.CoreConstant; -import ca.bc.gov.app.core.entity.AbstractCodeDescrEntity; -import ca.bc.gov.app.core.util.CoreUtil; -import ca.bc.gov.app.core.vo.CodeDescrVO; - -@Component -@Qualifier(CoreUtil.BEAN_NAME) -public class CoreUtilImpl implements CoreUtil { - - @Override - public Date getCurrentTime() { - return Calendar.getInstance().getTime(); - } - - @Override - public boolean isNumber(String str) { - return str.matches("^\\d+$"); - } - - @Override - public T jsonStringToObj(String jsonInString, Class valueType) { - try { - ObjectMapper mapper = new ObjectMapper(); - mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES); - return mapper.readValue(jsonInString, valueType); - } - catch (Exception e) { - throw new RuntimeException("Failed to convert JSON string: " + jsonInString + " to object of type: " + valueType.getCanonicalName(), e); - } - } - - @Override - public String objToJsonString(Object obj) { - try { - ObjectMapper mapper = new ObjectMapper(); - mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); - return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(obj); - } - catch (Exception e) { - throw new RuntimeException("Failed to convert object: " + obj + " to JSON string", e); - } - } - - @Override - public boolean isNullOrBlank(String str) { - return str == null || str.trim().length() == 0; - } - - @Override - public List fromCsvToStringList(String csvString) { - if (!isNullOrBlank(csvString)) { - return new ArrayList<>(Arrays.asList(csvString.split("\\s*,\\s*"))); - } else { - return new ArrayList<>(); - } - } - - @Override - public String fromStringListToCsvWithAposthrophe(String csvString) { - List tempList = fromCsvToStringList(csvString); - if (CollectionUtils.isEmpty(tempList)) { - return null; - } - String finalStr = null; - for (String listItem : tempList) { - if (finalStr == null) { - finalStr = CoreConstant.APOSTROPHE + listItem + CoreConstant.APOSTROPHE; - } else { - finalStr = finalStr + CoreConstant.CSV_SPACE_DELIMITER + CoreConstant.APOSTROPHE + listItem + CoreConstant.APOSTROPHE; - } - } - return finalStr; - } - - @Override - public List toSortedCodeDescrVOs(List codeDescrEntities) { - Comparator comparatorByDescription = (e1, e2) -> - (e1.getDescription()).compareTo(e2.getDescription()); - - return codeDescrEntities. - stream(). - sorted(comparatorByDescription). - map(this::toCodeDescrVO). - collect(Collectors.toList()); - } - - @Override - public CodeDescrVO toCodeDescrVO(AbstractCodeDescrEntity codeDescrEntity) { - return codeDescrEntity == null ? null : new CodeDescrVO(codeDescrEntity.getCode(), - codeDescrEntity.getDescription(), - codeDescrEntity.getEffectiveDate(), - codeDescrEntity.getExpiryDate()); - } - - @Override - public Date toDate(String dateStr, String format) { - if (isNullOrBlank(dateStr)) { - return null; - } - DateFormat dateFormat = new SimpleDateFormat(format); - try { - return dateFormat.parse(dateStr); - } - catch (ParseException e) { - throw new IllegalArgumentException("Failed to produce Date instance out of (supposedly) " + format + " format: " + dateStr); - } - } - -} diff --git a/backend/src/main/java/ca/bc/gov/app/core/vo/CodeDescrVO.java b/backend/src/main/java/ca/bc/gov/app/core/vo/CodeDescrVO.java index d5485cf1ea..f71b0c9748 100644 --- a/backend/src/main/java/ca/bc/gov/app/core/vo/CodeDescrVO.java +++ b/backend/src/main/java/ca/bc/gov/app/core/vo/CodeDescrVO.java @@ -3,81 +3,11 @@ import java.util.Date; -public class CodeDescrVO implements java.io.Serializable { - - private static final long serialVersionUID = 4072698419357930180L; - - public String code; - public String description; - public Date effectiveDate; - public Date expiryDate; - public Long order; - -//--- - - public CodeDescrVO() {} - - public CodeDescrVO(String code) { - super(); - this.code = code; - } - - public CodeDescrVO(String code, - String description, - Date effectiveDate, - Date expiryDate) { - - super(); - this.code = code; - this.description = description; - this.effectiveDate = effectiveDate; - this.expiryDate = expiryDate; - } - - public CodeDescrVO(String code, - String description) { - - super(); - this.code = code; - this.description = description; - } - - public CodeDescrVO(String code, String description, Long order) { - super(); - this.code = code; - this.description = description; - this.order = order; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((code == null) ? 0 : code.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - CodeDescrVO other = (CodeDescrVO) obj; - if (code == null) { - if (other.code != null) - return false; - } else if (!code.equals(other.code)) - return false; - return true; - } - - @Override - public String toString() { - return "CodeDescrVO [code=" + code + ", description=" + description + ", effectiveDate=" + effectiveDate - + ", expiryDate=" + expiryDate + ", order=" + order + "]"; - } - +public record CodeDescrVO( + String code, + String description, + Date effectiveDate, + Date expiryDate, + Long order +) { } diff --git a/backend/src/main/java/ca/bc/gov/app/m/ches/controller/ChesCommonServicesController.java b/backend/src/main/java/ca/bc/gov/app/m/ches/controller/ChesCommonServicesController.java index 8bb81edf07..0f78337cfb 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/ches/controller/ChesCommonServicesController.java +++ b/backend/src/main/java/ca/bc/gov/app/m/ches/controller/ChesCommonServicesController.java @@ -2,7 +2,9 @@ import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE; - +import ca.bc.gov.app.m.ches.service.ChesCommonServicesService; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.inject.Inject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.http.ResponseEntity; @@ -12,10 +14,6 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import ca.bc.gov.app.m.ches.service.ChesCommonServicesService; -import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.inject.Inject; - @Tag(name = "Ches - Common Services") @CrossOrigin(origins = "${frontend.url}") @@ -23,16 +21,17 @@ @RequestMapping("/app/m/ches") public class ChesCommonServicesController { - public static final Logger logger = LoggerFactory.getLogger(ChesCommonServicesController.class); - - @Inject - private ChesCommonServicesService ChesEmailService; - - @RequestMapping(value = "/sendEmail", - method = RequestMethod.POST, - produces = APPLICATION_JSON_VALUE) - public ResponseEntity sendEmail(@RequestParam("emailTo") String emailTo, @RequestParam("emailBody") String emailBody) { - return ChesEmailService.sendEmail(emailTo, emailBody); - } + public static final Logger logger = LoggerFactory.getLogger(ChesCommonServicesController.class); + + @Inject + private ChesCommonServicesService ChesEmailService; + + @RequestMapping(value = "/sendEmail", + method = RequestMethod.POST, + produces = APPLICATION_JSON_VALUE) + public ResponseEntity sendEmail(@RequestParam("emailTo") String emailTo, + @RequestParam("emailBody") String emailBody) { + return ChesEmailService.sendEmail(emailTo, emailBody); + } } diff --git a/backend/src/main/java/ca/bc/gov/app/m/ches/service/ChesCommonServicesService.java b/backend/src/main/java/ca/bc/gov/app/m/ches/service/ChesCommonServicesService.java index 3d7514a829..264f20c691 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/ches/service/ChesCommonServicesService.java +++ b/backend/src/main/java/ca/bc/gov/app/m/ches/service/ChesCommonServicesService.java @@ -1,10 +1,88 @@ package ca.bc.gov.app.m.ches.service; +import java.net.URI; +import java.net.URISyntaxException; +import java.util.List; +import org.apache.oltu.oauth2.client.OAuthClient; +import org.apache.oltu.oauth2.client.URLConnectionClient; +import org.apache.oltu.oauth2.client.request.OAuthClientRequest; +import org.apache.oltu.oauth2.client.response.OAuthJSONAccessTokenResponse; +import org.apache.oltu.oauth2.common.OAuth; +import org.apache.oltu.oauth2.common.message.types.GrantType; +import org.codehaus.jettison.json.JSONObject; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Service; +import org.springframework.web.client.RestTemplate; -public interface ChesCommonServicesService { +@Service +public class ChesCommonServicesService { - String BEAN_NAME = "chesCommonServicesService"; + public static final Logger logger = LoggerFactory.getLogger(ChesCommonServicesService.class); + + private URI toURI(String uri) { + try { + return new URI(uri); + } catch (URISyntaxException e) { + throw new IllegalArgumentException("Failed to convert input value to URI. " + e.toString()); + } + } + + private String getToken() { + + try { + OAuthClient client = new OAuthClient(new URLConnectionClient()); + + OAuthClientRequest request = OAuthClientRequest.tokenLocation(System.getenv("CHES_TOKEN_URL")) + .setGrantType(GrantType.CLIENT_CREDENTIALS).setClientId(System.getenv("CHES_CLIENT_ID")) + .setClientSecret(System.getenv("CHES_CLIENT_SECRET")).setScope("").buildBodyMessage(); + + String token = + client.accessToken(request, OAuth.HttpMethod.POST, OAuthJSONAccessTokenResponse.class) + .getAccessToken(); + + return token; + } catch (Exception e) { + logger.error("Failed to get email authentication token" + e.toString()); + return ""; + } + + } + + public ResponseEntity sendEmail(String emailTo, String emailBody) { + + try { + RestTemplate restTemplate = new RestTemplate(); + + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.APPLICATION_JSON); + headers.set("Authorization", "Bearer " + getToken()); + + String url = System.getenv("CHES_API_URL") + "/email"; + + JSONObject request = new JSONObject(); + request.put("bodyType", "html"); + request.put("body", emailBody); + request.put("from", "FSA_donotreply@gov.bc.ca"); + request.put("subject", "Forest Client Application Confirmation"); + List emailToList = List.of(emailTo.replaceAll("\\s", "").split(",")); + request.put("to", emailToList); + + HttpEntity entity = new HttpEntity(request.toString(), headers); + String response = restTemplate.postForObject(toURI(url), entity, String.class); + + return ResponseEntity.ok(response); + + } catch (Exception e) { + logger.error("Failed to send email" + e.toString()); + return new ResponseEntity<>(null, HttpStatus.INTERNAL_SERVER_ERROR); + } + + } - ResponseEntity sendEmail(String emailTo, String emailBody); } diff --git a/backend/src/main/java/ca/bc/gov/app/m/ches/service/impl/ChesCommonServicesServiceImpl.java b/backend/src/main/java/ca/bc/gov/app/m/ches/service/impl/ChesCommonServicesServiceImpl.java deleted file mode 100644 index e17fe0ecf1..0000000000 --- a/backend/src/main/java/ca/bc/gov/app/m/ches/service/impl/ChesCommonServicesServiceImpl.java +++ /dev/null @@ -1,91 +0,0 @@ -package ca.bc.gov.app.m.ches.service.impl; - -import java.net.URI; -import java.net.URISyntaxException; -import java.util.List; - -import org.apache.oltu.oauth2.client.OAuthClient; -import org.apache.oltu.oauth2.client.URLConnectionClient; -import org.apache.oltu.oauth2.client.request.OAuthClientRequest; -import org.apache.oltu.oauth2.client.response.OAuthJSONAccessTokenResponse; -import org.apache.oltu.oauth2.common.OAuth; -import org.apache.oltu.oauth2.common.message.types.GrantType; -import org.codehaus.jettison.json.JSONObject; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.http.HttpEntity; -import org.springframework.http.HttpHeaders; -import org.springframework.http.HttpStatus; -import org.springframework.http.MediaType; -import org.springframework.http.ResponseEntity; -import org.springframework.stereotype.Service; -import org.springframework.web.client.RestTemplate; - -import ca.bc.gov.app.m.ches.service.ChesCommonServicesService; - -@Service(ChesCommonServicesService.BEAN_NAME) -public class ChesCommonServicesServiceImpl implements ChesCommonServicesService { - - public static final Logger logger = LoggerFactory.getLogger(ChesCommonServicesServiceImpl.class); - - private URI toURI(String uri) { - try { - return new URI(uri); - } catch (URISyntaxException e) { - throw new IllegalArgumentException("Failed to convert input value to URI. " + e.toString()); - } - } - - private String getToken() { - - try { - OAuthClient client = new OAuthClient(new URLConnectionClient()); - - OAuthClientRequest request = OAuthClientRequest.tokenLocation(System.getenv("CHES_TOKEN_URL")) - .setGrantType(GrantType.CLIENT_CREDENTIALS).setClientId(System.getenv("CHES_CLIENT_ID")) - .setClientSecret(System.getenv("CHES_CLIENT_SECRET")).setScope("").buildBodyMessage(); - - String token = client.accessToken(request, OAuth.HttpMethod.POST, OAuthJSONAccessTokenResponse.class) - .getAccessToken(); - - return token; - } catch (Exception e) { - logger.error("Failed to get email authentication token" + e.toString()); - return ""; - } - - } - - @Override - public ResponseEntity sendEmail(String emailTo, String emailBody) { - - try { - RestTemplate restTemplate = new RestTemplate(); - - HttpHeaders headers = new HttpHeaders(); - headers.setContentType(MediaType.APPLICATION_JSON); - headers.set("Authorization", "Bearer " + getToken()); - - String url = System.getenv("CHES_API_URL") + "/email"; - - JSONObject request = new JSONObject(); - request.put("bodyType", "html"); - request.put("body", emailBody); - request.put("from", "FSA_donotreply@gov.bc.ca"); - request.put("subject", "Forest Client Application Confirmation"); - List emailToList = List.of(emailTo.replaceAll("\\s","").split(",")); - request.put("to", emailToList); - - HttpEntity entity = new HttpEntity(request.toString(), headers); - String response = restTemplate.postForObject(toURI(url), entity, String.class); - - return ResponseEntity.ok(response); - - } catch (Exception e) { - logger.error("Failed to send email" + e.toString()); - return new ResponseEntity<>(null, HttpStatus.INTERNAL_SERVER_ERROR); - } - - } - -} diff --git a/backend/src/main/java/ca/bc/gov/app/m/ob/controller/OrgBookApiController.java b/backend/src/main/java/ca/bc/gov/app/m/ob/controller/OrgBookApiController.java index 1224835b56..ac95cab9b5 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/ob/controller/OrgBookApiController.java +++ b/backend/src/main/java/ca/bc/gov/app/m/ob/controller/OrgBookApiController.java @@ -2,8 +2,12 @@ import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE; +import ca.bc.gov.app.m.ob.service.OrgBookApiService; +import ca.bc.gov.app.m.oracle.legacyclient.entity.ClientDoingBusinessAsEntity; +import ca.bc.gov.app.m.oracle.legacyclient.entity.ForestClientEntity; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.inject.Inject; import java.util.List; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.http.ResponseEntity; @@ -13,44 +17,39 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import ca.bc.gov.app.m.ob.service.OrgBookApiService; -import ca.bc.gov.app.m.oracle.legacyclient.entity.ClientDoingBusinessAsEntity; -import ca.bc.gov.app.m.oracle.legacyclient.entity.ForestClientEntity; -import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.inject.Inject; - //NOTE: //This class is for testing purposes. This will be removed. -@Tag(name = "OrgBook") +@Tag(name = "OrgBook") @RestController @RequestMapping("/app/m/orgbook") public class OrgBookApiController { - public static final Logger logger = LoggerFactory.getLogger(OrgBookApiController.class); - - @Inject - private OrgBookApiService orgBookApiService; - - @RequestMapping(value = "/findByIncorporationNumber", - method = RequestMethod.GET, - produces = APPLICATION_JSON_VALUE) - public ResponseEntity findByIncorporationNumber(@RequestParam("incorporationNumber") String incorporationNumber) { - return orgBookApiService.findByIncorporationNumber(incorporationNumber); - } - - //TODO: Remove it as it is for Data Analysis - @GetMapping("/validateClientDoingBusinessAs") - public List validateClientDoingBusinessAs() { - List clients = orgBookApiService.validateClientDoingBusinessAs(); - return clients; - } - - //TODO: Remove it as it is for Data Analysis - @GetMapping("/validateUnregisteredCompanies") - public List validateUnregisteredCompanies() { - List clients = orgBookApiService.validateUnregisteredCompanies(); - return clients; - } + public static final Logger logger = LoggerFactory.getLogger(OrgBookApiController.class); + + @Inject + private OrgBookApiService orgBookApiService; + + @RequestMapping(value = "/findByIncorporationNumber", + method = RequestMethod.GET, + produces = APPLICATION_JSON_VALUE) + public ResponseEntity findByIncorporationNumber( + @RequestParam("incorporationNumber") String incorporationNumber) { + return orgBookApiService.findByIncorporationNumber(incorporationNumber); + } + + //TODO: Remove it as it is for Data Analysis + @GetMapping("/validateClientDoingBusinessAs") + public List validateClientDoingBusinessAs() { + List clients = orgBookApiService.validateClientDoingBusinessAs(); + return clients; + } + + //TODO: Remove it as it is for Data Analysis + @GetMapping("/validateUnregisteredCompanies") + public List validateUnregisteredCompanies() { + List clients = orgBookApiService.validateUnregisteredCompanies(); + return clients; + } } diff --git a/backend/src/main/java/ca/bc/gov/app/m/ob/service/OrgBookApiService.java b/backend/src/main/java/ca/bc/gov/app/m/ob/service/OrgBookApiService.java index 3c3c423454..4634abb130 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/ob/service/OrgBookApiService.java +++ b/backend/src/main/java/ca/bc/gov/app/m/ob/service/OrgBookApiService.java @@ -1,23 +1,192 @@ package ca.bc.gov.app.m.ob.service; -import java.util.List; - -import org.springframework.http.ResponseEntity; - +import ca.bc.gov.app.core.util.CoreUtil; import ca.bc.gov.app.m.ob.vo.OrgBookResponseVO; import ca.bc.gov.app.m.oracle.legacyclient.entity.ClientDoingBusinessAsEntity; import ca.bc.gov.app.m.oracle.legacyclient.entity.ForestClientEntity; +import ca.bc.gov.app.m.oracle.legacyclient.repository.ClientDoingBusinessAsRepository; +import ca.bc.gov.app.m.oracle.legacyclient.repository.ForestClientRepository; +import ca.bc.gov.app.m.oracle.legacyclient.vo.ClientPublicViewVO; +import jakarta.inject.Inject; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.URLEncoder; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.data.domain.PageRequest; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Service; +import org.springframework.web.client.RestTemplate; + +@Service +public class OrgBookApiService { + + public static final Logger logger = LoggerFactory.getLogger(OrgBookApiService.class); + + @Inject + private CoreUtil coreUtil; + + @Inject + private ClientDoingBusinessAsRepository clientDoingBusinessAsRepository; + + @Inject + private ForestClientRepository forestClientRepository; + + + public OrgBookResponseVO findByClientName(String clientName) { + String uri; + try { + uri = "https://orgbook.gov.bc.ca/api/v3/search/autocomplete?q=" + + URLEncoder.encode(clientName, "utf-8"); + } catch (UnsupportedEncodingException e) { + throw new RuntimeException("Failed to encode url parameter " + e.toString()); + } + + RestTemplate restTemplate = new RestTemplate(); + String restCallResponse = restTemplate.getForObject(toURI(uri), String.class); + + OrgBookResponseVO response = + coreUtil.jsonStringToObj(restCallResponse, OrgBookResponseVO.class); + + logger.info("Results: " + response.results()); + + return response; + } + + + public ResponseEntity findByIncorporationNumber(String incorporationNumber) { + String url = + "https://orgbook.gov.bc.ca/api/v4/search/topic?format=json&inactive=any&latest=true&ordering=-score&q=" + + incorporationNumber + "&revoked=false"; + RestTemplate restTemplate = new RestTemplate(); + String restCallResponse = restTemplate.getForObject(toURI(url), String.class); + + OrgBookResponseVO response = + coreUtil.jsonStringToObj(restCallResponse, OrgBookResponseVO.class); + + logger.info("Response: " + response.toString()); + logger.info("Results: " + response.results()); + + return ResponseEntity.ok(response); + } + + private URI toURI(String uri) { + try { + return new URI(uri); + } catch (URISyntaxException e) { + throw new IllegalArgumentException("Failed to convert input value to URI. " + e.toString()); + } + } + + + public List validateClientDoingBusinessAs() { + + Date startedDate = new Date(); + + Long count = clientDoingBusinessAsRepository.countAll(); + List doingBusinessClients = new ArrayList<>(); + List clients = new ArrayList<>(); + + int take = 10; + int numberOfPages = (int) Math.ceil(count / take); + + for (int page = 1; page <= numberOfPages; page++) { + doingBusinessClients.addAll( + clientDoingBusinessAsRepository.findAllPagable(PageRequest.of(page, take))); + } + + for (ClientDoingBusinessAsEntity clientDoingBusinessAsEntity : doingBusinessClients) { + OrgBookResponseVO orgBookResponseVO = this.findByClientName( + clientDoingBusinessAsEntity.getDoingBusinessAsName()); + + clients.add( + new ClientPublicViewVO( + clientDoingBusinessAsEntity.getClientNumber(), + null, + clientDoingBusinessAsEntity.getDoingBusinessAsName(), + null, + null, + null, + null, + !orgBookResponseVO.results().isEmpty() ? + orgBookResponseVO.results().get(0).value() : + null + ) + ); + } + + //logger.info(coreUtil.objToJsonString(clients)); + String content = coreUtil.objToJsonString(clients); + String path = "C:/repo/a.txt"; + try { + Files.write(Paths.get(path), content.getBytes()); + } catch (IOException e) { + e.printStackTrace(); + } + + logger.info("Started at " + startedDate); + logger.info("Finished at " + new Date()); + return doingBusinessClients; + } + + + public List validateUnregisteredCompanies() { + Date startedDate = new Date(); + + Long count = forestClientRepository.countAll(); + List unregisteredCompanies = new ArrayList<>(); + List clients = new ArrayList<>(); + + int take = 10; + int numberOfPages = (int) Math.ceil(count / take); + + for (int page = 1; page <= numberOfPages; page++) { + unregisteredCompanies.addAll( + forestClientRepository.findAllPagable(PageRequest.of(page, take))); + } -public interface OrgBookApiService { + for (ForestClientEntity forestClientEntity : unregisteredCompanies) { + OrgBookResponseVO orgBookResponseVO = + this.findByClientName(forestClientEntity.getClientName()); - String BEAN_NAME = "orgBookApiService"; + String nameInOrgBook = !orgBookResponseVO.results().isEmpty() ? + orgBookResponseVO.results().get(0).value() : + null; - ResponseEntity findByIncorporationNumber(String incorporationNumber); + clients.add(new ClientPublicViewVO( + forestClientEntity.getClientNumber(), + coreUtil + .isSame(forestClientEntity.getClientName(), nameInOrgBook) ? + orgBookResponseVO.results().get(0).topic_source_id() : + null + , + forestClientEntity.getClientName(), + null, + null, + null, + null, + nameInOrgBook + )); + } - List validateClientDoingBusinessAs(); + String content = coreUtil.objToJsonString(clients); + String path = "C:/repo/a.txt"; + try { + Files.write(Paths.get(path), content.getBytes()); + } catch (IOException e) { + e.printStackTrace(); + } - OrgBookResponseVO findByClientName(String clientName); + logger.info("Started at " + startedDate); + logger.info("Finished at " + new Date()); + return unregisteredCompanies; + } - List validateUnregisteredCompanies(); - } diff --git a/backend/src/main/java/ca/bc/gov/app/m/ob/service/impl/OrgBookApiServiceImpl.java b/backend/src/main/java/ca/bc/gov/app/m/ob/service/impl/OrgBookApiServiceImpl.java deleted file mode 100644 index a140e5c5fc..0000000000 --- a/backend/src/main/java/ca/bc/gov/app/m/ob/service/impl/OrgBookApiServiceImpl.java +++ /dev/null @@ -1,185 +0,0 @@ -package ca.bc.gov.app.m.ob.service.impl; - -import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.net.URI; -import java.net.URISyntaxException; -import java.net.URLEncoder; -import java.nio.file.Files; -import java.nio.file.Paths; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.data.domain.PageRequest; -import org.springframework.http.ResponseEntity; -import org.springframework.stereotype.Service; -import org.springframework.web.client.RestTemplate; - -import ca.bc.gov.app.core.util.CoreUtil; -import ca.bc.gov.app.m.ob.service.OrgBookApiService; -import ca.bc.gov.app.m.ob.vo.OrgBookResponseVO; -import ca.bc.gov.app.m.oracle.legacyclient.entity.ClientDoingBusinessAsEntity; -import ca.bc.gov.app.m.oracle.legacyclient.entity.ForestClientEntity; -import ca.bc.gov.app.m.oracle.legacyclient.repository.ClientDoingBusinessAsRepository; -import ca.bc.gov.app.m.oracle.legacyclient.repository.ForestClientRepository; -import ca.bc.gov.app.m.oracle.legacyclient.vo.ClientPublicViewVO; -import jakarta.inject.Inject; - -@Service(OrgBookApiService.BEAN_NAME) -public class OrgBookApiServiceImpl implements OrgBookApiService { - - public static final Logger logger = LoggerFactory.getLogger(OrgBookApiServiceImpl.class); - - @Inject - private CoreUtil coreUtil; - - @Inject - private ClientDoingBusinessAsRepository clientDoingBusinessAsRepository; - - @Inject - private ForestClientRepository forestClientRepository; - - @Override - public OrgBookResponseVO findByClientName(String clientName) { - String uri; - try { - uri = "https://orgbook.gov.bc.ca/api/v3/search/autocomplete?q=" + - URLEncoder.encode(clientName, "utf-8"); - } - catch (UnsupportedEncodingException e) { - throw new RuntimeException("Failed to encode url parameter " + e.toString()); - } - - RestTemplate restTemplate = new RestTemplate(); - String restCallResponse = restTemplate.getForObject(toURI(uri), String.class); - - OrgBookResponseVO response = coreUtil.jsonStringToObj(restCallResponse, OrgBookResponseVO.class); - - logger.info("Results: " + response.results); - - return response; - } - - @Override - public ResponseEntity findByIncorporationNumber(String incorporationNumber) { - String url = "https://orgbook.gov.bc.ca/api/v4/search/topic?format=json&inactive=any&latest=true&ordering=-score&q=" + - incorporationNumber + "&revoked=false"; - RestTemplate restTemplate = new RestTemplate(); - String restCallResponse = restTemplate.getForObject(toURI(url), String.class); - - OrgBookResponseVO response = coreUtil.jsonStringToObj(restCallResponse, OrgBookResponseVO.class); - - logger.info("Response: " + response.toString()); - logger.info("Results: " + response.results); - - return ResponseEntity.ok(response); - } - - private URI toURI(String uri) { - try { - return new URI(uri); - } - catch (URISyntaxException e) { - throw new IllegalArgumentException("Failed to convert input value to URI. " + e.toString()); - } - } - - @Override - public List validateClientDoingBusinessAs() { - - Date startedDate = new Date(); - - Long count = clientDoingBusinessAsRepository.countAll(); - List doingBusinessClients = new ArrayList<>(); - List clients = new ArrayList<>(); - - int take = 10; - int numberOfPages = (int) Math.ceil(count/take); - - for (int page = 1; page <= numberOfPages; page++) { - doingBusinessClients.addAll(clientDoingBusinessAsRepository.findAllPagable(PageRequest.of(page, take))); - } - - for (ClientDoingBusinessAsEntity clientDoingBusinessAsEntity : doingBusinessClients) { - OrgBookResponseVO orgBookResponseVO = this.findByClientName( - clientDoingBusinessAsEntity.getDoingBusinessAsName()); - - ClientPublicViewVO client = new ClientPublicViewVO(); - client.clientNumber = clientDoingBusinessAsEntity.getClientNumber(); - client.clientName = clientDoingBusinessAsEntity.getDoingBusinessAsName(); - - if (orgBookResponseVO.results.size() > 0) { - client.clientNameInOrgBook = orgBookResponseVO.results.get(0).value; - client.sameName = client.clientNameInOrgBook.equals(client.clientName); - } - - clients.add(client); - } - - //logger.info(coreUtil.objToJsonString(clients)); - String content = coreUtil.objToJsonString(clients); - String path = "C:/repo/a.txt"; - try { - Files.write( Paths.get(path), content.getBytes()); - } - catch (IOException e) { - e.printStackTrace(); - } - - logger.info("Started at " + startedDate); - logger.info("Finished at " + new Date()); - return doingBusinessClients; - } - - @Override - public List validateUnregisteredCompanies() { - Date startedDate = new Date(); - - Long count = forestClientRepository.countAll(); - List unregisteredCompanies = new ArrayList<>(); - List clients = new ArrayList<>(); - - int take = 10; - int numberOfPages = (int) Math.ceil(count/take); - - for (int page = 1; page <= numberOfPages; page++) { - unregisteredCompanies.addAll(forestClientRepository.findAllPagable(PageRequest.of(page, take))); - } - - for (ForestClientEntity forestClientEntity : unregisteredCompanies) { - OrgBookResponseVO orgBookResponseVO = this.findByClientName(forestClientEntity.getClientName()); - - ClientPublicViewVO client = new ClientPublicViewVO(); - client.clientNumber = forestClientEntity.getClientNumber(); - client.clientName = forestClientEntity.getClientName(); - - if (orgBookResponseVO.results.size() > 0) { - client.clientNameInOrgBook = orgBookResponseVO.results.get(0).value; - client.sameName = client.clientNameInOrgBook.equals(client.clientName); - - if (client.sameName) { - client.incorporationNumber = orgBookResponseVO.results.get(0).topic_source_id; - } - } - - clients.add(client); - } - - String content = coreUtil.objToJsonString(clients); - String path = "C:/repo/a.txt"; - try { - Files.write( Paths.get(path), content.getBytes()); - } - catch (IOException e) { - e.printStackTrace(); - } - - logger.info("Started at " + startedDate); - logger.info("Finished at " + new Date()); - return unregisteredCompanies; - } - -} diff --git a/backend/src/main/java/ca/bc/gov/app/m/ob/vo/OrgBookResponseVO.java b/backend/src/main/java/ca/bc/gov/app/m/ob/vo/OrgBookResponseVO.java index 6d7129281c..b4e21b1e26 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/ob/vo/OrgBookResponseVO.java +++ b/backend/src/main/java/ca/bc/gov/app/m/ob/vo/OrgBookResponseVO.java @@ -5,18 +5,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; -public class OrgBookResponseVO { - +public record OrgBookResponseVO( @JsonProperty("results") - public List results; - - public static class ResultVO implements Serializable { - - private static final long serialVersionUID = 3398116613645404989L; - - public String value; - public String topic_source_id; - } - //TODO: Add more fields - -} + List results +){} \ No newline at end of file diff --git a/backend/src/main/java/ca/bc/gov/app/m/ob/vo/ResultVO.java b/backend/src/main/java/ca/bc/gov/app/m/ob/vo/ResultVO.java new file mode 100644 index 0000000000..07a3754857 --- /dev/null +++ b/backend/src/main/java/ca/bc/gov/app/m/ob/vo/ResultVO.java @@ -0,0 +1,4 @@ +package ca.bc.gov.app.m.ob.vo; + +public record ResultVO(String value, String topic_source_id) { +} diff --git a/backend/src/main/java/ca/bc/gov/app/m/om/controller/OpenMapsController.java b/backend/src/main/java/ca/bc/gov/app/m/om/controller/OpenMapsController.java index a3f91d88be..5a074bed1f 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/om/controller/OpenMapsController.java +++ b/backend/src/main/java/ca/bc/gov/app/m/om/controller/OpenMapsController.java @@ -4,23 +4,18 @@ // //import javax.inject.Inject; +import io.swagger.v3.oas.annotations.tags.Tag; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -//import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -//import ca.bc.gov.app.m.om.service.OpenMapsService; -//import io.swagger.annotations.ApiOperation; -//import ca.bc.gov.app.m.om.vo.FirstNationBandVidationVO; -import io.swagger.v3.oas.annotations.tags.Tag; - -@Tag(name = "Open Maps") +@Tag(name = "Open Maps") @RestController @RequestMapping("/app/m/openmaps") public class OpenMapsController { - public static final Logger logger = LoggerFactory.getLogger(OpenMapsController.class); + public static final Logger logger = LoggerFactory.getLogger(OpenMapsController.class); // // @Inject // private OpenMapsService dataValidationService; diff --git a/backend/src/main/java/ca/bc/gov/app/m/om/service/OpenMapsService.java b/backend/src/main/java/ca/bc/gov/app/m/om/service/OpenMapsService.java index d32d30073f..71e5f2fb05 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/om/service/OpenMapsService.java +++ b/backend/src/main/java/ca/bc/gov/app/m/om/service/OpenMapsService.java @@ -1,13 +1,141 @@ package ca.bc.gov.app.m.om.service; +import ca.bc.gov.app.core.util.CoreUtil; +import ca.bc.gov.app.m.om.vo.FirstNationBandVidationVO; +import ca.bc.gov.app.m.om.vo.OpenMapsResponseVO; +import ca.bc.gov.app.m.oracle.legacyclient.entity.ClientLocationEntity; +import ca.bc.gov.app.m.oracle.legacyclient.entity.ForestClientEntity; +import ca.bc.gov.app.m.oracle.legacyclient.repository.ClientLocationRepository; +import ca.bc.gov.app.m.oracle.legacyclient.repository.ForestClientRepository; +import jakarta.inject.Inject; +import java.net.URI; +import java.net.URISyntaxException; +import java.util.ArrayList; import java.util.List; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; +import org.springframework.web.client.RestTemplate; -import ca.bc.gov.app.m.om.vo.FirstNationBandVidationVO; +@Service +public class OpenMapsService { + + @Inject + private ForestClientRepository forestClientRepository; + + @Inject + private ClientLocationRepository clientLocationRepository; + + @Inject + private CoreUtil coreUtil; + + public static final Logger logger = LoggerFactory.getLogger(OpenMapsService.class); + + private URI toURI(String uri) { + try { + return new URI(uri); + } catch (URISyntaxException e) { + throw new IllegalArgumentException("Failed to convert input value to URI. " + e.toString()); + } + } + + private OpenMapsResponseVO checkSourceFirstNationId(String firstNationId) { + + try { + String url = + "https://openmaps.gov.bc.ca/geo/pub/ows?service=WFS&version=2.0.0&request=GetFeature&typeName=WHSE_HUMAN_CULTURAL_ECONOMIC.FN_COMMUNITY_LOCATIONS_SP&count=10000&" + + "CQL_FILTER=FIRST_NATION_FEDERAL_ID=" + firstNationId + "&outputFormat=json"; + + RestTemplate restTemplate = new RestTemplate(); + String restCallResponse = restTemplate.getForObject(toURI(url), String.class); + + OpenMapsResponseVO response = + coreUtil.jsonStringToObj(restCallResponse, OpenMapsResponseVO.class); + + return response; + + } catch (RuntimeException e) { + logger.error("Failed to get source data for " + firstNationId + e.toString()); + return null; + } + + } + + public List validateFirstNationBand() { + + List clients = forestClientRepository.findAllFirstNationBandClients(); + + List firstNationBands = new ArrayList<>(); + int notFound = 0; + int match = 0; + int partialMatch = 0; + int notMatch = 0; + + int nameMatch = 0; + int addressMatch = 0; + + for (ForestClientEntity client : clients) { + if (client.getCorpRegnNmbr() != null) { + OpenMapsResponseVO response = checkSourceFirstNationId(client.getCorpRegnNmbr()); + ClientLocationEntity clientLocation = clientLocationRepository + .findByClientNumber(client.getClientNumber()); + if (!CollectionUtils.isEmpty(response.features())) { + FirstNationBandVidationVO firstNationBand = + new FirstNationBandVidationVO(client.getClientNumber(), + client.getCorpRegnNmbr(), client.getClientName(), + response.features().get(0).properties().firstNationFederalName(), + clientLocation.getAddressOne(), + response.features().get(0).properties().addressLine1(), + clientLocation.getAddressTwo(), + response.features().get(0).properties().addressLine2(), + clientLocation.getCity(), response.features().get(0).properties().officeCity(), + clientLocation.getProvince(), + response.features().get(0).properties().officeProvince(), + clientLocation.getPostalCode(), + response.features().get(0).properties().officePostalCode()); + + firstNationBands.add(firstNationBand); + if (firstNationBand.nameMatch && firstNationBand.addressMatch) { + match += 1; + nameMatch += 1; + addressMatch += 1; + } else if (firstNationBand.nameMatch) { + nameMatch += 1; + partialMatch += 1; + } else if (firstNationBand.addressMatch) { + addressMatch += 1; + partialMatch += 1; + } else { + notMatch += 1; + } + } else { + FirstNationBandVidationVO firstNationBand = new FirstNationBandVidationVO(); + firstNationBand.clientNumber = client.getClientNumber(); + firstNationBand.corpRegnNmbr = client.getCorpRegnNmbr(); + firstNationBand.clientName = client.getClientName(); + notFound += 1; + firstNationBands.add(firstNationBand); + } + } else { + FirstNationBandVidationVO firstNationBand = new FirstNationBandVidationVO(); + firstNationBand.clientNumber = client.getClientNumber(); + firstNationBand.corpRegnNmbr = client.getCorpRegnNmbr(); + firstNationBand.clientName = client.getClientName(); + notFound += 1; + firstNationBands.add(firstNationBand); + } + } + + logger.info("not found: " + notFound); + logger.info("match: " + match); + logger.info("nameMatch: " + nameMatch); + logger.info("addressMatch: " + addressMatch); + logger.info("partialMatch: " + partialMatch); + logger.info("notMatch: " + notMatch); -public interface OpenMapsService { - - String BEAN_NAME = "openMapsService"; + return firstNationBands; - List validateFirstNationBand(); + } } diff --git a/backend/src/main/java/ca/bc/gov/app/m/om/service/impl/OpenMapsServiceImpl.java b/backend/src/main/java/ca/bc/gov/app/m/om/service/impl/OpenMapsServiceImpl.java deleted file mode 100644 index f2f97b9536..0000000000 --- a/backend/src/main/java/ca/bc/gov/app/m/om/service/impl/OpenMapsServiceImpl.java +++ /dev/null @@ -1,138 +0,0 @@ -package ca.bc.gov.app.m.om.service.impl; - -import java.net.URI; -import java.net.URISyntaxException; -import java.util.ArrayList; -import java.util.List; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.stereotype.Service; -import org.springframework.util.CollectionUtils; -import org.springframework.web.client.RestTemplate; - -import ca.bc.gov.app.core.util.CoreUtil; -import ca.bc.gov.app.m.om.service.OpenMapsService; -import ca.bc.gov.app.m.om.vo.OpenMapsResponseVO; -import ca.bc.gov.app.m.oracle.legacyclient.entity.ClientLocationEntity; -import ca.bc.gov.app.m.oracle.legacyclient.entity.ForestClientEntity; -import ca.bc.gov.app.m.oracle.legacyclient.repository.ClientLocationRepository; -import ca.bc.gov.app.m.oracle.legacyclient.repository.ForestClientRepository; -import jakarta.inject.Inject; -import ca.bc.gov.app.m.om.vo.FirstNationBandVidationVO; - -@Service(OpenMapsService.BEAN_NAME) -public class OpenMapsServiceImpl implements OpenMapsService { - - @Inject - private ForestClientRepository forestClientRepository; - - @Inject - private ClientLocationRepository clientLocationRepository; - - @Inject - private CoreUtil coreUtil; - - public static final Logger logger = LoggerFactory.getLogger(OpenMapsServiceImpl.class); - - private URI toURI(String uri) { - try { - return new URI(uri); - } catch (URISyntaxException e) { - throw new IllegalArgumentException("Failed to convert input value to URI. " + e.toString()); - } - } - - private OpenMapsResponseVO checkSourceFirstNationId(String firstNationId) { - - try { - String url = "https://openmaps.gov.bc.ca/geo/pub/ows?service=WFS&version=2.0.0&request=GetFeature&typeName=WHSE_HUMAN_CULTURAL_ECONOMIC.FN_COMMUNITY_LOCATIONS_SP&count=10000&" - + "CQL_FILTER=FIRST_NATION_FEDERAL_ID=" + firstNationId + "&outputFormat=json"; - - RestTemplate restTemplate = new RestTemplate(); - String restCallResponse = restTemplate.getForObject(toURI(url), String.class); - - OpenMapsResponseVO response = coreUtil.jsonStringToObj(restCallResponse, OpenMapsResponseVO.class); - - return response; - - } catch (RuntimeException e) { - logger.error("Failed to get source data for " + firstNationId + e.toString()); - return null; - } - - } - - @Override - public List validateFirstNationBand() { - - List clients = forestClientRepository.findAllFirstNationBandClients(); - - List firstNationBands = new ArrayList<>(); - int notFound = 0; - int match = 0; - int partialMatch = 0; - int notMatch = 0; - - int nameMatch = 0; - int addressMatch = 0; - - for (ForestClientEntity client : clients) { - if (client.getCorpRegnNmbr() != null) { - OpenMapsResponseVO response = checkSourceFirstNationId(client.getCorpRegnNmbr()); - ClientLocationEntity clientLocation = clientLocationRepository - .findByClientNumber(client.getClientNumber()); - if (!CollectionUtils.isEmpty(response.features)) { - FirstNationBandVidationVO firstNationBand = new FirstNationBandVidationVO(client.getClientNumber(), - client.getCorpRegnNmbr(), client.getClientName(), - response.features.get(0).properties.FIRST_NATION_FEDERAL_NAME, - clientLocation.getAddressOne(), response.features.get(0).properties.ADDRESS_LINE1, - clientLocation.getAddressTwo(), response.features.get(0).properties.ADDRESS_LINE2, - clientLocation.getCity(), response.features.get(0).properties.OFFICE_CITY, - clientLocation.getProvince(), response.features.get(0).properties.OFFICE_PROVINCE, - clientLocation.getPostalCode(), response.features.get(0).properties.OFFICE_POSTAL_CODE); - - firstNationBands.add(firstNationBand); - if (firstNationBand.nameMatch && firstNationBand.addressMatch) { - match += 1; - nameMatch += 1; - addressMatch += 1; - } else if (firstNationBand.nameMatch) { - nameMatch += 1; - partialMatch += 1; - } else if (firstNationBand.addressMatch) { - addressMatch += 1; - partialMatch += 1; - } else { - notMatch += 1; - } - } else { - FirstNationBandVidationVO firstNationBand = new FirstNationBandVidationVO(); - firstNationBand.clientNumber = client.getClientNumber(); - firstNationBand.corpRegnNmbr = client.getCorpRegnNmbr(); - firstNationBand.clientName = client.getClientName(); - notFound += 1; - firstNationBands.add(firstNationBand); - } - } else { - FirstNationBandVidationVO firstNationBand = new FirstNationBandVidationVO(); - firstNationBand.clientNumber = client.getClientNumber(); - firstNationBand.corpRegnNmbr = client.getCorpRegnNmbr(); - firstNationBand.clientName = client.getClientName(); - notFound += 1; - firstNationBands.add(firstNationBand); - } - } - - logger.info("not found: " + notFound); - logger.info("match: " + match); - logger.info("nameMatch: " + nameMatch); - logger.info("addressMatch: " + addressMatch); - logger.info("partialMatch: " + partialMatch); - logger.info("notMatch: " + notMatch); - - return firstNationBands; - - } - -} diff --git a/backend/src/main/java/ca/bc/gov/app/m/om/vo/FeatureVO.java b/backend/src/main/java/ca/bc/gov/app/m/om/vo/FeatureVO.java new file mode 100644 index 0000000000..2cdf5f4d57 --- /dev/null +++ b/backend/src/main/java/ca/bc/gov/app/m/om/vo/FeatureVO.java @@ -0,0 +1,4 @@ +package ca.bc.gov.app.m.om.vo; + +public record FeatureVO(PropertyVO properties) { +} diff --git a/backend/src/main/java/ca/bc/gov/app/m/om/vo/FirstNationBandVidationVO.java b/backend/src/main/java/ca/bc/gov/app/m/om/vo/FirstNationBandVidationVO.java index 16ba3a19d5..7d8d0317a5 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/om/vo/FirstNationBandVidationVO.java +++ b/backend/src/main/java/ca/bc/gov/app/m/om/vo/FirstNationBandVidationVO.java @@ -4,78 +4,87 @@ public class FirstNationBandVidationVO implements Serializable { - private static final long serialVersionUID = 3621133933076995146L; - - public String clientNumber; - - public String corpRegnNmbr; - - public String clientName; - - public String sourceClientName; - - public Boolean nameMatch; - - public String addressOne; - - public String sourceAddressOne; - - public String addressTwo; - - public String sourceAddressTwo; - - public String city; - - public String sourceCity; - - public String province; - - public String sourceProvince; - - public String postalCode; - - public String sourcePostalCode; - - public Boolean addressMatch; - - public FirstNationBandVidationVO() { - super(); - } - - public FirstNationBandVidationVO(String clientNumber, String corpRegnNmbr, String clientName, - String sourceClientName, String addressOne, String sourceAddressOne, String addressTwo, - String sourceAddressTwo, String city, String sourceCity, String province, String sourceProvince, - String postalCode, String sourcePostalCode) { - super(); - this.clientNumber = clientNumber; - this.corpRegnNmbr = corpRegnNmbr; - this.clientName = clientName; - this.sourceClientName = sourceClientName; - this.nameMatch = clientName.equalsIgnoreCase(sourceClientName); - this.addressOne = addressOne; - this.sourceAddressOne = sourceAddressOne; - this.addressTwo = addressTwo; - this.sourceAddressTwo = sourceAddressTwo; - this.city = city; - this.sourceCity = sourceCity; - this.province = province; - this.sourceProvince = sourceProvince; - this.postalCode = postalCode; - this.sourcePostalCode = sourcePostalCode; - this.addressMatch = ((addressOne != null && sourceAddressOne != null && addressOne.equalsIgnoreCase(sourceAddressOne.replace(".", ""))) - || (addressTwo != null && sourceAddressTwo != null && addressTwo.equalsIgnoreCase(sourceAddressTwo.replace(".", "")))) - && (city != null && city.equalsIgnoreCase(sourceCity)) - && (postalCode != null && postalCode.equalsIgnoreCase(sourcePostalCode.replaceAll("\\s",""))); - } - - @Override - public String toString() { - return "FirstNationBandVidationVO [clientNumber=" + clientNumber + ", corpRegnNmbr=" + corpRegnNmbr - + ", clientName=" + clientName + ", sourceClientName=" + sourceClientName + ", nameMatch=" + nameMatch - + ", addressOne=" + addressOne + ", sourceAddressOne=" + sourceAddressOne + ", addressTwo=" + addressTwo - + ", sourceAddressTwo=" + sourceAddressTwo + ", city=" + city + ", sourceCity=" + sourceCity - + ", province=" + province + ", sourceProvince=" + sourceProvince + ", postalCode=" + postalCode - + ", sourcePostalCode=" + sourcePostalCode + ", addressMatch=" + addressMatch + "]"; - } + private static final long serialVersionUID = 3621133933076995146L; + + public String clientNumber; + + public String corpRegnNmbr; + + public String clientName; + + public String sourceClientName; + + public Boolean nameMatch; + + public String addressOne; + + public String sourceAddressOne; + + public String addressTwo; + + public String sourceAddressTwo; + + public String city; + + public String sourceCity; + + public String province; + + public String sourceProvince; + + public String postalCode; + + public String sourcePostalCode; + + public Boolean addressMatch; + + public FirstNationBandVidationVO() { + super(); + } + + public FirstNationBandVidationVO(String clientNumber, String corpRegnNmbr, String clientName, + String sourceClientName, String addressOne, + String sourceAddressOne, String addressTwo, + String sourceAddressTwo, String city, String sourceCity, + String province, String sourceProvince, + String postalCode, String sourcePostalCode) { + super(); + this.clientNumber = clientNumber; + this.corpRegnNmbr = corpRegnNmbr; + this.clientName = clientName; + this.sourceClientName = sourceClientName; + this.nameMatch = clientName.equalsIgnoreCase(sourceClientName); + this.addressOne = addressOne; + this.sourceAddressOne = sourceAddressOne; + this.addressTwo = addressTwo; + this.sourceAddressTwo = sourceAddressTwo; + this.city = city; + this.sourceCity = sourceCity; + this.province = province; + this.sourceProvince = sourceProvince; + this.postalCode = postalCode; + this.sourcePostalCode = sourcePostalCode; + this.addressMatch = ((addressOne != null && sourceAddressOne != null && + addressOne.equalsIgnoreCase(sourceAddressOne.replace(".", ""))) + || (addressTwo != null && sourceAddressTwo != null && + addressTwo.equalsIgnoreCase(sourceAddressTwo.replace(".", "")))) + && (city != null && city.equalsIgnoreCase(sourceCity)) + && + (postalCode != null && postalCode.equalsIgnoreCase(sourcePostalCode.replaceAll("\\s", ""))); + } + + @Override + public String toString() { + return "FirstNationBandVidationVO [clientNumber=" + clientNumber + ", corpRegnNmbr=" + + corpRegnNmbr + + ", clientName=" + clientName + ", sourceClientName=" + sourceClientName + ", nameMatch=" + + nameMatch + + ", addressOne=" + addressOne + ", sourceAddressOne=" + sourceAddressOne + + ", addressTwo=" + addressTwo + + ", sourceAddressTwo=" + sourceAddressTwo + ", city=" + city + ", sourceCity=" + sourceCity + + ", province=" + province + ", sourceProvince=" + sourceProvince + ", postalCode=" + + postalCode + + ", sourcePostalCode=" + sourcePostalCode + ", addressMatch=" + addressMatch + "]"; + } } diff --git a/backend/src/main/java/ca/bc/gov/app/m/om/vo/OpenMapsResponseVO.java b/backend/src/main/java/ca/bc/gov/app/m/om/vo/OpenMapsResponseVO.java index feae72d2d3..e72eaa7570 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/om/vo/OpenMapsResponseVO.java +++ b/backend/src/main/java/ca/bc/gov/app/m/om/vo/OpenMapsResponseVO.java @@ -1,31 +1,10 @@ package ca.bc.gov.app.m.om.vo; -import java.io.Serializable; -import java.util.List; - import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; -public class OpenMapsResponseVO { - - @JsonProperty("features") - public List features; - - public static class FeatureVO implements Serializable { - - private static final long serialVersionUID = -4888376879302258602L; - public PropertyVO properties; - } - - public static class PropertyVO implements Serializable { - - private static final long serialVersionUID = 3233625715673021637L; - public String FIRST_NATION_FEDERAL_NAME; - public String FIRST_NATION_FEDERAL_ID; - public String ADDRESS_LINE1; - public String ADDRESS_LINE2; - public String OFFICE_CITY; - public String OFFICE_PROVINCE; - public String OFFICE_POSTAL_CODE; - - } +public record OpenMapsResponseVO( + @JsonProperty("features") + List features +) { } diff --git a/backend/src/main/java/ca/bc/gov/app/m/om/vo/PropertyVO.java b/backend/src/main/java/ca/bc/gov/app/m/om/vo/PropertyVO.java new file mode 100644 index 0000000000..f174cff415 --- /dev/null +++ b/backend/src/main/java/ca/bc/gov/app/m/om/vo/PropertyVO.java @@ -0,0 +1,14 @@ +package ca.bc.gov.app.m.om.vo; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public record PropertyVO( + @JsonProperty("FIRST_NATION_FEDERAL_NAME") String firstNationFederalName, + @JsonProperty("FIRST_NATION_FEDERAL_ID") String firstNationFederalId, + @JsonProperty("ADDRESS_LINE1") String addressLine1, + @JsonProperty("ADDRESS_LINE2") String addressLine2, + @JsonProperty("OFFICE_CITY") String officeCity, + @JsonProperty("OFFICE_PROVINCE") String officeProvince, + @JsonProperty("OFFICE_POSTAL_CODE") String officePostalCode +) { +} diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/controller/LegacyClientController.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/controller/LegacyClientController.java index 7cd133772c..b16f7f3533 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/controller/LegacyClientController.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/controller/LegacyClientController.java @@ -2,8 +2,13 @@ import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE; +import ca.bc.gov.app.core.configuration.OraclePersistenceConfiguration; +import ca.bc.gov.app.m.oracle.legacyclient.entity.ForestClientEntity; +import ca.bc.gov.app.m.oracle.legacyclient.service.LegacyClientService; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.inject.Inject; import java.util.List; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.data.repository.query.Param; @@ -13,37 +18,33 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import ca.bc.gov.app.core.configuration.OraclePersistenceConfiguration; -import ca.bc.gov.app.m.oracle.legacyclient.entity.ForestClientEntity; -import ca.bc.gov.app.m.oracle.legacyclient.service.LegacyClientService; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.inject.Inject; - -@Tag(name = OraclePersistenceConfiguration.ORACLE_API_TAG) +@Tag(name = OraclePersistenceConfiguration.ORACLE_API_TAG) @CrossOrigin(origins = "${frontend.url}") @RestController @RequestMapping("/app/m/legacyclient") public class LegacyClientController { - public static final Logger logger = LoggerFactory.getLogger(LegacyClientController.class); - - @Inject - private LegacyClientService legacyClientService; - - @RequestMapping(value = "/findClientByIncorporationNumberOrName", method = RequestMethod.GET, produces = APPLICATION_JSON_VALUE) - public List findClientByIncorporationOrName(@Param("incorporationNumber") String incorporationNumber, - @Param("companyName") String companyName) { - - return legacyClientService.findClientByIncorporationOrName(incorporationNumber, companyName); - } - - @RequestMapping(value = "/findClientByNameAndBirthdate", method = RequestMethod.GET, produces = APPLICATION_JSON_VALUE) - public List findClientByNameAndBirthdate(@RequestParam("firstName") String firstName, - @RequestParam("lastName") String lastName, - @Parameter(name = "birthdate", required = true, description = "in the format of yyyy-mm-dd") String birthdate) { - - return legacyClientService.findClientByNameAndBirthdate(firstName, lastName, birthdate); - } + public static final Logger logger = LoggerFactory.getLogger(LegacyClientController.class); + + @Inject + private LegacyClientService legacyClientService; + + @RequestMapping(value = "/findClientByIncorporationNumberOrName", method = RequestMethod.GET, produces = APPLICATION_JSON_VALUE) + public List findClientByIncorporationOrName( + @Param("incorporationNumber") String incorporationNumber, + @Param("companyName") String companyName) { + + return legacyClientService.findClientByIncorporationOrName(incorporationNumber, companyName); + } + + @RequestMapping(value = "/findClientByNameAndBirthdate", method = RequestMethod.GET, produces = APPLICATION_JSON_VALUE) + public List findClientByNameAndBirthdate( + @RequestParam("firstName") String firstName, + @RequestParam("lastName") String lastName, + @Parameter(name = "birthdate", required = true, description = "in the format of yyyy-mm-dd") + String birthdate) { + + return legacyClientService.findClientByNameAndBirthdate(firstName, lastName, birthdate); + } } diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientDoingBusinessAsEntity.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientDoingBusinessAsEntity.java index 9a3c3a6eef..6baf6eb35b 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientDoingBusinessAsEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientDoingBusinessAsEntity.java @@ -1,67 +1,67 @@ package ca.bc.gov.app.m.oracle.legacyclient.entity; -import java.util.Objects; - +import ca.bc.gov.app.core.configuration.OraclePersistenceConfiguration; +import ca.bc.gov.app.core.entity.AbstractEntity; +import ca.bc.gov.app.core.misc.scope.ScopeConstant; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; - +import java.util.Objects; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; -import ca.bc.gov.app.core.configuration.OraclePersistenceConfiguration; -import ca.bc.gov.app.core.entity.AbstractEntity; -import ca.bc.gov.app.core.misc.scope.ScopeConstant; - @Entity @Table(name = "CLIENT_DOING_BUSINESS_AS", schema = OraclePersistenceConfiguration.ORACLE_ATTRIBUTE_SCHEMA) @Component(ClientDoingBusinessAsEntity.BEAN_NAME) @Scope(ScopeConstant.PROTOTYPE) public class ClientDoingBusinessAsEntity implements AbstractEntity { - private static final long serialVersionUID = 608865729103878585L; + private static final long serialVersionUID = 608865729103878585L; - public static final String BEAN_NAME = "clientDoingBusinessAsEntity"; + public static final String BEAN_NAME = "clientDoingBusinessAsEntity"; - @Id - @Column(name = "CLIENT_NUMBER") - private String clientNumber; + @Id + @Column(name = "CLIENT_NUMBER") + private String clientNumber; - @Column(name = "DOING_BUSINESS_AS_NAME") - private String doingBusinessAsName; + @Column(name = "DOING_BUSINESS_AS_NAME") + private String doingBusinessAsName; - public String getClientNumber() { - return clientNumber; - } + public String getClientNumber() { + return clientNumber; + } - public void setClientNumber(String clientNumber) { - this.clientNumber = clientNumber; - } + public void setClientNumber(String clientNumber) { + this.clientNumber = clientNumber; + } - public String getDoingBusinessAsName() { - return doingBusinessAsName; - } + public String getDoingBusinessAsName() { + return doingBusinessAsName; + } - public void setDoingBusinessAsName(String doingBusinessAsName) { - this.doingBusinessAsName = doingBusinessAsName; - } + public void setDoingBusinessAsName(String doingBusinessAsName) { + this.doingBusinessAsName = doingBusinessAsName; + } - @Override - public int hashCode() { - return Objects.hash(clientNumber); - } + @Override + public int hashCode() { + return Objects.hash(clientNumber); + } - @Override - public boolean equals(Object obj) { - if (this == obj) + @Override + public boolean equals(Object obj) { + if (this == obj) { return true; - if (obj == null) + } + if (obj == null) { return false; - if (getClass() != obj.getClass()) + } + if (getClass() != obj.getClass()) { return false; - ClientDoingBusinessAsEntity other = (ClientDoingBusinessAsEntity) obj; - return Objects.equals(clientNumber, other.clientNumber); - } + } + ClientDoingBusinessAsEntity other = (ClientDoingBusinessAsEntity) obj; + return Objects.equals(clientNumber, other.clientNumber); + } } diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientLocationEntity.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientLocationEntity.java index 1beb42bb6b..b8346e2b9c 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientLocationEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientLocationEntity.java @@ -1,343 +1,343 @@ package ca.bc.gov.app.m.oracle.legacyclient.entity; -import java.util.Date; -import java.util.Objects; - +import ca.bc.gov.app.core.configuration.OraclePersistenceConfiguration; +import ca.bc.gov.app.core.entity.AbstractEntity; +import ca.bc.gov.app.core.misc.scope.ScopeConstant; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; - +import java.util.Date; +import java.util.Objects; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; -import ca.bc.gov.app.core.configuration.OraclePersistenceConfiguration; -import ca.bc.gov.app.core.entity.AbstractEntity; -import ca.bc.gov.app.core.misc.scope.ScopeConstant; - @Entity @Table(name = "CLIENT_LOCATION", schema = OraclePersistenceConfiguration.ORACLE_ATTRIBUTE_SCHEMA) @Component(ClientLocationEntity.BEAN_NAME) @Scope(ScopeConstant.PROTOTYPE) public class ClientLocationEntity implements AbstractEntity { - private static final long serialVersionUID = -1795480401567670619L; + private static final long serialVersionUID = -1795480401567670619L; - public static final String BEAN_NAME = "clientLocationEntity"; + public static final String BEAN_NAME = "clientLocationEntity"; - @Id - @Column(name = "CLIENT_NUMBER") - private String clientNumber; + @Id + @Column(name = "CLIENT_NUMBER") + private String clientNumber; - @Column(name = "CLIENT_LOCN_CODE") - private String clientLocnCode; + @Column(name = "CLIENT_LOCN_CODE") + private String clientLocnCode; - @Column(name = "CLIENT_LOCN_NAME") - private String clientLocnName; + @Column(name = "CLIENT_LOCN_NAME") + private String clientLocnName; - @Column(name = "HDBS_COMPANY_CODE") - private String hdbsCompanyCode; + @Column(name = "HDBS_COMPANY_CODE") + private String hdbsCompanyCode; - @Column(name = "ADDRESS_1") - private String addressOne; + @Column(name = "ADDRESS_1") + private String addressOne; - @Column(name = "ADDRESS_2") - private String addressTwo; + @Column(name = "ADDRESS_2") + private String addressTwo; - @Column(name = "ADDRESS_3") - private String addressThree; + @Column(name = "ADDRESS_3") + private String addressThree; - @Column(name = "CITY") - private String city; + @Column(name = "CITY") + private String city; - @Column(name = "PROVINCE") - private String province; + @Column(name = "PROVINCE") + private String province; - @Column(name = "POSTAL_CODE") - private String postalCode; + @Column(name = "POSTAL_CODE") + private String postalCode; - @Column(name = "COUNTRY") - private String country; + @Column(name = "COUNTRY") + private String country; - @Column(name = "BUSINESS_PHONE") - private String businessPhone; + @Column(name = "BUSINESS_PHONE") + private String businessPhone; - @Column(name = "HOME_PHONE") - private String homePhone; + @Column(name = "HOME_PHONE") + private String homePhone; - @Column(name = "CELL_PHONE") - private String cellPhone; + @Column(name = "CELL_PHONE") + private String cellPhone; - @Column(name = "FAX_NUMBER") - private String faxNumber; + @Column(name = "FAX_NUMBER") + private String faxNumber; - @Column(name = "EMAIL_ADDRESS") - private String emailAddress; + @Column(name = "EMAIL_ADDRESS") + private String emailAddress; - @Column(name = "LOCN_EXPIRED_IND ") - private String locnExpiredInd; + @Column(name = "LOCN_EXPIRED_IND ") + private String locnExpiredInd; - @Column(name = "RETURNED_MAIL_DATE") - private Date returnedMailDate; + @Column(name = "RETURNED_MAIL_DATE") + private Date returnedMailDate; - @Column(name = "TRUST_LOCATION_IND") - private String trustLocationInd; + @Column(name = "TRUST_LOCATION_IND") + private String trustLocationInd; - @Column(name = "CLI_LOCN_COMMENT ") - private String cliLocnComment; + @Column(name = "CLI_LOCN_COMMENT ") + private String cliLocnComment; - @Column(name = "UPDATE_TIMESTAMP") - private Date updateTimestamp; + @Column(name = "UPDATE_TIMESTAMP") + private Date updateTimestamp; - @Column(name = "UPDATE_USERID") - private String updateUserId; + @Column(name = "UPDATE_USERID") + private String updateUserId; - @Column(name = "UPDATE_ORG_UNIT") - private Long updateOrgUnit; + @Column(name = "UPDATE_ORG_UNIT") + private Long updateOrgUnit; - @Column(name = "ADD_TIMESTAMP") - private Date addTimestamp; + @Column(name = "ADD_TIMESTAMP") + private Date addTimestamp; - @Column(name = "ADD_USERID") - private String addUserId; + @Column(name = "ADD_USERID") + private String addUserId; - @Column(name = "ADD_ORG_UNIT") - private Long addOrgUnit; + @Column(name = "ADD_ORG_UNIT") + private Long addOrgUnit; - @Column(name = "REVISION_COUNT") - private Long revisionCount; + @Column(name = "REVISION_COUNT") + private Long revisionCount; - public String getClientNumber() { - return clientNumber; - } + public String getClientNumber() { + return clientNumber; + } - public void setClientNumber(String clientNumber) { - this.clientNumber = clientNumber; - } + public void setClientNumber(String clientNumber) { + this.clientNumber = clientNumber; + } - public String getClientLocnCode() { - return clientLocnCode; - } + public String getClientLocnCode() { + return clientLocnCode; + } - public void setClientLocnCode(String clientLocnCode) { - this.clientLocnCode = clientLocnCode; - } + public void setClientLocnCode(String clientLocnCode) { + this.clientLocnCode = clientLocnCode; + } - public String getClientLocnName() { - return clientLocnName; - } + public String getClientLocnName() { + return clientLocnName; + } - public void setClientLocnName(String clientLocnName) { - this.clientLocnName = clientLocnName; - } + public void setClientLocnName(String clientLocnName) { + this.clientLocnName = clientLocnName; + } - public String getHdbsCompanyCode() { - return hdbsCompanyCode; - } + public String getHdbsCompanyCode() { + return hdbsCompanyCode; + } - public void setHdbsCompanyCode(String hdbsCompanyCode) { - this.hdbsCompanyCode = hdbsCompanyCode; - } + public void setHdbsCompanyCode(String hdbsCompanyCode) { + this.hdbsCompanyCode = hdbsCompanyCode; + } - public String getAddressOne() { - return addressOne; - } + public String getAddressOne() { + return addressOne; + } - public void setAddressOne(String addressOne) { - this.addressOne = addressOne; - } + public void setAddressOne(String addressOne) { + this.addressOne = addressOne; + } - public String getAddressTwo() { - return addressTwo; - } + public String getAddressTwo() { + return addressTwo; + } - public void setAddressTwo(String addressTwo) { - this.addressTwo = addressTwo; - } + public void setAddressTwo(String addressTwo) { + this.addressTwo = addressTwo; + } - public String getAddressThree() { - return addressThree; - } + public String getAddressThree() { + return addressThree; + } - public void setAddressThree(String addressThree) { - this.addressThree = addressThree; - } + public void setAddressThree(String addressThree) { + this.addressThree = addressThree; + } - public String getCity() { - return city; - } + public String getCity() { + return city; + } - public void setCity(String city) { - this.city = city; - } + public void setCity(String city) { + this.city = city; + } - public String getProvince() { - return province; - } + public String getProvince() { + return province; + } - public void setProvince(String province) { - this.province = province; - } + public void setProvince(String province) { + this.province = province; + } - public String getPostalCode() { - return postalCode; - } + public String getPostalCode() { + return postalCode; + } - public void setPostalCode(String postalCode) { - this.postalCode = postalCode; - } + public void setPostalCode(String postalCode) { + this.postalCode = postalCode; + } - public String getCountry() { - return country; - } + public String getCountry() { + return country; + } - public void setCountry(String country) { - this.country = country; - } + public void setCountry(String country) { + this.country = country; + } - public String getBusinessPhone() { - return businessPhone; - } + public String getBusinessPhone() { + return businessPhone; + } - public void setBusinessPhone(String businessPhone) { - this.businessPhone = businessPhone; - } + public void setBusinessPhone(String businessPhone) { + this.businessPhone = businessPhone; + } - public String getHomePhone() { - return homePhone; - } + public String getHomePhone() { + return homePhone; + } - public void setHomePhone(String homePhone) { - this.homePhone = homePhone; - } + public void setHomePhone(String homePhone) { + this.homePhone = homePhone; + } - public String getCellPhone() { - return cellPhone; - } + public String getCellPhone() { + return cellPhone; + } - public void setCellPhone(String cellPhone) { - this.cellPhone = cellPhone; - } + public void setCellPhone(String cellPhone) { + this.cellPhone = cellPhone; + } - public String getFaxNumber() { - return faxNumber; - } + public String getFaxNumber() { + return faxNumber; + } - public void setFaxNumber(String faxNumber) { - this.faxNumber = faxNumber; - } + public void setFaxNumber(String faxNumber) { + this.faxNumber = faxNumber; + } - public String getEmailAddress() { - return emailAddress; - } + public String getEmailAddress() { + return emailAddress; + } - public void setEmailAddress(String emailAddress) { - this.emailAddress = emailAddress; - } - - public String getLocnExpiredInd() { - return locnExpiredInd; - } - - public void setLocnExpiredInd(String locnExpiredInd) { - this.locnExpiredInd = locnExpiredInd; - } - - public Date getReturnedMailDate() { - return returnedMailDate; - } - - public void setReturnedMailDate(Date returnedMailDate) { - this.returnedMailDate = returnedMailDate; - } - - public String getTrustLocationInd() { - return trustLocationInd; - } - - public void setTrustLocationInd(String trustLocationInd) { - this.trustLocationInd = trustLocationInd; - } - - public String getCliLocnComment() { - return cliLocnComment; - } - - public void setCliLocnComment(String cliLocnComment) { - this.cliLocnComment = cliLocnComment; - } - - public Date getUpdateTimestamp() { - return updateTimestamp; - } - - public void setUpdateTimestamp(Date updateTimestamp) { - this.updateTimestamp = updateTimestamp; - } - - public String getUpdateUserId() { - return updateUserId; - } - - public void setUpdateUserId(String updateUserId) { - this.updateUserId = updateUserId; - } - - public Long getUpdateOrgUnit() { - return updateOrgUnit; - } - - public void setUpdateOrgUnit(Long updateOrgUnit) { - this.updateOrgUnit = updateOrgUnit; - } - - public Date getAddTimestamp() { - return addTimestamp; - } - - public void setAddTimestamp(Date addTimestamp) { - this.addTimestamp = addTimestamp; - } - - public String getAddUserId() { - return addUserId; - } - - public void setAddUserId(String addUserId) { - this.addUserId = addUserId; - } - - public Long getAddOrgUnit() { - return addOrgUnit; - } - - public void setAddOrgUnit(Long addOrgUnit) { - this.addOrgUnit = addOrgUnit; - } - - public Long getRevisionCount() { - return revisionCount; - } - - public void setRevisionCount(Long revisionCount) { - this.revisionCount = revisionCount; - } - - @Override - public int hashCode() { - return Objects.hash(clientNumber); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - ClientLocationEntity other = (ClientLocationEntity) obj; - return Objects.equals(clientNumber, other.clientNumber); - } + public void setEmailAddress(String emailAddress) { + this.emailAddress = emailAddress; + } + + public String getLocnExpiredInd() { + return locnExpiredInd; + } + + public void setLocnExpiredInd(String locnExpiredInd) { + this.locnExpiredInd = locnExpiredInd; + } + + public Date getReturnedMailDate() { + return returnedMailDate; + } + + public void setReturnedMailDate(Date returnedMailDate) { + this.returnedMailDate = returnedMailDate; + } + + public String getTrustLocationInd() { + return trustLocationInd; + } + + public void setTrustLocationInd(String trustLocationInd) { + this.trustLocationInd = trustLocationInd; + } + + public String getCliLocnComment() { + return cliLocnComment; + } + + public void setCliLocnComment(String cliLocnComment) { + this.cliLocnComment = cliLocnComment; + } + + public Date getUpdateTimestamp() { + return updateTimestamp; + } + + public void setUpdateTimestamp(Date updateTimestamp) { + this.updateTimestamp = updateTimestamp; + } + + public String getUpdateUserId() { + return updateUserId; + } + + public void setUpdateUserId(String updateUserId) { + this.updateUserId = updateUserId; + } + + public Long getUpdateOrgUnit() { + return updateOrgUnit; + } + + public void setUpdateOrgUnit(Long updateOrgUnit) { + this.updateOrgUnit = updateOrgUnit; + } + + public Date getAddTimestamp() { + return addTimestamp; + } + + public void setAddTimestamp(Date addTimestamp) { + this.addTimestamp = addTimestamp; + } + + public String getAddUserId() { + return addUserId; + } + + public void setAddUserId(String addUserId) { + this.addUserId = addUserId; + } + + public Long getAddOrgUnit() { + return addOrgUnit; + } + + public void setAddOrgUnit(Long addOrgUnit) { + this.addOrgUnit = addOrgUnit; + } + + public Long getRevisionCount() { + return revisionCount; + } + + public void setRevisionCount(Long revisionCount) { + this.revisionCount = revisionCount; + } + + @Override + public int hashCode() { + return Objects.hash(clientNumber); + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + ClientLocationEntity other = (ClientLocationEntity) obj; + return Objects.equals(clientNumber, other.clientNumber); + } } diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientPublicViewEntity.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientPublicViewEntity.java index d788e1bc51..b85ba4e3c8 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientPublicViewEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientPublicViewEntity.java @@ -1,111 +1,111 @@ package ca.bc.gov.app.m.oracle.legacyclient.entity; -import java.util.Objects; - +import ca.bc.gov.app.core.configuration.OraclePersistenceConfiguration; +import ca.bc.gov.app.core.entity.AbstractEntity; +import ca.bc.gov.app.core.misc.scope.ScopeConstant; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; - +import java.util.Objects; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; -import ca.bc.gov.app.core.configuration.OraclePersistenceConfiguration; -import ca.bc.gov.app.core.entity.AbstractEntity; -import ca.bc.gov.app.core.misc.scope.ScopeConstant; - @Entity @Table(name = "V_CLIENT_PUBLIC", schema = OraclePersistenceConfiguration.ORACLE_ATTRIBUTE_SCHEMA) @Component(ClientPublicViewEntity.BEAN_NAME) @Scope(ScopeConstant.PROTOTYPE) public class ClientPublicViewEntity implements AbstractEntity { - private static final long serialVersionUID = -3060423136744818530L; + private static final long serialVersionUID = -3060423136744818530L; - public static final String BEAN_NAME = "clientPublicViewEntity"; + public static final String BEAN_NAME = "clientPublicViewEntity"; - @Id - @Column(name = "CLIENT_NUMBER") - private String clientNumber; + @Id + @Column(name = "CLIENT_NUMBER") + private String clientNumber; - @Column(name = "CLIENT_NAME") - private String clientName; + @Column(name = "CLIENT_NAME") + private String clientName; - @Column(name = "LEGAL_FIRST_NAME") - private String legalFirstName; + @Column(name = "LEGAL_FIRST_NAME") + private String legalFirstName; - @Column(name = "LEGAL_MIDDLE_NAME") - private String legalMiddleName; + @Column(name = "LEGAL_MIDDLE_NAME") + private String legalMiddleName; - @Column(name = "CLIENT_STATUS_CODE") - private String clientStatusCode; + @Column(name = "CLIENT_STATUS_CODE") + private String clientStatusCode; - @Column(name = "CLIENT_TYPE_CODE") - private String clientTypeCode; + @Column(name = "CLIENT_TYPE_CODE") + private String clientTypeCode; - public String getClientNumber() { - return clientNumber; - } + public String getClientNumber() { + return clientNumber; + } - public void setClientNumber(String clientNumber) { - this.clientNumber = clientNumber; - } + public void setClientNumber(String clientNumber) { + this.clientNumber = clientNumber; + } - public String getClientName() { - return clientName; - } + public String getClientName() { + return clientName; + } - public void setClientName(String clientName) { - this.clientName = clientName; - } + public void setClientName(String clientName) { + this.clientName = clientName; + } - public String getLegalFirstName() { - return legalFirstName; - } + public String getLegalFirstName() { + return legalFirstName; + } - public void setLegalFirstName(String legalFirstName) { - this.legalFirstName = legalFirstName; - } + public void setLegalFirstName(String legalFirstName) { + this.legalFirstName = legalFirstName; + } - public String getLegalMiddleName() { - return legalMiddleName; - } + public String getLegalMiddleName() { + return legalMiddleName; + } - public void setLegalMiddleName(String legalMiddleName) { - this.legalMiddleName = legalMiddleName; - } + public void setLegalMiddleName(String legalMiddleName) { + this.legalMiddleName = legalMiddleName; + } - public String getClientStatusCode() { - return clientStatusCode; - } + public String getClientStatusCode() { + return clientStatusCode; + } - public void setClientStatusCode(String clientStatusCode) { - this.clientStatusCode = clientStatusCode; - } + public void setClientStatusCode(String clientStatusCode) { + this.clientStatusCode = clientStatusCode; + } - public String getClientTypeCode() { - return clientTypeCode; - } + public String getClientTypeCode() { + return clientTypeCode; + } - public void setClientTypeCode(String clientTypeCode) { - this.clientTypeCode = clientTypeCode; - } + public void setClientTypeCode(String clientTypeCode) { + this.clientTypeCode = clientTypeCode; + } - @Override - public int hashCode() { - return Objects.hash(clientNumber); - } + @Override + public int hashCode() { + return Objects.hash(clientNumber); + } - @Override - public boolean equals(Object obj) { - if (this == obj) + @Override + public boolean equals(Object obj) { + if (this == obj) { return true; - if (obj == null) + } + if (obj == null) { return false; - if (getClass() != obj.getClass()) + } + if (getClass() != obj.getClass()) { return false; - ClientPublicViewEntity other = (ClientPublicViewEntity) obj; - return Objects.equals(clientNumber, other.clientNumber); - } + } + ClientPublicViewEntity other = (ClientPublicViewEntity) obj; + return Objects.equals(clientNumber, other.clientNumber); + } } diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientStatusCodeEntity.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientStatusCodeEntity.java index 489a52a84e..b61e8366c4 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientStatusCodeEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientStatusCodeEntity.java @@ -1,118 +1,115 @@ package ca.bc.gov.app.m.oracle.legacyclient.entity; -import java.util.Date; - +import ca.bc.gov.app.core.configuration.OraclePersistenceConfiguration; +import ca.bc.gov.app.core.entity.AbstractEntity; +import ca.bc.gov.app.core.misc.scope.ScopeConstant; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; - +import java.util.Date; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; -import ca.bc.gov.app.core.configuration.OraclePersistenceConfiguration; -import ca.bc.gov.app.core.entity.AbstractEntity; -import ca.bc.gov.app.core.misc.scope.ScopeConstant; - @Entity @Table(name = "CLIENT_STATUS_CODE", schema = OraclePersistenceConfiguration.ORACLE_ATTRIBUTE_SCHEMA) @Component(ClientStatusCodeEntity.BEAN_NAME) @Scope(ScopeConstant.PROTOTYPE) public class ClientStatusCodeEntity implements AbstractEntity { - private static final long serialVersionUID = 4341025008217142732L; + private static final long serialVersionUID = 4341025008217142732L; + + public static final String BEAN_NAME = "clientStatusCodeEntity"; - public static final String BEAN_NAME = "clientStatusCodeEntity"; - - public static final String ACTIVE = "ACT"; + public static final String ACTIVE = "ACT"; - @Id - @Column(name = "CLIENT_STATUS_CODE") - private String clientStatusCode; + @Id + @Column(name = "CLIENT_STATUS_CODE") + private String clientStatusCode; - @Column(name = "DESCRIPTION") - private String description; + @Column(name = "DESCRIPTION") + private String description; - @Column(name = "EFFECTIVE_DATE") - private Date effectiveDate; + @Column(name = "EFFECTIVE_DATE") + private Date effectiveDate; - @Column(name = "EXPIRY_DATE") - private Date expiryDate; + @Column(name = "EXPIRY_DATE") + private Date expiryDate; - @Column(name = "CREATE_TIMESTAMP") - private Date createTimestamp; + @Column(name = "CREATE_TIMESTAMP") + private Date createTimestamp; - @Column(name = "UPDATE_TIMESTAMP") - private Date updateTimestamp; + @Column(name = "UPDATE_TIMESTAMP") + private Date updateTimestamp; - @Column(name = "CREATE_USER") - private String createUser; + @Column(name = "CREATE_USER") + private String createUser; - @Column(name = "UPDATE_USER") - private String updateUser; + @Column(name = "UPDATE_USER") + private String updateUser; - public String getClientStatusCode() { - return clientStatusCode; - } + public String getClientStatusCode() { + return clientStatusCode; + } - public void setClientStatusCode(String clientStatusCode) { - this.clientStatusCode = clientStatusCode; - } + public void setClientStatusCode(String clientStatusCode) { + this.clientStatusCode = clientStatusCode; + } - public String getDescription() { - return description; - } + public String getDescription() { + return description; + } - public void setDescription(String description) { - this.description = description; - } + public void setDescription(String description) { + this.description = description; + } - public Date getEffectiveDate() { - return effectiveDate; - } + public Date getEffectiveDate() { + return effectiveDate; + } - public void setEffectiveDate(Date effectiveDate) { - this.effectiveDate = effectiveDate; - } + public void setEffectiveDate(Date effectiveDate) { + this.effectiveDate = effectiveDate; + } - public Date getExpiryDate() { - return expiryDate; - } + public Date getExpiryDate() { + return expiryDate; + } - public void setExpiryDate(Date expiryDate) { - this.expiryDate = expiryDate; - } + public void setExpiryDate(Date expiryDate) { + this.expiryDate = expiryDate; + } - public Date getCreateTimestamp() { - return createTimestamp; - } + public Date getCreateTimestamp() { + return createTimestamp; + } - public void setCreateTimestamp(Date createTimestamp) { - this.createTimestamp = createTimestamp; - } + public void setCreateTimestamp(Date createTimestamp) { + this.createTimestamp = createTimestamp; + } - public Date getUpdateTimestamp() { - return updateTimestamp; - } + public Date getUpdateTimestamp() { + return updateTimestamp; + } - public void setUpdateTimestamp(Date updateTimestamp) { - this.updateTimestamp = updateTimestamp; - } + public void setUpdateTimestamp(Date updateTimestamp) { + this.updateTimestamp = updateTimestamp; + } - public String getCreateUser() { - return createUser; - } + public String getCreateUser() { + return createUser; + } - public void setCreateUser(String createUser) { - this.createUser = createUser; - } + public void setCreateUser(String createUser) { + this.createUser = createUser; + } - public String getUpdateUser() { - return updateUser; - } + public String getUpdateUser() { + return updateUser; + } - public void setUpdateUser(String updateUser) { - this.updateUser = updateUser; - } + public void setUpdateUser(String updateUser) { + this.updateUser = updateUser; + } } \ No newline at end of file diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ForestClientEntity.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ForestClientEntity.java index 63bd25fb42..bc39aee8f8 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ForestClientEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ForestClientEntity.java @@ -1,288 +1,288 @@ package ca.bc.gov.app.m.oracle.legacyclient.entity; -import java.util.Objects; -import java.util.Date; - +import ca.bc.gov.app.core.configuration.OraclePersistenceConfiguration; +import ca.bc.gov.app.core.entity.AbstractEntity; +import ca.bc.gov.app.core.misc.scope.ScopeConstant; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; - +import java.util.Date; +import java.util.Objects; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; -import ca.bc.gov.app.core.configuration.OraclePersistenceConfiguration; -import ca.bc.gov.app.core.entity.AbstractEntity; -import ca.bc.gov.app.core.misc.scope.ScopeConstant; - @Entity @Table(name = "FOREST_CLIENT", schema = OraclePersistenceConfiguration.ORACLE_ATTRIBUTE_SCHEMA) @Component(ForestClientEntity.BEAN_NAME) @Scope(ScopeConstant.PROTOTYPE) public class ForestClientEntity implements AbstractEntity { - private static final long serialVersionUID = 832879803987592344L; + private static final long serialVersionUID = 832879803987592344L; - public static final String BEAN_NAME = "forestClientEntity"; + public static final String BEAN_NAME = "forestClientEntity"; - @Id - @Column(name = "CLIENT_NUMBER") - private String clientNumber; + @Id + @Column(name = "CLIENT_NUMBER") + private String clientNumber; - @Column(name = "CLIENT_NAME") - private String clientName; + @Column(name = "CLIENT_NAME") + private String clientName; - @Column(name = "LEGAL_FIRST_NAME") - private String legalFirstName; + @Column(name = "LEGAL_FIRST_NAME") + private String legalFirstName; - @Column(name = "LEGAL_MIDDLE_NAME") - private String legalMiddleName; + @Column(name = "LEGAL_MIDDLE_NAME") + private String legalMiddleName; - @Column(name = "CLIENT_STATUS_CODE") - private String clientStatusCode; + @Column(name = "CLIENT_STATUS_CODE") + private String clientStatusCode; - @Column(name = "CLIENT_TYPE_CODE") - private String clientTypeCode; + @Column(name = "CLIENT_TYPE_CODE") + private String clientTypeCode; - @Column(name = "BIRTHDATE") - private Date birthdate; + @Column(name = "BIRTHDATE") + private Date birthdate; - @Column(name = "CLIENT_ID_TYPE_CODE") - private String clientIdTypeCode; + @Column(name = "CLIENT_ID_TYPE_CODE") + private String clientIdTypeCode; - @Column(name = "CLIENT_IDENTIFICATION ") - private String clientIdentification; + @Column(name = "CLIENT_IDENTIFICATION ") + private String clientIdentification; - @Column(name = "REGISTRY_COMPANY_TYPE_CODE") - private String registryCompanyTypeCode; + @Column(name = "REGISTRY_COMPANY_TYPE_CODE") + private String registryCompanyTypeCode; - @Column(name = "CORP_REGN_NMBR") - private String corpRegnNmbr; + @Column(name = "CORP_REGN_NMBR") + private String corpRegnNmbr; - @Column(name = "CLIENT_ACRONYM") - private String clientAcronym; + @Column(name = "CLIENT_ACRONYM") + private String clientAcronym; - @Column(name = "WCB_FIRM_NUMBER") - private String wcbFirmNumber; + @Column(name = "WCB_FIRM_NUMBER") + private String wcbFirmNumber; - @Column(name = "OCG_SUPPLIER_NMBR") - private String ocgSupplierNmbr; + @Column(name = "OCG_SUPPLIER_NMBR") + private String ocgSupplierNmbr; - @Column(name = "CLIENT_COMMENT") - private String clientComment; + @Column(name = "CLIENT_COMMENT") + private String clientComment; - @Column(name = "ADD_TIMESTAMP") - private Date addTimestamp; + @Column(name = "ADD_TIMESTAMP") + private Date addTimestamp; - @Column(name = "ADD_USERID") - private String addUserId; + @Column(name = "ADD_USERID") + private String addUserId; - @Column(name = "ADD_ORG_UNIT") - private Long addOrgUnit; + @Column(name = "ADD_ORG_UNIT") + private Long addOrgUnit; - @Column(name = "UPDATE_TIMESTAMP") - private Date updateTimestamp; + @Column(name = "UPDATE_TIMESTAMP") + private Date updateTimestamp; - @Column(name = "UPDATE_USERID") - private String updateUserId; + @Column(name = "UPDATE_USERID") + private String updateUserId; - @Column(name = "UPDATE_ORG_UNIT") - private Long updateOrgUnit; + @Column(name = "UPDATE_ORG_UNIT") + private Long updateOrgUnit; - @Column(name = "REVISION_COUNT") - private Long revisionCount; + @Column(name = "REVISION_COUNT") + private Long revisionCount; - public String getClientNumber() { - return clientNumber; - } + public String getClientNumber() { + return clientNumber; + } - public void setClientNumber(String clientNumber) { - this.clientNumber = clientNumber; - } + public void setClientNumber(String clientNumber) { + this.clientNumber = clientNumber; + } - public String getClientName() { - return clientName; - } + public String getClientName() { + return clientName; + } - public void setClientName(String clientName) { - this.clientName = clientName; - } + public void setClientName(String clientName) { + this.clientName = clientName; + } - public String getLegalFirstName() { - return legalFirstName; - } + public String getLegalFirstName() { + return legalFirstName; + } - public void setLegalFirstName(String legalFirstName) { - this.legalFirstName = legalFirstName; - } + public void setLegalFirstName(String legalFirstName) { + this.legalFirstName = legalFirstName; + } - public String getLegalMiddleName() { - return legalMiddleName; - } + public String getLegalMiddleName() { + return legalMiddleName; + } - public void setLegalMiddleName(String legalMiddleName) { - this.legalMiddleName = legalMiddleName; - } + public void setLegalMiddleName(String legalMiddleName) { + this.legalMiddleName = legalMiddleName; + } - public String getClientStatusCode() { - return clientStatusCode; - } + public String getClientStatusCode() { + return clientStatusCode; + } - public void setClientStatusCode(String clientStatusCode) { - this.clientStatusCode = clientStatusCode; - } + public void setClientStatusCode(String clientStatusCode) { + this.clientStatusCode = clientStatusCode; + } - public String getClientTypeCode() { - return clientTypeCode; - } + public String getClientTypeCode() { + return clientTypeCode; + } - public void setClientTypeCode(String clientTypeCode) { - this.clientTypeCode = clientTypeCode; - } + public void setClientTypeCode(String clientTypeCode) { + this.clientTypeCode = clientTypeCode; + } - public Date getBirthdate() { - return birthdate; - } + public Date getBirthdate() { + return birthdate; + } - public void setBirthdate(Date birthdate) { - this.birthdate = birthdate; - } + public void setBirthdate(Date birthdate) { + this.birthdate = birthdate; + } - public String getClientIdTypeCode() { - return clientIdTypeCode; - } + public String getClientIdTypeCode() { + return clientIdTypeCode; + } - public void setClientIdTypeCode(String clientIdTypeCode) { - this.clientIdTypeCode = clientIdTypeCode; - } + public void setClientIdTypeCode(String clientIdTypeCode) { + this.clientIdTypeCode = clientIdTypeCode; + } - public String getClientIdentification() { - return clientIdentification; - } + public String getClientIdentification() { + return clientIdentification; + } - public void setClientIdentification(String clientIdentification) { - this.clientIdentification = clientIdentification; - } + public void setClientIdentification(String clientIdentification) { + this.clientIdentification = clientIdentification; + } - public String getRegistryCompanyTypeCode() { - return registryCompanyTypeCode; - } + public String getRegistryCompanyTypeCode() { + return registryCompanyTypeCode; + } - public void setRegistryCompanyTypeCode(String registryCompanyTypeCode) { - this.registryCompanyTypeCode = registryCompanyTypeCode; - } + public void setRegistryCompanyTypeCode(String registryCompanyTypeCode) { + this.registryCompanyTypeCode = registryCompanyTypeCode; + } - public String getCorpRegnNmbr() { - return corpRegnNmbr; - } + public String getCorpRegnNmbr() { + return corpRegnNmbr; + } - public void setCorpRegnNmbr(String corpRegnNmbr) { - this.corpRegnNmbr = corpRegnNmbr; - } + public void setCorpRegnNmbr(String corpRegnNmbr) { + this.corpRegnNmbr = corpRegnNmbr; + } - public String getClientAcronym() { - return clientAcronym; - } - - public void setClientAcronym(String clientAcronym) { - this.clientAcronym = clientAcronym; - } - - public String getWcbFirmNumber() { - return wcbFirmNumber; - } - - public void setWcbFirmNumber(String wcbFirmNumber) { - this.wcbFirmNumber = wcbFirmNumber; - } - - public String getOcgSupplierNmbr() { - return ocgSupplierNmbr; - } - - public void setOcgSupplierNmbr(String ocgSupplierNmbr) { - this.ocgSupplierNmbr = ocgSupplierNmbr; - } - - public String getClientComment() { - return clientComment; - } - - public void setClientComment(String clientComment) { - this.clientComment = clientComment; - } - - public Date getAddTimestamp() { - return addTimestamp; - } - - public void setAddTimestamp(Date addTimestamp) { - this.addTimestamp = addTimestamp; - } - - public String getAddUserId() { - return addUserId; - } - - public void setAddUserId(String addUserId) { - this.addUserId = addUserId; - } - - public Number getAddOrgUnit() { - return addOrgUnit; - } - - public void setAddOrgUnit(Long addOrgUnit) { - this.addOrgUnit = addOrgUnit; - } - - public Date getUpdateTimestamp() { - return updateTimestamp; - } - - public void setUpdateTimestamp(Date updateTimestamp) { - this.updateTimestamp = updateTimestamp; - } - - public String getUpdateUserId() { - return updateUserId; - } - - public void setUpdateUserId(String updateUserId) { - this.updateUserId = updateUserId; - } - - public Number getUpdateOrgUnit() { - return updateOrgUnit; - } - - public void setUpdateOrgUnit(Long updateOrgUnit) { - this.updateOrgUnit = updateOrgUnit; - } - - public Number getRevisionCount() { - return revisionCount; - } - - public void setRevisionCount(Long revisionCount) { - this.revisionCount = revisionCount; - } - - @Override - public int hashCode() { - return Objects.hash(clientNumber); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - ForestClientEntity other = (ForestClientEntity) obj; - return Objects.equals(clientNumber, other.clientNumber); - } + public String getClientAcronym() { + return clientAcronym; + } + + public void setClientAcronym(String clientAcronym) { + this.clientAcronym = clientAcronym; + } + + public String getWcbFirmNumber() { + return wcbFirmNumber; + } + + public void setWcbFirmNumber(String wcbFirmNumber) { + this.wcbFirmNumber = wcbFirmNumber; + } + + public String getOcgSupplierNmbr() { + return ocgSupplierNmbr; + } + + public void setOcgSupplierNmbr(String ocgSupplierNmbr) { + this.ocgSupplierNmbr = ocgSupplierNmbr; + } + + public String getClientComment() { + return clientComment; + } + + public void setClientComment(String clientComment) { + this.clientComment = clientComment; + } + + public Date getAddTimestamp() { + return addTimestamp; + } + + public void setAddTimestamp(Date addTimestamp) { + this.addTimestamp = addTimestamp; + } + + public String getAddUserId() { + return addUserId; + } + + public void setAddUserId(String addUserId) { + this.addUserId = addUserId; + } + + public Number getAddOrgUnit() { + return addOrgUnit; + } + + public void setAddOrgUnit(Long addOrgUnit) { + this.addOrgUnit = addOrgUnit; + } + + public Date getUpdateTimestamp() { + return updateTimestamp; + } + + public void setUpdateTimestamp(Date updateTimestamp) { + this.updateTimestamp = updateTimestamp; + } + + public String getUpdateUserId() { + return updateUserId; + } + + public void setUpdateUserId(String updateUserId) { + this.updateUserId = updateUserId; + } + + public Number getUpdateOrgUnit() { + return updateOrgUnit; + } + + public void setUpdateOrgUnit(Long updateOrgUnit) { + this.updateOrgUnit = updateOrgUnit; + } + + public Number getRevisionCount() { + return revisionCount; + } + + public void setRevisionCount(Long revisionCount) { + this.revisionCount = revisionCount; + } + + @Override + public int hashCode() { + return Objects.hash(clientNumber); + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + ForestClientEntity other = (ForestClientEntity) obj; + return Objects.equals(clientNumber, other.clientNumber); + } } diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/repository/ClientDoingBusinessAsRepository.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/repository/ClientDoingBusinessAsRepository.java index b154d247ea..c7fecf7a4d 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/repository/ClientDoingBusinessAsRepository.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/repository/ClientDoingBusinessAsRepository.java @@ -1,21 +1,20 @@ package ca.bc.gov.app.m.oracle.legacyclient.repository; +import ca.bc.gov.app.core.repository.CoreRepository; +import ca.bc.gov.app.m.oracle.legacyclient.entity.ClientDoingBusinessAsEntity; import java.util.List; - import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.Query; import org.springframework.stereotype.Repository; -import ca.bc.gov.app.core.repository.CoreRepository; -import ca.bc.gov.app.m.oracle.legacyclient.entity.ClientDoingBusinessAsEntity; - @Repository -public interface ClientDoingBusinessAsRepository extends CoreRepository { +public interface ClientDoingBusinessAsRepository + extends CoreRepository { - @Query("select x from ClientDoingBusinessAsEntity x") - List findAllPagable(Pageable pageable); + @Query("select x from ClientDoingBusinessAsEntity x") + List findAllPagable(Pageable pageable); - @Query("select count(x) from ClientDoingBusinessAsEntity x") - Long countAll(); + @Query("select count(x) from ClientDoingBusinessAsEntity x") + Long countAll(); } diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/repository/ClientLocationRepository.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/repository/ClientLocationRepository.java index 05ff0cfa19..d04d74bab3 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/repository/ClientLocationRepository.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/repository/ClientLocationRepository.java @@ -1,15 +1,14 @@ package ca.bc.gov.app.m.oracle.legacyclient.repository; -import org.springframework.stereotype.Repository; -import org.springframework.data.jpa.repository.Query; -import org.springframework.data.repository.query.Param; - import ca.bc.gov.app.core.repository.CoreRepository; import ca.bc.gov.app.m.oracle.legacyclient.entity.ClientLocationEntity; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; +import org.springframework.stereotype.Repository; @Repository public interface ClientLocationRepository extends CoreRepository { - @Query("select x from ClientLocationEntity x " + - "where x.clientNumber = :clientNumber") - ClientLocationEntity findByClientNumber(@Param("clientNumber") String clientNumber); + @Query("select x from ClientLocationEntity x " + + "where x.clientNumber = :clientNumber") + ClientLocationEntity findByClientNumber(@Param("clientNumber") String clientNumber); } \ No newline at end of file diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/repository/ClientPublicViewRepository.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/repository/ClientPublicViewRepository.java index e15a3c1f7e..f71c193f55 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/repository/ClientPublicViewRepository.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/repository/ClientPublicViewRepository.java @@ -1,25 +1,26 @@ package ca.bc.gov.app.m.oracle.legacyclient.repository; +import ca.bc.gov.app.core.repository.CoreRepository; +import ca.bc.gov.app.m.oracle.legacyclient.entity.ClientPublicViewEntity; +import ca.bc.gov.app.m.postgres.client.entity.ClientTypeCodeEntity; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; -import ca.bc.gov.app.core.repository.CoreRepository; -import ca.bc.gov.app.m.oracle.legacyclient.entity.ClientPublicViewEntity; -import ca.bc.gov.app.m.postgres.client.entity.ClientTypeCodeEntity; - @Repository public interface ClientPublicViewRepository extends CoreRepository { - - @Query("select x from ClientPublicViewEntity x " + - "where x.clientNumber = :clientNumber") - ClientPublicViewEntity findByClientNumber(@Param("clientNumber") String clientNumber); - @Query(value = "select * from V_CLIENT_PUBLIC WHERE CLIENT_TYPE_CODE != '" + ClientTypeCodeEntity.INDIVIDUAL + "'", - countQuery = "select count(*) from V_CLIENT_PUBLIC WHERE CLIENT_TYPE_CODE != '" + ClientTypeCodeEntity.INDIVIDUAL + "'", - nativeQuery = true) - Page findAllNonIndividualClients(Pageable paging); + @Query("select x from ClientPublicViewEntity x " + + "where x.clientNumber = :clientNumber") + ClientPublicViewEntity findByClientNumber(@Param("clientNumber") String clientNumber); + + @Query(value = "select * from V_CLIENT_PUBLIC WHERE CLIENT_TYPE_CODE != '" + + ClientTypeCodeEntity.INDIVIDUAL + "'", + countQuery = "select count(*) from V_CLIENT_PUBLIC WHERE CLIENT_TYPE_CODE != '" + + ClientTypeCodeEntity.INDIVIDUAL + "'", + nativeQuery = true) + Page findAllNonIndividualClients(Pageable paging); } diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/repository/ForestClientRepository.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/repository/ForestClientRepository.java index 172ba18b1e..e84944cec8 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/repository/ForestClientRepository.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/repository/ForestClientRepository.java @@ -1,47 +1,45 @@ package ca.bc.gov.app.m.oracle.legacyclient.repository; +import ca.bc.gov.app.core.repository.CoreRepository; +import ca.bc.gov.app.m.oracle.legacyclient.entity.ClientStatusCodeEntity; +import ca.bc.gov.app.m.oracle.legacyclient.entity.ForestClientEntity; +import ca.bc.gov.app.m.postgres.client.entity.ClientTypeCodeEntity; import java.util.Date; import java.util.List; - import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; -import ca.bc.gov.app.core.repository.CoreRepository; -import ca.bc.gov.app.m.oracle.legacyclient.entity.ClientStatusCodeEntity; -import ca.bc.gov.app.m.oracle.legacyclient.entity.ForestClientEntity; -import ca.bc.gov.app.m.postgres.client.entity.ClientTypeCodeEntity; - @Repository public interface ForestClientRepository extends CoreRepository { - @Query("select x from ForestClientEntity x " + - "where x.clientTypeCode = '" + ClientTypeCodeEntity.FIRST_NATION_BAND + "' " + - "and x.clientStatusCode = '" + ClientStatusCodeEntity.ACTIVE + "'") - List findAllFirstNationBandClients(); - - @Query("select x from ForestClientEntity x " + - "where (x.registryCompanyTypeCode || x.corpRegnNmbr) = :incorporationNumber or x.clientName = :companyName") - List findClientByIncorporationOrName(@Param("incorporationNumber") String incorporationNumber, - @Param("companyName") String companyName); - - @Query("select x from ForestClientEntity x " + - "where lower(x.legalFirstName) = lower(:firstName) " + - "and lower(x.clientName) = lower(:lastName) " + - "and x.birthdate = :birthdate") - List findClientByNameAndBirthdate(@Param("firstName") String firstName, - @Param("lastName") String lastName, - @Param("birthdate") Date birthdate); - - - - @Query("select x from ForestClientEntity x " + - "where x.clientTypeCode = '" + ClientTypeCodeEntity.UNREGISTERED_COMPANY + "' " + - "and x.clientStatusCode = '" + ClientStatusCodeEntity.ACTIVE + "'") - List findAllPagable(Pageable pageable); - - @Query("select count(x) from ForestClientEntity x") - Long countAll(); - + @Query("select x from ForestClientEntity x " + + "where x.clientTypeCode = '" + ClientTypeCodeEntity.FIRST_NATION_BAND + "' " + + "and x.clientStatusCode = '" + ClientStatusCodeEntity.ACTIVE + "'") + List findAllFirstNationBandClients(); + + @Query("select x from ForestClientEntity x " + + "where (x.registryCompanyTypeCode || x.corpRegnNmbr) = :incorporationNumber or x.clientName = :companyName") + List findClientByIncorporationOrName( + @Param("incorporationNumber") String incorporationNumber, + @Param("companyName") String companyName); + + @Query("select x from ForestClientEntity x " + + "where lower(x.legalFirstName) = lower(:firstName) " + + "and lower(x.clientName) = lower(:lastName) " + + "and x.birthdate = :birthdate") + List findClientByNameAndBirthdate(@Param("firstName") String firstName, + @Param("lastName") String lastName, + @Param("birthdate") Date birthdate); + + + @Query("select x from ForestClientEntity x " + + "where x.clientTypeCode = '" + ClientTypeCodeEntity.UNREGISTERED_COMPANY + "' " + + "and x.clientStatusCode = '" + ClientStatusCodeEntity.ACTIVE + "'") + List findAllPagable(Pageable pageable); + + @Query("select count(x) from ForestClientEntity x") + Long countAll(); + } \ No newline at end of file diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/service/LegacyClientService.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/service/LegacyClientService.java index e41113b419..0d2dfb4978 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/service/LegacyClientService.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/service/LegacyClientService.java @@ -1,15 +1,39 @@ package ca.bc.gov.app.m.oracle.legacyclient.service; +import ca.bc.gov.app.core.util.CoreUtil; +import ca.bc.gov.app.m.oracle.legacyclient.entity.ForestClientEntity; +import ca.bc.gov.app.m.oracle.legacyclient.repository.ForestClientRepository; +import jakarta.inject.Inject; +import java.util.Date; import java.util.List; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Service; + +@Service +public class LegacyClientService { + + public static final Logger logger = LoggerFactory.getLogger(LegacyClientService.class); + + public static final String DATE_FORMAT = "yyyy-MM-dd"; + + @Inject + private ForestClientRepository forestClientRepository; + + @Inject + private CoreUtil coreUtil; -import ca.bc.gov.app.m.oracle.legacyclient.entity.ForestClientEntity; -public interface LegacyClientService { - - String BEAN_NAME = "legacyClientViewService"; + public List findClientByIncorporationOrName(String incorporationNumber, + String companyName) { + return forestClientRepository.findClientByIncorporationOrName(incorporationNumber, companyName); + } - List findClientByIncorporationOrName(String incorporationNumber, String companyName); - List findClientByNameAndBirthdate(String firstName, String lastName, String birthdate); + public List findClientByNameAndBirthdate(String firstName, String lastName, + String birthdate) { + Date dateOfBirth = coreUtil.toDate(birthdate, DATE_FORMAT); + return forestClientRepository.findClientByNameAndBirthdate(firstName, lastName, dateOfBirth); + } } diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/service/impl/LegacyClientServiceImpl.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/service/impl/LegacyClientServiceImpl.java deleted file mode 100644 index c4d0992a7d..0000000000 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/service/impl/LegacyClientServiceImpl.java +++ /dev/null @@ -1,41 +0,0 @@ -package ca.bc.gov.app.m.oracle.legacyclient.service.impl; - -import java.util.Date; -import java.util.List; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.stereotype.Service; - -import ca.bc.gov.app.core.util.CoreUtil; -import ca.bc.gov.app.m.oracle.legacyclient.entity.ForestClientEntity; -import ca.bc.gov.app.m.oracle.legacyclient.repository.ForestClientRepository; -import ca.bc.gov.app.m.oracle.legacyclient.service.LegacyClientService; -import jakarta.inject.Inject; - -@Service(LegacyClientService.BEAN_NAME) -public class LegacyClientServiceImpl implements LegacyClientService { - - public static final Logger logger = LoggerFactory.getLogger(LegacyClientServiceImpl.class); - - public static final String DATE_FORMAT = "yyyy-MM-dd"; - - @Inject - private ForestClientRepository forestClientRepository; - - @Inject - private CoreUtil coreUtil; - - - @Override - public List findClientByIncorporationOrName(String incorporationNumber, String companyName) { - return forestClientRepository.findClientByIncorporationOrName(incorporationNumber, companyName); - } - - @Override - public List findClientByNameAndBirthdate(String firstName, String lastName, String birthdate) { - Date dateOfBirth = coreUtil.toDate(birthdate, DATE_FORMAT); - return forestClientRepository.findClientByNameAndBirthdate(firstName, lastName, dateOfBirth); - } - -} diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/vo/ClientPublicFilterObjectVO.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/vo/ClientPublicFilterObjectVO.java index 31005f3a0e..3b2c58ff98 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/vo/ClientPublicFilterObjectVO.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/vo/ClientPublicFilterObjectVO.java @@ -2,17 +2,16 @@ /** * @author Maria Martinez, Government of BC - * @created 2022-11-03 * @version 1.0.0 + * @created 2022-11-03 */ -public class ClientPublicFilterObjectVO { - - public String clientName; - public String clientFirstName; - public String clientMiddleName; - public String clientTypeCodesAsCsv; - public int currentPage; - public int itemsPerPage; - +public record ClientPublicFilterObjectVO( + String clientName, + String clientFirstName, + String clientMiddleName, + String clientTypeCodesAsCsv, + int currentPage, + int itemsPerPage +) { } diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/vo/ClientPublicViewVO.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/vo/ClientPublicViewVO.java index fad2856219..1103fd9fdd 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/vo/ClientPublicViewVO.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/vo/ClientPublicViewVO.java @@ -1,63 +1,21 @@ package ca.bc.gov.app.m.oracle.legacyclient.vo; -import java.io.Serializable; - -public class ClientPublicViewVO implements Serializable { - - private static final long serialVersionUID = -3558915712555555036L; - - public String clientNumber; - public String incorporationNumber; - public String clientName; - public String legalFirstName; - public String legalMiddleName; - public String clientStatusCode; - public String clientTypeCode; - public String clientNameInOrgBook; - public boolean sameName; - - public ClientPublicViewVO() { - super(); - } - - public ClientPublicViewVO(String clientNumber, - String clientName, - String legalFirstName, - String legalMiddleName, - String clientStatusCode, - String clientTypeCode) { - super(); - this.clientNumber = clientNumber; - this.clientName = clientName; - this.legalFirstName = legalFirstName; - this.legalMiddleName = legalMiddleName; - this.clientStatusCode = clientStatusCode; - this.clientTypeCode = clientTypeCode; - } - - public ClientPublicViewVO(String clientNumber, - String clientName, - String legalFirstName, - String legalMiddleName, - String clientStatusCode, - String clientTypeCode, - String clientNameInOrgBook) { - super(); - this.clientNumber = clientNumber; - this.clientName = clientName; - this.legalFirstName = legalFirstName; - this.legalMiddleName = legalMiddleName; - this.clientStatusCode = clientStatusCode; - this.clientTypeCode = clientTypeCode; - this.clientNameInOrgBook = clientNameInOrgBook; - } - - @Override - public String toString() { - return "ClientPublicViewVO [clientNumber=" + clientNumber + ", clientName=" + clientName + ", legalFirstName=" - + legalFirstName + ", legalMiddleName=" + legalMiddleName + ", clientStatusCode=" + clientStatusCode - + ", clientTypeCode=" + clientTypeCode + ", clientNameInOrgBook=" + clientNameInOrgBook + ", sameName=" - + sameName + "]"; - } - -} +import org.apache.commons.lang3.StringUtils; + +public record ClientPublicViewVO( + String clientNumber, + String incorporationNumber, + String clientName, + String legalFirstName, + String legalMiddleName, + String clientStatusCode, + String clientTypeCode, + String clientNameInOrgBook +) { + public boolean isSameName() { + return + StringUtils.isNotBlank(clientNameInOrgBook) && + StringUtils.isNotBlank(clientName) && + clientNameInOrgBook.equalsIgnoreCase(clientName); + } +} \ No newline at end of file diff --git a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/controller/ClientController.java b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/controller/ClientController.java index e67102e065..fbac3fa1f2 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/controller/ClientController.java +++ b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/controller/ClientController.java @@ -2,33 +2,31 @@ import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE; +import ca.bc.gov.app.core.configuration.PostgresPersistenceConfiguration; +import ca.bc.gov.app.core.vo.CodeDescrVO; +import ca.bc.gov.app.m.postgres.client.service.ClientService; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.inject.Inject; import java.util.List; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; -import ca.bc.gov.app.core.configuration.PostgresPersistenceConfiguration; -import ca.bc.gov.app.core.vo.CodeDescrVO; -import ca.bc.gov.app.m.postgres.client.service.ClientService; -import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.inject.Inject; - -@Tag(name = PostgresPersistenceConfiguration.POSTGRES_API_TAG) +@Tag(name = PostgresPersistenceConfiguration.POSTGRES_API_TAG) @RestController @RequestMapping("/app/m/client") public class ClientController { - public static final Logger logger = LoggerFactory.getLogger(ClientController.class); + public static final Logger logger = LoggerFactory.getLogger(ClientController.class); - @Inject - private ClientService clientService; + @Inject + private ClientService clientService; - @RequestMapping(value = "/findActiveClientTypeCodes", method = RequestMethod.GET, produces = APPLICATION_JSON_VALUE) - public List findActiveClientTypeCodes() { - return clientService.findActiveClientTypeCodes(); - } + @RequestMapping(value = "/findActiveClientTypeCodes", method = RequestMethod.GET, produces = APPLICATION_JSON_VALUE) + public List findActiveClientTypeCodes() { + return clientService.findActiveClientTypeCodes(); + } } diff --git a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/ClientTypeCodeEntity.java b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/ClientTypeCodeEntity.java index 92f160e78d..caf5ed73b1 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/ClientTypeCodeEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/ClientTypeCodeEntity.java @@ -1,45 +1,43 @@ package ca.bc.gov.app.m.postgres.client.entity; +import ca.bc.gov.app.core.configuration.PostgresPersistenceConfiguration; +import ca.bc.gov.app.core.entity.AbstractCodeDescrEntity; +import ca.bc.gov.app.core.misc.scope.ScopeConstant; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; - import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; -import ca.bc.gov.app.core.configuration.PostgresPersistenceConfiguration; -import ca.bc.gov.app.core.entity.AbstractCodeDescrEntity; -import ca.bc.gov.app.core.misc.scope.ScopeConstant; - @Entity @Table(name = "CLIENT_TYPE_CODE", schema = PostgresPersistenceConfiguration.POSTGRES_ATTRIBUTE_SCHEMA) @Component(ClientTypeCodeEntity.BEAN_NAME) @Scope(ScopeConstant.PROTOTYPE) public class ClientTypeCodeEntity extends AbstractCodeDescrEntity { - private static final long serialVersionUID = 8069253248355277428L; - - public static final String BEAN_NAME = "clientTypeCodeEntity"; - - public static final String INDIVIDUAL = "I"; - public static final String ASSOCIATION = "A"; - public static final String CORPORATION = "C"; - public static final String FIRST_NATION_BAND = "B"; - public static final String UNREGISTERED_COMPANY = "U"; - - - @Id - @Column(name = "CLIENT_TYPE_CODE") - private String code; - - @Override - public String getCode() { - return code; - } - - public void setCode(String code) { - this.code = code; - } + private static final long serialVersionUID = 8069253248355277428L; + + public static final String BEAN_NAME = "clientTypeCodeEntity"; + + public static final String INDIVIDUAL = "I"; + public static final String ASSOCIATION = "A"; + public static final String CORPORATION = "C"; + public static final String FIRST_NATION_BAND = "B"; + public static final String UNREGISTERED_COMPANY = "U"; + + + @Id + @Column(name = "CLIENT_TYPE_CODE") + private String code; + + @Override + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } } diff --git a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionDetailEntity.java b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionDetailEntity.java index b44f53dc2d..5f5f418690 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionDetailEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionDetailEntity.java @@ -1,8 +1,8 @@ package ca.bc.gov.app.m.postgres.client.entity; -import java.util.Date; -import java.util.Objects; - +import ca.bc.gov.app.core.configuration.PostgresPersistenceConfiguration; +import ca.bc.gov.app.core.entity.AbstractEntity; +import ca.bc.gov.app.core.misc.scope.ScopeConstant; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; @@ -12,156 +12,157 @@ import jakarta.persistence.OneToOne; import jakarta.persistence.SequenceGenerator; import jakarta.persistence.Table; - +import java.util.Date; +import java.util.Objects; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; -import ca.bc.gov.app.core.configuration.PostgresPersistenceConfiguration; -import ca.bc.gov.app.core.entity.AbstractEntity; -import ca.bc.gov.app.core.misc.scope.ScopeConstant; - @Entity @Table(name = "SUBMISSION_DETAIL", schema = PostgresPersistenceConfiguration.POSTGRES_ATTRIBUTE_SCHEMA) @Component(SubmissionDetailEntity.BEAN_NAME) @Scope(ScopeConstant.PROTOTYPE) public class SubmissionDetailEntity implements AbstractEntity { - private static final long serialVersionUID = -8966248654104607818L; + private static final long serialVersionUID = -8966248654104607818L; - public static final String BEAN_NAME = "submissionDetailEntity"; + public static final String BEAN_NAME = "submissionDetailEntity"; - @Id - @GeneratedValue(generator = "SEQ_SUBMISSION_DETAIL") - @SequenceGenerator(name = "SEQ_SUBMISSION_DETAIL", - sequenceName = PostgresPersistenceConfiguration.POSTGRES_ATTRIBUTE_SCHEMA_QUALIFIER + "SUBMISSION_DETAIL_ID_SEQ", - allocationSize = 1) - @Column(name = "SUBMISSION_DETAIL_ID", nullable = false, precision = 10, scale = 0) - private Long submissionDetailId; + @Id + @GeneratedValue(generator = "SEQ_SUBMISSION_DETAIL") + @SequenceGenerator(name = "SEQ_SUBMISSION_DETAIL", + sequenceName = PostgresPersistenceConfiguration.POSTGRES_ATTRIBUTE_SCHEMA_QUALIFIER + + "SUBMISSION_DETAIL_ID_SEQ", + allocationSize = 1) + @Column(name = "SUBMISSION_DETAIL_ID", nullable = false, precision = 10, scale = 0) + private Long submissionDetailId; - @OneToOne - @JoinColumn(name = "SUBMISSION_ID") - private SubmissionEntity submissionEntity; + @OneToOne + @JoinColumn(name = "SUBMISSION_ID") + private SubmissionEntity submissionEntity; - @Column(name = "INCORPORATION_NUMBER") - private String incorporationNumber; + @Column(name = "INCORPORATION_NUMBER") + private String incorporationNumber; - @Column(name = "ORGANIZATION_NAME") - private Date organizationName; + @Column(name = "ORGANIZATION_NAME") + private Date organizationName; - @Column(name = "FIRST_NAME") - private String firstName; + @Column(name = "FIRST_NAME") + private String firstName; - @Column(name = "MIDDLE_NAME") - private String middleName; + @Column(name = "MIDDLE_NAME") + private String middleName; - @Column(name = "LAST_NAME") - private String lastName; + @Column(name = "LAST_NAME") + private String lastName; - @ManyToOne - @JoinColumn(name = "CLIENT_TYPE_CODE") - private ClientTypeCodeEntity clientTypeCodeEntity; + @ManyToOne + @JoinColumn(name = "CLIENT_TYPE_CODE") + private ClientTypeCodeEntity clientTypeCodeEntity; - @Column(name = "DATE_OF_BIRTH") - private Date dateOfBirth; + @Column(name = "DATE_OF_BIRTH") + private Date dateOfBirth; - @Column(name = "CLIENT_COMMENT") - private String clientComment; + @Column(name = "CLIENT_COMMENT") + private String clientComment; - public Long getSubmissionDetailId() { - return submissionDetailId; - } + public Long getSubmissionDetailId() { + return submissionDetailId; + } - public void setSubmissionDetailId(Long submissionDetailId) { - this.submissionDetailId = submissionDetailId; - } + public void setSubmissionDetailId(Long submissionDetailId) { + this.submissionDetailId = submissionDetailId; + } - public SubmissionEntity getSubmissionEntity() { - return submissionEntity; - } + public SubmissionEntity getSubmissionEntity() { + return submissionEntity; + } - public void setSubmissionEntity(SubmissionEntity submissionEntity) { - this.submissionEntity = submissionEntity; - } + public void setSubmissionEntity(SubmissionEntity submissionEntity) { + this.submissionEntity = submissionEntity; + } - public String getIncorporationNumber() { - return incorporationNumber; - } + public String getIncorporationNumber() { + return incorporationNumber; + } - public void setIncorporationNumber(String incorporationNumber) { - this.incorporationNumber = incorporationNumber; - } + public void setIncorporationNumber(String incorporationNumber) { + this.incorporationNumber = incorporationNumber; + } - public Date getOrganizationName() { - return organizationName; - } + public Date getOrganizationName() { + return organizationName; + } - public void setOrganizationName(Date organizationName) { - this.organizationName = organizationName; - } + public void setOrganizationName(Date organizationName) { + this.organizationName = organizationName; + } - public String getFirstName() { - return firstName; - } + public String getFirstName() { + return firstName; + } - public void setFirstName(String firstName) { - this.firstName = firstName; - } + public void setFirstName(String firstName) { + this.firstName = firstName; + } - public String getMiddleName() { - return middleName; - } + public String getMiddleName() { + return middleName; + } - public void setMiddleName(String middleName) { - this.middleName = middleName; - } + public void setMiddleName(String middleName) { + this.middleName = middleName; + } - public String getLastName() { - return lastName; - } + public String getLastName() { + return lastName; + } - public void setLastName(String lastName) { - this.lastName = lastName; - } + public void setLastName(String lastName) { + this.lastName = lastName; + } - public ClientTypeCodeEntity getClientTypeCodeEntity() { - return clientTypeCodeEntity; - } + public ClientTypeCodeEntity getClientTypeCodeEntity() { + return clientTypeCodeEntity; + } - public void setClientTypeCodeEntity(ClientTypeCodeEntity clientTypeCodeEntity) { - this.clientTypeCodeEntity = clientTypeCodeEntity; - } + public void setClientTypeCodeEntity(ClientTypeCodeEntity clientTypeCodeEntity) { + this.clientTypeCodeEntity = clientTypeCodeEntity; + } - public Date getDateOfBirth() { - return dateOfBirth; - } + public Date getDateOfBirth() { + return dateOfBirth; + } - public void setDateOfBirth(Date dateOfBirth) { - this.dateOfBirth = dateOfBirth; - } + public void setDateOfBirth(Date dateOfBirth) { + this.dateOfBirth = dateOfBirth; + } - public String getClientComment() { - return clientComment; - } + public String getClientComment() { + return clientComment; + } - public void setClientComment(String clientComment) { - this.clientComment = clientComment; - } + public void setClientComment(String clientComment) { + this.clientComment = clientComment; + } - @Override - public int hashCode() { - return Objects.hash(submissionDetailId); - } + @Override + public int hashCode() { + return Objects.hash(submissionDetailId); + } - @Override - public boolean equals(Object obj) { - if (this == obj) + @Override + public boolean equals(Object obj) { + if (this == obj) { return true; - if (obj == null) + } + if (obj == null) { return false; - if (getClass() != obj.getClass()) + } + if (getClass() != obj.getClass()) { return false; - SubmissionDetailEntity other = (SubmissionDetailEntity) obj; - return Objects.equals(submissionDetailId, other.submissionDetailId); - } + } + SubmissionDetailEntity other = (SubmissionDetailEntity) obj; + return Objects.equals(submissionDetailId, other.submissionDetailId); + } } diff --git a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionEntity.java b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionEntity.java index b4a257dda6..7118401e1b 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionEntity.java @@ -1,8 +1,8 @@ package ca.bc.gov.app.m.postgres.client.entity; -import java.util.Date; -import java.util.Objects; - +import ca.bc.gov.app.core.configuration.PostgresPersistenceConfiguration; +import ca.bc.gov.app.core.entity.AbstractEntity; +import ca.bc.gov.app.core.misc.scope.ScopeConstant; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; @@ -11,122 +11,123 @@ import jakarta.persistence.ManyToOne; import jakarta.persistence.SequenceGenerator; import jakarta.persistence.Table; - +import java.util.Date; +import java.util.Objects; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; -import ca.bc.gov.app.core.configuration.PostgresPersistenceConfiguration; -import ca.bc.gov.app.core.entity.AbstractEntity; -import ca.bc.gov.app.core.misc.scope.ScopeConstant; - @Entity @Table(name = "SUBMISSION", schema = PostgresPersistenceConfiguration.POSTGRES_ATTRIBUTE_SCHEMA) @Component(SubmissionEntity.BEAN_NAME) @Scope(ScopeConstant.PROTOTYPE) public class SubmissionEntity implements AbstractEntity { - private static final long serialVersionUID = -8966248654104607818L; + private static final long serialVersionUID = -8966248654104607818L; - public static final String BEAN_NAME = "submissionEntity"; + public static final String BEAN_NAME = "submissionEntity"; - @Id - @GeneratedValue(generator = "SEQ_SUBMISSION") - @SequenceGenerator(name = "SEQ_SUBMISSION", - sequenceName = PostgresPersistenceConfiguration.POSTGRES_ATTRIBUTE_SCHEMA_QUALIFIER + "SUBMISSION_ID_SEQ", - allocationSize = 1) - @Column(name = "SUBMISSION_ID", nullable = false, precision = 10, scale = 0) - private Long submissionId; + @Id + @GeneratedValue(generator = "SEQ_SUBMISSION") + @SequenceGenerator(name = "SEQ_SUBMISSION", + sequenceName = PostgresPersistenceConfiguration.POSTGRES_ATTRIBUTE_SCHEMA_QUALIFIER + + "SUBMISSION_ID_SEQ", + allocationSize = 1) + @Column(name = "SUBMISSION_ID", nullable = false, precision = 10, scale = 0) + private Long submissionId; - @Column(name = "SUBMITTER_USER_GUID") - private String submitterUserGuid; + @Column(name = "SUBMITTER_USER_GUID") + private String submitterUserGuid; - @ManyToOne - @JoinColumn(name = "SUBMISSION_STATUS_CODE") - private SubmissionStatusCodeEntity submissionStatusCodeEntity; + @ManyToOne + @JoinColumn(name = "SUBMISSION_STATUS_CODE") + private SubmissionStatusCodeEntity submissionStatusCodeEntity; - @Column(name = "SUBMISSION_DATE") - private Date submitterDate; + @Column(name = "SUBMISSION_DATE") + private Date submitterDate; - @Column(name = "UPDATE_TIMESTAMP") - private Date updateTimestamp; + @Column(name = "UPDATE_TIMESTAMP") + private Date updateTimestamp; - @Column(name = "CREATE_USER") - private String createUser; + @Column(name = "CREATE_USER") + private String createUser; - @Column(name = "UPDATE_USER") - private String updateUser; + @Column(name = "UPDATE_USER") + private String updateUser; - public Long getSubmissionId() { - return submissionId; - } + public Long getSubmissionId() { + return submissionId; + } - public void setSubmissionId(Long submissionId) { - this.submissionId = submissionId; - } + public void setSubmissionId(Long submissionId) { + this.submissionId = submissionId; + } - public String getSubmitterUserGuid() { - return submitterUserGuid; - } + public String getSubmitterUserGuid() { + return submitterUserGuid; + } - public void setSubmitterUserGuid(String submitterUserGuid) { - this.submitterUserGuid = submitterUserGuid; - } + public void setSubmitterUserGuid(String submitterUserGuid) { + this.submitterUserGuid = submitterUserGuid; + } - public SubmissionStatusCodeEntity getSubmissionStatusCodeEntity() { - return submissionStatusCodeEntity; - } + public SubmissionStatusCodeEntity getSubmissionStatusCodeEntity() { + return submissionStatusCodeEntity; + } - public void setSubmissionStatusCodeEntity(SubmissionStatusCodeEntity submissionStatusCodeEntity) { - this.submissionStatusCodeEntity = submissionStatusCodeEntity; - } + public void setSubmissionStatusCodeEntity(SubmissionStatusCodeEntity submissionStatusCodeEntity) { + this.submissionStatusCodeEntity = submissionStatusCodeEntity; + } - public Date getSubmitterDate() { - return submitterDate; - } + public Date getSubmitterDate() { + return submitterDate; + } - public void setSubmitterDate(Date submitterDate) { - this.submitterDate = submitterDate; - } + public void setSubmitterDate(Date submitterDate) { + this.submitterDate = submitterDate; + } - public Date getUpdateTimestamp() { - return updateTimestamp; - } + public Date getUpdateTimestamp() { + return updateTimestamp; + } - public void setUpdateTimestamp(Date updateTimestamp) { - this.updateTimestamp = updateTimestamp; - } + public void setUpdateTimestamp(Date updateTimestamp) { + this.updateTimestamp = updateTimestamp; + } - public String getCreateUser() { - return createUser; - } + public String getCreateUser() { + return createUser; + } - public void setCreateUser(String createUser) { - this.createUser = createUser; - } + public void setCreateUser(String createUser) { + this.createUser = createUser; + } - public String getUpdateUser() { - return updateUser; - } + public String getUpdateUser() { + return updateUser; + } - public void setUpdateUser(String updateUser) { - this.updateUser = updateUser; - } + public void setUpdateUser(String updateUser) { + this.updateUser = updateUser; + } - @Override - public int hashCode() { - return Objects.hash(submissionId); - } + @Override + public int hashCode() { + return Objects.hash(submissionId); + } - @Override - public boolean equals(Object obj) { - if (this == obj) + @Override + public boolean equals(Object obj) { + if (this == obj) { return true; - if (obj == null) + } + if (obj == null) { return false; - if (getClass() != obj.getClass()) + } + if (getClass() != obj.getClass()) { return false; - SubmissionEntity other = (SubmissionEntity) obj; - return Objects.equals(submissionId, other.submissionId); - } + } + SubmissionEntity other = (SubmissionEntity) obj; + return Objects.equals(submissionId, other.submissionId); + } } diff --git a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionStatusCodeEntity.java b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionStatusCodeEntity.java index 095624de03..80186d1f3a 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionStatusCodeEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionStatusCodeEntity.java @@ -1,44 +1,42 @@ package ca.bc.gov.app.m.postgres.client.entity; +import ca.bc.gov.app.core.configuration.PostgresPersistenceConfiguration; +import ca.bc.gov.app.core.entity.AbstractCodeDescrEntity; +import ca.bc.gov.app.core.misc.scope.ScopeConstant; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; - import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; -import ca.bc.gov.app.core.configuration.PostgresPersistenceConfiguration; -import ca.bc.gov.app.core.entity.AbstractCodeDescrEntity; -import ca.bc.gov.app.core.misc.scope.ScopeConstant; - @Entity @Table(name = "SUBMISSION_STATUS_CODE", schema = PostgresPersistenceConfiguration.POSTGRES_ATTRIBUTE_SCHEMA) @Component(SubmissionStatusCodeEntity.BEAN_NAME) @Scope(ScopeConstant.PROTOTYPE) public class SubmissionStatusCodeEntity extends AbstractCodeDescrEntity { - private static final long serialVersionUID = 4341025008217142732L; + private static final long serialVersionUID = 4341025008217142732L; + + public static final String BEAN_NAME = "submissionStatusCodeEntity"; - public static final String BEAN_NAME = "submissionStatusCodeEntity"; - - public static final String IN_PROGRESS = "P"; - public static final String APPROVED = "A"; - public static final String REJECTED = "R"; - public static final String DELETED = "E"; - public static final String SUBMITTED = "S"; + public static final String IN_PROGRESS = "P"; + public static final String APPROVED = "A"; + public static final String REJECTED = "R"; + public static final String DELETED = "E"; + public static final String SUBMITTED = "S"; - @Id - @Column(name = "SUBMISSION_STATUS_CODE") - private String code; + @Id + @Column(name = "SUBMISSION_STATUS_CODE") + private String code; - @Override - public String getCode() { - return code; - } + @Override + public String getCode() { + return code; + } - public void setCode(String code) { - this.code = code; - } + public void setCode(String code) { + this.code = code; + } } diff --git a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/repository/ClientTypeCodeRepository.java b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/repository/ClientTypeCodeRepository.java index 874e0e1b64..0b32205480 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/repository/ClientTypeCodeRepository.java +++ b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/repository/ClientTypeCodeRepository.java @@ -1,21 +1,19 @@ package ca.bc.gov.app.m.postgres.client.repository; +import ca.bc.gov.app.core.repository.CoreRepository; +import ca.bc.gov.app.m.postgres.client.entity.ClientTypeCodeEntity; import java.util.Date; import java.util.List; - import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; -import ca.bc.gov.app.core.repository.CoreRepository; -import ca.bc.gov.app.m.postgres.client.entity.ClientTypeCodeEntity; - @Repository public interface ClientTypeCodeRepository extends CoreRepository { - @Query("from ClientTypeCodeEntity " + - "where (expiryDate is null or expiryDate > :activeDate) " + - "and effectiveDate <= :activeDate") - List findActiveAt(@Param("activeDate") Date activeDate); - + @Query("from ClientTypeCodeEntity " + + "where (expiryDate is null or expiryDate > :activeDate) " + + "and effectiveDate <= :activeDate") + List findActiveAt(@Param("activeDate") Date activeDate); + } diff --git a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/repository/SubmissionDetailRepository.java b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/repository/SubmissionDetailRepository.java index dd6a51a22e..ca895dcdad 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/repository/SubmissionDetailRepository.java +++ b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/repository/SubmissionDetailRepository.java @@ -1,9 +1,8 @@ package ca.bc.gov.app.m.postgres.client.repository; -import org.springframework.stereotype.Repository; - import ca.bc.gov.app.core.repository.CoreRepository; import ca.bc.gov.app.m.postgres.client.entity.SubmissionDetailEntity; +import org.springframework.stereotype.Repository; @Repository public interface SubmissionDetailRepository extends CoreRepository { diff --git a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/repository/SubmissionRepository.java b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/repository/SubmissionRepository.java index 5dcd12dc86..a772bd9ec8 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/repository/SubmissionRepository.java +++ b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/repository/SubmissionRepository.java @@ -1,9 +1,8 @@ package ca.bc.gov.app.m.postgres.client.repository; -import org.springframework.stereotype.Repository; - import ca.bc.gov.app.core.repository.CoreRepository; import ca.bc.gov.app.m.postgres.client.entity.SubmissionEntity; +import org.springframework.stereotype.Repository; @Repository public interface SubmissionRepository extends CoreRepository { diff --git a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/repository/SubmissionStatusCodeRepository.java b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/repository/SubmissionStatusCodeRepository.java index b9a591c3c0..2624e21ac7 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/repository/SubmissionStatusCodeRepository.java +++ b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/repository/SubmissionStatusCodeRepository.java @@ -1,11 +1,10 @@ package ca.bc.gov.app.m.postgres.client.repository; -import org.springframework.stereotype.Repository; - import ca.bc.gov.app.core.repository.CoreRepository; import ca.bc.gov.app.m.postgres.client.entity.SubmissionStatusCodeEntity; +import org.springframework.stereotype.Repository; @Repository public interface SubmissionStatusCodeRepository extends CoreRepository { - + } diff --git a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/service/ClientService.java b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/service/ClientService.java index 0cbbe48ede..6829ac4387 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/service/ClientService.java +++ b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/service/ClientService.java @@ -1,13 +1,28 @@ package ca.bc.gov.app.m.postgres.client.service; +import ca.bc.gov.app.core.util.CoreUtil; +import ca.bc.gov.app.core.vo.CodeDescrVO; +import ca.bc.gov.app.m.postgres.client.entity.ClientTypeCodeEntity; +import ca.bc.gov.app.m.postgres.client.repository.ClientTypeCodeRepository; +import jakarta.inject.Inject; +import java.util.Date; import java.util.List; +import org.springframework.stereotype.Service; -import ca.bc.gov.app.core.vo.CodeDescrVO; +@Service +public class ClientService { + + @Inject + private CoreUtil coreUtil; + + @Inject + private ClientTypeCodeRepository clientTypeCodeRepository; -public interface ClientService { - - String BEAN_NAME = "clientService"; - List findActiveClientTypeCodes(); + public List findActiveClientTypeCodes() { + Date currentTime = coreUtil.getCurrentTime(); + List clientTypeCodes = clientTypeCodeRepository.findActiveAt(currentTime); + return coreUtil.toSortedCodeDescrVOs(clientTypeCodes); + } } diff --git a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/service/impl/ClientServiceImpl.java b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/service/impl/ClientServiceImpl.java deleted file mode 100644 index 509c775a13..0000000000 --- a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/service/impl/ClientServiceImpl.java +++ /dev/null @@ -1,31 +0,0 @@ -package ca.bc.gov.app.m.postgres.client.service.impl; - -import java.util.Date; -import java.util.List; - -import org.springframework.stereotype.Service; - -import ca.bc.gov.app.core.util.CoreUtil; -import ca.bc.gov.app.core.vo.CodeDescrVO; -import ca.bc.gov.app.m.postgres.client.entity.ClientTypeCodeEntity; -import ca.bc.gov.app.m.postgres.client.repository.ClientTypeCodeRepository; -import ca.bc.gov.app.m.postgres.client.service.ClientService; -import jakarta.inject.Inject; - -@Service(ClientService.BEAN_NAME) -public class ClientServiceImpl implements ClientService { - - @Inject - private CoreUtil coreUtil; - - @Inject - private ClientTypeCodeRepository clientTypeCodeRepository; - - @Override - public List findActiveClientTypeCodes() { - Date currentTime = coreUtil.getCurrentTime(); - List clientTypeCodes = clientTypeCodeRepository.findActiveAt(currentTime); - return coreUtil.toSortedCodeDescrVOs(clientTypeCodes); - } - -} diff --git a/backend/src/test/java/ca/bc/gov/app/m/oracle/legacyclient/controller/LegacyClientControllerTest.java b/backend/src/test/java/ca/bc/gov/app/m/oracle/legacyclient/controller/LegacyClientControllerTest.java index 7e92413a6a..a775d1270e 100644 --- a/backend/src/test/java/ca/bc/gov/app/m/oracle/legacyclient/controller/LegacyClientControllerTest.java +++ b/backend/src/test/java/ca/bc/gov/app/m/oracle/legacyclient/controller/LegacyClientControllerTest.java @@ -3,76 +3,78 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.BDDMockito.given; +import ca.bc.gov.app.m.oracle.legacyclient.entity.ForestClientEntity; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Date; import java.util.List; - import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; -import ca.bc.gov.app.m.oracle.legacyclient.entity.ForestClientEntity; - @ExtendWith(MockitoExtension.class) public class LegacyClientControllerTest { - public static final String COMPANY_NAME = "test_company"; - public static final String IncorporationNumber = "BC00001"; - public static final String FirstName = "Test"; - public static final String LastName = "Green"; - public static final String BirthDate = "1980-10-20"; - - @Mock - private LegacyClientController legacyClientController; - - private ForestClientEntity client; - private ForestClientEntity indivudual; - - @BeforeEach - public void setup() throws Exception { - - client = new ForestClientEntity(); - client.setClientNumber("00000001"); - client.setClientName(COMPANY_NAME); - client.setRegistryCompanyTypeCode("BC"); - client.setCorpRegnNmbr("00001"); - - SimpleDateFormat formatter = new SimpleDateFormat("yyyy-mm-dd"); - Date date = formatter.parse(BirthDate); - indivudual = new ForestClientEntity(); - indivudual.setClientNumber("00000002"); - indivudual.setClientName(LastName); - indivudual.setBirthdate(date); - indivudual.setLegalFirstName(FirstName); - } - - @Test - public void testFindClientByIncorporationNumberOrName() { - List result = Arrays.asList(client); - - // given - given(legacyClientController.findClientByIncorporationOrName(IncorporationNumber, COMPANY_NAME)).willReturn(result); - - // when - List clients = legacyClientController.findClientByIncorporationOrName(IncorporationNumber, COMPANY_NAME); - - // then - assertThat(clients).isNotNull(); - } - - @Test - public void testFindClientIndividualByNameAndDOB() { - List result = Arrays.asList(indivudual); - - // given - given(legacyClientController.findClientByNameAndBirthdate(FirstName, LastName, BirthDate)).willReturn(result); - - // when - List clients = legacyClientController.findClientByNameAndBirthdate(FirstName, LastName, BirthDate); - - // then - assertThat(clients).isNotNull(); - } + public static final String COMPANY_NAME = "test_company"; + public static final String IncorporationNumber = "BC00001"; + public static final String FirstName = "Test"; + public static final String LastName = "Green"; + public static final String BirthDate = "1980-10-20"; + + @Mock + private LegacyClientController legacyClientController; + + private ForestClientEntity client; + private ForestClientEntity indivudual; + + @BeforeEach + public void setup() throws Exception { + + client = new ForestClientEntity(); + client.setClientNumber("00000001"); + client.setClientName(COMPANY_NAME); + client.setRegistryCompanyTypeCode("BC"); + client.setCorpRegnNmbr("00001"); + + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-mm-dd"); + Date date = formatter.parse(BirthDate); + indivudual = new ForestClientEntity(); + indivudual.setClientNumber("00000002"); + indivudual.setClientName(LastName); + indivudual.setBirthdate(date); + indivudual.setLegalFirstName(FirstName); + } + + @Test + public void testFindClientByIncorporationNumberOrName() { + List result = Arrays.asList(client); + + // given + given(legacyClientController.findClientByIncorporationOrName(IncorporationNumber, + COMPANY_NAME)).willReturn(result); + + // when + List clients = + legacyClientController.findClientByIncorporationOrName(IncorporationNumber, COMPANY_NAME); + + // then + assertThat(clients).isNotNull(); + } + + @Test + public void testFindClientIndividualByNameAndDOB() { + List result = Arrays.asList(indivudual); + + // given + given(legacyClientController.findClientByNameAndBirthdate(FirstName, LastName, + BirthDate)).willReturn(result); + + // when + List clients = + legacyClientController.findClientByNameAndBirthdate(FirstName, LastName, BirthDate); + + // then + assertThat(clients).isNotNull(); + } } diff --git a/backend/src/test/java/ca/bc/gov/app/m/postgres/client/controller/ClientControllerTest.java b/backend/src/test/java/ca/bc/gov/app/m/postgres/client/controller/ClientControllerTest.java index b34e0f0794..d27f3c6f20 100644 --- a/backend/src/test/java/ca/bc/gov/app/m/postgres/client/controller/ClientControllerTest.java +++ b/backend/src/test/java/ca/bc/gov/app/m/postgres/client/controller/ClientControllerTest.java @@ -3,59 +3,57 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.BDDMockito.given; +import ca.bc.gov.app.core.vo.CodeDescrVO; +import ca.bc.gov.app.m.postgres.client.entity.ClientTypeCodeEntity; import java.util.Arrays; import java.util.Date; import java.util.List; - import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; -import ca.bc.gov.app.core.vo.CodeDescrVO; -import ca.bc.gov.app.m.postgres.client.entity.ClientTypeCodeEntity; - @ExtendWith(MockitoExtension.class) public class ClientControllerTest { - public static final String CLIENT_NUMBER = "00000008"; - public static final String CLIENT_NUMBER_INVALID = "abc"; - - @Mock - private ClientController clientController; - - private ClientTypeCodeEntity clientTypeCode; - private CodeDescrVO codeDescrVO; - - @BeforeEach - public void setup() throws Exception { - Date today = new Date(); - Date tomorrow = new Date(today.getTime() + (1000 * 60 * 60 * 24)); - - clientTypeCode = new ClientTypeCodeEntity(); - clientTypeCode.setCode("ACT"); - clientTypeCode.setDescription("Active"); - clientTypeCode.setEffectiveDate(today); - clientTypeCode.setExpiryDate(tomorrow); - - codeDescrVO = new CodeDescrVO(clientTypeCode.getCode(), clientTypeCode.getDescription(), - clientTypeCode.getEffectiveDate(), clientTypeCode.getExpiryDate()); - } - - @Test - public void testFindActiveClientTypeCodes() { - List result = Arrays.asList(codeDescrVO); - - // given - given(clientController.findActiveClientTypeCodes()) - .willReturn(result); - - // when - List activeClientTypes = clientController.findActiveClientTypeCodes(); - - // then - assertThat(activeClientTypes).isNotNull(); - - // todo: how to test if only returns active ones - } + public static final String CLIENT_NUMBER = "00000008"; + public static final String CLIENT_NUMBER_INVALID = "abc"; + + @Mock + private ClientController clientController; + + private ClientTypeCodeEntity clientTypeCode; + private CodeDescrVO codeDescrVO; + + @BeforeEach + public void setup() throws Exception { + Date today = new Date(); + Date tomorrow = new Date(today.getTime() + (1000 * 60 * 60 * 24)); + + clientTypeCode = new ClientTypeCodeEntity(); + clientTypeCode.setCode("ACT"); + clientTypeCode.setDescription("Active"); + clientTypeCode.setEffectiveDate(today); + clientTypeCode.setExpiryDate(tomorrow); + + codeDescrVO = new CodeDescrVO(clientTypeCode.getCode(), clientTypeCode.getDescription(), + clientTypeCode.getEffectiveDate(), clientTypeCode.getExpiryDate(), null); + } + + @Test + public void testFindActiveClientTypeCodes() { + List result = Arrays.asList(codeDescrVO); + + // given + given(clientController.findActiveClientTypeCodes()) + .willReturn(result); + + // when + List activeClientTypes = clientController.findActiveClientTypeCodes(); + + // then + assertThat(activeClientTypes).isNotNull(); + + // todo: how to test if only returns active ones + } } From a367ca28745a03e86c991dec674dcadc101a45b1 Mon Sep 17 00:00:00 2001 From: Paulo Gomes da Cruz Junior Date: Wed, 14 Dec 2022 12:47:33 -0800 Subject: [PATCH 04/31] chore: removing dependencies removed a few dependencies as they are not required: - jakarta.inject-api - commons-collections - jettison - spring-context-indexer Fix #188 --- backend/pom.xml | 32 ++++++------------- .../ca/bc/gov/app/core/util/CoreUtil.java | 5 ++- .../ChesCommonServicesController.java | 4 +-- .../service/ChesCommonServicesService.java | 16 +++++----- .../m/ob/controller/OrgBookApiController.java | 4 +-- .../app/m/ob/service/OrgBookApiService.java | 8 ++--- .../m/om/controller/OpenMapsController.java | 2 +- .../gov/app/m/om/service/OpenMapsService.java | 8 ++--- .../controller/LegacyClientController.java | 4 +-- .../service/LegacyClientService.java | 6 ++-- .../client/controller/ClientController.java | 4 +-- .../client/service/ClientService.java | 6 ++-- 12 files changed, 42 insertions(+), 57 deletions(-) diff --git a/backend/pom.xml b/backend/pom.xml index eca92d9a31..538a80d902 100644 --- a/backend/pom.xml +++ b/backend/pom.xml @@ -64,16 +64,12 @@ org.springframework.boot spring-boot-starter-web + com.h2database h2 test - - org.springframework.boot - spring-boot-starter-test - test - com.oracle.database.jdbc ojdbc11 @@ -82,40 +78,30 @@ org.postgresql postgresql - - jakarta.inject - jakarta.inject-api - 2.0.1 - - - commons-collections - commons-collections - 3.2.2 - + org.apache.commons commons-lang3 3.12.0 + org.springdoc springdoc-openapi-starter-webmvc-ui 2.0.0 + org.apache.oltu.oauth2 org.apache.oltu.oauth2.client 1.0.2 + + - org.codehaus.jettison - jettison - 1.5.3 - - - org.springframework - spring-context-indexer - true + org.springframework.boot + spring-boot-starter-test + test diff --git a/backend/src/main/java/ca/bc/gov/app/core/util/CoreUtil.java b/backend/src/main/java/ca/bc/gov/app/core/util/CoreUtil.java index 8c5a87fc38..be4e77e7f9 100644 --- a/backend/src/main/java/ca/bc/gov/app/core/util/CoreUtil.java +++ b/backend/src/main/java/ca/bc/gov/app/core/util/CoreUtil.java @@ -16,7 +16,6 @@ import java.util.Date; import java.util.List; import java.util.stream.Collectors; -import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Component; @@ -74,7 +73,7 @@ public List fromCsvToStringList(String csvString) { public String fromStringListToCsvWithAposthrophe(String csvString) { List tempList = fromCsvToStringList(csvString); - if (CollectionUtils.isEmpty(tempList)) { + if (tempList.isEmpty()) { return null; } String finalStr = null; @@ -126,7 +125,7 @@ public Date toDate(String dateStr, String format) { } } - public boolean isSame(String value1, String value2){ + public boolean isSame(String value1, String value2) { return StringUtils.isNotBlank(value1) && StringUtils.isNotBlank(value2) && diff --git a/backend/src/main/java/ca/bc/gov/app/m/ches/controller/ChesCommonServicesController.java b/backend/src/main/java/ca/bc/gov/app/m/ches/controller/ChesCommonServicesController.java index 0f78337cfb..8dcebd8b10 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/ches/controller/ChesCommonServicesController.java +++ b/backend/src/main/java/ca/bc/gov/app/m/ches/controller/ChesCommonServicesController.java @@ -4,9 +4,9 @@ import ca.bc.gov.app.m.ches.service.ChesCommonServicesService; import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.inject.Inject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.RequestMapping; @@ -23,7 +23,7 @@ public class ChesCommonServicesController { public static final Logger logger = LoggerFactory.getLogger(ChesCommonServicesController.class); - @Inject + @Autowired private ChesCommonServicesService ChesEmailService; @RequestMapping(value = "/sendEmail", diff --git a/backend/src/main/java/ca/bc/gov/app/m/ches/service/ChesCommonServicesService.java b/backend/src/main/java/ca/bc/gov/app/m/ches/service/ChesCommonServicesService.java index 264f20c691..d017789fcc 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/ches/service/ChesCommonServicesService.java +++ b/backend/src/main/java/ca/bc/gov/app/m/ches/service/ChesCommonServicesService.java @@ -3,13 +3,13 @@ import java.net.URI; import java.net.URISyntaxException; import java.util.List; +import java.util.Map; import org.apache.oltu.oauth2.client.OAuthClient; import org.apache.oltu.oauth2.client.URLConnectionClient; import org.apache.oltu.oauth2.client.request.OAuthClientRequest; import org.apache.oltu.oauth2.client.response.OAuthJSONAccessTokenResponse; import org.apache.oltu.oauth2.common.OAuth; import org.apache.oltu.oauth2.common.message.types.GrantType; -import org.codehaus.jettison.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.http.HttpEntity; @@ -65,13 +65,13 @@ public ResponseEntity sendEmail(String emailTo, String emailBody) { String url = System.getenv("CHES_API_URL") + "/email"; - JSONObject request = new JSONObject(); - request.put("bodyType", "html"); - request.put("body", emailBody); - request.put("from", "FSA_donotreply@gov.bc.ca"); - request.put("subject", "Forest Client Application Confirmation"); - List emailToList = List.of(emailTo.replaceAll("\\s", "").split(",")); - request.put("to", emailToList); + Map request = Map.of( + "bodyType", "html", + "body", emailBody, + "from", "FSA_donotreply@gov.bc.ca", + "subject", "Forest Client Application Confirmation", + "to", List.of(emailTo.replaceAll("\\s", "").split(",")) + ); HttpEntity entity = new HttpEntity(request.toString(), headers); String response = restTemplate.postForObject(toURI(url), entity, String.class); diff --git a/backend/src/main/java/ca/bc/gov/app/m/ob/controller/OrgBookApiController.java b/backend/src/main/java/ca/bc/gov/app/m/ob/controller/OrgBookApiController.java index ac95cab9b5..5f8a094bce 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/ob/controller/OrgBookApiController.java +++ b/backend/src/main/java/ca/bc/gov/app/m/ob/controller/OrgBookApiController.java @@ -6,10 +6,10 @@ import ca.bc.gov.app.m.oracle.legacyclient.entity.ClientDoingBusinessAsEntity; import ca.bc.gov.app.m.oracle.legacyclient.entity.ForestClientEntity; import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.inject.Inject; import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -27,7 +27,7 @@ public class OrgBookApiController { public static final Logger logger = LoggerFactory.getLogger(OrgBookApiController.class); - @Inject + @Autowired private OrgBookApiService orgBookApiService; @RequestMapping(value = "/findByIncorporationNumber", diff --git a/backend/src/main/java/ca/bc/gov/app/m/ob/service/OrgBookApiService.java b/backend/src/main/java/ca/bc/gov/app/m/ob/service/OrgBookApiService.java index 4634abb130..cb62eb2de6 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/ob/service/OrgBookApiService.java +++ b/backend/src/main/java/ca/bc/gov/app/m/ob/service/OrgBookApiService.java @@ -7,7 +7,6 @@ import ca.bc.gov.app.m.oracle.legacyclient.repository.ClientDoingBusinessAsRepository; import ca.bc.gov.app.m.oracle.legacyclient.repository.ForestClientRepository; import ca.bc.gov.app.m.oracle.legacyclient.vo.ClientPublicViewVO; -import jakarta.inject.Inject; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URI; @@ -20,6 +19,7 @@ import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.PageRequest; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; @@ -30,13 +30,13 @@ public class OrgBookApiService { public static final Logger logger = LoggerFactory.getLogger(OrgBookApiService.class); - @Inject + @Autowired private CoreUtil coreUtil; - @Inject + @Autowired private ClientDoingBusinessAsRepository clientDoingBusinessAsRepository; - @Inject + @Autowired private ForestClientRepository forestClientRepository; diff --git a/backend/src/main/java/ca/bc/gov/app/m/om/controller/OpenMapsController.java b/backend/src/main/java/ca/bc/gov/app/m/om/controller/OpenMapsController.java index 5a074bed1f..973a99398c 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/om/controller/OpenMapsController.java +++ b/backend/src/main/java/ca/bc/gov/app/m/om/controller/OpenMapsController.java @@ -17,7 +17,7 @@ public class OpenMapsController { public static final Logger logger = LoggerFactory.getLogger(OpenMapsController.class); // -// @Inject +// @Autowired // private OpenMapsService dataValidationService; // // @ApiOperation(value = "This method is used to get the current date.", hidden = true) diff --git a/backend/src/main/java/ca/bc/gov/app/m/om/service/OpenMapsService.java b/backend/src/main/java/ca/bc/gov/app/m/om/service/OpenMapsService.java index 71e5f2fb05..e879362d6c 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/om/service/OpenMapsService.java +++ b/backend/src/main/java/ca/bc/gov/app/m/om/service/OpenMapsService.java @@ -7,13 +7,13 @@ import ca.bc.gov.app.m.oracle.legacyclient.entity.ForestClientEntity; import ca.bc.gov.app.m.oracle.legacyclient.repository.ClientLocationRepository; import ca.bc.gov.app.m.oracle.legacyclient.repository.ForestClientRepository; -import jakarta.inject.Inject; import java.net.URI; import java.net.URISyntaxException; import java.util.ArrayList; import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import org.springframework.web.client.RestTemplate; @@ -21,13 +21,13 @@ @Service public class OpenMapsService { - @Inject + @Autowired private ForestClientRepository forestClientRepository; - @Inject + @Autowired private ClientLocationRepository clientLocationRepository; - @Inject + @Autowired private CoreUtil coreUtil; public static final Logger logger = LoggerFactory.getLogger(OpenMapsService.class); diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/controller/LegacyClientController.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/controller/LegacyClientController.java index b16f7f3533..72e6a3a0e9 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/controller/LegacyClientController.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/controller/LegacyClientController.java @@ -7,10 +7,10 @@ import ca.bc.gov.app.m.oracle.legacyclient.service.LegacyClientService; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.inject.Inject; import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.repository.query.Param; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.RequestMapping; @@ -26,7 +26,7 @@ public class LegacyClientController { public static final Logger logger = LoggerFactory.getLogger(LegacyClientController.class); - @Inject + @Autowired private LegacyClientService legacyClientService; @RequestMapping(value = "/findClientByIncorporationNumberOrName", method = RequestMethod.GET, produces = APPLICATION_JSON_VALUE) diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/service/LegacyClientService.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/service/LegacyClientService.java index 0d2dfb4978..08e804dba5 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/service/LegacyClientService.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/service/LegacyClientService.java @@ -3,11 +3,11 @@ import ca.bc.gov.app.core.util.CoreUtil; import ca.bc.gov.app.m.oracle.legacyclient.entity.ForestClientEntity; import ca.bc.gov.app.m.oracle.legacyclient.repository.ForestClientRepository; -import jakarta.inject.Inject; import java.util.Date; import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service @@ -17,10 +17,10 @@ public class LegacyClientService { public static final String DATE_FORMAT = "yyyy-MM-dd"; - @Inject + @Autowired private ForestClientRepository forestClientRepository; - @Inject + @Autowired private CoreUtil coreUtil; diff --git a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/controller/ClientController.java b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/controller/ClientController.java index fbac3fa1f2..eb5bf1bca5 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/controller/ClientController.java +++ b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/controller/ClientController.java @@ -6,10 +6,10 @@ import ca.bc.gov.app.core.vo.CodeDescrVO; import ca.bc.gov.app.m.postgres.client.service.ClientService; import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.inject.Inject; import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; @@ -21,7 +21,7 @@ public class ClientController { public static final Logger logger = LoggerFactory.getLogger(ClientController.class); - @Inject + @Autowired private ClientService clientService; @RequestMapping(value = "/findActiveClientTypeCodes", method = RequestMethod.GET, produces = APPLICATION_JSON_VALUE) diff --git a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/service/ClientService.java b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/service/ClientService.java index 6829ac4387..4f1ba9589c 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/service/ClientService.java +++ b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/service/ClientService.java @@ -4,18 +4,18 @@ import ca.bc.gov.app.core.vo.CodeDescrVO; import ca.bc.gov.app.m.postgres.client.entity.ClientTypeCodeEntity; import ca.bc.gov.app.m.postgres.client.repository.ClientTypeCodeRepository; -import jakarta.inject.Inject; import java.util.Date; import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class ClientService { - @Inject + @Autowired private CoreUtil coreUtil; - @Inject + @Autowired private ClientTypeCodeRepository clientTypeCodeRepository; From 41448cf52cbdd6cd364a3cbd6d78b493a156117c Mon Sep 17 00:00:00 2001 From: Paulo Gomes da Cruz Junior Date: Wed, 14 Dec 2022 12:50:46 -0800 Subject: [PATCH 05/31] chore: removing component from entity Entity classes are supposed to be session-bounded. By annotating a class with @Component you're flagging it for spring to instantiate it as a managed bean, keeping it as a singleton. As an entity is supposed to be just a data holder for the database, it makes no sense to use it as a component. The scope controls the component scope or in simple words, marks how spring will control this singleton lifecycle. You can set a scope per user session (meaning that a bean will exist for each user session) or more global. Fix #188 --- .../entity/ClientDoingBusinessAsEntity.java | 25 +++++++----------- .../entity/ClientLocationEntity.java | 25 +++++++----------- .../entity/ClientPublicViewEntity.java | 26 +++++++------------ .../entity/ClientStatusCodeEntity.java | 7 ----- .../entity/ForestClientEntity.java | 25 +++++++----------- .../client/entity/ClientTypeCodeEntity.java | 7 ----- .../client/entity/SubmissionDetailEntity.java | 25 +++++++----------- .../client/entity/SubmissionEntity.java | 25 +++++++----------- .../entity/SubmissionStatusCodeEntity.java | 7 ----- 9 files changed, 54 insertions(+), 118 deletions(-) diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientDoingBusinessAsEntity.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientDoingBusinessAsEntity.java index 6baf6eb35b..1c1962a7c6 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientDoingBusinessAsEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientDoingBusinessAsEntity.java @@ -2,25 +2,18 @@ import ca.bc.gov.app.core.configuration.OraclePersistenceConfiguration; import ca.bc.gov.app.core.entity.AbstractEntity; -import ca.bc.gov.app.core.misc.scope.ScopeConstant; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; import java.util.Objects; -import org.springframework.context.annotation.Scope; -import org.springframework.stereotype.Component; @Entity @Table(name = "CLIENT_DOING_BUSINESS_AS", schema = OraclePersistenceConfiguration.ORACLE_ATTRIBUTE_SCHEMA) -@Component(ClientDoingBusinessAsEntity.BEAN_NAME) -@Scope(ScopeConstant.PROTOTYPE) public class ClientDoingBusinessAsEntity implements AbstractEntity { private static final long serialVersionUID = 608865729103878585L; - public static final String BEAN_NAME = "clientDoingBusinessAsEntity"; - @Id @Column(name = "CLIENT_NUMBER") private String clientNumber; @@ -51,15 +44,15 @@ public int hashCode() { @Override public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } ClientDoingBusinessAsEntity other = (ClientDoingBusinessAsEntity) obj; return Objects.equals(clientNumber, other.clientNumber); } diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientLocationEntity.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientLocationEntity.java index b8346e2b9c..6fe61fcce7 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientLocationEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientLocationEntity.java @@ -2,26 +2,19 @@ import ca.bc.gov.app.core.configuration.OraclePersistenceConfiguration; import ca.bc.gov.app.core.entity.AbstractEntity; -import ca.bc.gov.app.core.misc.scope.ScopeConstant; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; import java.util.Date; import java.util.Objects; -import org.springframework.context.annotation.Scope; -import org.springframework.stereotype.Component; @Entity @Table(name = "CLIENT_LOCATION", schema = OraclePersistenceConfiguration.ORACLE_ATTRIBUTE_SCHEMA) -@Component(ClientLocationEntity.BEAN_NAME) -@Scope(ScopeConstant.PROTOTYPE) public class ClientLocationEntity implements AbstractEntity { private static final long serialVersionUID = -1795480401567670619L; - public static final String BEAN_NAME = "clientLocationEntity"; - @Id @Column(name = "CLIENT_NUMBER") private String clientNumber; @@ -327,15 +320,15 @@ public int hashCode() { @Override public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } ClientLocationEntity other = (ClientLocationEntity) obj; return Objects.equals(clientNumber, other.clientNumber); } diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientPublicViewEntity.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientPublicViewEntity.java index b85ba4e3c8..d0ee0e8d69 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientPublicViewEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientPublicViewEntity.java @@ -2,25 +2,17 @@ import ca.bc.gov.app.core.configuration.OraclePersistenceConfiguration; import ca.bc.gov.app.core.entity.AbstractEntity; -import ca.bc.gov.app.core.misc.scope.ScopeConstant; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; import java.util.Objects; -import org.springframework.context.annotation.Scope; -import org.springframework.stereotype.Component; @Entity @Table(name = "V_CLIENT_PUBLIC", schema = OraclePersistenceConfiguration.ORACLE_ATTRIBUTE_SCHEMA) -@Component(ClientPublicViewEntity.BEAN_NAME) -@Scope(ScopeConstant.PROTOTYPE) public class ClientPublicViewEntity implements AbstractEntity { private static final long serialVersionUID = -3060423136744818530L; - - public static final String BEAN_NAME = "clientPublicViewEntity"; - @Id @Column(name = "CLIENT_NUMBER") private String clientNumber; @@ -95,15 +87,15 @@ public int hashCode() { @Override public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } ClientPublicViewEntity other = (ClientPublicViewEntity) obj; return Objects.equals(clientNumber, other.clientNumber); } diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientStatusCodeEntity.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientStatusCodeEntity.java index b61e8366c4..7b662dda95 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientStatusCodeEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientStatusCodeEntity.java @@ -2,25 +2,18 @@ import ca.bc.gov.app.core.configuration.OraclePersistenceConfiguration; import ca.bc.gov.app.core.entity.AbstractEntity; -import ca.bc.gov.app.core.misc.scope.ScopeConstant; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; import java.util.Date; -import org.springframework.context.annotation.Scope; -import org.springframework.stereotype.Component; @Entity @Table(name = "CLIENT_STATUS_CODE", schema = OraclePersistenceConfiguration.ORACLE_ATTRIBUTE_SCHEMA) -@Component(ClientStatusCodeEntity.BEAN_NAME) -@Scope(ScopeConstant.PROTOTYPE) public class ClientStatusCodeEntity implements AbstractEntity { private static final long serialVersionUID = 4341025008217142732L; - public static final String BEAN_NAME = "clientStatusCodeEntity"; - public static final String ACTIVE = "ACT"; @Id diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ForestClientEntity.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ForestClientEntity.java index bc39aee8f8..c88621b493 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ForestClientEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ForestClientEntity.java @@ -2,26 +2,19 @@ import ca.bc.gov.app.core.configuration.OraclePersistenceConfiguration; import ca.bc.gov.app.core.entity.AbstractEntity; -import ca.bc.gov.app.core.misc.scope.ScopeConstant; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; import java.util.Date; import java.util.Objects; -import org.springframework.context.annotation.Scope; -import org.springframework.stereotype.Component; @Entity @Table(name = "FOREST_CLIENT", schema = OraclePersistenceConfiguration.ORACLE_ATTRIBUTE_SCHEMA) -@Component(ForestClientEntity.BEAN_NAME) -@Scope(ScopeConstant.PROTOTYPE) public class ForestClientEntity implements AbstractEntity { private static final long serialVersionUID = 832879803987592344L; - public static final String BEAN_NAME = "forestClientEntity"; - @Id @Column(name = "CLIENT_NUMBER") private String clientNumber; @@ -272,15 +265,15 @@ public int hashCode() { @Override public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } ForestClientEntity other = (ForestClientEntity) obj; return Objects.equals(clientNumber, other.clientNumber); } diff --git a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/ClientTypeCodeEntity.java b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/ClientTypeCodeEntity.java index caf5ed73b1..13c1e0a02a 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/ClientTypeCodeEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/ClientTypeCodeEntity.java @@ -2,24 +2,17 @@ import ca.bc.gov.app.core.configuration.PostgresPersistenceConfiguration; import ca.bc.gov.app.core.entity.AbstractCodeDescrEntity; -import ca.bc.gov.app.core.misc.scope.ScopeConstant; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; -import org.springframework.context.annotation.Scope; -import org.springframework.stereotype.Component; @Entity @Table(name = "CLIENT_TYPE_CODE", schema = PostgresPersistenceConfiguration.POSTGRES_ATTRIBUTE_SCHEMA) -@Component(ClientTypeCodeEntity.BEAN_NAME) -@Scope(ScopeConstant.PROTOTYPE) public class ClientTypeCodeEntity extends AbstractCodeDescrEntity { private static final long serialVersionUID = 8069253248355277428L; - public static final String BEAN_NAME = "clientTypeCodeEntity"; - public static final String INDIVIDUAL = "I"; public static final String ASSOCIATION = "A"; public static final String CORPORATION = "C"; diff --git a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionDetailEntity.java b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionDetailEntity.java index 5f5f418690..db20e21193 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionDetailEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionDetailEntity.java @@ -2,7 +2,6 @@ import ca.bc.gov.app.core.configuration.PostgresPersistenceConfiguration; import ca.bc.gov.app.core.entity.AbstractEntity; -import ca.bc.gov.app.core.misc.scope.ScopeConstant; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; @@ -14,19 +13,13 @@ import jakarta.persistence.Table; import java.util.Date; import java.util.Objects; -import org.springframework.context.annotation.Scope; -import org.springframework.stereotype.Component; @Entity @Table(name = "SUBMISSION_DETAIL", schema = PostgresPersistenceConfiguration.POSTGRES_ATTRIBUTE_SCHEMA) -@Component(SubmissionDetailEntity.BEAN_NAME) -@Scope(ScopeConstant.PROTOTYPE) public class SubmissionDetailEntity implements AbstractEntity { private static final long serialVersionUID = -8966248654104607818L; - public static final String BEAN_NAME = "submissionDetailEntity"; - @Id @GeneratedValue(generator = "SEQ_SUBMISSION_DETAIL") @SequenceGenerator(name = "SEQ_SUBMISSION_DETAIL", @@ -152,15 +145,15 @@ public int hashCode() { @Override public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } SubmissionDetailEntity other = (SubmissionDetailEntity) obj; return Objects.equals(submissionDetailId, other.submissionDetailId); } diff --git a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionEntity.java b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionEntity.java index 7118401e1b..af9b20d778 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionEntity.java @@ -2,7 +2,6 @@ import ca.bc.gov.app.core.configuration.PostgresPersistenceConfiguration; import ca.bc.gov.app.core.entity.AbstractEntity; -import ca.bc.gov.app.core.misc.scope.ScopeConstant; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; @@ -13,19 +12,13 @@ import jakarta.persistence.Table; import java.util.Date; import java.util.Objects; -import org.springframework.context.annotation.Scope; -import org.springframework.stereotype.Component; @Entity @Table(name = "SUBMISSION", schema = PostgresPersistenceConfiguration.POSTGRES_ATTRIBUTE_SCHEMA) -@Component(SubmissionEntity.BEAN_NAME) -@Scope(ScopeConstant.PROTOTYPE) public class SubmissionEntity implements AbstractEntity { private static final long serialVersionUID = -8966248654104607818L; - public static final String BEAN_NAME = "submissionEntity"; - @Id @GeneratedValue(generator = "SEQ_SUBMISSION") @SequenceGenerator(name = "SEQ_SUBMISSION", @@ -117,15 +110,15 @@ public int hashCode() { @Override public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } SubmissionEntity other = (SubmissionEntity) obj; return Objects.equals(submissionId, other.submissionId); } diff --git a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionStatusCodeEntity.java b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionStatusCodeEntity.java index 80186d1f3a..b8f6094064 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionStatusCodeEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionStatusCodeEntity.java @@ -2,24 +2,17 @@ import ca.bc.gov.app.core.configuration.PostgresPersistenceConfiguration; import ca.bc.gov.app.core.entity.AbstractCodeDescrEntity; -import ca.bc.gov.app.core.misc.scope.ScopeConstant; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; -import org.springframework.context.annotation.Scope; -import org.springframework.stereotype.Component; @Entity @Table(name = "SUBMISSION_STATUS_CODE", schema = PostgresPersistenceConfiguration.POSTGRES_ATTRIBUTE_SCHEMA) -@Component(SubmissionStatusCodeEntity.BEAN_NAME) -@Scope(ScopeConstant.PROTOTYPE) public class SubmissionStatusCodeEntity extends AbstractCodeDescrEntity { private static final long serialVersionUID = 4341025008217142732L; - public static final String BEAN_NAME = "submissionStatusCodeEntity"; - public static final String IN_PROGRESS = "P"; public static final String APPROVED = "A"; public static final String REJECTED = "R"; From 198fe3835cd077445246d2ec94aac3a7ab5a58e5 Mon Sep 17 00:00:00 2001 From: Paulo Gomes da Cruz Junior Date: Wed, 14 Dec 2022 12:54:48 -0800 Subject: [PATCH 06/31] chore: removing ScopeConstant.java Fix #188 --- .../app/core/misc/scope/ScopeConstant.java | 44 ------------------- 1 file changed, 44 deletions(-) delete mode 100644 backend/src/main/java/ca/bc/gov/app/core/misc/scope/ScopeConstant.java diff --git a/backend/src/main/java/ca/bc/gov/app/core/misc/scope/ScopeConstant.java b/backend/src/main/java/ca/bc/gov/app/core/misc/scope/ScopeConstant.java deleted file mode 100644 index a2c662586b..0000000000 --- a/backend/src/main/java/ca/bc/gov/app/core/misc/scope/ScopeConstant.java +++ /dev/null @@ -1,44 +0,0 @@ -package ca.bc.gov.app.core.misc.scope; - -import org.springframework.beans.factory.config.BeanDefinition; -import org.springframework.web.util.TagUtils; - -public class ScopeConstant { - - /** - * Constant identifying the request scope - */ - public static final String REQUEST = TagUtils.SCOPE_REQUEST; - - /** - * Constant identifying the session scope - */ - public static final String SESSION = TagUtils.SCOPE_SESSION; - - /** - * Constant identifying the application scope - */ - public static final String APPLICATION = TagUtils.SCOPE_APPLICATION; - - /** - * Scope identifier for the standard singleton scope: "singleton". - *

Note that extended bean factories might support further scopes. - * - * @see #setScope - */ - public static final String SINGLETON = BeanDefinition.SCOPE_SINGLETON; - - /** - * Scope identifier for the standard prototype scope: "prototype". - *

Note that extended bean factories might support further scopes. - * - * @see #setScope - */ - public static final String PROTOTYPE = BeanDefinition.SCOPE_PROTOTYPE; - - /** - * Constant identifying the view scope as used in JSF2 - */ - public static final String VIEW = "view"; - -} From 427c5d83f9d08b70ab92de3ade45219b9d42db29 Mon Sep 17 00:00:00 2001 From: Paulo Gomes da Cruz Junior Date: Wed, 14 Dec 2022 12:50:46 -0800 Subject: [PATCH 07/31] chore: removing component from entity Entity classes are supposed to be session-bounded. By annotating a class with @Component you're flagging it for spring to instantiate it as a managed bean, keeping it as a singleton. As an entity is supposed to be just a data holder for the database, it makes no sense to use it as a component. The scope controls the component scope or in simple words, marks how spring will control this singleton lifecycle. You can set a scope per user session (meaning that a bean will exist for each user session) or more global. Fix #188 --- .../entity/ClientDoingBusinessAsEntity.java | 101 ++-- .../entity/ClientLocationEntity.java | 483 +++++++++--------- .../entity/ClientPublicViewEntity.java | 188 ++++--- .../entity/ClientStatusCodeEntity.java | 150 +++--- .../entity/ForestClientEntity.java | 403 +++++++-------- .../client/entity/ClientTypeCodeEntity.java | 55 +- .../client/entity/SubmissionDetailEntity.java | 274 +++++----- .../client/entity/SubmissionEntity.java | 224 ++++---- .../entity/SubmissionStatusCodeEntity.java | 45 +- 9 files changed, 927 insertions(+), 996 deletions(-) diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientDoingBusinessAsEntity.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientDoingBusinessAsEntity.java index 9a3c3a6eef..1c1962a7c6 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientDoingBusinessAsEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientDoingBusinessAsEntity.java @@ -1,67 +1,60 @@ package ca.bc.gov.app.m.oracle.legacyclient.entity; -import java.util.Objects; - +import ca.bc.gov.app.core.configuration.OraclePersistenceConfiguration; +import ca.bc.gov.app.core.entity.AbstractEntity; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; - -import org.springframework.context.annotation.Scope; -import org.springframework.stereotype.Component; - -import ca.bc.gov.app.core.configuration.OraclePersistenceConfiguration; -import ca.bc.gov.app.core.entity.AbstractEntity; -import ca.bc.gov.app.core.misc.scope.ScopeConstant; +import java.util.Objects; @Entity @Table(name = "CLIENT_DOING_BUSINESS_AS", schema = OraclePersistenceConfiguration.ORACLE_ATTRIBUTE_SCHEMA) -@Component(ClientDoingBusinessAsEntity.BEAN_NAME) -@Scope(ScopeConstant.PROTOTYPE) public class ClientDoingBusinessAsEntity implements AbstractEntity { - private static final long serialVersionUID = 608865729103878585L; - - public static final String BEAN_NAME = "clientDoingBusinessAsEntity"; - - @Id - @Column(name = "CLIENT_NUMBER") - private String clientNumber; - - @Column(name = "DOING_BUSINESS_AS_NAME") - private String doingBusinessAsName; - - public String getClientNumber() { - return clientNumber; - } - - public void setClientNumber(String clientNumber) { - this.clientNumber = clientNumber; - } - - public String getDoingBusinessAsName() { - return doingBusinessAsName; - } - - public void setDoingBusinessAsName(String doingBusinessAsName) { - this.doingBusinessAsName = doingBusinessAsName; - } - - @Override - public int hashCode() { - return Objects.hash(clientNumber); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - ClientDoingBusinessAsEntity other = (ClientDoingBusinessAsEntity) obj; - return Objects.equals(clientNumber, other.clientNumber); - } + private static final long serialVersionUID = 608865729103878585L; + + @Id + @Column(name = "CLIENT_NUMBER") + private String clientNumber; + + @Column(name = "DOING_BUSINESS_AS_NAME") + private String doingBusinessAsName; + + public String getClientNumber() { + return clientNumber; + } + + public void setClientNumber(String clientNumber) { + this.clientNumber = clientNumber; + } + + public String getDoingBusinessAsName() { + return doingBusinessAsName; + } + + public void setDoingBusinessAsName(String doingBusinessAsName) { + this.doingBusinessAsName = doingBusinessAsName; + } + + @Override + public int hashCode() { + return Objects.hash(clientNumber); + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + ClientDoingBusinessAsEntity other = (ClientDoingBusinessAsEntity) obj; + return Objects.equals(clientNumber, other.clientNumber); + } } diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientLocationEntity.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientLocationEntity.java index 1beb42bb6b..6fe61fcce7 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientLocationEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientLocationEntity.java @@ -1,343 +1,336 @@ package ca.bc.gov.app.m.oracle.legacyclient.entity; -import java.util.Date; -import java.util.Objects; - +import ca.bc.gov.app.core.configuration.OraclePersistenceConfiguration; +import ca.bc.gov.app.core.entity.AbstractEntity; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; - -import org.springframework.context.annotation.Scope; -import org.springframework.stereotype.Component; - -import ca.bc.gov.app.core.configuration.OraclePersistenceConfiguration; -import ca.bc.gov.app.core.entity.AbstractEntity; -import ca.bc.gov.app.core.misc.scope.ScopeConstant; +import java.util.Date; +import java.util.Objects; @Entity @Table(name = "CLIENT_LOCATION", schema = OraclePersistenceConfiguration.ORACLE_ATTRIBUTE_SCHEMA) -@Component(ClientLocationEntity.BEAN_NAME) -@Scope(ScopeConstant.PROTOTYPE) public class ClientLocationEntity implements AbstractEntity { - private static final long serialVersionUID = -1795480401567670619L; + private static final long serialVersionUID = -1795480401567670619L; - public static final String BEAN_NAME = "clientLocationEntity"; + @Id + @Column(name = "CLIENT_NUMBER") + private String clientNumber; - @Id - @Column(name = "CLIENT_NUMBER") - private String clientNumber; + @Column(name = "CLIENT_LOCN_CODE") + private String clientLocnCode; - @Column(name = "CLIENT_LOCN_CODE") - private String clientLocnCode; + @Column(name = "CLIENT_LOCN_NAME") + private String clientLocnName; - @Column(name = "CLIENT_LOCN_NAME") - private String clientLocnName; + @Column(name = "HDBS_COMPANY_CODE") + private String hdbsCompanyCode; - @Column(name = "HDBS_COMPANY_CODE") - private String hdbsCompanyCode; + @Column(name = "ADDRESS_1") + private String addressOne; - @Column(name = "ADDRESS_1") - private String addressOne; + @Column(name = "ADDRESS_2") + private String addressTwo; - @Column(name = "ADDRESS_2") - private String addressTwo; + @Column(name = "ADDRESS_3") + private String addressThree; - @Column(name = "ADDRESS_3") - private String addressThree; + @Column(name = "CITY") + private String city; - @Column(name = "CITY") - private String city; + @Column(name = "PROVINCE") + private String province; - @Column(name = "PROVINCE") - private String province; + @Column(name = "POSTAL_CODE") + private String postalCode; - @Column(name = "POSTAL_CODE") - private String postalCode; + @Column(name = "COUNTRY") + private String country; - @Column(name = "COUNTRY") - private String country; + @Column(name = "BUSINESS_PHONE") + private String businessPhone; - @Column(name = "BUSINESS_PHONE") - private String businessPhone; + @Column(name = "HOME_PHONE") + private String homePhone; - @Column(name = "HOME_PHONE") - private String homePhone; + @Column(name = "CELL_PHONE") + private String cellPhone; - @Column(name = "CELL_PHONE") - private String cellPhone; + @Column(name = "FAX_NUMBER") + private String faxNumber; - @Column(name = "FAX_NUMBER") - private String faxNumber; + @Column(name = "EMAIL_ADDRESS") + private String emailAddress; - @Column(name = "EMAIL_ADDRESS") - private String emailAddress; + @Column(name = "LOCN_EXPIRED_IND ") + private String locnExpiredInd; - @Column(name = "LOCN_EXPIRED_IND ") - private String locnExpiredInd; + @Column(name = "RETURNED_MAIL_DATE") + private Date returnedMailDate; - @Column(name = "RETURNED_MAIL_DATE") - private Date returnedMailDate; + @Column(name = "TRUST_LOCATION_IND") + private String trustLocationInd; - @Column(name = "TRUST_LOCATION_IND") - private String trustLocationInd; + @Column(name = "CLI_LOCN_COMMENT ") + private String cliLocnComment; - @Column(name = "CLI_LOCN_COMMENT ") - private String cliLocnComment; + @Column(name = "UPDATE_TIMESTAMP") + private Date updateTimestamp; - @Column(name = "UPDATE_TIMESTAMP") - private Date updateTimestamp; + @Column(name = "UPDATE_USERID") + private String updateUserId; - @Column(name = "UPDATE_USERID") - private String updateUserId; + @Column(name = "UPDATE_ORG_UNIT") + private Long updateOrgUnit; - @Column(name = "UPDATE_ORG_UNIT") - private Long updateOrgUnit; + @Column(name = "ADD_TIMESTAMP") + private Date addTimestamp; - @Column(name = "ADD_TIMESTAMP") - private Date addTimestamp; + @Column(name = "ADD_USERID") + private String addUserId; - @Column(name = "ADD_USERID") - private String addUserId; + @Column(name = "ADD_ORG_UNIT") + private Long addOrgUnit; - @Column(name = "ADD_ORG_UNIT") - private Long addOrgUnit; + @Column(name = "REVISION_COUNT") + private Long revisionCount; - @Column(name = "REVISION_COUNT") - private Long revisionCount; + public String getClientNumber() { + return clientNumber; + } - public String getClientNumber() { - return clientNumber; - } + public void setClientNumber(String clientNumber) { + this.clientNumber = clientNumber; + } - public void setClientNumber(String clientNumber) { - this.clientNumber = clientNumber; - } + public String getClientLocnCode() { + return clientLocnCode; + } - public String getClientLocnCode() { - return clientLocnCode; - } + public void setClientLocnCode(String clientLocnCode) { + this.clientLocnCode = clientLocnCode; + } - public void setClientLocnCode(String clientLocnCode) { - this.clientLocnCode = clientLocnCode; - } + public String getClientLocnName() { + return clientLocnName; + } - public String getClientLocnName() { - return clientLocnName; - } + public void setClientLocnName(String clientLocnName) { + this.clientLocnName = clientLocnName; + } - public void setClientLocnName(String clientLocnName) { - this.clientLocnName = clientLocnName; - } + public String getHdbsCompanyCode() { + return hdbsCompanyCode; + } - public String getHdbsCompanyCode() { - return hdbsCompanyCode; - } + public void setHdbsCompanyCode(String hdbsCompanyCode) { + this.hdbsCompanyCode = hdbsCompanyCode; + } - public void setHdbsCompanyCode(String hdbsCompanyCode) { - this.hdbsCompanyCode = hdbsCompanyCode; - } + public String getAddressOne() { + return addressOne; + } - public String getAddressOne() { - return addressOne; - } + public void setAddressOne(String addressOne) { + this.addressOne = addressOne; + } - public void setAddressOne(String addressOne) { - this.addressOne = addressOne; - } + public String getAddressTwo() { + return addressTwo; + } - public String getAddressTwo() { - return addressTwo; - } + public void setAddressTwo(String addressTwo) { + this.addressTwo = addressTwo; + } - public void setAddressTwo(String addressTwo) { - this.addressTwo = addressTwo; - } + public String getAddressThree() { + return addressThree; + } - public String getAddressThree() { - return addressThree; - } + public void setAddressThree(String addressThree) { + this.addressThree = addressThree; + } - public void setAddressThree(String addressThree) { - this.addressThree = addressThree; - } + public String getCity() { + return city; + } - public String getCity() { - return city; - } + public void setCity(String city) { + this.city = city; + } - public void setCity(String city) { - this.city = city; - } + public String getProvince() { + return province; + } - public String getProvince() { - return province; - } + public void setProvince(String province) { + this.province = province; + } - public void setProvince(String province) { - this.province = province; - } + public String getPostalCode() { + return postalCode; + } - public String getPostalCode() { - return postalCode; - } + public void setPostalCode(String postalCode) { + this.postalCode = postalCode; + } - public void setPostalCode(String postalCode) { - this.postalCode = postalCode; - } + public String getCountry() { + return country; + } - public String getCountry() { - return country; - } + public void setCountry(String country) { + this.country = country; + } - public void setCountry(String country) { - this.country = country; - } + public String getBusinessPhone() { + return businessPhone; + } - public String getBusinessPhone() { - return businessPhone; - } + public void setBusinessPhone(String businessPhone) { + this.businessPhone = businessPhone; + } - public void setBusinessPhone(String businessPhone) { - this.businessPhone = businessPhone; - } + public String getHomePhone() { + return homePhone; + } - public String getHomePhone() { - return homePhone; - } + public void setHomePhone(String homePhone) { + this.homePhone = homePhone; + } - public void setHomePhone(String homePhone) { - this.homePhone = homePhone; - } + public String getCellPhone() { + return cellPhone; + } - public String getCellPhone() { - return cellPhone; - } + public void setCellPhone(String cellPhone) { + this.cellPhone = cellPhone; + } - public void setCellPhone(String cellPhone) { - this.cellPhone = cellPhone; - } + public String getFaxNumber() { + return faxNumber; + } - public String getFaxNumber() { - return faxNumber; - } + public void setFaxNumber(String faxNumber) { + this.faxNumber = faxNumber; + } - public void setFaxNumber(String faxNumber) { - this.faxNumber = faxNumber; - } + public String getEmailAddress() { + return emailAddress; + } - public String getEmailAddress() { - return emailAddress; - } + public void setEmailAddress(String emailAddress) { + this.emailAddress = emailAddress; + } - public void setEmailAddress(String emailAddress) { - this.emailAddress = emailAddress; - } + public String getLocnExpiredInd() { + return locnExpiredInd; + } - public String getLocnExpiredInd() { - return locnExpiredInd; - } + public void setLocnExpiredInd(String locnExpiredInd) { + this.locnExpiredInd = locnExpiredInd; + } - public void setLocnExpiredInd(String locnExpiredInd) { - this.locnExpiredInd = locnExpiredInd; - } + public Date getReturnedMailDate() { + return returnedMailDate; + } - public Date getReturnedMailDate() { - return returnedMailDate; - } + public void setReturnedMailDate(Date returnedMailDate) { + this.returnedMailDate = returnedMailDate; + } - public void setReturnedMailDate(Date returnedMailDate) { - this.returnedMailDate = returnedMailDate; - } + public String getTrustLocationInd() { + return trustLocationInd; + } - public String getTrustLocationInd() { - return trustLocationInd; - } + public void setTrustLocationInd(String trustLocationInd) { + this.trustLocationInd = trustLocationInd; + } - public void setTrustLocationInd(String trustLocationInd) { - this.trustLocationInd = trustLocationInd; - } + public String getCliLocnComment() { + return cliLocnComment; + } - public String getCliLocnComment() { - return cliLocnComment; - } + public void setCliLocnComment(String cliLocnComment) { + this.cliLocnComment = cliLocnComment; + } - public void setCliLocnComment(String cliLocnComment) { - this.cliLocnComment = cliLocnComment; - } + public Date getUpdateTimestamp() { + return updateTimestamp; + } - public Date getUpdateTimestamp() { - return updateTimestamp; - } + public void setUpdateTimestamp(Date updateTimestamp) { + this.updateTimestamp = updateTimestamp; + } - public void setUpdateTimestamp(Date updateTimestamp) { - this.updateTimestamp = updateTimestamp; - } + public String getUpdateUserId() { + return updateUserId; + } - public String getUpdateUserId() { - return updateUserId; - } + public void setUpdateUserId(String updateUserId) { + this.updateUserId = updateUserId; + } - public void setUpdateUserId(String updateUserId) { - this.updateUserId = updateUserId; - } + public Long getUpdateOrgUnit() { + return updateOrgUnit; + } - public Long getUpdateOrgUnit() { - return updateOrgUnit; - } + public void setUpdateOrgUnit(Long updateOrgUnit) { + this.updateOrgUnit = updateOrgUnit; + } - public void setUpdateOrgUnit(Long updateOrgUnit) { - this.updateOrgUnit = updateOrgUnit; - } + public Date getAddTimestamp() { + return addTimestamp; + } - public Date getAddTimestamp() { - return addTimestamp; - } + public void setAddTimestamp(Date addTimestamp) { + this.addTimestamp = addTimestamp; + } - public void setAddTimestamp(Date addTimestamp) { - this.addTimestamp = addTimestamp; - } + public String getAddUserId() { + return addUserId; + } - public String getAddUserId() { - return addUserId; - } + public void setAddUserId(String addUserId) { + this.addUserId = addUserId; + } - public void setAddUserId(String addUserId) { - this.addUserId = addUserId; - } + public Long getAddOrgUnit() { + return addOrgUnit; + } - public Long getAddOrgUnit() { - return addOrgUnit; - } + public void setAddOrgUnit(Long addOrgUnit) { + this.addOrgUnit = addOrgUnit; + } - public void setAddOrgUnit(Long addOrgUnit) { - this.addOrgUnit = addOrgUnit; - } + public Long getRevisionCount() { + return revisionCount; + } - public Long getRevisionCount() { - return revisionCount; - } + public void setRevisionCount(Long revisionCount) { + this.revisionCount = revisionCount; + } - public void setRevisionCount(Long revisionCount) { - this.revisionCount = revisionCount; - } + @Override + public int hashCode() { + return Objects.hash(clientNumber); + } - @Override - public int hashCode() { - return Objects.hash(clientNumber); + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - ClientLocationEntity other = (ClientLocationEntity) obj; - return Objects.equals(clientNumber, other.clientNumber); + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; } + ClientLocationEntity other = (ClientLocationEntity) obj; + return Objects.equals(clientNumber, other.clientNumber); + } } diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientPublicViewEntity.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientPublicViewEntity.java index d788e1bc51..d0ee0e8d69 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientPublicViewEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientPublicViewEntity.java @@ -1,111 +1,103 @@ package ca.bc.gov.app.m.oracle.legacyclient.entity; -import java.util.Objects; - +import ca.bc.gov.app.core.configuration.OraclePersistenceConfiguration; +import ca.bc.gov.app.core.entity.AbstractEntity; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; - -import org.springframework.context.annotation.Scope; -import org.springframework.stereotype.Component; - -import ca.bc.gov.app.core.configuration.OraclePersistenceConfiguration; -import ca.bc.gov.app.core.entity.AbstractEntity; -import ca.bc.gov.app.core.misc.scope.ScopeConstant; +import java.util.Objects; @Entity @Table(name = "V_CLIENT_PUBLIC", schema = OraclePersistenceConfiguration.ORACLE_ATTRIBUTE_SCHEMA) -@Component(ClientPublicViewEntity.BEAN_NAME) -@Scope(ScopeConstant.PROTOTYPE) public class ClientPublicViewEntity implements AbstractEntity { - private static final long serialVersionUID = -3060423136744818530L; - - public static final String BEAN_NAME = "clientPublicViewEntity"; - - @Id - @Column(name = "CLIENT_NUMBER") - private String clientNumber; - - @Column(name = "CLIENT_NAME") - private String clientName; - - @Column(name = "LEGAL_FIRST_NAME") - private String legalFirstName; - - @Column(name = "LEGAL_MIDDLE_NAME") - private String legalMiddleName; - - @Column(name = "CLIENT_STATUS_CODE") - private String clientStatusCode; - - @Column(name = "CLIENT_TYPE_CODE") - private String clientTypeCode; - - public String getClientNumber() { - return clientNumber; - } - - public void setClientNumber(String clientNumber) { - this.clientNumber = clientNumber; - } - - public String getClientName() { - return clientName; - } - - public void setClientName(String clientName) { - this.clientName = clientName; - } - - public String getLegalFirstName() { - return legalFirstName; - } - - public void setLegalFirstName(String legalFirstName) { - this.legalFirstName = legalFirstName; - } - - public String getLegalMiddleName() { - return legalMiddleName; - } - - public void setLegalMiddleName(String legalMiddleName) { - this.legalMiddleName = legalMiddleName; - } - - public String getClientStatusCode() { - return clientStatusCode; - } - - public void setClientStatusCode(String clientStatusCode) { - this.clientStatusCode = clientStatusCode; - } - - public String getClientTypeCode() { - return clientTypeCode; - } - - public void setClientTypeCode(String clientTypeCode) { - this.clientTypeCode = clientTypeCode; - } - - @Override - public int hashCode() { - return Objects.hash(clientNumber); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - ClientPublicViewEntity other = (ClientPublicViewEntity) obj; - return Objects.equals(clientNumber, other.clientNumber); - } + private static final long serialVersionUID = -3060423136744818530L; + @Id + @Column(name = "CLIENT_NUMBER") + private String clientNumber; + + @Column(name = "CLIENT_NAME") + private String clientName; + + @Column(name = "LEGAL_FIRST_NAME") + private String legalFirstName; + + @Column(name = "LEGAL_MIDDLE_NAME") + private String legalMiddleName; + + @Column(name = "CLIENT_STATUS_CODE") + private String clientStatusCode; + + @Column(name = "CLIENT_TYPE_CODE") + private String clientTypeCode; + + public String getClientNumber() { + return clientNumber; + } + + public void setClientNumber(String clientNumber) { + this.clientNumber = clientNumber; + } + + public String getClientName() { + return clientName; + } + + public void setClientName(String clientName) { + this.clientName = clientName; + } + + public String getLegalFirstName() { + return legalFirstName; + } + + public void setLegalFirstName(String legalFirstName) { + this.legalFirstName = legalFirstName; + } + + public String getLegalMiddleName() { + return legalMiddleName; + } + + public void setLegalMiddleName(String legalMiddleName) { + this.legalMiddleName = legalMiddleName; + } + + public String getClientStatusCode() { + return clientStatusCode; + } + + public void setClientStatusCode(String clientStatusCode) { + this.clientStatusCode = clientStatusCode; + } + + public String getClientTypeCode() { + return clientTypeCode; + } + + public void setClientTypeCode(String clientTypeCode) { + this.clientTypeCode = clientTypeCode; + } + + @Override + public int hashCode() { + return Objects.hash(clientNumber); + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + ClientPublicViewEntity other = (ClientPublicViewEntity) obj; + return Objects.equals(clientNumber, other.clientNumber); + } } diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientStatusCodeEntity.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientStatusCodeEntity.java index 489a52a84e..7b662dda95 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientStatusCodeEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientStatusCodeEntity.java @@ -1,118 +1,108 @@ package ca.bc.gov.app.m.oracle.legacyclient.entity; -import java.util.Date; - +import ca.bc.gov.app.core.configuration.OraclePersistenceConfiguration; +import ca.bc.gov.app.core.entity.AbstractEntity; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; - -import org.springframework.context.annotation.Scope; -import org.springframework.stereotype.Component; - -import ca.bc.gov.app.core.configuration.OraclePersistenceConfiguration; -import ca.bc.gov.app.core.entity.AbstractEntity; -import ca.bc.gov.app.core.misc.scope.ScopeConstant; +import java.util.Date; @Entity @Table(name = "CLIENT_STATUS_CODE", schema = OraclePersistenceConfiguration.ORACLE_ATTRIBUTE_SCHEMA) -@Component(ClientStatusCodeEntity.BEAN_NAME) -@Scope(ScopeConstant.PROTOTYPE) public class ClientStatusCodeEntity implements AbstractEntity { - private static final long serialVersionUID = 4341025008217142732L; + private static final long serialVersionUID = 4341025008217142732L; - public static final String BEAN_NAME = "clientStatusCodeEntity"; - - public static final String ACTIVE = "ACT"; + public static final String ACTIVE = "ACT"; - @Id - @Column(name = "CLIENT_STATUS_CODE") - private String clientStatusCode; + @Id + @Column(name = "CLIENT_STATUS_CODE") + private String clientStatusCode; - @Column(name = "DESCRIPTION") - private String description; + @Column(name = "DESCRIPTION") + private String description; - @Column(name = "EFFECTIVE_DATE") - private Date effectiveDate; + @Column(name = "EFFECTIVE_DATE") + private Date effectiveDate; - @Column(name = "EXPIRY_DATE") - private Date expiryDate; + @Column(name = "EXPIRY_DATE") + private Date expiryDate; - @Column(name = "CREATE_TIMESTAMP") - private Date createTimestamp; + @Column(name = "CREATE_TIMESTAMP") + private Date createTimestamp; - @Column(name = "UPDATE_TIMESTAMP") - private Date updateTimestamp; + @Column(name = "UPDATE_TIMESTAMP") + private Date updateTimestamp; - @Column(name = "CREATE_USER") - private String createUser; + @Column(name = "CREATE_USER") + private String createUser; - @Column(name = "UPDATE_USER") - private String updateUser; + @Column(name = "UPDATE_USER") + private String updateUser; - public String getClientStatusCode() { - return clientStatusCode; - } + public String getClientStatusCode() { + return clientStatusCode; + } - public void setClientStatusCode(String clientStatusCode) { - this.clientStatusCode = clientStatusCode; - } + public void setClientStatusCode(String clientStatusCode) { + this.clientStatusCode = clientStatusCode; + } - public String getDescription() { - return description; - } + public String getDescription() { + return description; + } - public void setDescription(String description) { - this.description = description; - } + public void setDescription(String description) { + this.description = description; + } - public Date getEffectiveDate() { - return effectiveDate; - } + public Date getEffectiveDate() { + return effectiveDate; + } - public void setEffectiveDate(Date effectiveDate) { - this.effectiveDate = effectiveDate; - } + public void setEffectiveDate(Date effectiveDate) { + this.effectiveDate = effectiveDate; + } - public Date getExpiryDate() { - return expiryDate; - } + public Date getExpiryDate() { + return expiryDate; + } - public void setExpiryDate(Date expiryDate) { - this.expiryDate = expiryDate; - } + public void setExpiryDate(Date expiryDate) { + this.expiryDate = expiryDate; + } - public Date getCreateTimestamp() { - return createTimestamp; - } + public Date getCreateTimestamp() { + return createTimestamp; + } - public void setCreateTimestamp(Date createTimestamp) { - this.createTimestamp = createTimestamp; - } + public void setCreateTimestamp(Date createTimestamp) { + this.createTimestamp = createTimestamp; + } - public Date getUpdateTimestamp() { - return updateTimestamp; - } + public Date getUpdateTimestamp() { + return updateTimestamp; + } - public void setUpdateTimestamp(Date updateTimestamp) { - this.updateTimestamp = updateTimestamp; - } + public void setUpdateTimestamp(Date updateTimestamp) { + this.updateTimestamp = updateTimestamp; + } - public String getCreateUser() { - return createUser; - } + public String getCreateUser() { + return createUser; + } - public void setCreateUser(String createUser) { - this.createUser = createUser; - } + public void setCreateUser(String createUser) { + this.createUser = createUser; + } - public String getUpdateUser() { - return updateUser; - } + public String getUpdateUser() { + return updateUser; + } - public void setUpdateUser(String updateUser) { - this.updateUser = updateUser; - } + public void setUpdateUser(String updateUser) { + this.updateUser = updateUser; + } } \ No newline at end of file diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ForestClientEntity.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ForestClientEntity.java index 63bd25fb42..c88621b493 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ForestClientEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ForestClientEntity.java @@ -1,288 +1,281 @@ package ca.bc.gov.app.m.oracle.legacyclient.entity; -import java.util.Objects; -import java.util.Date; - +import ca.bc.gov.app.core.configuration.OraclePersistenceConfiguration; +import ca.bc.gov.app.core.entity.AbstractEntity; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; - -import org.springframework.context.annotation.Scope; -import org.springframework.stereotype.Component; - -import ca.bc.gov.app.core.configuration.OraclePersistenceConfiguration; -import ca.bc.gov.app.core.entity.AbstractEntity; -import ca.bc.gov.app.core.misc.scope.ScopeConstant; +import java.util.Date; +import java.util.Objects; @Entity @Table(name = "FOREST_CLIENT", schema = OraclePersistenceConfiguration.ORACLE_ATTRIBUTE_SCHEMA) -@Component(ForestClientEntity.BEAN_NAME) -@Scope(ScopeConstant.PROTOTYPE) public class ForestClientEntity implements AbstractEntity { - private static final long serialVersionUID = 832879803987592344L; + private static final long serialVersionUID = 832879803987592344L; - public static final String BEAN_NAME = "forestClientEntity"; + @Id + @Column(name = "CLIENT_NUMBER") + private String clientNumber; - @Id - @Column(name = "CLIENT_NUMBER") - private String clientNumber; + @Column(name = "CLIENT_NAME") + private String clientName; - @Column(name = "CLIENT_NAME") - private String clientName; + @Column(name = "LEGAL_FIRST_NAME") + private String legalFirstName; - @Column(name = "LEGAL_FIRST_NAME") - private String legalFirstName; + @Column(name = "LEGAL_MIDDLE_NAME") + private String legalMiddleName; - @Column(name = "LEGAL_MIDDLE_NAME") - private String legalMiddleName; + @Column(name = "CLIENT_STATUS_CODE") + private String clientStatusCode; - @Column(name = "CLIENT_STATUS_CODE") - private String clientStatusCode; + @Column(name = "CLIENT_TYPE_CODE") + private String clientTypeCode; - @Column(name = "CLIENT_TYPE_CODE") - private String clientTypeCode; + @Column(name = "BIRTHDATE") + private Date birthdate; - @Column(name = "BIRTHDATE") - private Date birthdate; + @Column(name = "CLIENT_ID_TYPE_CODE") + private String clientIdTypeCode; - @Column(name = "CLIENT_ID_TYPE_CODE") - private String clientIdTypeCode; + @Column(name = "CLIENT_IDENTIFICATION ") + private String clientIdentification; - @Column(name = "CLIENT_IDENTIFICATION ") - private String clientIdentification; + @Column(name = "REGISTRY_COMPANY_TYPE_CODE") + private String registryCompanyTypeCode; - @Column(name = "REGISTRY_COMPANY_TYPE_CODE") - private String registryCompanyTypeCode; + @Column(name = "CORP_REGN_NMBR") + private String corpRegnNmbr; - @Column(name = "CORP_REGN_NMBR") - private String corpRegnNmbr; + @Column(name = "CLIENT_ACRONYM") + private String clientAcronym; - @Column(name = "CLIENT_ACRONYM") - private String clientAcronym; + @Column(name = "WCB_FIRM_NUMBER") + private String wcbFirmNumber; - @Column(name = "WCB_FIRM_NUMBER") - private String wcbFirmNumber; + @Column(name = "OCG_SUPPLIER_NMBR") + private String ocgSupplierNmbr; - @Column(name = "OCG_SUPPLIER_NMBR") - private String ocgSupplierNmbr; + @Column(name = "CLIENT_COMMENT") + private String clientComment; - @Column(name = "CLIENT_COMMENT") - private String clientComment; + @Column(name = "ADD_TIMESTAMP") + private Date addTimestamp; - @Column(name = "ADD_TIMESTAMP") - private Date addTimestamp; + @Column(name = "ADD_USERID") + private String addUserId; - @Column(name = "ADD_USERID") - private String addUserId; + @Column(name = "ADD_ORG_UNIT") + private Long addOrgUnit; - @Column(name = "ADD_ORG_UNIT") - private Long addOrgUnit; + @Column(name = "UPDATE_TIMESTAMP") + private Date updateTimestamp; - @Column(name = "UPDATE_TIMESTAMP") - private Date updateTimestamp; + @Column(name = "UPDATE_USERID") + private String updateUserId; - @Column(name = "UPDATE_USERID") - private String updateUserId; + @Column(name = "UPDATE_ORG_UNIT") + private Long updateOrgUnit; - @Column(name = "UPDATE_ORG_UNIT") - private Long updateOrgUnit; + @Column(name = "REVISION_COUNT") + private Long revisionCount; - @Column(name = "REVISION_COUNT") - private Long revisionCount; + public String getClientNumber() { + return clientNumber; + } - public String getClientNumber() { - return clientNumber; - } + public void setClientNumber(String clientNumber) { + this.clientNumber = clientNumber; + } - public void setClientNumber(String clientNumber) { - this.clientNumber = clientNumber; - } + public String getClientName() { + return clientName; + } - public String getClientName() { - return clientName; - } + public void setClientName(String clientName) { + this.clientName = clientName; + } - public void setClientName(String clientName) { - this.clientName = clientName; - } + public String getLegalFirstName() { + return legalFirstName; + } - public String getLegalFirstName() { - return legalFirstName; - } + public void setLegalFirstName(String legalFirstName) { + this.legalFirstName = legalFirstName; + } - public void setLegalFirstName(String legalFirstName) { - this.legalFirstName = legalFirstName; - } + public String getLegalMiddleName() { + return legalMiddleName; + } - public String getLegalMiddleName() { - return legalMiddleName; - } + public void setLegalMiddleName(String legalMiddleName) { + this.legalMiddleName = legalMiddleName; + } - public void setLegalMiddleName(String legalMiddleName) { - this.legalMiddleName = legalMiddleName; - } + public String getClientStatusCode() { + return clientStatusCode; + } - public String getClientStatusCode() { - return clientStatusCode; - } + public void setClientStatusCode(String clientStatusCode) { + this.clientStatusCode = clientStatusCode; + } - public void setClientStatusCode(String clientStatusCode) { - this.clientStatusCode = clientStatusCode; - } + public String getClientTypeCode() { + return clientTypeCode; + } - public String getClientTypeCode() { - return clientTypeCode; - } + public void setClientTypeCode(String clientTypeCode) { + this.clientTypeCode = clientTypeCode; + } - public void setClientTypeCode(String clientTypeCode) { - this.clientTypeCode = clientTypeCode; - } + public Date getBirthdate() { + return birthdate; + } - public Date getBirthdate() { - return birthdate; - } + public void setBirthdate(Date birthdate) { + this.birthdate = birthdate; + } - public void setBirthdate(Date birthdate) { - this.birthdate = birthdate; - } + public String getClientIdTypeCode() { + return clientIdTypeCode; + } - public String getClientIdTypeCode() { - return clientIdTypeCode; - } + public void setClientIdTypeCode(String clientIdTypeCode) { + this.clientIdTypeCode = clientIdTypeCode; + } - public void setClientIdTypeCode(String clientIdTypeCode) { - this.clientIdTypeCode = clientIdTypeCode; - } + public String getClientIdentification() { + return clientIdentification; + } - public String getClientIdentification() { - return clientIdentification; - } + public void setClientIdentification(String clientIdentification) { + this.clientIdentification = clientIdentification; + } - public void setClientIdentification(String clientIdentification) { - this.clientIdentification = clientIdentification; - } + public String getRegistryCompanyTypeCode() { + return registryCompanyTypeCode; + } - public String getRegistryCompanyTypeCode() { - return registryCompanyTypeCode; - } + public void setRegistryCompanyTypeCode(String registryCompanyTypeCode) { + this.registryCompanyTypeCode = registryCompanyTypeCode; + } - public void setRegistryCompanyTypeCode(String registryCompanyTypeCode) { - this.registryCompanyTypeCode = registryCompanyTypeCode; - } + public String getCorpRegnNmbr() { + return corpRegnNmbr; + } - public String getCorpRegnNmbr() { - return corpRegnNmbr; - } + public void setCorpRegnNmbr(String corpRegnNmbr) { + this.corpRegnNmbr = corpRegnNmbr; + } - public void setCorpRegnNmbr(String corpRegnNmbr) { - this.corpRegnNmbr = corpRegnNmbr; - } + public String getClientAcronym() { + return clientAcronym; + } - public String getClientAcronym() { - return clientAcronym; - } + public void setClientAcronym(String clientAcronym) { + this.clientAcronym = clientAcronym; + } - public void setClientAcronym(String clientAcronym) { - this.clientAcronym = clientAcronym; - } + public String getWcbFirmNumber() { + return wcbFirmNumber; + } - public String getWcbFirmNumber() { - return wcbFirmNumber; - } + public void setWcbFirmNumber(String wcbFirmNumber) { + this.wcbFirmNumber = wcbFirmNumber; + } - public void setWcbFirmNumber(String wcbFirmNumber) { - this.wcbFirmNumber = wcbFirmNumber; - } + public String getOcgSupplierNmbr() { + return ocgSupplierNmbr; + } - public String getOcgSupplierNmbr() { - return ocgSupplierNmbr; - } + public void setOcgSupplierNmbr(String ocgSupplierNmbr) { + this.ocgSupplierNmbr = ocgSupplierNmbr; + } - public void setOcgSupplierNmbr(String ocgSupplierNmbr) { - this.ocgSupplierNmbr = ocgSupplierNmbr; - } + public String getClientComment() { + return clientComment; + } - public String getClientComment() { - return clientComment; - } + public void setClientComment(String clientComment) { + this.clientComment = clientComment; + } - public void setClientComment(String clientComment) { - this.clientComment = clientComment; - } + public Date getAddTimestamp() { + return addTimestamp; + } - public Date getAddTimestamp() { - return addTimestamp; - } + public void setAddTimestamp(Date addTimestamp) { + this.addTimestamp = addTimestamp; + } - public void setAddTimestamp(Date addTimestamp) { - this.addTimestamp = addTimestamp; - } + public String getAddUserId() { + return addUserId; + } - public String getAddUserId() { - return addUserId; - } + public void setAddUserId(String addUserId) { + this.addUserId = addUserId; + } - public void setAddUserId(String addUserId) { - this.addUserId = addUserId; - } + public Number getAddOrgUnit() { + return addOrgUnit; + } - public Number getAddOrgUnit() { - return addOrgUnit; - } + public void setAddOrgUnit(Long addOrgUnit) { + this.addOrgUnit = addOrgUnit; + } - public void setAddOrgUnit(Long addOrgUnit) { - this.addOrgUnit = addOrgUnit; - } + public Date getUpdateTimestamp() { + return updateTimestamp; + } - public Date getUpdateTimestamp() { - return updateTimestamp; - } + public void setUpdateTimestamp(Date updateTimestamp) { + this.updateTimestamp = updateTimestamp; + } - public void setUpdateTimestamp(Date updateTimestamp) { - this.updateTimestamp = updateTimestamp; - } + public String getUpdateUserId() { + return updateUserId; + } - public String getUpdateUserId() { - return updateUserId; - } + public void setUpdateUserId(String updateUserId) { + this.updateUserId = updateUserId; + } - public void setUpdateUserId(String updateUserId) { - this.updateUserId = updateUserId; - } + public Number getUpdateOrgUnit() { + return updateOrgUnit; + } - public Number getUpdateOrgUnit() { - return updateOrgUnit; - } + public void setUpdateOrgUnit(Long updateOrgUnit) { + this.updateOrgUnit = updateOrgUnit; + } - public void setUpdateOrgUnit(Long updateOrgUnit) { - this.updateOrgUnit = updateOrgUnit; - } + public Number getRevisionCount() { + return revisionCount; + } - public Number getRevisionCount() { - return revisionCount; - } + public void setRevisionCount(Long revisionCount) { + this.revisionCount = revisionCount; + } - public void setRevisionCount(Long revisionCount) { - this.revisionCount = revisionCount; - } + @Override + public int hashCode() { + return Objects.hash(clientNumber); + } - @Override - public int hashCode() { - return Objects.hash(clientNumber); + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - ForestClientEntity other = (ForestClientEntity) obj; - return Objects.equals(clientNumber, other.clientNumber); + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; } + ForestClientEntity other = (ForestClientEntity) obj; + return Objects.equals(clientNumber, other.clientNumber); + } } diff --git a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/ClientTypeCodeEntity.java b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/ClientTypeCodeEntity.java index 92f160e78d..13c1e0a02a 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/ClientTypeCodeEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/ClientTypeCodeEntity.java @@ -1,45 +1,36 @@ package ca.bc.gov.app.m.postgres.client.entity; +import ca.bc.gov.app.core.configuration.PostgresPersistenceConfiguration; +import ca.bc.gov.app.core.entity.AbstractCodeDescrEntity; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; -import org.springframework.context.annotation.Scope; -import org.springframework.stereotype.Component; - -import ca.bc.gov.app.core.configuration.PostgresPersistenceConfiguration; -import ca.bc.gov.app.core.entity.AbstractCodeDescrEntity; -import ca.bc.gov.app.core.misc.scope.ScopeConstant; - @Entity @Table(name = "CLIENT_TYPE_CODE", schema = PostgresPersistenceConfiguration.POSTGRES_ATTRIBUTE_SCHEMA) -@Component(ClientTypeCodeEntity.BEAN_NAME) -@Scope(ScopeConstant.PROTOTYPE) public class ClientTypeCodeEntity extends AbstractCodeDescrEntity { - private static final long serialVersionUID = 8069253248355277428L; - - public static final String BEAN_NAME = "clientTypeCodeEntity"; - - public static final String INDIVIDUAL = "I"; - public static final String ASSOCIATION = "A"; - public static final String CORPORATION = "C"; - public static final String FIRST_NATION_BAND = "B"; - public static final String UNREGISTERED_COMPANY = "U"; - - - @Id - @Column(name = "CLIENT_TYPE_CODE") - private String code; - - @Override - public String getCode() { - return code; - } - - public void setCode(String code) { - this.code = code; - } + private static final long serialVersionUID = 8069253248355277428L; + + public static final String INDIVIDUAL = "I"; + public static final String ASSOCIATION = "A"; + public static final String CORPORATION = "C"; + public static final String FIRST_NATION_BAND = "B"; + public static final String UNREGISTERED_COMPANY = "U"; + + + @Id + @Column(name = "CLIENT_TYPE_CODE") + private String code; + + @Override + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } } diff --git a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionDetailEntity.java b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionDetailEntity.java index b44f53dc2d..db20e21193 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionDetailEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionDetailEntity.java @@ -1,8 +1,7 @@ package ca.bc.gov.app.m.postgres.client.entity; -import java.util.Date; -import java.util.Objects; - +import ca.bc.gov.app.core.configuration.PostgresPersistenceConfiguration; +import ca.bc.gov.app.core.entity.AbstractEntity; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; @@ -12,156 +11,151 @@ import jakarta.persistence.OneToOne; import jakarta.persistence.SequenceGenerator; import jakarta.persistence.Table; - -import org.springframework.context.annotation.Scope; -import org.springframework.stereotype.Component; - -import ca.bc.gov.app.core.configuration.PostgresPersistenceConfiguration; -import ca.bc.gov.app.core.entity.AbstractEntity; -import ca.bc.gov.app.core.misc.scope.ScopeConstant; +import java.util.Date; +import java.util.Objects; @Entity @Table(name = "SUBMISSION_DETAIL", schema = PostgresPersistenceConfiguration.POSTGRES_ATTRIBUTE_SCHEMA) -@Component(SubmissionDetailEntity.BEAN_NAME) -@Scope(ScopeConstant.PROTOTYPE) public class SubmissionDetailEntity implements AbstractEntity { - private static final long serialVersionUID = -8966248654104607818L; - - public static final String BEAN_NAME = "submissionDetailEntity"; - - @Id - @GeneratedValue(generator = "SEQ_SUBMISSION_DETAIL") - @SequenceGenerator(name = "SEQ_SUBMISSION_DETAIL", - sequenceName = PostgresPersistenceConfiguration.POSTGRES_ATTRIBUTE_SCHEMA_QUALIFIER + "SUBMISSION_DETAIL_ID_SEQ", - allocationSize = 1) - @Column(name = "SUBMISSION_DETAIL_ID", nullable = false, precision = 10, scale = 0) - private Long submissionDetailId; - - @OneToOne - @JoinColumn(name = "SUBMISSION_ID") - private SubmissionEntity submissionEntity; - - @Column(name = "INCORPORATION_NUMBER") - private String incorporationNumber; - - @Column(name = "ORGANIZATION_NAME") - private Date organizationName; - - @Column(name = "FIRST_NAME") - private String firstName; - - @Column(name = "MIDDLE_NAME") - private String middleName; - - @Column(name = "LAST_NAME") - private String lastName; - - @ManyToOne - @JoinColumn(name = "CLIENT_TYPE_CODE") - private ClientTypeCodeEntity clientTypeCodeEntity; - - @Column(name = "DATE_OF_BIRTH") - private Date dateOfBirth; - - @Column(name = "CLIENT_COMMENT") - private String clientComment; - - public Long getSubmissionDetailId() { - return submissionDetailId; - } - - public void setSubmissionDetailId(Long submissionDetailId) { - this.submissionDetailId = submissionDetailId; - } - - public SubmissionEntity getSubmissionEntity() { - return submissionEntity; - } - - public void setSubmissionEntity(SubmissionEntity submissionEntity) { - this.submissionEntity = submissionEntity; - } - - public String getIncorporationNumber() { - return incorporationNumber; - } - - public void setIncorporationNumber(String incorporationNumber) { - this.incorporationNumber = incorporationNumber; - } + private static final long serialVersionUID = -8966248654104607818L; - public Date getOrganizationName() { - return organizationName; - } + @Id + @GeneratedValue(generator = "SEQ_SUBMISSION_DETAIL") + @SequenceGenerator(name = "SEQ_SUBMISSION_DETAIL", + sequenceName = PostgresPersistenceConfiguration.POSTGRES_ATTRIBUTE_SCHEMA_QUALIFIER + + "SUBMISSION_DETAIL_ID_SEQ", + allocationSize = 1) + @Column(name = "SUBMISSION_DETAIL_ID", nullable = false, precision = 10, scale = 0) + private Long submissionDetailId; - public void setOrganizationName(Date organizationName) { - this.organizationName = organizationName; - } + @OneToOne + @JoinColumn(name = "SUBMISSION_ID") + private SubmissionEntity submissionEntity; - public String getFirstName() { - return firstName; - } + @Column(name = "INCORPORATION_NUMBER") + private String incorporationNumber; - public void setFirstName(String firstName) { - this.firstName = firstName; - } + @Column(name = "ORGANIZATION_NAME") + private Date organizationName; - public String getMiddleName() { - return middleName; - } + @Column(name = "FIRST_NAME") + private String firstName; - public void setMiddleName(String middleName) { - this.middleName = middleName; - } + @Column(name = "MIDDLE_NAME") + private String middleName; - public String getLastName() { - return lastName; - } + @Column(name = "LAST_NAME") + private String lastName; - public void setLastName(String lastName) { - this.lastName = lastName; - } + @ManyToOne + @JoinColumn(name = "CLIENT_TYPE_CODE") + private ClientTypeCodeEntity clientTypeCodeEntity; - public ClientTypeCodeEntity getClientTypeCodeEntity() { - return clientTypeCodeEntity; - } - - public void setClientTypeCodeEntity(ClientTypeCodeEntity clientTypeCodeEntity) { - this.clientTypeCodeEntity = clientTypeCodeEntity; - } - - public Date getDateOfBirth() { - return dateOfBirth; - } - - public void setDateOfBirth(Date dateOfBirth) { - this.dateOfBirth = dateOfBirth; - } - - public String getClientComment() { - return clientComment; - } - - public void setClientComment(String clientComment) { - this.clientComment = clientComment; - } - - @Override - public int hashCode() { - return Objects.hash(submissionDetailId); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - SubmissionDetailEntity other = (SubmissionDetailEntity) obj; - return Objects.equals(submissionDetailId, other.submissionDetailId); - } + @Column(name = "DATE_OF_BIRTH") + private Date dateOfBirth; + + @Column(name = "CLIENT_COMMENT") + private String clientComment; + + public Long getSubmissionDetailId() { + return submissionDetailId; + } + + public void setSubmissionDetailId(Long submissionDetailId) { + this.submissionDetailId = submissionDetailId; + } + + public SubmissionEntity getSubmissionEntity() { + return submissionEntity; + } + + public void setSubmissionEntity(SubmissionEntity submissionEntity) { + this.submissionEntity = submissionEntity; + } + + public String getIncorporationNumber() { + return incorporationNumber; + } + + public void setIncorporationNumber(String incorporationNumber) { + this.incorporationNumber = incorporationNumber; + } + + public Date getOrganizationName() { + return organizationName; + } + + public void setOrganizationName(Date organizationName) { + this.organizationName = organizationName; + } + + public String getFirstName() { + return firstName; + } + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + public String getMiddleName() { + return middleName; + } + + public void setMiddleName(String middleName) { + this.middleName = middleName; + } + + public String getLastName() { + return lastName; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + public ClientTypeCodeEntity getClientTypeCodeEntity() { + return clientTypeCodeEntity; + } + + public void setClientTypeCodeEntity(ClientTypeCodeEntity clientTypeCodeEntity) { + this.clientTypeCodeEntity = clientTypeCodeEntity; + } + + public Date getDateOfBirth() { + return dateOfBirth; + } + + public void setDateOfBirth(Date dateOfBirth) { + this.dateOfBirth = dateOfBirth; + } + + public String getClientComment() { + return clientComment; + } + + public void setClientComment(String clientComment) { + this.clientComment = clientComment; + } + + @Override + public int hashCode() { + return Objects.hash(submissionDetailId); + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + SubmissionDetailEntity other = (SubmissionDetailEntity) obj; + return Objects.equals(submissionDetailId, other.submissionDetailId); + } } diff --git a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionEntity.java b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionEntity.java index b4a257dda6..af9b20d778 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionEntity.java @@ -1,8 +1,7 @@ package ca.bc.gov.app.m.postgres.client.entity; -import java.util.Date; -import java.util.Objects; - +import ca.bc.gov.app.core.configuration.PostgresPersistenceConfiguration; +import ca.bc.gov.app.core.entity.AbstractEntity; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; @@ -11,122 +10,117 @@ import jakarta.persistence.ManyToOne; import jakarta.persistence.SequenceGenerator; import jakarta.persistence.Table; - -import org.springframework.context.annotation.Scope; -import org.springframework.stereotype.Component; - -import ca.bc.gov.app.core.configuration.PostgresPersistenceConfiguration; -import ca.bc.gov.app.core.entity.AbstractEntity; -import ca.bc.gov.app.core.misc.scope.ScopeConstant; +import java.util.Date; +import java.util.Objects; @Entity @Table(name = "SUBMISSION", schema = PostgresPersistenceConfiguration.POSTGRES_ATTRIBUTE_SCHEMA) -@Component(SubmissionEntity.BEAN_NAME) -@Scope(ScopeConstant.PROTOTYPE) public class SubmissionEntity implements AbstractEntity { - private static final long serialVersionUID = -8966248654104607818L; - - public static final String BEAN_NAME = "submissionEntity"; - - @Id - @GeneratedValue(generator = "SEQ_SUBMISSION") - @SequenceGenerator(name = "SEQ_SUBMISSION", - sequenceName = PostgresPersistenceConfiguration.POSTGRES_ATTRIBUTE_SCHEMA_QUALIFIER + "SUBMISSION_ID_SEQ", - allocationSize = 1) - @Column(name = "SUBMISSION_ID", nullable = false, precision = 10, scale = 0) - private Long submissionId; - - @Column(name = "SUBMITTER_USER_GUID") - private String submitterUserGuid; - - @ManyToOne - @JoinColumn(name = "SUBMISSION_STATUS_CODE") - private SubmissionStatusCodeEntity submissionStatusCodeEntity; - - @Column(name = "SUBMISSION_DATE") - private Date submitterDate; - - @Column(name = "UPDATE_TIMESTAMP") - private Date updateTimestamp; - - @Column(name = "CREATE_USER") - private String createUser; - - @Column(name = "UPDATE_USER") - private String updateUser; - - public Long getSubmissionId() { - return submissionId; - } - - public void setSubmissionId(Long submissionId) { - this.submissionId = submissionId; - } - - public String getSubmitterUserGuid() { - return submitterUserGuid; - } - - public void setSubmitterUserGuid(String submitterUserGuid) { - this.submitterUserGuid = submitterUserGuid; - } - - public SubmissionStatusCodeEntity getSubmissionStatusCodeEntity() { - return submissionStatusCodeEntity; - } - - public void setSubmissionStatusCodeEntity(SubmissionStatusCodeEntity submissionStatusCodeEntity) { - this.submissionStatusCodeEntity = submissionStatusCodeEntity; - } - - public Date getSubmitterDate() { - return submitterDate; - } - - public void setSubmitterDate(Date submitterDate) { - this.submitterDate = submitterDate; - } - - public Date getUpdateTimestamp() { - return updateTimestamp; - } - - public void setUpdateTimestamp(Date updateTimestamp) { - this.updateTimestamp = updateTimestamp; - } - - public String getCreateUser() { - return createUser; - } - - public void setCreateUser(String createUser) { - this.createUser = createUser; - } - - public String getUpdateUser() { - return updateUser; - } - - public void setUpdateUser(String updateUser) { - this.updateUser = updateUser; - } - - @Override - public int hashCode() { - return Objects.hash(submissionId); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - SubmissionEntity other = (SubmissionEntity) obj; - return Objects.equals(submissionId, other.submissionId); - } + private static final long serialVersionUID = -8966248654104607818L; + + @Id + @GeneratedValue(generator = "SEQ_SUBMISSION") + @SequenceGenerator(name = "SEQ_SUBMISSION", + sequenceName = PostgresPersistenceConfiguration.POSTGRES_ATTRIBUTE_SCHEMA_QUALIFIER + + "SUBMISSION_ID_SEQ", + allocationSize = 1) + @Column(name = "SUBMISSION_ID", nullable = false, precision = 10, scale = 0) + private Long submissionId; + + @Column(name = "SUBMITTER_USER_GUID") + private String submitterUserGuid; + + @ManyToOne + @JoinColumn(name = "SUBMISSION_STATUS_CODE") + private SubmissionStatusCodeEntity submissionStatusCodeEntity; + + @Column(name = "SUBMISSION_DATE") + private Date submitterDate; + + @Column(name = "UPDATE_TIMESTAMP") + private Date updateTimestamp; + + @Column(name = "CREATE_USER") + private String createUser; + + @Column(name = "UPDATE_USER") + private String updateUser; + + public Long getSubmissionId() { + return submissionId; + } + + public void setSubmissionId(Long submissionId) { + this.submissionId = submissionId; + } + + public String getSubmitterUserGuid() { + return submitterUserGuid; + } + + public void setSubmitterUserGuid(String submitterUserGuid) { + this.submitterUserGuid = submitterUserGuid; + } + + public SubmissionStatusCodeEntity getSubmissionStatusCodeEntity() { + return submissionStatusCodeEntity; + } + + public void setSubmissionStatusCodeEntity(SubmissionStatusCodeEntity submissionStatusCodeEntity) { + this.submissionStatusCodeEntity = submissionStatusCodeEntity; + } + + public Date getSubmitterDate() { + return submitterDate; + } + + public void setSubmitterDate(Date submitterDate) { + this.submitterDate = submitterDate; + } + + public Date getUpdateTimestamp() { + return updateTimestamp; + } + + public void setUpdateTimestamp(Date updateTimestamp) { + this.updateTimestamp = updateTimestamp; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getUpdateUser() { + return updateUser; + } + + public void setUpdateUser(String updateUser) { + this.updateUser = updateUser; + } + + @Override + public int hashCode() { + return Objects.hash(submissionId); + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + SubmissionEntity other = (SubmissionEntity) obj; + return Objects.equals(submissionId, other.submissionId); + } } diff --git a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionStatusCodeEntity.java b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionStatusCodeEntity.java index 095624de03..b8f6094064 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionStatusCodeEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionStatusCodeEntity.java @@ -1,44 +1,35 @@ package ca.bc.gov.app.m.postgres.client.entity; +import ca.bc.gov.app.core.configuration.PostgresPersistenceConfiguration; +import ca.bc.gov.app.core.entity.AbstractCodeDescrEntity; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; -import org.springframework.context.annotation.Scope; -import org.springframework.stereotype.Component; - -import ca.bc.gov.app.core.configuration.PostgresPersistenceConfiguration; -import ca.bc.gov.app.core.entity.AbstractCodeDescrEntity; -import ca.bc.gov.app.core.misc.scope.ScopeConstant; - @Entity @Table(name = "SUBMISSION_STATUS_CODE", schema = PostgresPersistenceConfiguration.POSTGRES_ATTRIBUTE_SCHEMA) -@Component(SubmissionStatusCodeEntity.BEAN_NAME) -@Scope(ScopeConstant.PROTOTYPE) public class SubmissionStatusCodeEntity extends AbstractCodeDescrEntity { - private static final long serialVersionUID = 4341025008217142732L; + private static final long serialVersionUID = 4341025008217142732L; - public static final String BEAN_NAME = "submissionStatusCodeEntity"; - - public static final String IN_PROGRESS = "P"; - public static final String APPROVED = "A"; - public static final String REJECTED = "R"; - public static final String DELETED = "E"; - public static final String SUBMITTED = "S"; + public static final String IN_PROGRESS = "P"; + public static final String APPROVED = "A"; + public static final String REJECTED = "R"; + public static final String DELETED = "E"; + public static final String SUBMITTED = "S"; - @Id - @Column(name = "SUBMISSION_STATUS_CODE") - private String code; + @Id + @Column(name = "SUBMISSION_STATUS_CODE") + private String code; - @Override - public String getCode() { - return code; - } + @Override + public String getCode() { + return code; + } - public void setCode(String code) { - this.code = code; - } + public void setCode(String code) { + this.code = code; + } } From 53b14a8416f21316d6b650d62c92d30e98557526 Mon Sep 17 00:00:00 2001 From: Paulo Gomes da Cruz Junior Date: Wed, 14 Dec 2022 12:54:48 -0800 Subject: [PATCH 08/31] chore: removing ScopeConstant.java Fix #188 --- .../app/core/misc/scope/ScopeConstant.java | 34 ------------------- 1 file changed, 34 deletions(-) delete mode 100644 backend/src/main/java/ca/bc/gov/app/core/misc/scope/ScopeConstant.java diff --git a/backend/src/main/java/ca/bc/gov/app/core/misc/scope/ScopeConstant.java b/backend/src/main/java/ca/bc/gov/app/core/misc/scope/ScopeConstant.java deleted file mode 100644 index ac2f89a117..0000000000 --- a/backend/src/main/java/ca/bc/gov/app/core/misc/scope/ScopeConstant.java +++ /dev/null @@ -1,34 +0,0 @@ -package ca.bc.gov.app.core.misc.scope; - -import org.springframework.beans.factory.config.BeanDefinition; -import org.springframework.web.util.TagUtils; - -public class ScopeConstant { - - /** Constant identifying the request scope */ - public static final String REQUEST = TagUtils.SCOPE_REQUEST; - - /** Constant identifying the session scope */ - public static final String SESSION = TagUtils.SCOPE_SESSION; - - /** Constant identifying the application scope */ - public static final String APPLICATION = TagUtils.SCOPE_APPLICATION; - - /** - * Scope identifier for the standard singleton scope: "singleton". - *

Note that extended bean factories might support further scopes. - * @see #setScope - */ - public static final String SINGLETON = BeanDefinition.SCOPE_SINGLETON; - - /** - * Scope identifier for the standard prototype scope: "prototype". - *

Note that extended bean factories might support further scopes. - * @see #setScope - */ - public static final String PROTOTYPE = BeanDefinition.SCOPE_PROTOTYPE; - - /** Constant identifying the view scope as used in JSF2 */ - public static final String VIEW = "view"; - -} From 1c3598e73d67327a313f1662fd3c4823a75c8d9a Mon Sep 17 00:00:00 2001 From: Paulo Gomes da Cruz Junior Date: Thu, 15 Dec 2022 14:05:26 -0800 Subject: [PATCH 09/31] chore: adding lombok and refactoring adding lombok as a dependency and refactoring the code to make use of it. Lombok reduces the boilerplate code by annotating classes that will generate the actual content during build time. removed `Serializable` interface from entities. Even being a best practice to mark entities as serializable, you only need to mark it if you need to transfer them over-the-wire (serialize them to some other representation), store them in http session (which is in turn serialized to hard disk by the servlet container), or even persist it as a binary content. as stated on JPA specification: If an entity instance is to be passed by value as a detached object (e.g., through a remote interface), the entity class must implement the Serializable interface. in our case, hibernate will pass it as a reference, and update the fields on the database even if we do not set it as `Serializable` Fix #188 --- backend/pom.xml | 5 + .../java/ca/bc/gov/app/core/CoreConstant.java | 8 + .../OraclePersistenceConfiguration.java | 4 - .../PostgresPersistenceConfiguration.java | 4 - .../app/core/controller/CoreController.java | 7 - .../CodeDescrDTO.java} | 4 +- .../core/entity/AbstractCodeDescrEntity.java | 93 ------- .../gov/app/core/entity/AbstractEntity.java | 7 - .../ca/bc/gov/app/core/entity/CodeDescr.java | 11 - .../ca/bc/gov/app/core/util/CoreUtil.java | 71 ----- .../ChesCommonServicesController.java | 17 +- .../service/ChesCommonServicesService.java | 10 +- .../m/ob/controller/OrgBookApiController.java | 14 +- .../gov/app/m/ob/dto/OrgBookResponseDTO.java | 10 + .../ca/bc/gov/app/m/ob/dto/ResultDTO.java | 4 + .../app/m/ob/service/OrgBookApiService.java | 72 +++-- .../bc/gov/app/m/ob/vo/OrgBookResponseVO.java | 11 - .../java/ca/bc/gov/app/m/ob/vo/ResultVO.java | 4 - .../m/om/controller/OpenMapsController.java | 30 -- .../ca/bc/gov/app/m/om/dto/FeatureDTO.java | 4 + .../om/dto/FirstNationBandValidationDTO.java | 32 +++ .../OpenMapsResponseDTO.java} | 6 +- .../PropertyVO.java => dto/PropertyDTO.java} | 4 +- .../gov/app/m/om/service/OpenMapsService.java | 114 +++++--- .../java/ca/bc/gov/app/m/om/vo/FeatureVO.java | 4 - .../m/om/vo/FirstNationBandVidationVO.java | 90 ------ .../controller/LegacyClientController.java | 12 +- .../ClientPublicFilterObjectDTO.java} | 4 +- .../ClientPublicViewDTO.java} | 4 +- .../entity/ClientDoingBusinessAsEntity.java | 56 +--- .../entity/ClientLocationEntity.java | 256 +----------------- .../entity/ClientPublicViewEntity.java | 88 +----- .../entity/ClientStatusCodeEntity.java | 82 +----- .../entity/ForestClientEntity.java | 216 +-------------- .../service/LegacyClientService.java | 37 +-- .../client/controller/ClientController.java | 22 +- .../client/entity/ClientTypeCodeEntity.java | 49 +++- .../client/entity/SubmissionDetailEntity.java | 122 +-------- .../client/entity/SubmissionEntity.java | 99 +------ .../entity/SubmissionStatusCodeEntity.java | 50 +++- .../client/service/ClientService.java | 40 ++- .../controller/ClientControllerTest.java | 10 +- 42 files changed, 423 insertions(+), 1364 deletions(-) delete mode 100644 backend/src/main/java/ca/bc/gov/app/core/controller/CoreController.java rename backend/src/main/java/ca/bc/gov/app/core/{vo/CodeDescrVO.java => dto/CodeDescrDTO.java} (68%) delete mode 100644 backend/src/main/java/ca/bc/gov/app/core/entity/AbstractCodeDescrEntity.java delete mode 100644 backend/src/main/java/ca/bc/gov/app/core/entity/AbstractEntity.java delete mode 100644 backend/src/main/java/ca/bc/gov/app/core/entity/CodeDescr.java create mode 100644 backend/src/main/java/ca/bc/gov/app/m/ob/dto/OrgBookResponseDTO.java create mode 100644 backend/src/main/java/ca/bc/gov/app/m/ob/dto/ResultDTO.java delete mode 100644 backend/src/main/java/ca/bc/gov/app/m/ob/vo/OrgBookResponseVO.java delete mode 100644 backend/src/main/java/ca/bc/gov/app/m/ob/vo/ResultVO.java delete mode 100644 backend/src/main/java/ca/bc/gov/app/m/om/controller/OpenMapsController.java create mode 100644 backend/src/main/java/ca/bc/gov/app/m/om/dto/FeatureDTO.java create mode 100644 backend/src/main/java/ca/bc/gov/app/m/om/dto/FirstNationBandValidationDTO.java rename backend/src/main/java/ca/bc/gov/app/m/om/{vo/OpenMapsResponseVO.java => dto/OpenMapsResponseDTO.java} (54%) rename backend/src/main/java/ca/bc/gov/app/m/om/{vo/PropertyVO.java => dto/PropertyDTO.java} (87%) delete mode 100644 backend/src/main/java/ca/bc/gov/app/m/om/vo/FeatureVO.java delete mode 100644 backend/src/main/java/ca/bc/gov/app/m/om/vo/FirstNationBandVidationVO.java rename backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/{vo/ClientPublicFilterObjectVO.java => dto/ClientPublicFilterObjectDTO.java} (73%) rename backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/{vo/ClientPublicViewVO.java => dto/ClientPublicViewDTO.java} (85%) diff --git a/backend/pom.xml b/backend/pom.xml index 538a80d902..959110f927 100644 --- a/backend/pom.xml +++ b/backend/pom.xml @@ -84,6 +84,11 @@ commons-lang3 3.12.0 + + org.projectlombok + lombok + true + org.springdoc diff --git a/backend/src/main/java/ca/bc/gov/app/core/CoreConstant.java b/backend/src/main/java/ca/bc/gov/app/core/CoreConstant.java index 6acbfc123b..ac2ed7d99f 100644 --- a/backend/src/main/java/ca/bc/gov/app/core/CoreConstant.java +++ b/backend/src/main/java/ca/bc/gov/app/core/CoreConstant.java @@ -45,4 +45,12 @@ public final class CoreConstant { public static final String FILE_EXTENSION_PDF = "pdf"; public static final String FILE_EXTENSION_ZIP = "zip"; + public static final String ORACLE_ATTRIBUTE_SCHEMA_QUALIFIER = "THE."; + public static final String ORACLE_ATTRIBUTE_SCHEMA = "THE"; + public static final String ORACLE_API_TAG = "Legacy Client"; + public static final String POSTGRES_ATTRIBUTE_SCHEMA_QUALIFIER = "nrfc."; + public static final String POSTGRES_ATTRIBUTE_SCHEMA = "nrfc"; + public static final String POSTGRES_API_TAG = "Client"; + + public static final String DATE_FORMAT = "yyyy-MM-dd"; } diff --git a/backend/src/main/java/ca/bc/gov/app/core/configuration/OraclePersistenceConfiguration.java b/backend/src/main/java/ca/bc/gov/app/core/configuration/OraclePersistenceConfiguration.java index 1e7fc3b530..bcc5945b1f 100644 --- a/backend/src/main/java/ca/bc/gov/app/core/configuration/OraclePersistenceConfiguration.java +++ b/backend/src/main/java/ca/bc/gov/app/core/configuration/OraclePersistenceConfiguration.java @@ -15,10 +15,6 @@ basePackages = "ca.bc.gov.app.m.oracle") public class OraclePersistenceConfiguration { - public final static String ORACLE_ATTRIBUTE_SCHEMA_QUALIFIER = "THE."; - public final static String ORACLE_ATTRIBUTE_SCHEMA = "THE"; - public static final String ORACLE_API_TAG = "Legacy Client"; - @Bean(name = "oracleDataSource") @ConfigurationProperties(prefix = "oracle.datasource") public DataSource dataSource() { diff --git a/backend/src/main/java/ca/bc/gov/app/core/configuration/PostgresPersistenceConfiguration.java b/backend/src/main/java/ca/bc/gov/app/core/configuration/PostgresPersistenceConfiguration.java index 5e9ed8a8e4..787d91f7f7 100644 --- a/backend/src/main/java/ca/bc/gov/app/core/configuration/PostgresPersistenceConfiguration.java +++ b/backend/src/main/java/ca/bc/gov/app/core/configuration/PostgresPersistenceConfiguration.java @@ -16,10 +16,6 @@ basePackages = "ca.bc.gov.app.m.postgres") public class PostgresPersistenceConfiguration { - public final static String POSTGRES_ATTRIBUTE_SCHEMA_QUALIFIER = "nrfc."; - public final static String POSTGRES_ATTRIBUTE_SCHEMA = "nrfc"; - public static final String POSTGRES_API_TAG = "Client"; - @Primary @Bean(name = "postgresDataSource") @ConfigurationProperties(prefix = "postgres.datasource") diff --git a/backend/src/main/java/ca/bc/gov/app/core/controller/CoreController.java b/backend/src/main/java/ca/bc/gov/app/core/controller/CoreController.java deleted file mode 100644 index 521724a690..0000000000 --- a/backend/src/main/java/ca/bc/gov/app/core/controller/CoreController.java +++ /dev/null @@ -1,7 +0,0 @@ -package ca.bc.gov.app.core.controller; - -import org.springframework.web.bind.annotation.RestController; - -@RestController -public class CoreController { -} diff --git a/backend/src/main/java/ca/bc/gov/app/core/vo/CodeDescrVO.java b/backend/src/main/java/ca/bc/gov/app/core/dto/CodeDescrDTO.java similarity index 68% rename from backend/src/main/java/ca/bc/gov/app/core/vo/CodeDescrVO.java rename to backend/src/main/java/ca/bc/gov/app/core/dto/CodeDescrDTO.java index f71b0c9748..e0581ea160 100644 --- a/backend/src/main/java/ca/bc/gov/app/core/vo/CodeDescrVO.java +++ b/backend/src/main/java/ca/bc/gov/app/core/dto/CodeDescrDTO.java @@ -1,9 +1,9 @@ -package ca.bc.gov.app.core.vo; +package ca.bc.gov.app.core.dto; import java.util.Date; -public record CodeDescrVO( +public record CodeDescrDTO( String code, String description, Date effectiveDate, diff --git a/backend/src/main/java/ca/bc/gov/app/core/entity/AbstractCodeDescrEntity.java b/backend/src/main/java/ca/bc/gov/app/core/entity/AbstractCodeDescrEntity.java deleted file mode 100644 index 6daa382d48..0000000000 --- a/backend/src/main/java/ca/bc/gov/app/core/entity/AbstractCodeDescrEntity.java +++ /dev/null @@ -1,93 +0,0 @@ -package ca.bc.gov.app.core.entity; - -import jakarta.persistence.Column; -import jakarta.persistence.MappedSuperclass; -import jakarta.persistence.Temporal; -import jakarta.persistence.TemporalType; -import java.util.Date; - -@MappedSuperclass -public abstract class AbstractCodeDescrEntity implements AbstractEntity, CodeDescr { - - private static final long serialVersionUID = 4380176116164211795L; - - @Column(name = "DESCRIPTION", nullable = false) - private String description; - - @Temporal(TemporalType.DATE) - @Column(name = "EFFECTIVE_DATE", nullable = false) - private Date effectiveDate; - - @Temporal(TemporalType.DATE) - @Column(name = "EXPIRY_DATE", nullable = true) - private Date expiryDate; - - @Column(name = "CREATE_TIMESTAMP") - private Date createTimestamp; - - @Column(name = "UPDATE_TIMESTAMP") - private Date updateTimestamp; - - @Column(name = "CREATE_USER") - private String createUser; - - @Column(name = "UPDATE_USER") - private String updateUser; - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public Date getEffectiveDate() { - return effectiveDate; - } - - public void setEffectiveDate(Date effectiveDate) { - this.effectiveDate = effectiveDate; - } - - public Date getExpiryDate() { - return expiryDate; - } - - public void setExpiryDate(Date expiryDate) { - this.expiryDate = expiryDate; - } - - public Date getCreateTimestamp() { - return createTimestamp; - } - - public void setCreateTimestamp(Date createTimestamp) { - this.createTimestamp = createTimestamp; - } - - public Date getUpdateTimestamp() { - return updateTimestamp; - } - - public void setUpdateTimestamp(Date updateTimestamp) { - this.updateTimestamp = updateTimestamp; - } - - public String getCreateUser() { - return createUser; - } - - public void setCreateUser(String createUser) { - this.createUser = createUser; - } - - public String getUpdateUser() { - return updateUser; - } - - public void setUpdateUser(String updateUser) { - this.updateUser = updateUser; - } - -} diff --git a/backend/src/main/java/ca/bc/gov/app/core/entity/AbstractEntity.java b/backend/src/main/java/ca/bc/gov/app/core/entity/AbstractEntity.java deleted file mode 100644 index 1e1a0609be..0000000000 --- a/backend/src/main/java/ca/bc/gov/app/core/entity/AbstractEntity.java +++ /dev/null @@ -1,7 +0,0 @@ -package ca.bc.gov.app.core.entity; - -import java.io.Serializable; - -public interface AbstractEntity extends Serializable { - -} diff --git a/backend/src/main/java/ca/bc/gov/app/core/entity/CodeDescr.java b/backend/src/main/java/ca/bc/gov/app/core/entity/CodeDescr.java deleted file mode 100644 index 448221052c..0000000000 --- a/backend/src/main/java/ca/bc/gov/app/core/entity/CodeDescr.java +++ /dev/null @@ -1,11 +0,0 @@ -package ca.bc.gov.app.core.entity; - -import java.io.Serializable; - -public interface CodeDescr extends Serializable { - - String getCode(); - - String getDescription(); - -} diff --git a/backend/src/main/java/ca/bc/gov/app/core/util/CoreUtil.java b/backend/src/main/java/ca/bc/gov/app/core/util/CoreUtil.java index be4e77e7f9..1df991398d 100644 --- a/backend/src/main/java/ca/bc/gov/app/core/util/CoreUtil.java +++ b/backend/src/main/java/ca/bc/gov/app/core/util/CoreUtil.java @@ -1,38 +1,18 @@ package ca.bc.gov.app.core.util; -import ca.bc.gov.app.core.CoreConstant; -import ca.bc.gov.app.core.entity.AbstractCodeDescrEntity; -import ca.bc.gov.app.core.vo.CodeDescrVO; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Calendar; -import java.util.Comparator; import java.util.Date; -import java.util.List; -import java.util.stream.Collectors; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Component; @Component public class CoreUtil { - - public Date getCurrentTime() { - return Calendar.getInstance().getTime(); - } - - - public boolean isNumber(String str) { - return str.matches("^\\d+$"); - } - - public T jsonStringToObj(String jsonInString, Class valueType) { try { ObjectMapper mapper = new ObjectMapper(); @@ -61,57 +41,6 @@ public boolean isNullOrBlank(String str) { return str == null || str.trim().length() == 0; } - - public List fromCsvToStringList(String csvString) { - if (!isNullOrBlank(csvString)) { - return new ArrayList<>(Arrays.asList(csvString.split("\\s*,\\s*"))); - } else { - return new ArrayList<>(); - } - } - - - public String fromStringListToCsvWithAposthrophe(String csvString) { - List tempList = fromCsvToStringList(csvString); - if (tempList.isEmpty()) { - return null; - } - String finalStr = null; - for (String listItem : tempList) { - if (finalStr == null) { - finalStr = CoreConstant.APOSTROPHE + listItem + CoreConstant.APOSTROPHE; - } else { - finalStr = - finalStr + CoreConstant.CSV_SPACE_DELIMITER + CoreConstant.APOSTROPHE + listItem + - CoreConstant.APOSTROPHE; - } - } - return finalStr; - } - - - public List toSortedCodeDescrVOs( - List codeDescrEntities) { - Comparator comparatorByDescription = (e1, e2) -> - (e1.getDescription()).compareTo(e2.getDescription()); - - return codeDescrEntities. - stream(). - sorted(comparatorByDescription). - map(this::toCodeDescrVO). - collect(Collectors.toList()); - } - - - public CodeDescrVO toCodeDescrVO(AbstractCodeDescrEntity codeDescrEntity) { - return codeDescrEntity == null ? null : new CodeDescrVO(codeDescrEntity.getCode(), - codeDescrEntity.getDescription(), - codeDescrEntity.getEffectiveDate(), - codeDescrEntity.getExpiryDate(), - null); - } - - public Date toDate(String dateStr, String format) { if (isNullOrBlank(dateStr)) { return null; diff --git a/backend/src/main/java/ca/bc/gov/app/m/ches/controller/ChesCommonServicesController.java b/backend/src/main/java/ca/bc/gov/app/m/ches/controller/ChesCommonServicesController.java index 8dcebd8b10..46babae680 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/ches/controller/ChesCommonServicesController.java +++ b/backend/src/main/java/ca/bc/gov/app/m/ches/controller/ChesCommonServicesController.java @@ -4,13 +4,11 @@ import ca.bc.gov.app.m.ches.service.ChesCommonServicesService; import io.swagger.v3.oas.annotations.tags.Tag; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; +import lombok.RequiredArgsConstructor; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.CrossOrigin; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @@ -19,19 +17,16 @@ @CrossOrigin(origins = "${frontend.url}") @RestController @RequestMapping("/app/m/ches") +@RequiredArgsConstructor public class ChesCommonServicesController { - public static final Logger logger = LoggerFactory.getLogger(ChesCommonServicesController.class); + private final ChesCommonServicesService chesEmailService; - @Autowired - private ChesCommonServicesService ChesEmailService; - - @RequestMapping(value = "/sendEmail", - method = RequestMethod.POST, + @PostMapping(value = "/sendEmail", produces = APPLICATION_JSON_VALUE) public ResponseEntity sendEmail(@RequestParam("emailTo") String emailTo, @RequestParam("emailBody") String emailBody) { - return ChesEmailService.sendEmail(emailTo, emailBody); + return chesEmailService.sendEmail(emailTo, emailBody); } } diff --git a/backend/src/main/java/ca/bc/gov/app/m/ches/service/ChesCommonServicesService.java b/backend/src/main/java/ca/bc/gov/app/m/ches/service/ChesCommonServicesService.java index d017789fcc..3e02c8f670 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/ches/service/ChesCommonServicesService.java +++ b/backend/src/main/java/ca/bc/gov/app/m/ches/service/ChesCommonServicesService.java @@ -4,14 +4,13 @@ import java.net.URISyntaxException; import java.util.List; import java.util.Map; +import lombok.extern.slf4j.Slf4j; import org.apache.oltu.oauth2.client.OAuthClient; import org.apache.oltu.oauth2.client.URLConnectionClient; import org.apache.oltu.oauth2.client.request.OAuthClientRequest; import org.apache.oltu.oauth2.client.response.OAuthJSONAccessTokenResponse; import org.apache.oltu.oauth2.common.OAuth; import org.apache.oltu.oauth2.common.message.types.GrantType; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; @@ -21,10 +20,9 @@ import org.springframework.web.client.RestTemplate; @Service +@Slf4j public class ChesCommonServicesService { - public static final Logger logger = LoggerFactory.getLogger(ChesCommonServicesService.class); - private URI toURI(String uri) { try { return new URI(uri); @@ -48,7 +46,7 @@ private String getToken() { return token; } catch (Exception e) { - logger.error("Failed to get email authentication token" + e.toString()); + log.error("Failed to get email authentication token" + e.toString()); return ""; } @@ -79,7 +77,7 @@ public ResponseEntity sendEmail(String emailTo, String emailBody) { return ResponseEntity.ok(response); } catch (Exception e) { - logger.error("Failed to send email" + e.toString()); + log.error("Failed to send email" + e.toString()); return new ResponseEntity<>(null, HttpStatus.INTERNAL_SERVER_ERROR); } diff --git a/backend/src/main/java/ca/bc/gov/app/m/ob/controller/OrgBookApiController.java b/backend/src/main/java/ca/bc/gov/app/m/ob/controller/OrgBookApiController.java index 5f8a094bce..da0ad764e5 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/ob/controller/OrgBookApiController.java +++ b/backend/src/main/java/ca/bc/gov/app/m/ob/controller/OrgBookApiController.java @@ -7,13 +7,10 @@ import ca.bc.gov.app.m.oracle.legacyclient.entity.ForestClientEntity; import io.swagger.v3.oas.annotations.tags.Tag; import java.util.List; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; +import lombok.RequiredArgsConstructor; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @@ -23,15 +20,12 @@ @Tag(name = "OrgBook") @RestController @RequestMapping("/app/m/orgbook") +@RequiredArgsConstructor public class OrgBookApiController { - public static final Logger logger = LoggerFactory.getLogger(OrgBookApiController.class); + private final OrgBookApiService orgBookApiService; - @Autowired - private OrgBookApiService orgBookApiService; - - @RequestMapping(value = "/findByIncorporationNumber", - method = RequestMethod.GET, + @GetMapping(value = "/findByIncorporationNumber", produces = APPLICATION_JSON_VALUE) public ResponseEntity findByIncorporationNumber( @RequestParam("incorporationNumber") String incorporationNumber) { diff --git a/backend/src/main/java/ca/bc/gov/app/m/ob/dto/OrgBookResponseDTO.java b/backend/src/main/java/ca/bc/gov/app/m/ob/dto/OrgBookResponseDTO.java new file mode 100644 index 0000000000..abb5bd8221 --- /dev/null +++ b/backend/src/main/java/ca/bc/gov/app/m/ob/dto/OrgBookResponseDTO.java @@ -0,0 +1,10 @@ +package ca.bc.gov.app.m.ob.dto; + +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public record OrgBookResponseDTO( + @JsonProperty("results") + List results +){} \ No newline at end of file diff --git a/backend/src/main/java/ca/bc/gov/app/m/ob/dto/ResultDTO.java b/backend/src/main/java/ca/bc/gov/app/m/ob/dto/ResultDTO.java new file mode 100644 index 0000000000..f641bc79ea --- /dev/null +++ b/backend/src/main/java/ca/bc/gov/app/m/ob/dto/ResultDTO.java @@ -0,0 +1,4 @@ +package ca.bc.gov.app.m.ob.dto; + +public record ResultDTO(String value, String topic_source_id) { +} diff --git a/backend/src/main/java/ca/bc/gov/app/m/ob/service/OrgBookApiService.java b/backend/src/main/java/ca/bc/gov/app/m/ob/service/OrgBookApiService.java index cb62eb2de6..159d4d670d 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/ob/service/OrgBookApiService.java +++ b/backend/src/main/java/ca/bc/gov/app/m/ob/service/OrgBookApiService.java @@ -1,12 +1,12 @@ package ca.bc.gov.app.m.ob.service; import ca.bc.gov.app.core.util.CoreUtil; -import ca.bc.gov.app.m.ob.vo.OrgBookResponseVO; +import ca.bc.gov.app.m.ob.dto.OrgBookResponseDTO; import ca.bc.gov.app.m.oracle.legacyclient.entity.ClientDoingBusinessAsEntity; import ca.bc.gov.app.m.oracle.legacyclient.entity.ForestClientEntity; import ca.bc.gov.app.m.oracle.legacyclient.repository.ClientDoingBusinessAsRepository; import ca.bc.gov.app.m.oracle.legacyclient.repository.ForestClientRepository; -import ca.bc.gov.app.m.oracle.legacyclient.vo.ClientPublicViewVO; +import ca.bc.gov.app.m.oracle.legacyclient.dto.ClientPublicViewDTO; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URI; @@ -17,30 +17,24 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.springframework.data.domain.PageRequest; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate; @Service +@Slf4j +@RequiredArgsConstructor public class OrgBookApiService { - public static final Logger logger = LoggerFactory.getLogger(OrgBookApiService.class); + private final CoreUtil coreUtil; + private final ClientDoingBusinessAsRepository clientDoingBusinessAsRepository; + private final ForestClientRepository forestClientRepository; - @Autowired - private CoreUtil coreUtil; - @Autowired - private ClientDoingBusinessAsRepository clientDoingBusinessAsRepository; - - @Autowired - private ForestClientRepository forestClientRepository; - - - public OrgBookResponseVO findByClientName(String clientName) { + public OrgBookResponseDTO findByClientName(String clientName) { String uri; try { uri = "https://orgbook.gov.bc.ca/api/v3/search/autocomplete?q=" + @@ -52,10 +46,10 @@ public OrgBookResponseVO findByClientName(String clientName) { RestTemplate restTemplate = new RestTemplate(); String restCallResponse = restTemplate.getForObject(toURI(uri), String.class); - OrgBookResponseVO response = - coreUtil.jsonStringToObj(restCallResponse, OrgBookResponseVO.class); + OrgBookResponseDTO response = + coreUtil.jsonStringToObj(restCallResponse, OrgBookResponseDTO.class); - logger.info("Results: " + response.results()); + log.info("Results: " + response.results()); return response; } @@ -68,11 +62,11 @@ public ResponseEntity findByIncorporationNumber(String incorporationNumb RestTemplate restTemplate = new RestTemplate(); String restCallResponse = restTemplate.getForObject(toURI(url), String.class); - OrgBookResponseVO response = - coreUtil.jsonStringToObj(restCallResponse, OrgBookResponseVO.class); + OrgBookResponseDTO response = + coreUtil.jsonStringToObj(restCallResponse, OrgBookResponseDTO.class); - logger.info("Response: " + response.toString()); - logger.info("Results: " + response.results()); + log.info("Response: " + response.toString()); + log.info("Results: " + response.results()); return ResponseEntity.ok(response); } @@ -92,7 +86,7 @@ public List validateClientDoingBusinessAs() { Long count = clientDoingBusinessAsRepository.countAll(); List doingBusinessClients = new ArrayList<>(); - List clients = new ArrayList<>(); + List clients = new ArrayList<>(); int take = 10; int numberOfPages = (int) Math.ceil(count / take); @@ -103,11 +97,11 @@ public List validateClientDoingBusinessAs() { } for (ClientDoingBusinessAsEntity clientDoingBusinessAsEntity : doingBusinessClients) { - OrgBookResponseVO orgBookResponseVO = this.findByClientName( + OrgBookResponseDTO orgBookResponseDTO = this.findByClientName( clientDoingBusinessAsEntity.getDoingBusinessAsName()); clients.add( - new ClientPublicViewVO( + new ClientPublicViewDTO( clientDoingBusinessAsEntity.getClientNumber(), null, clientDoingBusinessAsEntity.getDoingBusinessAsName(), @@ -115,14 +109,14 @@ public List validateClientDoingBusinessAs() { null, null, null, - !orgBookResponseVO.results().isEmpty() ? - orgBookResponseVO.results().get(0).value() : + !orgBookResponseDTO.results().isEmpty() ? + orgBookResponseDTO.results().get(0).value() : null ) ); } - //logger.info(coreUtil.objToJsonString(clients)); + //log.info(coreUtil.objToJsonString(clients)); String content = coreUtil.objToJsonString(clients); String path = "C:/repo/a.txt"; try { @@ -131,8 +125,8 @@ public List validateClientDoingBusinessAs() { e.printStackTrace(); } - logger.info("Started at " + startedDate); - logger.info("Finished at " + new Date()); + log.info("Started at " + startedDate); + log.info("Finished at " + new Date()); return doingBusinessClients; } @@ -142,7 +136,7 @@ public List validateUnregisteredCompanies() { Long count = forestClientRepository.countAll(); List unregisteredCompanies = new ArrayList<>(); - List clients = new ArrayList<>(); + List clients = new ArrayList<>(); int take = 10; int numberOfPages = (int) Math.ceil(count / take); @@ -153,18 +147,18 @@ public List validateUnregisteredCompanies() { } for (ForestClientEntity forestClientEntity : unregisteredCompanies) { - OrgBookResponseVO orgBookResponseVO = + OrgBookResponseDTO orgBookResponseDTO = this.findByClientName(forestClientEntity.getClientName()); - String nameInOrgBook = !orgBookResponseVO.results().isEmpty() ? - orgBookResponseVO.results().get(0).value() : + String nameInOrgBook = !orgBookResponseDTO.results().isEmpty() ? + orgBookResponseDTO.results().get(0).value() : null; - clients.add(new ClientPublicViewVO( + clients.add(new ClientPublicViewDTO( forestClientEntity.getClientNumber(), coreUtil .isSame(forestClientEntity.getClientName(), nameInOrgBook) ? - orgBookResponseVO.results().get(0).topic_source_id() : + orgBookResponseDTO.results().get(0).topic_source_id() : null , forestClientEntity.getClientName(), @@ -184,8 +178,8 @@ public List validateUnregisteredCompanies() { e.printStackTrace(); } - logger.info("Started at " + startedDate); - logger.info("Finished at " + new Date()); + log.info("Started at " + startedDate); + log.info("Finished at " + new Date()); return unregisteredCompanies; } diff --git a/backend/src/main/java/ca/bc/gov/app/m/ob/vo/OrgBookResponseVO.java b/backend/src/main/java/ca/bc/gov/app/m/ob/vo/OrgBookResponseVO.java deleted file mode 100644 index b4e21b1e26..0000000000 --- a/backend/src/main/java/ca/bc/gov/app/m/ob/vo/OrgBookResponseVO.java +++ /dev/null @@ -1,11 +0,0 @@ -package ca.bc.gov.app.m.ob.vo; - -import java.io.Serializable; -import java.util.List; - -import com.fasterxml.jackson.annotation.JsonProperty; - -public record OrgBookResponseVO( - @JsonProperty("results") - List results -){} \ No newline at end of file diff --git a/backend/src/main/java/ca/bc/gov/app/m/ob/vo/ResultVO.java b/backend/src/main/java/ca/bc/gov/app/m/ob/vo/ResultVO.java deleted file mode 100644 index 07a3754857..0000000000 --- a/backend/src/main/java/ca/bc/gov/app/m/ob/vo/ResultVO.java +++ /dev/null @@ -1,4 +0,0 @@ -package ca.bc.gov.app.m.ob.vo; - -public record ResultVO(String value, String topic_source_id) { -} diff --git a/backend/src/main/java/ca/bc/gov/app/m/om/controller/OpenMapsController.java b/backend/src/main/java/ca/bc/gov/app/m/om/controller/OpenMapsController.java deleted file mode 100644 index 973a99398c..0000000000 --- a/backend/src/main/java/ca/bc/gov/app/m/om/controller/OpenMapsController.java +++ /dev/null @@ -1,30 +0,0 @@ -package ca.bc.gov.app.m.om.controller; - -//import java.util.List; -// -//import javax.inject.Inject; - -import io.swagger.v3.oas.annotations.tags.Tag; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -@Tag(name = "Open Maps") -@RestController -@RequestMapping("/app/m/openmaps") -public class OpenMapsController { - - public static final Logger logger = LoggerFactory.getLogger(OpenMapsController.class); -// -// @Autowired -// private OpenMapsService dataValidationService; -// -// @ApiOperation(value = "This method is used to get the current date.", hidden = true) -// @GetMapping("/validateFirstNationBand") -// public List validateFirstNationBand() { -// List validationResult = dataValidationService.validateFirstNationBand(); -// return validationResult; -// } - -} diff --git a/backend/src/main/java/ca/bc/gov/app/m/om/dto/FeatureDTO.java b/backend/src/main/java/ca/bc/gov/app/m/om/dto/FeatureDTO.java new file mode 100644 index 0000000000..16eae2001f --- /dev/null +++ b/backend/src/main/java/ca/bc/gov/app/m/om/dto/FeatureDTO.java @@ -0,0 +1,4 @@ +package ca.bc.gov.app.m.om.dto; + +public record FeatureDTO(PropertyDTO properties) { +} diff --git a/backend/src/main/java/ca/bc/gov/app/m/om/dto/FirstNationBandValidationDTO.java b/backend/src/main/java/ca/bc/gov/app/m/om/dto/FirstNationBandValidationDTO.java new file mode 100644 index 0000000000..5ed6cec418 --- /dev/null +++ b/backend/src/main/java/ca/bc/gov/app/m/om/dto/FirstNationBandValidationDTO.java @@ -0,0 +1,32 @@ +package ca.bc.gov.app.m.om.dto; + +public record FirstNationBandValidationDTO( + String clientNumber, + String corpRegnNmbr, + String clientName, + String sourceClientName, + Boolean nameMatch, + String addressOne, + String sourceAddressOne, + String addressTwo, + String sourceAddressTwo, + String city, + String sourceCity, + String province, + String sourceProvince, + String postalCode, + String sourcePostalCode, + Boolean addressMatch +) { + public FirstNationBandValidationDTO { + nameMatch = clientName.equalsIgnoreCase(sourceClientName); + addressMatch = ((addressOne != null && sourceAddressOne != null && + addressOne.equalsIgnoreCase(sourceAddressOne.replace(".", ""))) + || (addressTwo != null && sourceAddressTwo != null && + addressTwo.equalsIgnoreCase(sourceAddressTwo.replace(".", "")))) + && (city != null && city.equalsIgnoreCase(sourceCity)) + && + (postalCode != null && postalCode.equalsIgnoreCase(sourcePostalCode.replaceAll("\\s", ""))); + } + +} diff --git a/backend/src/main/java/ca/bc/gov/app/m/om/vo/OpenMapsResponseVO.java b/backend/src/main/java/ca/bc/gov/app/m/om/dto/OpenMapsResponseDTO.java similarity index 54% rename from backend/src/main/java/ca/bc/gov/app/m/om/vo/OpenMapsResponseVO.java rename to backend/src/main/java/ca/bc/gov/app/m/om/dto/OpenMapsResponseDTO.java index e72eaa7570..12272f2e28 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/om/vo/OpenMapsResponseVO.java +++ b/backend/src/main/java/ca/bc/gov/app/m/om/dto/OpenMapsResponseDTO.java @@ -1,10 +1,10 @@ -package ca.bc.gov.app.m.om.vo; +package ca.bc.gov.app.m.om.dto; import com.fasterxml.jackson.annotation.JsonProperty; import java.util.List; -public record OpenMapsResponseVO( +public record OpenMapsResponseDTO( @JsonProperty("features") - List features + List features ) { } diff --git a/backend/src/main/java/ca/bc/gov/app/m/om/vo/PropertyVO.java b/backend/src/main/java/ca/bc/gov/app/m/om/dto/PropertyDTO.java similarity index 87% rename from backend/src/main/java/ca/bc/gov/app/m/om/vo/PropertyVO.java rename to backend/src/main/java/ca/bc/gov/app/m/om/dto/PropertyDTO.java index f174cff415..cf319d45d2 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/om/vo/PropertyVO.java +++ b/backend/src/main/java/ca/bc/gov/app/m/om/dto/PropertyDTO.java @@ -1,8 +1,8 @@ -package ca.bc.gov.app.m.om.vo; +package ca.bc.gov.app.m.om.dto; import com.fasterxml.jackson.annotation.JsonProperty; -public record PropertyVO( +public record PropertyDTO( @JsonProperty("FIRST_NATION_FEDERAL_NAME") String firstNationFederalName, @JsonProperty("FIRST_NATION_FEDERAL_ID") String firstNationFederalId, @JsonProperty("ADDRESS_LINE1") String addressLine1, diff --git a/backend/src/main/java/ca/bc/gov/app/m/om/service/OpenMapsService.java b/backend/src/main/java/ca/bc/gov/app/m/om/service/OpenMapsService.java index e879362d6c..4a70821d6a 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/om/service/OpenMapsService.java +++ b/backend/src/main/java/ca/bc/gov/app/m/om/service/OpenMapsService.java @@ -1,8 +1,8 @@ package ca.bc.gov.app.m.om.service; import ca.bc.gov.app.core.util.CoreUtil; -import ca.bc.gov.app.m.om.vo.FirstNationBandVidationVO; -import ca.bc.gov.app.m.om.vo.OpenMapsResponseVO; +import ca.bc.gov.app.m.om.dto.FirstNationBandValidationDTO; +import ca.bc.gov.app.m.om.dto.OpenMapsResponseDTO; import ca.bc.gov.app.m.oracle.legacyclient.entity.ClientLocationEntity; import ca.bc.gov.app.m.oracle.legacyclient.entity.ForestClientEntity; import ca.bc.gov.app.m.oracle.legacyclient.repository.ClientLocationRepository; @@ -11,26 +11,20 @@ import java.net.URISyntaxException; import java.util.ArrayList; import java.util.List; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import org.springframework.web.client.RestTemplate; @Service +@RequiredArgsConstructor +@Slf4j public class OpenMapsService { - @Autowired - private ForestClientRepository forestClientRepository; - - @Autowired - private ClientLocationRepository clientLocationRepository; - - @Autowired - private CoreUtil coreUtil; - - public static final Logger logger = LoggerFactory.getLogger(OpenMapsService.class); + private final ForestClientRepository forestClientRepository; + private final ClientLocationRepository clientLocationRepository; + private final CoreUtil coreUtil; private URI toURI(String uri) { try { @@ -40,7 +34,7 @@ private URI toURI(String uri) { } } - private OpenMapsResponseVO checkSourceFirstNationId(String firstNationId) { + private OpenMapsResponseDTO checkSourceFirstNationId(String firstNationId) { try { String url = @@ -50,23 +44,23 @@ private OpenMapsResponseVO checkSourceFirstNationId(String firstNationId) { RestTemplate restTemplate = new RestTemplate(); String restCallResponse = restTemplate.getForObject(toURI(url), String.class); - OpenMapsResponseVO response = - coreUtil.jsonStringToObj(restCallResponse, OpenMapsResponseVO.class); + OpenMapsResponseDTO response = + coreUtil.jsonStringToObj(restCallResponse, OpenMapsResponseDTO.class); return response; } catch (RuntimeException e) { - logger.error("Failed to get source data for " + firstNationId + e.toString()); + log.error("Failed to get source data for " + firstNationId + e.toString()); return null; } } - public List validateFirstNationBand() { + public List validateFirstNationBand() { List clients = forestClientRepository.findAllFirstNationBandClients(); - List firstNationBands = new ArrayList<>(); + List firstNationBands = new ArrayList<>(); int notFound = 0; int match = 0; int partialMatch = 0; @@ -77,14 +71,17 @@ public List validateFirstNationBand() { for (ForestClientEntity client : clients) { if (client.getCorpRegnNmbr() != null) { - OpenMapsResponseVO response = checkSourceFirstNationId(client.getCorpRegnNmbr()); + OpenMapsResponseDTO response = checkSourceFirstNationId(client.getCorpRegnNmbr()); ClientLocationEntity clientLocation = clientLocationRepository .findByClientNumber(client.getClientNumber()); if (!CollectionUtils.isEmpty(response.features())) { - FirstNationBandVidationVO firstNationBand = - new FirstNationBandVidationVO(client.getClientNumber(), - client.getCorpRegnNmbr(), client.getClientName(), + FirstNationBandValidationDTO firstNationBand = + new FirstNationBandValidationDTO( + client.getClientNumber(), + client.getCorpRegnNmbr(), + client.getClientName(), response.features().get(0).properties().firstNationFederalName(), + null, clientLocation.getAddressOne(), response.features().get(0).properties().addressLine1(), clientLocation.getAddressTwo(), @@ -93,46 +90,77 @@ public List validateFirstNationBand() { clientLocation.getProvince(), response.features().get(0).properties().officeProvince(), clientLocation.getPostalCode(), - response.features().get(0).properties().officePostalCode()); + response.features().get(0).properties().officePostalCode(), + null + ); firstNationBands.add(firstNationBand); - if (firstNationBand.nameMatch && firstNationBand.addressMatch) { + if (firstNationBand.nameMatch() && firstNationBand.addressMatch()) { match += 1; nameMatch += 1; addressMatch += 1; - } else if (firstNationBand.nameMatch) { + } else if (firstNationBand.nameMatch()) { nameMatch += 1; partialMatch += 1; - } else if (firstNationBand.addressMatch) { + } else if (firstNationBand.addressMatch()) { addressMatch += 1; partialMatch += 1; } else { notMatch += 1; } } else { - FirstNationBandVidationVO firstNationBand = new FirstNationBandVidationVO(); - firstNationBand.clientNumber = client.getClientNumber(); - firstNationBand.corpRegnNmbr = client.getCorpRegnNmbr(); - firstNationBand.clientName = client.getClientName(); + FirstNationBandValidationDTO firstNationBand = + new FirstNationBandValidationDTO( + client.getClientNumber(), + client.getCorpRegnNmbr(), + client.getClientName(), + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ); notFound += 1; firstNationBands.add(firstNationBand); } } else { - FirstNationBandVidationVO firstNationBand = new FirstNationBandVidationVO(); - firstNationBand.clientNumber = client.getClientNumber(); - firstNationBand.corpRegnNmbr = client.getCorpRegnNmbr(); - firstNationBand.clientName = client.getClientName(); + FirstNationBandValidationDTO firstNationBand = new FirstNationBandValidationDTO( + client.getClientNumber(), + client.getCorpRegnNmbr(), + client.getClientName(), + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ); notFound += 1; firstNationBands.add(firstNationBand); } } - logger.info("not found: " + notFound); - logger.info("match: " + match); - logger.info("nameMatch: " + nameMatch); - logger.info("addressMatch: " + addressMatch); - logger.info("partialMatch: " + partialMatch); - logger.info("notMatch: " + notMatch); + log.info("not found: " + notFound); + log.info("match: " + match); + log.info("nameMatch: " + nameMatch); + log.info("addressMatch: " + addressMatch); + log.info("partialMatch: " + partialMatch); + log.info("notMatch: " + notMatch); return firstNationBands; diff --git a/backend/src/main/java/ca/bc/gov/app/m/om/vo/FeatureVO.java b/backend/src/main/java/ca/bc/gov/app/m/om/vo/FeatureVO.java deleted file mode 100644 index 2cdf5f4d57..0000000000 --- a/backend/src/main/java/ca/bc/gov/app/m/om/vo/FeatureVO.java +++ /dev/null @@ -1,4 +0,0 @@ -package ca.bc.gov.app.m.om.vo; - -public record FeatureVO(PropertyVO properties) { -} diff --git a/backend/src/main/java/ca/bc/gov/app/m/om/vo/FirstNationBandVidationVO.java b/backend/src/main/java/ca/bc/gov/app/m/om/vo/FirstNationBandVidationVO.java deleted file mode 100644 index 7d8d0317a5..0000000000 --- a/backend/src/main/java/ca/bc/gov/app/m/om/vo/FirstNationBandVidationVO.java +++ /dev/null @@ -1,90 +0,0 @@ -package ca.bc.gov.app.m.om.vo; - -import java.io.Serializable; - -public class FirstNationBandVidationVO implements Serializable { - - private static final long serialVersionUID = 3621133933076995146L; - - public String clientNumber; - - public String corpRegnNmbr; - - public String clientName; - - public String sourceClientName; - - public Boolean nameMatch; - - public String addressOne; - - public String sourceAddressOne; - - public String addressTwo; - - public String sourceAddressTwo; - - public String city; - - public String sourceCity; - - public String province; - - public String sourceProvince; - - public String postalCode; - - public String sourcePostalCode; - - public Boolean addressMatch; - - public FirstNationBandVidationVO() { - super(); - } - - public FirstNationBandVidationVO(String clientNumber, String corpRegnNmbr, String clientName, - String sourceClientName, String addressOne, - String sourceAddressOne, String addressTwo, - String sourceAddressTwo, String city, String sourceCity, - String province, String sourceProvince, - String postalCode, String sourcePostalCode) { - super(); - this.clientNumber = clientNumber; - this.corpRegnNmbr = corpRegnNmbr; - this.clientName = clientName; - this.sourceClientName = sourceClientName; - this.nameMatch = clientName.equalsIgnoreCase(sourceClientName); - this.addressOne = addressOne; - this.sourceAddressOne = sourceAddressOne; - this.addressTwo = addressTwo; - this.sourceAddressTwo = sourceAddressTwo; - this.city = city; - this.sourceCity = sourceCity; - this.province = province; - this.sourceProvince = sourceProvince; - this.postalCode = postalCode; - this.sourcePostalCode = sourcePostalCode; - this.addressMatch = ((addressOne != null && sourceAddressOne != null && - addressOne.equalsIgnoreCase(sourceAddressOne.replace(".", ""))) - || (addressTwo != null && sourceAddressTwo != null && - addressTwo.equalsIgnoreCase(sourceAddressTwo.replace(".", "")))) - && (city != null && city.equalsIgnoreCase(sourceCity)) - && - (postalCode != null && postalCode.equalsIgnoreCase(sourcePostalCode.replaceAll("\\s", ""))); - } - - @Override - public String toString() { - return "FirstNationBandVidationVO [clientNumber=" + clientNumber + ", corpRegnNmbr=" + - corpRegnNmbr - + ", clientName=" + clientName + ", sourceClientName=" + sourceClientName + ", nameMatch=" + - nameMatch - + ", addressOne=" + addressOne + ", sourceAddressOne=" + sourceAddressOne + - ", addressTwo=" + addressTwo - + ", sourceAddressTwo=" + sourceAddressTwo + ", city=" + city + ", sourceCity=" + sourceCity - + ", province=" + province + ", sourceProvince=" + sourceProvince + ", postalCode=" + - postalCode - + ", sourcePostalCode=" + sourcePostalCode + ", addressMatch=" + addressMatch + "]"; - } - -} diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/controller/LegacyClientController.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/controller/LegacyClientController.java index 72e6a3a0e9..4154f0ce33 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/controller/LegacyClientController.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/controller/LegacyClientController.java @@ -2,7 +2,7 @@ import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE; -import ca.bc.gov.app.core.configuration.OraclePersistenceConfiguration; +import ca.bc.gov.app.core.CoreConstant; import ca.bc.gov.app.m.oracle.legacyclient.entity.ForestClientEntity; import ca.bc.gov.app.m.oracle.legacyclient.service.LegacyClientService; import io.swagger.v3.oas.annotations.Parameter; @@ -13,12 +13,12 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.repository.query.Param; import org.springframework.web.bind.annotation.CrossOrigin; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -@Tag(name = OraclePersistenceConfiguration.ORACLE_API_TAG) +@Tag(name = CoreConstant.ORACLE_API_TAG) @CrossOrigin(origins = "${frontend.url}") @RestController @RequestMapping("/app/m/legacyclient") @@ -29,7 +29,7 @@ public class LegacyClientController { @Autowired private LegacyClientService legacyClientService; - @RequestMapping(value = "/findClientByIncorporationNumberOrName", method = RequestMethod.GET, produces = APPLICATION_JSON_VALUE) + @GetMapping(value = "/findClientByIncorporationNumberOrName", produces = APPLICATION_JSON_VALUE) public List findClientByIncorporationOrName( @Param("incorporationNumber") String incorporationNumber, @Param("companyName") String companyName) { @@ -37,11 +37,11 @@ public List findClientByIncorporationOrName( return legacyClientService.findClientByIncorporationOrName(incorporationNumber, companyName); } - @RequestMapping(value = "/findClientByNameAndBirthdate", method = RequestMethod.GET, produces = APPLICATION_JSON_VALUE) + @GetMapping(value = "/findClientByNameAndBirthdate", produces = APPLICATION_JSON_VALUE) public List findClientByNameAndBirthdate( @RequestParam("firstName") String firstName, @RequestParam("lastName") String lastName, - @Parameter(name = "birthdate", required = true, description = "in the format of yyyy-mm-dd") + @Parameter(name = "birthdate", description = "in the format of yyyy-mm-dd") String birthdate) { return legacyClientService.findClientByNameAndBirthdate(firstName, lastName, birthdate); diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/vo/ClientPublicFilterObjectVO.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/dto/ClientPublicFilterObjectDTO.java similarity index 73% rename from backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/vo/ClientPublicFilterObjectVO.java rename to backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/dto/ClientPublicFilterObjectDTO.java index 3b2c58ff98..029ea21bc9 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/vo/ClientPublicFilterObjectVO.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/dto/ClientPublicFilterObjectDTO.java @@ -1,4 +1,4 @@ -package ca.bc.gov.app.m.oracle.legacyclient.vo; +package ca.bc.gov.app.m.oracle.legacyclient.dto; /** * @author Maria Martinez, Government of BC @@ -6,7 +6,7 @@ * @created 2022-11-03 */ -public record ClientPublicFilterObjectVO( +public record ClientPublicFilterObjectDTO( String clientName, String clientFirstName, String clientMiddleName, diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/vo/ClientPublicViewVO.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/dto/ClientPublicViewDTO.java similarity index 85% rename from backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/vo/ClientPublicViewVO.java rename to backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/dto/ClientPublicViewDTO.java index 1103fd9fdd..58af980ba3 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/vo/ClientPublicViewVO.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/dto/ClientPublicViewDTO.java @@ -1,8 +1,8 @@ -package ca.bc.gov.app.m.oracle.legacyclient.vo; +package ca.bc.gov.app.m.oracle.legacyclient.dto; import org.apache.commons.lang3.StringUtils; -public record ClientPublicViewVO( +public record ClientPublicViewDTO( String clientNumber, String incorporationNumber, String clientName, diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientDoingBusinessAsEntity.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientDoingBusinessAsEntity.java index 1c1962a7c6..19c55dbcde 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientDoingBusinessAsEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientDoingBusinessAsEntity.java @@ -1,18 +1,24 @@ package ca.bc.gov.app.m.oracle.legacyclient.entity; -import ca.bc.gov.app.core.configuration.OraclePersistenceConfiguration; -import ca.bc.gov.app.core.entity.AbstractEntity; +import ca.bc.gov.app.core.CoreConstant; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; -import java.util.Objects; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.With; @Entity -@Table(name = "CLIENT_DOING_BUSINESS_AS", schema = OraclePersistenceConfiguration.ORACLE_ATTRIBUTE_SCHEMA) -public class ClientDoingBusinessAsEntity implements AbstractEntity { - - private static final long serialVersionUID = 608865729103878585L; +@Table(name = "CLIENT_DOING_BUSINESS_AS", schema = CoreConstant.ORACLE_ATTRIBUTE_SCHEMA) +@Data +@Builder +@With +@NoArgsConstructor +@AllArgsConstructor +public class ClientDoingBusinessAsEntity { @Id @Column(name = "CLIENT_NUMBER") @@ -21,40 +27,4 @@ public class ClientDoingBusinessAsEntity implements AbstractEntity { @Column(name = "DOING_BUSINESS_AS_NAME") private String doingBusinessAsName; - public String getClientNumber() { - return clientNumber; - } - - public void setClientNumber(String clientNumber) { - this.clientNumber = clientNumber; - } - - public String getDoingBusinessAsName() { - return doingBusinessAsName; - } - - public void setDoingBusinessAsName(String doingBusinessAsName) { - this.doingBusinessAsName = doingBusinessAsName; - } - - @Override - public int hashCode() { - return Objects.hash(clientNumber); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } - ClientDoingBusinessAsEntity other = (ClientDoingBusinessAsEntity) obj; - return Objects.equals(clientNumber, other.clientNumber); - } - } diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientLocationEntity.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientLocationEntity.java index 6fe61fcce7..50a0299a44 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientLocationEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientLocationEntity.java @@ -1,19 +1,25 @@ package ca.bc.gov.app.m.oracle.legacyclient.entity; -import ca.bc.gov.app.core.configuration.OraclePersistenceConfiguration; -import ca.bc.gov.app.core.entity.AbstractEntity; +import ca.bc.gov.app.core.CoreConstant; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; import java.util.Date; -import java.util.Objects; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.With; @Entity -@Table(name = "CLIENT_LOCATION", schema = OraclePersistenceConfiguration.ORACLE_ATTRIBUTE_SCHEMA) -public class ClientLocationEntity implements AbstractEntity { - - private static final long serialVersionUID = -1795480401567670619L; +@Table(name = "CLIENT_LOCATION", schema = CoreConstant.ORACLE_ATTRIBUTE_SCHEMA) +@Data +@Builder +@With +@NoArgsConstructor +@AllArgsConstructor +public class ClientLocationEntity { @Id @Column(name = "CLIENT_NUMBER") @@ -97,240 +103,4 @@ public class ClientLocationEntity implements AbstractEntity { @Column(name = "REVISION_COUNT") private Long revisionCount; - public String getClientNumber() { - return clientNumber; - } - - public void setClientNumber(String clientNumber) { - this.clientNumber = clientNumber; - } - - public String getClientLocnCode() { - return clientLocnCode; - } - - public void setClientLocnCode(String clientLocnCode) { - this.clientLocnCode = clientLocnCode; - } - - public String getClientLocnName() { - return clientLocnName; - } - - public void setClientLocnName(String clientLocnName) { - this.clientLocnName = clientLocnName; - } - - public String getHdbsCompanyCode() { - return hdbsCompanyCode; - } - - public void setHdbsCompanyCode(String hdbsCompanyCode) { - this.hdbsCompanyCode = hdbsCompanyCode; - } - - public String getAddressOne() { - return addressOne; - } - - public void setAddressOne(String addressOne) { - this.addressOne = addressOne; - } - - public String getAddressTwo() { - return addressTwo; - } - - public void setAddressTwo(String addressTwo) { - this.addressTwo = addressTwo; - } - - public String getAddressThree() { - return addressThree; - } - - public void setAddressThree(String addressThree) { - this.addressThree = addressThree; - } - - public String getCity() { - return city; - } - - public void setCity(String city) { - this.city = city; - } - - public String getProvince() { - return province; - } - - public void setProvince(String province) { - this.province = province; - } - - public String getPostalCode() { - return postalCode; - } - - public void setPostalCode(String postalCode) { - this.postalCode = postalCode; - } - - public String getCountry() { - return country; - } - - public void setCountry(String country) { - this.country = country; - } - - public String getBusinessPhone() { - return businessPhone; - } - - public void setBusinessPhone(String businessPhone) { - this.businessPhone = businessPhone; - } - - public String getHomePhone() { - return homePhone; - } - - public void setHomePhone(String homePhone) { - this.homePhone = homePhone; - } - - public String getCellPhone() { - return cellPhone; - } - - public void setCellPhone(String cellPhone) { - this.cellPhone = cellPhone; - } - - public String getFaxNumber() { - return faxNumber; - } - - public void setFaxNumber(String faxNumber) { - this.faxNumber = faxNumber; - } - - public String getEmailAddress() { - return emailAddress; - } - - public void setEmailAddress(String emailAddress) { - this.emailAddress = emailAddress; - } - - public String getLocnExpiredInd() { - return locnExpiredInd; - } - - public void setLocnExpiredInd(String locnExpiredInd) { - this.locnExpiredInd = locnExpiredInd; - } - - public Date getReturnedMailDate() { - return returnedMailDate; - } - - public void setReturnedMailDate(Date returnedMailDate) { - this.returnedMailDate = returnedMailDate; - } - - public String getTrustLocationInd() { - return trustLocationInd; - } - - public void setTrustLocationInd(String trustLocationInd) { - this.trustLocationInd = trustLocationInd; - } - - public String getCliLocnComment() { - return cliLocnComment; - } - - public void setCliLocnComment(String cliLocnComment) { - this.cliLocnComment = cliLocnComment; - } - - public Date getUpdateTimestamp() { - return updateTimestamp; - } - - public void setUpdateTimestamp(Date updateTimestamp) { - this.updateTimestamp = updateTimestamp; - } - - public String getUpdateUserId() { - return updateUserId; - } - - public void setUpdateUserId(String updateUserId) { - this.updateUserId = updateUserId; - } - - public Long getUpdateOrgUnit() { - return updateOrgUnit; - } - - public void setUpdateOrgUnit(Long updateOrgUnit) { - this.updateOrgUnit = updateOrgUnit; - } - - public Date getAddTimestamp() { - return addTimestamp; - } - - public void setAddTimestamp(Date addTimestamp) { - this.addTimestamp = addTimestamp; - } - - public String getAddUserId() { - return addUserId; - } - - public void setAddUserId(String addUserId) { - this.addUserId = addUserId; - } - - public Long getAddOrgUnit() { - return addOrgUnit; - } - - public void setAddOrgUnit(Long addOrgUnit) { - this.addOrgUnit = addOrgUnit; - } - - public Long getRevisionCount() { - return revisionCount; - } - - public void setRevisionCount(Long revisionCount) { - this.revisionCount = revisionCount; - } - - @Override - public int hashCode() { - return Objects.hash(clientNumber); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } - ClientLocationEntity other = (ClientLocationEntity) obj; - return Objects.equals(clientNumber, other.clientNumber); - } - } diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientPublicViewEntity.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientPublicViewEntity.java index d0ee0e8d69..71f57e97ae 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientPublicViewEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientPublicViewEntity.java @@ -1,18 +1,24 @@ package ca.bc.gov.app.m.oracle.legacyclient.entity; -import ca.bc.gov.app.core.configuration.OraclePersistenceConfiguration; -import ca.bc.gov.app.core.entity.AbstractEntity; +import ca.bc.gov.app.core.CoreConstant; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; -import java.util.Objects; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.With; @Entity -@Table(name = "V_CLIENT_PUBLIC", schema = OraclePersistenceConfiguration.ORACLE_ATTRIBUTE_SCHEMA) -public class ClientPublicViewEntity implements AbstractEntity { - - private static final long serialVersionUID = -3060423136744818530L; +@Table(name = "V_CLIENT_PUBLIC", schema = CoreConstant.ORACLE_ATTRIBUTE_SCHEMA) +@Data +@Builder +@With +@NoArgsConstructor +@AllArgsConstructor +public class ClientPublicViewEntity { @Id @Column(name = "CLIENT_NUMBER") private String clientNumber; @@ -32,72 +38,4 @@ public class ClientPublicViewEntity implements AbstractEntity { @Column(name = "CLIENT_TYPE_CODE") private String clientTypeCode; - public String getClientNumber() { - return clientNumber; - } - - public void setClientNumber(String clientNumber) { - this.clientNumber = clientNumber; - } - - public String getClientName() { - return clientName; - } - - public void setClientName(String clientName) { - this.clientName = clientName; - } - - public String getLegalFirstName() { - return legalFirstName; - } - - public void setLegalFirstName(String legalFirstName) { - this.legalFirstName = legalFirstName; - } - - public String getLegalMiddleName() { - return legalMiddleName; - } - - public void setLegalMiddleName(String legalMiddleName) { - this.legalMiddleName = legalMiddleName; - } - - public String getClientStatusCode() { - return clientStatusCode; - } - - public void setClientStatusCode(String clientStatusCode) { - this.clientStatusCode = clientStatusCode; - } - - public String getClientTypeCode() { - return clientTypeCode; - } - - public void setClientTypeCode(String clientTypeCode) { - this.clientTypeCode = clientTypeCode; - } - - @Override - public int hashCode() { - return Objects.hash(clientNumber); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } - ClientPublicViewEntity other = (ClientPublicViewEntity) obj; - return Objects.equals(clientNumber, other.clientNumber); - } - } diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientStatusCodeEntity.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientStatusCodeEntity.java index 7b662dda95..4df2bf8683 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientStatusCodeEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientStatusCodeEntity.java @@ -1,18 +1,25 @@ package ca.bc.gov.app.m.oracle.legacyclient.entity; -import ca.bc.gov.app.core.configuration.OraclePersistenceConfiguration; -import ca.bc.gov.app.core.entity.AbstractEntity; +import ca.bc.gov.app.core.CoreConstant; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; import java.util.Date; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.With; @Entity -@Table(name = "CLIENT_STATUS_CODE", schema = OraclePersistenceConfiguration.ORACLE_ATTRIBUTE_SCHEMA) -public class ClientStatusCodeEntity implements AbstractEntity { - - private static final long serialVersionUID = 4341025008217142732L; +@Table(name = "CLIENT_STATUS_CODE", schema = CoreConstant.ORACLE_ATTRIBUTE_SCHEMA) +@Data +@Builder +@With +@NoArgsConstructor +@AllArgsConstructor +public class ClientStatusCodeEntity { public static final String ACTIVE = "ACT"; @@ -41,68 +48,5 @@ public class ClientStatusCodeEntity implements AbstractEntity { @Column(name = "UPDATE_USER") private String updateUser; - public String getClientStatusCode() { - return clientStatusCode; - } - - public void setClientStatusCode(String clientStatusCode) { - this.clientStatusCode = clientStatusCode; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public Date getEffectiveDate() { - return effectiveDate; - } - - public void setEffectiveDate(Date effectiveDate) { - this.effectiveDate = effectiveDate; - } - - public Date getExpiryDate() { - return expiryDate; - } - - public void setExpiryDate(Date expiryDate) { - this.expiryDate = expiryDate; - } - - public Date getCreateTimestamp() { - return createTimestamp; - } - - public void setCreateTimestamp(Date createTimestamp) { - this.createTimestamp = createTimestamp; - } - - public Date getUpdateTimestamp() { - return updateTimestamp; - } - - public void setUpdateTimestamp(Date updateTimestamp) { - this.updateTimestamp = updateTimestamp; - } - - public String getCreateUser() { - return createUser; - } - - public void setCreateUser(String createUser) { - this.createUser = createUser; - } - - public String getUpdateUser() { - return updateUser; - } - - public void setUpdateUser(String updateUser) { - this.updateUser = updateUser; - } } \ No newline at end of file diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ForestClientEntity.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ForestClientEntity.java index c88621b493..a25e527387 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ForestClientEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ForestClientEntity.java @@ -1,19 +1,25 @@ package ca.bc.gov.app.m.oracle.legacyclient.entity; -import ca.bc.gov.app.core.configuration.OraclePersistenceConfiguration; -import ca.bc.gov.app.core.entity.AbstractEntity; +import ca.bc.gov.app.core.CoreConstant; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; import java.util.Date; -import java.util.Objects; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.With; @Entity -@Table(name = "FOREST_CLIENT", schema = OraclePersistenceConfiguration.ORACLE_ATTRIBUTE_SCHEMA) -public class ForestClientEntity implements AbstractEntity { - - private static final long serialVersionUID = 832879803987592344L; +@Table(name = "FOREST_CLIENT", schema = CoreConstant.ORACLE_ATTRIBUTE_SCHEMA) +@Data +@Builder +@With +@NoArgsConstructor +@AllArgsConstructor +public class ForestClientEntity { @Id @Column(name = "CLIENT_NUMBER") @@ -82,200 +88,4 @@ public class ForestClientEntity implements AbstractEntity { @Column(name = "REVISION_COUNT") private Long revisionCount; - public String getClientNumber() { - return clientNumber; - } - - public void setClientNumber(String clientNumber) { - this.clientNumber = clientNumber; - } - - public String getClientName() { - return clientName; - } - - public void setClientName(String clientName) { - this.clientName = clientName; - } - - public String getLegalFirstName() { - return legalFirstName; - } - - public void setLegalFirstName(String legalFirstName) { - this.legalFirstName = legalFirstName; - } - - public String getLegalMiddleName() { - return legalMiddleName; - } - - public void setLegalMiddleName(String legalMiddleName) { - this.legalMiddleName = legalMiddleName; - } - - public String getClientStatusCode() { - return clientStatusCode; - } - - public void setClientStatusCode(String clientStatusCode) { - this.clientStatusCode = clientStatusCode; - } - - public String getClientTypeCode() { - return clientTypeCode; - } - - public void setClientTypeCode(String clientTypeCode) { - this.clientTypeCode = clientTypeCode; - } - - public Date getBirthdate() { - return birthdate; - } - - public void setBirthdate(Date birthdate) { - this.birthdate = birthdate; - } - - public String getClientIdTypeCode() { - return clientIdTypeCode; - } - - public void setClientIdTypeCode(String clientIdTypeCode) { - this.clientIdTypeCode = clientIdTypeCode; - } - - public String getClientIdentification() { - return clientIdentification; - } - - public void setClientIdentification(String clientIdentification) { - this.clientIdentification = clientIdentification; - } - - public String getRegistryCompanyTypeCode() { - return registryCompanyTypeCode; - } - - public void setRegistryCompanyTypeCode(String registryCompanyTypeCode) { - this.registryCompanyTypeCode = registryCompanyTypeCode; - } - - public String getCorpRegnNmbr() { - return corpRegnNmbr; - } - - public void setCorpRegnNmbr(String corpRegnNmbr) { - this.corpRegnNmbr = corpRegnNmbr; - } - - public String getClientAcronym() { - return clientAcronym; - } - - public void setClientAcronym(String clientAcronym) { - this.clientAcronym = clientAcronym; - } - - public String getWcbFirmNumber() { - return wcbFirmNumber; - } - - public void setWcbFirmNumber(String wcbFirmNumber) { - this.wcbFirmNumber = wcbFirmNumber; - } - - public String getOcgSupplierNmbr() { - return ocgSupplierNmbr; - } - - public void setOcgSupplierNmbr(String ocgSupplierNmbr) { - this.ocgSupplierNmbr = ocgSupplierNmbr; - } - - public String getClientComment() { - return clientComment; - } - - public void setClientComment(String clientComment) { - this.clientComment = clientComment; - } - - public Date getAddTimestamp() { - return addTimestamp; - } - - public void setAddTimestamp(Date addTimestamp) { - this.addTimestamp = addTimestamp; - } - - public String getAddUserId() { - return addUserId; - } - - public void setAddUserId(String addUserId) { - this.addUserId = addUserId; - } - - public Number getAddOrgUnit() { - return addOrgUnit; - } - - public void setAddOrgUnit(Long addOrgUnit) { - this.addOrgUnit = addOrgUnit; - } - - public Date getUpdateTimestamp() { - return updateTimestamp; - } - - public void setUpdateTimestamp(Date updateTimestamp) { - this.updateTimestamp = updateTimestamp; - } - - public String getUpdateUserId() { - return updateUserId; - } - - public void setUpdateUserId(String updateUserId) { - this.updateUserId = updateUserId; - } - - public Number getUpdateOrgUnit() { - return updateOrgUnit; - } - - public void setUpdateOrgUnit(Long updateOrgUnit) { - this.updateOrgUnit = updateOrgUnit; - } - - public Number getRevisionCount() { - return revisionCount; - } - - public void setRevisionCount(Long revisionCount) { - this.revisionCount = revisionCount; - } - - @Override - public int hashCode() { - return Objects.hash(clientNumber); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } - ForestClientEntity other = (ForestClientEntity) obj; - return Objects.equals(clientNumber, other.clientNumber); - } - } diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/service/LegacyClientService.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/service/LegacyClientService.java index 08e804dba5..dfd0d98e69 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/service/LegacyClientService.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/service/LegacyClientService.java @@ -1,39 +1,40 @@ package ca.bc.gov.app.m.oracle.legacyclient.service; +import static ca.bc.gov.app.core.CoreConstant.DATE_FORMAT; + import ca.bc.gov.app.core.util.CoreUtil; import ca.bc.gov.app.m.oracle.legacyclient.entity.ForestClientEntity; import ca.bc.gov.app.m.oracle.legacyclient.repository.ForestClientRepository; import java.util.Date; import java.util.List; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; +import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @Service +@RequiredArgsConstructor public class LegacyClientService { - public static final Logger logger = LoggerFactory.getLogger(LegacyClientService.class); - - public static final String DATE_FORMAT = "yyyy-MM-dd"; - - @Autowired - private ForestClientRepository forestClientRepository; - - @Autowired - private CoreUtil coreUtil; + private final ForestClientRepository forestClientRepository; + private final CoreUtil coreUtil; - public List findClientByIncorporationOrName(String incorporationNumber, - String companyName) { - return forestClientRepository.findClientByIncorporationOrName(incorporationNumber, companyName); + public List findClientByIncorporationOrName( + String incorporationNumber, + String companyName + ) { + return forestClientRepository + .findClientByIncorporationOrName(incorporationNumber, companyName); } - public List findClientByNameAndBirthdate(String firstName, String lastName, - String birthdate) { + public List findClientByNameAndBirthdate( + String firstName, + String lastName, + String birthdate + ) { Date dateOfBirth = coreUtil.toDate(birthdate, DATE_FORMAT); - return forestClientRepository.findClientByNameAndBirthdate(firstName, lastName, dateOfBirth); + return forestClientRepository + .findClientByNameAndBirthdate(firstName, lastName, dateOfBirth); } } diff --git a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/controller/ClientController.java b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/controller/ClientController.java index eb5bf1bca5..53e832499a 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/controller/ClientController.java +++ b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/controller/ClientController.java @@ -2,30 +2,26 @@ import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE; -import ca.bc.gov.app.core.configuration.PostgresPersistenceConfiguration; -import ca.bc.gov.app.core.vo.CodeDescrVO; +import ca.bc.gov.app.core.CoreConstant; +import ca.bc.gov.app.core.dto.CodeDescrDTO; import ca.bc.gov.app.m.postgres.client.service.ClientService; import io.swagger.v3.oas.annotations.tags.Tag; import java.util.List; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; -@Tag(name = PostgresPersistenceConfiguration.POSTGRES_API_TAG) +@Tag(name = CoreConstant.POSTGRES_API_TAG) @RestController @RequestMapping("/app/m/client") +@RequiredArgsConstructor public class ClientController { - public static final Logger logger = LoggerFactory.getLogger(ClientController.class); + private final ClientService clientService; - @Autowired - private ClientService clientService; - - @RequestMapping(value = "/findActiveClientTypeCodes", method = RequestMethod.GET, produces = APPLICATION_JSON_VALUE) - public List findActiveClientTypeCodes() { + @GetMapping(value = "/findActiveClientTypeCodes", produces = APPLICATION_JSON_VALUE) + public List findActiveClientTypeCodes() { return clientService.findActiveClientTypeCodes(); } diff --git a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/ClientTypeCodeEntity.java b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/ClientTypeCodeEntity.java index 13c1e0a02a..d99df94b7c 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/ClientTypeCodeEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/ClientTypeCodeEntity.java @@ -1,17 +1,28 @@ package ca.bc.gov.app.m.postgres.client.entity; -import ca.bc.gov.app.core.configuration.PostgresPersistenceConfiguration; -import ca.bc.gov.app.core.entity.AbstractCodeDescrEntity; +import ca.bc.gov.app.core.CoreConstant; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; +import jakarta.persistence.Temporal; +import jakarta.persistence.TemporalType; +import java.util.Date; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.With; @Entity -@Table(name = "CLIENT_TYPE_CODE", schema = PostgresPersistenceConfiguration.POSTGRES_ATTRIBUTE_SCHEMA) -public class ClientTypeCodeEntity extends AbstractCodeDescrEntity { +@Table(name = "CLIENT_TYPE_CODE", schema = CoreConstant.POSTGRES_ATTRIBUTE_SCHEMA) +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@With +public class ClientTypeCodeEntity { - private static final long serialVersionUID = 8069253248355277428L; public static final String INDIVIDUAL = "I"; public static final String ASSOCIATION = "A"; @@ -24,13 +35,27 @@ public class ClientTypeCodeEntity extends AbstractCodeDescrEntity { @Column(name = "CLIENT_TYPE_CODE") private String code; - @Override - public String getCode() { - return code; - } + @Column(name = "DESCRIPTION", nullable = false) + private String description; - public void setCode(String code) { - this.code = code; - } + @Temporal(TemporalType.DATE) + @Column(name = "EFFECTIVE_DATE", nullable = false) + private Date effectiveDate; + + @Temporal(TemporalType.DATE) + @Column(name = "EXPIRY_DATE", nullable = true) + private Date expiryDate; + + @Column(name = "CREATE_TIMESTAMP") + private Date createTimestamp; + + @Column(name = "UPDATE_TIMESTAMP") + private Date updateTimestamp; + + @Column(name = "CREATE_USER") + private String createUser; + + @Column(name = "UPDATE_USER") + private String updateUser; } diff --git a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionDetailEntity.java b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionDetailEntity.java index db20e21193..1d3118da9a 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionDetailEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionDetailEntity.java @@ -1,7 +1,6 @@ package ca.bc.gov.app.m.postgres.client.entity; -import ca.bc.gov.app.core.configuration.PostgresPersistenceConfiguration; -import ca.bc.gov.app.core.entity.AbstractEntity; +import ca.bc.gov.app.core.CoreConstant; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; @@ -12,18 +11,25 @@ import jakarta.persistence.SequenceGenerator; import jakarta.persistence.Table; import java.util.Date; -import java.util.Objects; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.With; @Entity -@Table(name = "SUBMISSION_DETAIL", schema = PostgresPersistenceConfiguration.POSTGRES_ATTRIBUTE_SCHEMA) -public class SubmissionDetailEntity implements AbstractEntity { - - private static final long serialVersionUID = -8966248654104607818L; +@Table(name = "SUBMISSION_DETAIL", schema = CoreConstant.POSTGRES_ATTRIBUTE_SCHEMA) +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@With +public class SubmissionDetailEntity { @Id @GeneratedValue(generator = "SEQ_SUBMISSION_DETAIL") @SequenceGenerator(name = "SEQ_SUBMISSION_DETAIL", - sequenceName = PostgresPersistenceConfiguration.POSTGRES_ATTRIBUTE_SCHEMA_QUALIFIER + + sequenceName = CoreConstant.POSTGRES_ATTRIBUTE_SCHEMA_QUALIFIER + "SUBMISSION_DETAIL_ID_SEQ", allocationSize = 1) @Column(name = "SUBMISSION_DETAIL_ID", nullable = false, precision = 10, scale = 0) @@ -58,104 +64,4 @@ public class SubmissionDetailEntity implements AbstractEntity { @Column(name = "CLIENT_COMMENT") private String clientComment; - public Long getSubmissionDetailId() { - return submissionDetailId; - } - - public void setSubmissionDetailId(Long submissionDetailId) { - this.submissionDetailId = submissionDetailId; - } - - public SubmissionEntity getSubmissionEntity() { - return submissionEntity; - } - - public void setSubmissionEntity(SubmissionEntity submissionEntity) { - this.submissionEntity = submissionEntity; - } - - public String getIncorporationNumber() { - return incorporationNumber; - } - - public void setIncorporationNumber(String incorporationNumber) { - this.incorporationNumber = incorporationNumber; - } - - public Date getOrganizationName() { - return organizationName; - } - - public void setOrganizationName(Date organizationName) { - this.organizationName = organizationName; - } - - public String getFirstName() { - return firstName; - } - - public void setFirstName(String firstName) { - this.firstName = firstName; - } - - public String getMiddleName() { - return middleName; - } - - public void setMiddleName(String middleName) { - this.middleName = middleName; - } - - public String getLastName() { - return lastName; - } - - public void setLastName(String lastName) { - this.lastName = lastName; - } - - public ClientTypeCodeEntity getClientTypeCodeEntity() { - return clientTypeCodeEntity; - } - - public void setClientTypeCodeEntity(ClientTypeCodeEntity clientTypeCodeEntity) { - this.clientTypeCodeEntity = clientTypeCodeEntity; - } - - public Date getDateOfBirth() { - return dateOfBirth; - } - - public void setDateOfBirth(Date dateOfBirth) { - this.dateOfBirth = dateOfBirth; - } - - public String getClientComment() { - return clientComment; - } - - public void setClientComment(String clientComment) { - this.clientComment = clientComment; - } - - @Override - public int hashCode() { - return Objects.hash(submissionDetailId); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } - SubmissionDetailEntity other = (SubmissionDetailEntity) obj; - return Objects.equals(submissionDetailId, other.submissionDetailId); - } - } diff --git a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionEntity.java b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionEntity.java index af9b20d778..ce30af98c4 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionEntity.java @@ -1,7 +1,6 @@ package ca.bc.gov.app.m.postgres.client.entity; -import ca.bc.gov.app.core.configuration.PostgresPersistenceConfiguration; -import ca.bc.gov.app.core.entity.AbstractEntity; +import ca.bc.gov.app.core.CoreConstant; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; @@ -11,18 +10,24 @@ import jakarta.persistence.SequenceGenerator; import jakarta.persistence.Table; import java.util.Date; -import java.util.Objects; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.With; @Entity -@Table(name = "SUBMISSION", schema = PostgresPersistenceConfiguration.POSTGRES_ATTRIBUTE_SCHEMA) -public class SubmissionEntity implements AbstractEntity { - - private static final long serialVersionUID = -8966248654104607818L; - +@Table(name = "SUBMISSION", schema = CoreConstant.POSTGRES_ATTRIBUTE_SCHEMA) +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@With +public class SubmissionEntity { @Id @GeneratedValue(generator = "SEQ_SUBMISSION") @SequenceGenerator(name = "SEQ_SUBMISSION", - sequenceName = PostgresPersistenceConfiguration.POSTGRES_ATTRIBUTE_SCHEMA_QUALIFIER + + sequenceName = CoreConstant.POSTGRES_ATTRIBUTE_SCHEMA_QUALIFIER + "SUBMISSION_ID_SEQ", allocationSize = 1) @Column(name = "SUBMISSION_ID", nullable = false, precision = 10, scale = 0) @@ -47,80 +52,4 @@ public class SubmissionEntity implements AbstractEntity { @Column(name = "UPDATE_USER") private String updateUser; - public Long getSubmissionId() { - return submissionId; - } - - public void setSubmissionId(Long submissionId) { - this.submissionId = submissionId; - } - - public String getSubmitterUserGuid() { - return submitterUserGuid; - } - - public void setSubmitterUserGuid(String submitterUserGuid) { - this.submitterUserGuid = submitterUserGuid; - } - - public SubmissionStatusCodeEntity getSubmissionStatusCodeEntity() { - return submissionStatusCodeEntity; - } - - public void setSubmissionStatusCodeEntity(SubmissionStatusCodeEntity submissionStatusCodeEntity) { - this.submissionStatusCodeEntity = submissionStatusCodeEntity; - } - - public Date getSubmitterDate() { - return submitterDate; - } - - public void setSubmitterDate(Date submitterDate) { - this.submitterDate = submitterDate; - } - - public Date getUpdateTimestamp() { - return updateTimestamp; - } - - public void setUpdateTimestamp(Date updateTimestamp) { - this.updateTimestamp = updateTimestamp; - } - - public String getCreateUser() { - return createUser; - } - - public void setCreateUser(String createUser) { - this.createUser = createUser; - } - - public String getUpdateUser() { - return updateUser; - } - - public void setUpdateUser(String updateUser) { - this.updateUser = updateUser; - } - - @Override - public int hashCode() { - return Objects.hash(submissionId); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } - SubmissionEntity other = (SubmissionEntity) obj; - return Objects.equals(submissionId, other.submissionId); - } - } diff --git a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionStatusCodeEntity.java b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionStatusCodeEntity.java index b8f6094064..9a72d030d0 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionStatusCodeEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionStatusCodeEntity.java @@ -1,17 +1,27 @@ package ca.bc.gov.app.m.postgres.client.entity; -import ca.bc.gov.app.core.configuration.PostgresPersistenceConfiguration; -import ca.bc.gov.app.core.entity.AbstractCodeDescrEntity; +import ca.bc.gov.app.core.CoreConstant; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; +import jakarta.persistence.Temporal; +import jakarta.persistence.TemporalType; +import java.util.Date; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.With; @Entity -@Table(name = "SUBMISSION_STATUS_CODE", schema = PostgresPersistenceConfiguration.POSTGRES_ATTRIBUTE_SCHEMA) -public class SubmissionStatusCodeEntity extends AbstractCodeDescrEntity { - - private static final long serialVersionUID = 4341025008217142732L; +@Table(name = "SUBMISSION_STATUS_CODE", schema = CoreConstant.POSTGRES_ATTRIBUTE_SCHEMA) +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@With +public class SubmissionStatusCodeEntity { public static final String IN_PROGRESS = "P"; public static final String APPROVED = "A"; @@ -23,13 +33,27 @@ public class SubmissionStatusCodeEntity extends AbstractCodeDescrEntity { @Column(name = "SUBMISSION_STATUS_CODE") private String code; - @Override - public String getCode() { - return code; - } + @Column(name = "DESCRIPTION", nullable = false) + private String description; + + @Temporal(TemporalType.DATE) + @Column(name = "EFFECTIVE_DATE", nullable = false) + private Date effectiveDate; + + @Temporal(TemporalType.DATE) + @Column(name = "EXPIRY_DATE", nullable = true) + private Date expiryDate; + + @Column(name = "CREATE_TIMESTAMP") + private Date createTimestamp; + + @Column(name = "UPDATE_TIMESTAMP") + private Date updateTimestamp; + + @Column(name = "CREATE_USER") + private String createUser; - public void setCode(String code) { - this.code = code; - } + @Column(name = "UPDATE_USER") + private String updateUser; } diff --git a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/service/ClientService.java b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/service/ClientService.java index 4f1ba9589c..ac8928b1a7 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/service/ClientService.java +++ b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/service/ClientService.java @@ -1,28 +1,38 @@ package ca.bc.gov.app.m.postgres.client.service; -import ca.bc.gov.app.core.util.CoreUtil; -import ca.bc.gov.app.core.vo.CodeDescrVO; +import ca.bc.gov.app.core.dto.CodeDescrDTO; import ca.bc.gov.app.m.postgres.client.entity.ClientTypeCodeEntity; import ca.bc.gov.app.m.postgres.client.repository.ClientTypeCodeRepository; -import java.util.Date; +import java.util.Calendar; +import java.util.Comparator; import java.util.List; -import org.springframework.beans.factory.annotation.Autowired; +import java.util.stream.Collectors; +import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @Service +@RequiredArgsConstructor public class ClientService { + private final ClientTypeCodeRepository clientTypeCodeRepository; - @Autowired - private CoreUtil coreUtil; - - @Autowired - private ClientTypeCodeRepository clientTypeCodeRepository; - - - public List findActiveClientTypeCodes() { - Date currentTime = coreUtil.getCurrentTime(); - List clientTypeCodes = clientTypeCodeRepository.findActiveAt(currentTime); - return coreUtil.toSortedCodeDescrVOs(clientTypeCodes); + public List findActiveClientTypeCodes() { + return + clientTypeCodeRepository + .findActiveAt( + Calendar + .getInstance() + .getTime() + ) + .stream() + .sorted(Comparator.comparing(ClientTypeCodeEntity::getDescription)) + .map(entity -> new CodeDescrDTO( + entity.getCode(), + entity.getDescription(), + entity.getEffectiveDate(), + entity.getExpiryDate(), + null) + ) + .collect(Collectors.toList()); } } diff --git a/backend/src/test/java/ca/bc/gov/app/m/postgres/client/controller/ClientControllerTest.java b/backend/src/test/java/ca/bc/gov/app/m/postgres/client/controller/ClientControllerTest.java index d27f3c6f20..31254c068b 100644 --- a/backend/src/test/java/ca/bc/gov/app/m/postgres/client/controller/ClientControllerTest.java +++ b/backend/src/test/java/ca/bc/gov/app/m/postgres/client/controller/ClientControllerTest.java @@ -3,7 +3,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.BDDMockito.given; -import ca.bc.gov.app.core.vo.CodeDescrVO; +import ca.bc.gov.app.core.dto.CodeDescrDTO; import ca.bc.gov.app.m.postgres.client.entity.ClientTypeCodeEntity; import java.util.Arrays; import java.util.Date; @@ -23,7 +23,7 @@ public class ClientControllerTest { private ClientController clientController; private ClientTypeCodeEntity clientTypeCode; - private CodeDescrVO codeDescrVO; + private CodeDescrDTO codeDescrDTO; @BeforeEach public void setup() throws Exception { @@ -36,20 +36,20 @@ public void setup() throws Exception { clientTypeCode.setEffectiveDate(today); clientTypeCode.setExpiryDate(tomorrow); - codeDescrVO = new CodeDescrVO(clientTypeCode.getCode(), clientTypeCode.getDescription(), + codeDescrDTO = new CodeDescrDTO(clientTypeCode.getCode(), clientTypeCode.getDescription(), clientTypeCode.getEffectiveDate(), clientTypeCode.getExpiryDate(), null); } @Test public void testFindActiveClientTypeCodes() { - List result = Arrays.asList(codeDescrVO); + List result = Arrays.asList(codeDescrDTO); // given given(clientController.findActiveClientTypeCodes()) .willReturn(result); // when - List activeClientTypes = clientController.findActiveClientTypeCodes(); + List activeClientTypes = clientController.findActiveClientTypeCodes(); // then assertThat(activeClientTypes).isNotNull(); From 53621c477222f72b40c2bcd5bccc00239f38cca7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 14 Dec 2022 13:20:59 -0800 Subject: [PATCH 10/31] Frontend(deps-dev): Bump @types/node in /frontend (#191) Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 18.11.12 to 18.11.15. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Derek Roberts Co-authored-by: MCatherine --- frontend/package-lock.json | 14 +++++++------- frontend/package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 536a434e42..adb6a445bc 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -32,7 +32,7 @@ "devDependencies": { "@rushstack/eslint-patch": "^1.1.0", "@types/jsdom": "^20.0.1", - "@types/node": "^18.11.12", + "@types/node": "^18.11.15", "@typescript-eslint/eslint-plugin": "^5.46.0", "@typescript-eslint/parser": "^5.46.0", "@vue/eslint-config-prettier": "^7.0.0", @@ -998,9 +998,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "18.11.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.12.tgz", - "integrity": "sha512-FgD3NtTAKvyMmD44T07zz2fEf+OKwutgBCEVM8GcvMGVGaDktiLNTDvPwC/LUe3PinMW+X6CuLOF2Ui1mAlSXg==" + "version": "18.11.15", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.15.tgz", + "integrity": "sha512-VkhBbVo2+2oozlkdHXLrb3zjsRkpdnaU2bXmX8Wgle3PUi569eLRaHGlgETQHR7lLL1w7GiG3h9SnePhxNDecw==" }, "node_modules/@types/semver": { "version": "7.3.13", @@ -9161,9 +9161,9 @@ "dev": true }, "@types/node": { - "version": "18.11.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.12.tgz", - "integrity": "sha512-FgD3NtTAKvyMmD44T07zz2fEf+OKwutgBCEVM8GcvMGVGaDktiLNTDvPwC/LUe3PinMW+X6CuLOF2Ui1mAlSXg==" + "version": "18.11.15", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.15.tgz", + "integrity": "sha512-VkhBbVo2+2oozlkdHXLrb3zjsRkpdnaU2bXmX8Wgle3PUi569eLRaHGlgETQHR7lLL1w7GiG3h9SnePhxNDecw==" }, "@types/semver": { "version": "7.3.13", diff --git a/frontend/package.json b/frontend/package.json index 8fb686cf35..f24c61b95d 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -55,7 +55,7 @@ "devDependencies": { "@rushstack/eslint-patch": "^1.1.0", "@types/jsdom": "^20.0.1", - "@types/node": "^18.11.12", + "@types/node": "^18.11.15", "@typescript-eslint/eslint-plugin": "^5.46.0", "@typescript-eslint/parser": "^5.46.0", "@vue/eslint-config-prettier": "^7.0.0", From 5a97cbde1e64621f52a70dc28f1033cb7bba91a7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 14 Dec 2022 14:26:22 -0800 Subject: [PATCH 11/31] Frontend(deps-dev): Bump @typescript-eslint/eslint-plugin in /frontend (#186) Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.46.0 to 5.46.1. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.46.1/packages/eslint-plugin) --- updated-dependencies: - dependency-name: "@typescript-eslint/eslint-plugin" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- frontend/package-lock.json | 3617 +++++++++++++++--------------------- frontend/package.json | 2 +- 2 files changed, 1505 insertions(+), 2114 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index adb6a445bc..2ab9b98d68 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -33,7 +33,7 @@ "@rushstack/eslint-patch": "^1.1.0", "@types/jsdom": "^20.0.1", "@types/node": "^18.11.15", - "@typescript-eslint/eslint-plugin": "^5.46.0", + "@typescript-eslint/eslint-plugin": "^5.46.1", "@typescript-eslint/parser": "^5.46.0", "@vue/eslint-config-prettier": "^7.0.0", "@vue/eslint-config-typescript": "^10.0.0", @@ -116,9 +116,9 @@ } }, "node_modules/@antfu/utils": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.6.3.tgz", - "integrity": "sha512-sEYpyyKUPOew9QsXZ8feRVMzW6DWLviwOl+/ap06UQW02A8Srbc95CPHVm4eUbiBzBgD46eyIT+przv//KSSlQ==", + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.2.tgz", + "integrity": "sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g==", "funding": { "url": "https://github.com/sponsors/antfu" } @@ -543,6 +543,20 @@ "node": ">= 6" } }, + "node_modules/@cypress/request/node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, "node_modules/@cypress/xvfb": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", @@ -574,9 +588,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.18.tgz", - "integrity": "sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==", + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.6.tgz", + "integrity": "sha512-wc1AyHlFS8eejfAdePn2wr8/5zEa+FvF3ipBeTo4Qm9Xl0A0miTUfphwzXa3xdxU2pHimRCzIAUhjlbSSts8JQ==", "cpu": [ "arm" ], @@ -588,6 +602,141 @@ "node": ">=12" } }, + "node_modules/@esbuild/android-arm64": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.6.tgz", + "integrity": "sha512-5mSVUNQoEpnvWBgMnEKlHGjrK/3kqRoj+YkErK+RbKMlxCGzzkqh+vSGY0pq+RCobAXs0BlBQMQ+8ZutAkyStw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.6.tgz", + "integrity": "sha512-zqbsOaB908GEO4JyVlkV5a9jjHVk35eR6dd3VvOdbu0u0BufaCblFjslbUP8ARGoLS77TWRe1mBpbcySkyybKQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.6.tgz", + "integrity": "sha512-uc46Du5AiooWidDIkXeU3HWIuLTzVbYp95slpd9SdDH7FjXWgiiEo7DXzoUoPxGwkUfPgQvvgFKx3TqsYvy68w==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.6.tgz", + "integrity": "sha512-ND/o8hoEpXxIOqhRbt73tyvnu3WWA8MeuMAVww0crdubpzzEevH0S8r6uRjrHn1H4etRSmWwTbM3rHul68BJOA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.6.tgz", + "integrity": "sha512-mMHz7ePkfVXW5wEhRR0XtoTlXDa5F1hIoxnfoeY+G0wWs4Q3HZgHZrXw3PSO26JnZOxIgyV/OuWIP87nQoWegQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.6.tgz", + "integrity": "sha512-/BneBfb5v+VAqjDLt8Q/5llb7smIEJVPd1afNJDShRfj2qr5nIwh1FJaOjoEWe6I1sucdKJ/EbwOujH+iBkW/g==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.6.tgz", + "integrity": "sha512-hdw0JS24ToFAnWJJbexr62ZRTcl/yJSPeNZR4fAAJY4PcghgQcnp8lO5MdxBe2QCNz3i5WYCoGZcU4+TBJJMDg==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.6.tgz", + "integrity": "sha512-1h2EyMOB9X2VfFzBv4/Xo+OcGj3fmZEwvGxOdDRPxSP8ZVQiqc4XesCVur85VjP0MLPC+y7PioDc/uWpwFadFw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.6.tgz", + "integrity": "sha512-MyBWPjAMAlnkYANHCjeun2QsOn5cY1RxXAqnG0hE+fEmeX/hJK9pj6wQ5QptAew7sKt9flcOLKEB/hn2mr/xUw==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/@esbuild/linux-loong64": { "version": "0.14.54", "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz", @@ -603,6 +752,171 @@ "node": ">=12" } }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.6.tgz", + "integrity": "sha512-/eR74aTs0dWrg/Y9m0H2iE6rIigkwxsaJlzlSoz6N5JspyARRXutAITveg1wGek4W5LkistZBjEeeyCnC3FT9Q==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.6.tgz", + "integrity": "sha512-zwIKMrYQzh59ftwiuXREcXwyjvsRNLELOgdIE17CwTnc5Xxj2IR9Gi8NvQcMTquFoGaHOh8O7F2zJ3vU5LQEhA==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.6.tgz", + "integrity": "sha512-uqCmZ9GnYcD9Od9fiDYH4TLahw14S6ZgCVrIb1bBBwbAy4pEOPwB73vBX3mnG3ClHv7b5xsOYhCBZkfkoJEgMA==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.6.tgz", + "integrity": "sha512-zt1vo5Zzu1Y+0K64wYIQR1pMVNYDbwDetrWy/4XyD4c+tnZfxGZwzZOmb65LSto8hxAYq5UG6DpHSNJ4zy5F1w==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.6.tgz", + "integrity": "sha512-g2aCp+XjWGbHq57ZUfyWNOMVDKr0flizfOa6BkP9Ezn2BLZ+gibxF+6M6272vfvALFYsbCUY+AyoNxuCVcaKFg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.6.tgz", + "integrity": "sha512-q5tKkYilkgNLtp6szs/yXAHJJ4OEjoTRlHHPJtVyDj6AZsdDynrkoFUV98D+CncB9Im5CIRnPmJErb6EDvIR0Q==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.6.tgz", + "integrity": "sha512-dR+DrQ2Dsfia71xKgdUPnf6lc3y4O8qNE4nmhEJHrR7teS0yScspommz28MaIe/8c5IubqPuOY2SYQFSExG55w==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.6.tgz", + "integrity": "sha512-u0hH+njKsZCz7SHRIIkqnOCWITFL+uLaXB7ro3SSztWcx7iB//Lpg/2lkPZ7sZ1lVpO0nmaHWApZIbvMTCwz1Q==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.6.tgz", + "integrity": "sha512-d+hveGvPLoGQHOKVDWfWSLUFnPtdpzWdtmz3PFq4t/iLg1MMTnPy48TrgC/JFTwcxDgKJdFw6ogTXjYN1tVALw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.6.tgz", + "integrity": "sha512-/e2x2+Gq7afiU9xxw5J0r0DCsfsWY+hmjLNzXh6O/9Kf2kFxyCLKsPyTJmj0jQ0icz5aGlxtueH2Hnm5Rczt/Q==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.6.tgz", + "integrity": "sha512-BlXuMzOWhAcdLRzE/PQLAAyhItzvL1fRMvbmHV6k09Xiq8rZzFJB/CrfX3ZQI0nKBlfxO4sLN9H9WwK2nLo7Pg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/@eslint/eslintrc": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", @@ -642,9 +956,9 @@ } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.7", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.7.tgz", - "integrity": "sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw==", + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", "dev": true, "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", @@ -688,15 +1002,15 @@ "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==" }, "node_modules/@iconify/utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@iconify/utils/-/utils-2.0.2.tgz", - "integrity": "sha512-13B3wJxDLmSNBEIEpKleKSkJVQgdAy9ra3Xsu233i/5qD5yXBGhpOFxTB/k8cqme0xVsMKBPV5vbvq9MgQlX+w==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@iconify/utils/-/utils-2.0.3.tgz", + "integrity": "sha512-kLpJ95/ZeT1+vIstjdeFnyfiEmmTJuekGb5SVykfKjLSJjmftTCzm7sxxzNHsd8i5mpKPl7Rws9sLGR3juKJ+g==", "dependencies": { - "@antfu/install-pkg": "^0.1.0", + "@antfu/install-pkg": "^0.1.1", "@antfu/utils": "^0.5.2", "@iconify/types": "^2.0.0", "debug": "^4.3.4", - "kolorist": "^1.5.1", + "kolorist": "^1.6.0", "local-pkg": "^0.4.2" } }, @@ -819,9 +1133,9 @@ } }, "node_modules/@nuxt/kit/node_modules/globby": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.2.tgz", - "integrity": "sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ==", + "version": "13.1.3", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.3.tgz", + "integrity": "sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==", "dependencies": { "dir-glob": "^3.0.1", "fast-glob": "^3.2.11", @@ -1037,14 +1351,14 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.46.0.tgz", - "integrity": "sha512-QrZqaIOzJAjv0sfjY4EjbXUi3ZOFpKfzntx22gPGr9pmFcTjcFw/1sS1LJhEubfAGwuLjNrPV0rH+D1/XZFy7Q==", + "version": "5.46.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.46.1.tgz", + "integrity": "sha512-YpzNv3aayRBwjs4J3oz65eVLXc9xx0PDbIRisHj+dYhvBn02MjYOD96P8YGiWEIFBrojaUjxvkaUpakD82phsA==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.46.0", - "@typescript-eslint/type-utils": "5.46.0", - "@typescript-eslint/utils": "5.46.0", + "@typescript-eslint/scope-manager": "5.46.1", + "@typescript-eslint/type-utils": "5.46.1", + "@typescript-eslint/utils": "5.46.1", "debug": "^4.3.4", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", @@ -1070,14 +1384,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.46.0.tgz", - "integrity": "sha512-joNO6zMGUZg+C73vwrKXCd8usnsmOYmgW/w5ZW0pG0RGvqeznjtGDk61EqqTpNrFLUYBW2RSBFrxdAZMqA4OZA==", + "version": "5.46.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.46.1.tgz", + "integrity": "sha512-RelQ5cGypPh4ySAtfIMBzBGyrNerQcmfA1oJvPj5f+H4jI59rl9xxpn4bonC0tQvUKOEN7eGBFWxFLK3Xepneg==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.46.0", - "@typescript-eslint/types": "5.46.0", - "@typescript-eslint/typescript-estree": "5.46.0", + "@typescript-eslint/scope-manager": "5.46.1", + "@typescript-eslint/types": "5.46.1", + "@typescript-eslint/typescript-estree": "5.46.1", "debug": "^4.3.4" }, "engines": { @@ -1097,13 +1411,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.46.0.tgz", - "integrity": "sha512-7wWBq9d/GbPiIM6SqPK9tfynNxVbfpihoY5cSFMer19OYUA3l4powA2uv0AV2eAZV6KoAh6lkzxv4PoxOLh1oA==", + "version": "5.46.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.46.1.tgz", + "integrity": "sha512-iOChVivo4jpwUdrJZyXSMrEIM/PvsbbDOX1y3UCKjSgWn+W89skxWaYXACQfxmIGhPVpRWK/VWPYc+bad6smIA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.46.0", - "@typescript-eslint/visitor-keys": "5.46.0" + "@typescript-eslint/types": "5.46.1", + "@typescript-eslint/visitor-keys": "5.46.1" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -1114,13 +1428,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.46.0.tgz", - "integrity": "sha512-dwv4nimVIAsVS2dTA0MekkWaRnoYNXY26dKz8AN5W3cBFYwYGFQEqm/cG+TOoooKlncJS4RTbFKgcFY/pOiBCg==", + "version": "5.46.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.46.1.tgz", + "integrity": "sha512-V/zMyfI+jDmL1ADxfDxjZ0EMbtiVqj8LUGPAGyBkXXStWmCUErMpW873zEHsyguWCuq2iN4BrlWUkmuVj84yng==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.46.0", - "@typescript-eslint/utils": "5.46.0", + "@typescript-eslint/typescript-estree": "5.46.1", + "@typescript-eslint/utils": "5.46.1", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -1141,9 +1455,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.46.0.tgz", - "integrity": "sha512-wHWgQHFB+qh6bu0IAPAJCdeCdI0wwzZnnWThlmHNY01XJ9Z97oKqKOzWYpR2I83QmshhQJl6LDM9TqMiMwJBTw==", + "version": "5.46.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.46.1.tgz", + "integrity": "sha512-Z5pvlCaZgU+93ryiYUwGwLl9AQVB/PQ1TsJ9NZ/gHzZjN7g9IAn6RSDkpCV8hqTwAiaj6fmCcKSQeBPlIpW28w==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -1154,13 +1468,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.46.0.tgz", - "integrity": "sha512-kDLNn/tQP+Yp8Ro2dUpyyVV0Ksn2rmpPpB0/3MO874RNmXtypMwSeazjEN/Q6CTp8D7ExXAAekPEcCEB/vtJkw==", + "version": "5.46.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.46.1.tgz", + "integrity": "sha512-j9W4t67QiNp90kh5Nbr1w92wzt+toiIsaVPnEblB2Ih2U9fqBTyqV9T3pYWZBRt6QoMh/zVWP59EpuCjc4VRBg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.46.0", - "@typescript-eslint/visitor-keys": "5.46.0", + "@typescript-eslint/types": "5.46.1", + "@typescript-eslint/visitor-keys": "5.46.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -1181,16 +1495,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.46.0.tgz", - "integrity": "sha512-4O+Ps1CRDw+D+R40JYh5GlKLQERXRKW5yIQoNDpmXPJ+C7kaPF9R7GWl+PxGgXjB3PQCqsaaZUpZ9dG4U6DO7g==", + "version": "5.46.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.46.1.tgz", + "integrity": "sha512-RBdBAGv3oEpFojaCYT4Ghn4775pdjvwfDOfQ2P6qzNVgQOVrnSPe5/Pb88kv7xzYQjoio0eKHKB9GJ16ieSxvA==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.46.0", - "@typescript-eslint/types": "5.46.0", - "@typescript-eslint/typescript-estree": "5.46.0", + "@typescript-eslint/scope-manager": "5.46.1", + "@typescript-eslint/types": "5.46.1", + "@typescript-eslint/typescript-estree": "5.46.1", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0", "semver": "^7.3.7" @@ -1207,12 +1521,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.46.0.tgz", - "integrity": "sha512-E13gBoIXmaNhwjipuvQg1ByqSAu/GbEpP/qzFihugJ+MomtoJtFAJG/+2DRPByf57B863m0/q7Zt16V9ohhANw==", + "version": "5.46.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.46.1.tgz", + "integrity": "sha512-jczZ9noovXwy59KjRTk1OftT78pwygdcmCuBf8yMoWt/8O8l+6x2LSEze0E4TeepXK4MezW3zGSyoDRZK7Y9cg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.46.0", + "@typescript-eslint/types": "5.46.1", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -1236,517 +1550,50 @@ } }, "node_modules/@vitest/coverage-c8": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@vitest/coverage-c8/-/coverage-c8-0.25.6.tgz", - "integrity": "sha512-+Bcs1XZ8CuEe52QSOgzqmqiV82CXZRRj3yclPQqtLkUV4S6+kdOdfRTtMHOilwhZH70giDjBQx3jgiZoYgFVMA==", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@vitest/coverage-c8/-/coverage-c8-0.25.8.tgz", + "integrity": "sha512-fWgzQoK2KNzTTNnDcLCyibfO9/pbcpPOMtZ9Yvq/Eggpi2X8lewx/OcKZkO5ba5q9dl6+BBn6d5hTcS1709rZw==", "dependencies": { "c8": "^7.12.0", - "vitest": "0.25.6" + "vitest": "0.25.8" }, "funding": { "url": "https://github.com/sponsors/antfu" } }, - "node_modules/@vitest/coverage-c8/node_modules/@esbuild/linux-loong64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.18.tgz", - "integrity": "sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==", - "cpu": [ - "loong64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vitest/coverage-c8/node_modules/esbuild": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.18.tgz", - "integrity": "sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==", - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/android-arm": "0.15.18", - "@esbuild/linux-loong64": "0.15.18", - "esbuild-android-64": "0.15.18", - "esbuild-android-arm64": "0.15.18", - "esbuild-darwin-64": "0.15.18", - "esbuild-darwin-arm64": "0.15.18", - "esbuild-freebsd-64": "0.15.18", - "esbuild-freebsd-arm64": "0.15.18", - "esbuild-linux-32": "0.15.18", - "esbuild-linux-64": "0.15.18", - "esbuild-linux-arm": "0.15.18", - "esbuild-linux-arm64": "0.15.18", - "esbuild-linux-mips64le": "0.15.18", - "esbuild-linux-ppc64le": "0.15.18", - "esbuild-linux-riscv64": "0.15.18", - "esbuild-linux-s390x": "0.15.18", - "esbuild-netbsd-64": "0.15.18", - "esbuild-openbsd-64": "0.15.18", - "esbuild-sunos-64": "0.15.18", - "esbuild-windows-32": "0.15.18", - "esbuild-windows-64": "0.15.18", - "esbuild-windows-arm64": "0.15.18" - } - }, - "node_modules/@vitest/coverage-c8/node_modules/esbuild-android-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.18.tgz", - "integrity": "sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vitest/coverage-c8/node_modules/esbuild-android-arm64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.18.tgz", - "integrity": "sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vitest/coverage-c8/node_modules/esbuild-darwin-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.18.tgz", - "integrity": "sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vitest/coverage-c8/node_modules/esbuild-darwin-arm64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.18.tgz", - "integrity": "sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vitest/coverage-c8/node_modules/esbuild-freebsd-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.18.tgz", - "integrity": "sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vitest/coverage-c8/node_modules/esbuild-freebsd-arm64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.18.tgz", - "integrity": "sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vitest/coverage-c8/node_modules/esbuild-linux-32": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.18.tgz", - "integrity": "sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vitest/coverage-c8/node_modules/esbuild-linux-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.18.tgz", - "integrity": "sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vitest/coverage-c8/node_modules/esbuild-linux-arm": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.18.tgz", - "integrity": "sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vitest/coverage-c8/node_modules/esbuild-linux-arm64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.18.tgz", - "integrity": "sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vitest/coverage-c8/node_modules/esbuild-linux-mips64le": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.18.tgz", - "integrity": "sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==", - "cpu": [ - "mips64el" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vitest/coverage-c8/node_modules/esbuild-linux-ppc64le": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.18.tgz", - "integrity": "sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==", - "cpu": [ - "ppc64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vitest/coverage-c8/node_modules/esbuild-linux-riscv64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.18.tgz", - "integrity": "sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==", - "cpu": [ - "riscv64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vitest/coverage-c8/node_modules/esbuild-linux-s390x": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.18.tgz", - "integrity": "sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==", - "cpu": [ - "s390x" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vitest/coverage-c8/node_modules/esbuild-netbsd-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.18.tgz", - "integrity": "sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vitest/coverage-c8/node_modules/esbuild-openbsd-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.18.tgz", - "integrity": "sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vitest/coverage-c8/node_modules/esbuild-sunos-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.18.tgz", - "integrity": "sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vitest/coverage-c8/node_modules/esbuild-windows-32": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.18.tgz", - "integrity": "sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vitest/coverage-c8/node_modules/esbuild-windows-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.18.tgz", - "integrity": "sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vitest/coverage-c8/node_modules/esbuild-windows-arm64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.18.tgz", - "integrity": "sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@vitest/coverage-c8/node_modules/rollup": { - "version": "2.79.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", - "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=10.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/@vitest/coverage-c8/node_modules/vite": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-3.2.5.tgz", - "integrity": "sha512-4mVEpXpSOgrssFZAOmGIr85wPHKvaDAcXqxVxVRZhljkJOMZi1ibLibzjLHzJvcok8BMguLc7g1W6W/GqZbLdQ==", - "dependencies": { - "esbuild": "^0.15.9", - "postcss": "^8.4.18", - "resolve": "^1.22.1", - "rollup": "^2.79.1" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - }, - "peerDependencies": { - "@types/node": ">= 14", - "less": "*", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } - } - }, - "node_modules/@vitest/coverage-c8/node_modules/vitest": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.25.6.tgz", - "integrity": "sha512-jdPgmZ7BcDnm1+hmMPIl9BZjSy+b8Y8V0tQMsv7ECO90Qic7EZ5/+traILXLpsXgqK5KgVrUJmchevAUuKL/1w==", - "dependencies": { - "@types/chai": "^4.3.3", - "@types/chai-subset": "^1.3.3", - "@types/node": "*", - "acorn": "^8.8.0", - "acorn-walk": "^8.2.0", - "chai": "^4.3.6", - "debug": "^4.3.4", - "local-pkg": "^0.4.2", - "source-map": "^0.6.1", - "strip-literal": "^1.0.0", - "tinybench": "^2.3.1", - "tinypool": "^0.3.0", - "tinyspy": "^1.0.2", - "vite": "^3.0.0" - }, - "bin": { - "vitest": "vitest.mjs" - }, - "engines": { - "node": ">=v14.16.0" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "@edge-runtime/vm": "*", - "@vitest/browser": "*", - "@vitest/ui": "*", - "happy-dom": "*", - "jsdom": "*" - }, - "peerDependenciesMeta": { - "@edge-runtime/vm": { - "optional": true - }, - "@vitest/browser": { - "optional": true - }, - "@vitest/ui": { - "optional": true - }, - "happy-dom": { - "optional": true - }, - "jsdom": { - "optional": true - } - } - }, - "node_modules/@volar/language-core": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.0.12.tgz", - "integrity": "sha512-I9wylkEq5Fhv4uIxXq4ys+GKVAxKY64DEw1nj8oP36xaOl80r6ogZ9V3BCKJp/npAlFCH7pAkUDSBkSo8v3Tfg==", - "dependencies": { - "@volar/source-map": "1.0.12", - "@vue/reactivity": "^3.2.45", - "muggle-string": "^0.1.0" + "node_modules/@volar/language-core": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.0.13.tgz", + "integrity": "sha512-aJhRiNjKFgLLB3nRJOfAeyle4StnEQgOKa0UpJU+k5EZd3QdiMfQmekXjxYeQj7NOZNQU7zCBEIvQ3gy15I7tA==", + "dependencies": { + "@volar/source-map": "1.0.13", + "@vue/reactivity": "^3.2.45", + "muggle-string": "^0.1.0" } }, "node_modules/@volar/source-map": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.0.12.tgz", - "integrity": "sha512-5npjYmotdIIerchOn9QwGHM7LBNJLWAjPBMrZnvv1MbqTwAxu2H1+MNh/cvLeIcrzNSYui81RZsMaPKTRiiXyg==", + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.0.13.tgz", + "integrity": "sha512-dU0plR9BS+bLs7u4chWay+VEIFTrLF15rG2634lGcu7o+z01bRO1U2cegZuIPy46SNkN3ONErLHwS09NBM+Ucg==", "dependencies": { "muggle-string": "^0.1.0" } }, "node_modules/@volar/typescript": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.0.12.tgz", - "integrity": "sha512-7PR4Fwg3EyuwmagodaGntKxDqzie5Ywiq7evx5UvNIY0BP3yXrCADxBMFYLJykb+ECSE+GbTClsyXTnJQ9xi1Q==", + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.0.13.tgz", + "integrity": "sha512-CfJ4higRZrLDAHVGY84gZ444ZUcA3ktPqVMW0fM3mgHDbzYViB3/tsvXOtZk76D3HK2ap6n4cDwBSv3cY4xqlg==", "dependencies": { - "@volar/language-core": "1.0.12" + "@volar/language-core": "1.0.13" } }, "node_modules/@volar/vue-language-core": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/@volar/vue-language-core/-/vue-language-core-1.0.12.tgz", - "integrity": "sha512-2JnKRwTJZxAHwFiaQmp79GwyAzf2UPOSnAe6QfOCTQvQ79iNj/zdzDjSzogeuwkCgrG8GHgaMiuWZx4xIXgTIQ==", + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@volar/vue-language-core/-/vue-language-core-1.0.13.tgz", + "integrity": "sha512-DRUg7yk4w2+5XFk8LS1dbXEM0na2uAddOj3KWHROPQmn78pfgXEH3r0NGDCnxElWJX5Y16iameisOjtOhevxog==", "dependencies": { - "@volar/language-core": "1.0.12", - "@volar/source-map": "1.0.12", + "@volar/language-core": "1.0.13", + "@volar/source-map": "1.0.13", "@vue/compiler-dom": "^3.2.45", "@vue/compiler-sfc": "^3.2.45", "@vue/reactivity": "^3.2.45", @@ -1775,12 +1622,12 @@ } }, "node_modules/@volar/vue-typescript": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/@volar/vue-typescript/-/vue-typescript-1.0.12.tgz", - "integrity": "sha512-MhdZmUlvl54w2rsPXEtwbX7dq1Dya7THFcDof7vNaH3PwBxqnDn8SZS1Yoxe3pENuAXNwQskAc2uP9R9LYe36g==", + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@volar/vue-typescript/-/vue-typescript-1.0.13.tgz", + "integrity": "sha512-iEdkF5l6G10fv/G5hs7WcvtT48AT6y/Pm7pvafnB6SxPhm2uHQ+130x3zeWLMaUel5t6h5LBw2pFsF5Bh85QAQ==", "dependencies": { - "@volar/typescript": "1.0.12", - "@volar/vue-language-core": "1.0.12" + "@volar/typescript": "1.0.13", + "@volar/vue-language-core": "1.0.13" } }, "node_modules/@vue/compiler-core": { @@ -2035,7 +1882,6 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "devOptional": true, "dependencies": { "debug": "4" }, @@ -2139,9 +1985,9 @@ } }, "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -2269,24 +2115,6 @@ "proxy-from-env": "^1.1.0" } }, - "node_modules/axios/node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/axios/node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -2489,9 +2317,9 @@ } }, "node_modules/boxen/node_modules/chalk": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.1.2.tgz", - "integrity": "sha512-E5CkT4jWURs1Vy5qGJye+XwCkNj7Od3Af7CP6SujMetSMkLs8Do2RWJK5yx1wamHV/op8Rz+9rltjaTQWDnEFQ==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz", + "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==", "engines": { "node": "^12.17.0 || ^14.13 || >=16.0.0" }, @@ -2650,13 +2478,13 @@ } }, "node_modules/c12": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/c12/-/c12-1.0.1.tgz", - "integrity": "sha512-EN9Rqix2q9X3PseFkUvRFZ/0fvncF35ZR5nykLDwv4Ml/Q1WYPLkcdqlrczFll2G9t4qmxgM4my3EF3IrRGl5Q==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/c12/-/c12-1.1.0.tgz", + "integrity": "sha512-9KRFWEng+TH8sGST4NNdiKzZGw1Z1CHnPGAmNqAyVP7suluROmBjD8hsiR34f94DdlrvtGvvmiGDsoFXlCBWIw==", "dependencies": { "defu": "^6.1.1", "dotenv": "^16.0.3", - "gittar": "^0.1.1", + "giget": "^1.0.0", "jiti": "^1.16.0", "mlly": "^1.0.0", "pathe": "^1.0.0", @@ -2708,9 +2536,9 @@ } }, "node_modules/camelcase": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.0.tgz", - "integrity": "sha512-JToIvOmz6nhGsUhAYScbo2d6Py5wojjNfoxoc2mEVLUdJ70gJK2gnd+ABY1Tc3sVMyK7QDPtN0T/XdlCQWITyQ==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", + "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", "engines": { "node": ">=14.16" }, @@ -2719,9 +2547,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001436", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001436.tgz", - "integrity": "sha512-ZmWkKsnC2ifEPoWUvSAIGyOYwT+keAaaWPHiQ9DfMqS1t6tfuyFYoWR78TeZtznkEQ64+vGXH9cZrElwR2Mrxg==", + "version": "1.0.30001439", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001439.tgz", + "integrity": "sha512-1MgUzEkoMO6gKfXflStpYgZDlFM7M/ck/bgfVCACO5vnAf0fXoNVHdWtqGU+MYca+4bL9Z5bpOVmR33cWW9G2A==", "funding": [ { "type": "opencollective", @@ -2840,14 +2668,17 @@ } }, "node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "engines": { + "node": ">=10" + } }, "node_modules/ci-info": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.6.1.tgz", - "integrity": "sha512-up5ggbaDqOqJ4UqLKZ2naVkyqSJQgJi5lwD6b6mM748ysrghDBX0bx/qJTUHzw7zu6Mq4gycviSF5hJnwceD8w==", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.7.0.tgz", + "integrity": "sha512-2CpRNYmImPx+RXKLq6jko/L07phmS9I02TyqkcNU20GCF/GgaWvc58hPtjxDX8lPpkdwc9sNh72V9k00S7ezog==", "dev": true, "engines": { "node": ">=8" @@ -3002,8 +2833,7 @@ "node_modules/colorette": { "version": "2.0.19", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", - "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", - "dev": true + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==" }, "node_modules/combined-stream": { "version": "1.0.8", @@ -3235,9 +3065,15 @@ } }, "node_modules/cypress/node_modules/@types/node": { - "version": "14.18.33", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.33.tgz", - "integrity": "sha512-qelS/Ra6sacc4loe/3MSjXNL1dNQ/GjxNHVzuChwMfmk7HuycRLVQN2qNY3XahK+fZc5E2szqQSKUyAF0E+2bg==", + "version": "14.18.34", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.34.tgz", + "integrity": "sha512-hcU9AIQVHmPnmjRK+XUUYlILlr9pQrsqSrwov/JK1pnf3GTQowVBhx54FbvM0AU/VXGH4i3+vgXS5EguR7fysA==", + "dev": true + }, + "node_modules/cypress/node_modules/proxy-from-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", "dev": true }, "node_modules/cypress/node_modules/supports-color": { @@ -3282,9 +3118,9 @@ } }, "node_modules/dayjs": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.6.tgz", - "integrity": "sha512-zZbY5giJAinCG+7AGaw0wIhNZ6J8AhWuSXKvuc1KAyMiRsvGQWqh4L+MomvhdAYjN+lqvVCMq1I41e3YHvXkyQ==", + "version": "1.11.7", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz", + "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==", "dev": true }, "node_modules/de-indent": { @@ -3309,15 +3145,15 @@ } }, "node_modules/decimal.js": { - "version": "10.4.2", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.2.tgz", - "integrity": "sha512-ic1yEvwT6GuvaYwBLLY6/aFFgjZdySKTE8en/fkU3QICTmRtgtSlFn0u0BXN06InZwtfCelR7j8LRiDI/02iGA==", + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", "devOptional": true }, "node_modules/deep-eql": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.2.tgz", - "integrity": "sha512-gT18+YW4CcW/DBNTwAmqTtkJh7f9qqScu2qFVlx7kCoeY9tlBu9cUcr7+I+Z/noG8INehS3xQgLpTtd/QUTn4w==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", "dependencies": { "type-detect": "^4.0.0" }, @@ -3353,9 +3189,9 @@ } }, "node_modules/destr": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/destr/-/destr-1.2.1.tgz", - "integrity": "sha512-ud8w0qMLlci6iFG7CNgeRr8OcbUWMsbfjtWft1eJ5Luqrz/M8Ebqk/KCzne8rKUlIQWWfLv0wD6QHrqOf4GshA==" + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/destr/-/destr-1.2.2.tgz", + "integrity": "sha512-lrbCJwD9saUQrqUfXvl6qoM+QN3W7tLV5pAOs+OqOmopCCz/JkE05MHedJR1xfk4IAnZuJXPVuN5+7jNA2ZCiA==" }, "node_modules/dir-glob": { "version": "3.0.1", @@ -4369,15 +4205,10 @@ "punycode": "^1.3.2" } }, - "node_modules/fast-url-parser/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" - }, "node_modules/fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.14.0.tgz", + "integrity": "sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==", "dependencies": { "reusify": "^1.0.4" } @@ -4521,17 +4352,16 @@ } }, "node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "dependencies": { "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", + "combined-stream": "^1.0.8", "mime-types": "^2.1.12" }, "engines": { - "node": ">= 0.12" + "node": ">= 6" } }, "node_modules/from": { @@ -4556,11 +4386,25 @@ } }, "node_modules/fs-minipass": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dependencies": { - "minipass": "^2.6.0" + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, "node_modules/fs.realpath": { @@ -4643,16 +4487,21 @@ "assert-plus": "^1.0.0" } }, - "node_modules/gittar": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/gittar/-/gittar-0.1.1.tgz", - "integrity": "sha512-p+XuqWJpW9ahUuNTptqeFjudFq31o6Jd+maMBarkMAR5U3K9c7zJB4sQ4BV8mIqrTOV29TtqikDhnZfCD4XNfQ==", + "node_modules/giget": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/giget/-/giget-1.0.0.tgz", + "integrity": "sha512-KWELZn3Nxq5+0So485poHrFriK9Bn3V/x9y+wgqrHkbmnGbjfLmZ685/SVA/ovW+ewoqW0gVI47pI4yW/VNobQ==", "dependencies": { - "mkdirp": "^0.5.1", - "tar": "^4.4.1" + "colorette": "^2.0.19", + "defu": "^6.1.1", + "https-proxy-agent": "^5.0.1", + "mri": "^1.2.0", + "node-fetch-native": "^1.0.1", + "pathe": "^1.0.0", + "tar": "^6.1.12" }, - "engines": { - "node": ">=4" + "bin": { + "giget": "dist/cli.mjs" } }, "node_modules/glob": { @@ -4687,9 +4536,9 @@ } }, "node_modules/global-dirs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz", - "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", "dev": true, "dependencies": { "ini": "2.0.0" @@ -4702,9 +4551,9 @@ } }, "node_modules/globals": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", + "version": "13.19.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -4828,7 +4677,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "devOptional": true, "dependencies": { "agent-base": "6", "debug": "4" @@ -4879,9 +4727,9 @@ ] }, "node_modules/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.1.tgz", + "integrity": "sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==", "engines": { "node": ">= 4" } @@ -5179,16 +5027,20 @@ } }, "node_modules/jquery": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.1.tgz", - "integrity": "sha512-opJeO4nCucVnsjiXOE+/PcCgYw9Gwpvs/a6B1LL/lQhwWwpbVEVYDZ1FokFr8PRc7ghYlrFPuyHuiiDNTQxmcw==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.2.tgz", + "integrity": "sha512-/e7ulNIEEYk1Z/l4X0vpxGt+B/dNsV8ghOPAWZaJs8pkGvsSC0tm33aMGylXcj/U7y4IcvwtMXPMyBFZn/gK9A==", "peer": true }, "node_modules/js-sdsl": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz", - "integrity": "sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==", - "dev": true + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz", + "integrity": "sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/js-sdsl" + } }, "node_modules/js-sha256": { "version": "0.9.0", @@ -5263,18 +5115,13 @@ } } }, - "node_modules/jsdom/node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "node_modules/jsdom/node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "devOptional": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, "engines": { - "node": ">= 6" + "node": ">=6" } }, "node_modules/jsdom/node_modules/tough-cookie": { @@ -5724,36 +5571,48 @@ } }, "node_modules/minipass": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.0.tgz", + "integrity": "sha512-g2Uuh2jEKoht+zvO6vJqXmYpflPqzRBT+Th2h01DKh5z7wbY/AZ2gCQ78cP70YoHPyFdY30YBV5WxgLOEwOykw==", "dependencies": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/minipass/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, "node_modules/minizlib": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dependencies": { - "minipass": "^2.9.0" + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, "node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dependencies": { - "minimist": "^1.2.6" - }, + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "bin": { "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" } }, "node_modules/mlly": { @@ -5767,6 +5626,14 @@ "ufo": "^1.0.0" } }, + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "engines": { + "node": ">=4" + } + }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -5827,6 +5694,11 @@ } } }, + "node_modules/node-fetch-native": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.0.1.tgz", + "integrity": "sha512-VzW+TAk2wE4X9maiKMlT+GsPU4OMmR1U9CrHSmd3DFLn2IcZ9VJ6M6BBugGfYUnPCLSYxXdZy17M0BEJyhUTwg==" + }, "node_modules/node-fetch/node_modules/tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", @@ -5847,9 +5719,9 @@ } }, "node_modules/node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.7.tgz", + "integrity": "sha512-EJ3rzxL9pTWPjk5arA0s0dgXpnyiAbJDE6wHT62g7VsgrgQgmmZ+Ru++M1BFofncWja+Pnn3rEr3fieRySAdKQ==" }, "node_modules/normalize-path": { "version": "3.0.0", @@ -6135,9 +6007,9 @@ } }, "node_modules/postcss": { - "version": "8.4.19", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.19.tgz", - "integrity": "sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==", + "version": "8.4.20", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.20.tgz", + "integrity": "sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==", "funding": [ { "type": "opencollective", @@ -6166,9 +6038,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", - "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", + "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -6232,10 +6104,9 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "node_modules/proxy-from-env": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", - "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", - "dev": true + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" }, "node_modules/prr": { "version": "1.0.1", @@ -6274,12 +6145,9 @@ } }, "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "engines": { - "node": ">=6" - } + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" }, "node_modules/qs": { "version": "6.5.3", @@ -6557,9 +6425,9 @@ } }, "node_modules/rxjs": { - "version": "7.5.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.7.tgz", - "integrity": "sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.6.0.tgz", + "integrity": "sha512-DDa7d8TFNUalGC9VqXvQ1euWNN7sc63TrUCuM9J998+ViviahMIjKSOU7rfcgFOF+FCD71BhDRv4hrFz+ImDLQ==", "dev": true, "dependencies": { "tslib": "^2.1.0" @@ -7003,27 +6871,21 @@ } }, "node_modules/tar": { - "version": "4.4.19", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", - "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", - "dependencies": { - "chownr": "^1.1.4", - "fs-minipass": "^1.2.7", - "minipass": "^2.9.0", - "minizlib": "^1.3.3", - "mkdirp": "^0.5.5", - "safe-buffer": "^5.2.1", - "yallist": "^3.1.1" + "version": "6.1.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz", + "integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^4.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" }, "engines": { - "node": ">=4.5" + "node": ">=10" } }, - "node_modules/tar/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, "node_modules/test-exclude": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", @@ -7120,6 +6982,15 @@ "node": ">=0.8" } }, + "node_modules/tough-cookie/node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/tr46": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", @@ -7132,6 +7003,15 @@ "node": ">=12" } }, + "node_modules/tr46/node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "devOptional": true, + "engines": { + "node": ">=6" + } + }, "node_modules/tslib": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", @@ -7209,795 +7089,493 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/typescript": { - "version": "4.9.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.3.tgz", - "integrity": "sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/ufo": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.0.1.tgz", - "integrity": "sha512-boAm74ubXHY7KJQZLlXrtMz52qFvpsbOxDcZOnw/Wf+LS4Mmyu7JxmzD4tDLtUQtmZECypJ0FrCz4QIe6dvKRA==" - }, - "node_modules/unctx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/unctx/-/unctx-2.1.1.tgz", - "integrity": "sha512-RffJlpvLOtolWsn0fxXsuSDfwiWcR6cyuykw2e0+zAggvGW1SesXt9WxIWlWpJhwVCZD/WlxxLqKLS50Q0CkWA==", - "dependencies": { - "acorn": "^8.8.1", - "estree-walker": "^3.0.1", - "magic-string": "^0.26.7", - "unplugin": "^1.0.0" - } - }, - "node_modules/unimport": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unimport/-/unimport-1.0.1.tgz", - "integrity": "sha512-SEPKl3uyqUvi6c0MnyCmUF9H07CuC9j9p2p33F03LmegU0sxjpnjL0fLKAhh7BTfcKaJKj+1iOiAFtg7P3m5mQ==", - "dependencies": { - "@rollup/pluginutils": "^5.0.2", - "escape-string-regexp": "^5.0.0", - "fast-glob": "^3.2.12", - "local-pkg": "^0.4.2", - "magic-string": "^0.26.7", - "mlly": "^1.0.0", - "pathe": "^1.0.0", - "pkg-types": "^1.0.1", - "scule": "^1.0.0", - "strip-literal": "^1.0.0", - "unplugin": "^1.0.0" - } - }, - "node_modules/unimport/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/unplugin": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.0.0.tgz", - "integrity": "sha512-H5UnBUxfhTXBXGo2AwKsl0UaLSHzSNDZNehPQSgdhVfO/t+XAS1Yoj3vmLrrlBrS9ZwtH5tejbX/TCp5DcyCKg==", - "dependencies": { - "acorn": "^8.8.1", - "chokidar": "^3.5.3", - "webpack-sources": "^3.2.3", - "webpack-virtual-modules": "^0.4.6" - } - }, - "node_modules/unplugin-icons": { - "version": "0.14.14", - "resolved": "https://registry.npmjs.org/unplugin-icons/-/unplugin-icons-0.14.14.tgz", - "integrity": "sha512-5apStlsB9AetB7JQ0DpHG+aFNGQOL8yrO+6XbYadywMXwCeLAPDPdSW0gWd8R3aB/rER1PM+LQikXlaakHH1Uw==", - "dependencies": { - "@antfu/install-pkg": "^0.1.1", - "@antfu/utils": "^0.6.3", - "@iconify/utils": "^2.0.2", - "debug": "^4.3.4", - "kolorist": "^1.6.0", - "local-pkg": "^0.4.2", - "unplugin": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "@svgr/core": ">=5.5.0", - "@vue/compiler-sfc": "^3.0.2", - "vue-template-compiler": "^2.6.12", - "vue-template-es2015-compiler": "^1.9.0" - }, - "peerDependenciesMeta": { - "@svgr/core": { - "optional": true - }, - "@vue/compiler-sfc": { - "optional": true - }, - "vue-template-compiler": { - "optional": true - }, - "vue-template-es2015-compiler": { - "optional": true - } - } - }, - "node_modules/unplugin-vue-components": { - "version": "0.22.11", - "resolved": "https://registry.npmjs.org/unplugin-vue-components/-/unplugin-vue-components-0.22.11.tgz", - "integrity": "sha512-GTzqPl0Ek8fq8qMufjR6hvtnjnSwMpJ1Rg2Ez9AcKZVp1piWoU/Q4FDnI9wHVKX8eenYL0nqAF3ejYAk1TUfqQ==", - "dependencies": { - "@antfu/utils": "^0.7.0", - "@rollup/pluginutils": "^5.0.2", - "chokidar": "^3.5.3", - "debug": "^4.3.4", - "fast-glob": "^3.2.12", - "local-pkg": "^0.4.2", - "magic-string": "^0.26.7", - "minimatch": "^5.1.0", - "resolve": "^1.22.1", - "unplugin": "^1.0.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "@babel/parser": "^7.15.8", - "vue": "2 || 3" - }, - "peerDependenciesMeta": { - "@babel/parser": { - "optional": true - } - } - }, - "node_modules/unplugin-vue-components/node_modules/@antfu/utils": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.2.tgz", - "integrity": "sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g==", - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/unplugin-vue-components/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/unplugin-vue-components/node_modules/minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/untildify": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", - "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/untyped": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/untyped/-/untyped-1.0.0.tgz", - "integrity": "sha512-aBeR3Z51038d7zVzsNShYEdO7u/VCp5R17fxpPXlD2QvG9g6uVJ+JM+zMJ7KFPIt1BNf3I6bU6PhAlsAFkIfdA==", - "dependencies": { - "@babel/core": "^7.20.2", - "@babel/standalone": "^7.20.4", - "@babel/types": "^7.20.2", - "scule": "^1.0.0" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "browserslist-lint": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/update-check": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/update-check/-/update-check-1.5.4.tgz", - "integrity": "sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==", - "dependencies": { - "registry-auth-token": "3.3.2", - "registry-url": "3.1.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dependencies": { - "punycode": "^2.1.0" + "node_modules/typescript": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", + "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" } }, - "node_modules/url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "devOptional": true, + "node_modules/ufo": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.0.1.tgz", + "integrity": "sha512-boAm74ubXHY7KJQZLlXrtMz52qFvpsbOxDcZOnw/Wf+LS4Mmyu7JxmzD4tDLtUQtmZECypJ0FrCz4QIe6dvKRA==" + }, + "node_modules/unctx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/unctx/-/unctx-2.1.1.tgz", + "integrity": "sha512-RffJlpvLOtolWsn0fxXsuSDfwiWcR6cyuykw2e0+zAggvGW1SesXt9WxIWlWpJhwVCZD/WlxxLqKLS50Q0CkWA==", "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" + "acorn": "^8.8.1", + "estree-walker": "^3.0.1", + "magic-string": "^0.26.7", + "unplugin": "^1.0.0" } }, - "node_modules/util-deprecate": { + "node_modules/unimport": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + "resolved": "https://registry.npmjs.org/unimport/-/unimport-1.0.2.tgz", + "integrity": "sha512-DcYkDwl1XMZNmyEKUFzVzHAul0FZcj9m0OM/WRfaAtg6Gw1waYlypYJl6qAg31k57TnNPwGDCAxYPodYC5qomQ==", + "dependencies": { + "@rollup/pluginutils": "^5.0.2", + "escape-string-regexp": "^5.0.0", + "fast-glob": "^3.2.12", + "local-pkg": "^0.4.2", + "magic-string": "^0.27.0", + "mlly": "^1.0.0", + "pathe": "^1.0.0", + "pkg-types": "^1.0.1", + "scule": "^1.0.0", + "strip-literal": "^1.0.0", + "unplugin": "^1.0.1" + } }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true, - "bin": { - "uuid": "dist/bin/uuid" + "node_modules/unimport/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/v8-to-istanbul": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz", - "integrity": "sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==", + "node_modules/unimport/node_modules/magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0" + "@jridgewell/sourcemap-codec": "^1.4.13" }, "engines": { - "node": ">=10.12.0" + "node": ">=12" } }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, "engines": { - "node": ">= 0.8" + "node": ">= 10.0.0" } }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "dev": true, - "engines": [ - "node >=0.6.0" - ], + "node_modules/unplugin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.0.1.tgz", + "integrity": "sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA==", "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "acorn": "^8.8.1", + "chokidar": "^3.5.3", + "webpack-sources": "^3.2.3", + "webpack-virtual-modules": "^0.5.0" } }, - "node_modules/verror/node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", - "dev": true - }, - "node_modules/vite": { - "version": "2.9.15", - "resolved": "https://registry.npmjs.org/vite/-/vite-2.9.15.tgz", - "integrity": "sha512-fzMt2jK4vQ3yK56te3Kqpkaeq9DkcZfBbzHwYpobasvgYmP2SoAr6Aic05CsB4CzCZbsDv4sujX3pkEGhLabVQ==", + "node_modules/unplugin-icons": { + "version": "0.14.15", + "resolved": "https://registry.npmjs.org/unplugin-icons/-/unplugin-icons-0.14.15.tgz", + "integrity": "sha512-J6YBA+fUzVM2IZPXCK3Pnk36jYVwQ6lkjRgOnZaXNIxpMDsmwDqrE1AGJ0zUbfuEoOa90OBGc0OPfN1r+qlSIQ==", "dependencies": { - "esbuild": "^0.14.27", - "postcss": "^8.4.13", - "resolve": "^1.22.0", - "rollup": ">=2.59.0 <2.78.0" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": ">=12.2.0" + "@antfu/install-pkg": "^0.1.1", + "@antfu/utils": "^0.7.2", + "@iconify/utils": "^2.0.3", + "debug": "^4.3.4", + "kolorist": "^1.6.0", + "local-pkg": "^0.4.2", + "unplugin": "^1.0.1" }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "funding": { + "url": "https://github.com/sponsors/antfu" }, "peerDependencies": { - "less": "*", - "sass": "*", - "stylus": "*" + "@svgr/core": ">=5.5.0", + "@vue/compiler-sfc": "^3.0.2", + "vue-template-compiler": "^2.6.12", + "vue-template-es2015-compiler": "^1.9.0" }, "peerDependenciesMeta": { - "less": { + "@svgr/core": { "optional": true }, - "sass": { + "@vue/compiler-sfc": { "optional": true }, - "stylus": { + "vue-template-compiler": { + "optional": true + }, + "vue-template-es2015-compiler": { "optional": true } } }, - "node_modules/vitest": { - "version": "0.25.8", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.25.8.tgz", - "integrity": "sha512-X75TApG2wZTJn299E/TIYevr4E9/nBo1sUtZzn0Ci5oK8qnpZAZyhwg0qCeMSakGIWtc6oRwcQFyFfW14aOFWg==", - "dev": true, + "node_modules/unplugin-vue-components": { + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/unplugin-vue-components/-/unplugin-vue-components-0.22.12.tgz", + "integrity": "sha512-FxyzsuBvMCYPIk+8cgscGBQ345tvwVu+qY5IhE++eorkyvA4Z1TiD/HCiim+Kbqozl10i4K+z+NCa2WO2jexRA==", "dependencies": { - "@types/chai": "^4.3.4", - "@types/chai-subset": "^1.3.3", - "@types/node": "*", - "acorn": "^8.8.1", - "acorn-walk": "^8.2.0", - "chai": "^4.3.7", + "@antfu/utils": "^0.7.2", + "@rollup/pluginutils": "^5.0.2", + "chokidar": "^3.5.3", "debug": "^4.3.4", + "fast-glob": "^3.2.12", "local-pkg": "^0.4.2", - "source-map": "^0.6.1", - "strip-literal": "^1.0.0", - "tinybench": "^2.3.1", - "tinypool": "^0.3.0", - "tinyspy": "^1.0.2", - "vite": "^3.0.0 || ^4.0.0" - }, - "bin": { - "vitest": "vitest.mjs" + "magic-string": "^0.27.0", + "minimatch": "^5.1.1", + "resolve": "^1.22.1", + "unplugin": "^1.0.1" }, "engines": { - "node": ">=v14.16.0" + "node": ">=14" }, "funding": { "url": "https://github.com/sponsors/antfu" }, "peerDependencies": { - "@edge-runtime/vm": "*", - "@vitest/browser": "*", - "@vitest/ui": "*", - "happy-dom": "*", - "jsdom": "*" + "@babel/parser": "^7.15.8", + "vue": "2 || 3" }, "peerDependenciesMeta": { - "@edge-runtime/vm": { - "optional": true - }, - "@vitest/browser": { - "optional": true - }, - "@vitest/ui": { - "optional": true - }, - "happy-dom": { - "optional": true - }, - "jsdom": { + "@babel/parser": { "optional": true } } }, - "node_modules/vitest/node_modules/@esbuild/linux-loong64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.18.tgz", - "integrity": "sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vitest/node_modules/esbuild": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.18.tgz", - "integrity": "sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==", - "dev": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/android-arm": "0.15.18", - "@esbuild/linux-loong64": "0.15.18", - "esbuild-android-64": "0.15.18", - "esbuild-android-arm64": "0.15.18", - "esbuild-darwin-64": "0.15.18", - "esbuild-darwin-arm64": "0.15.18", - "esbuild-freebsd-64": "0.15.18", - "esbuild-freebsd-arm64": "0.15.18", - "esbuild-linux-32": "0.15.18", - "esbuild-linux-64": "0.15.18", - "esbuild-linux-arm": "0.15.18", - "esbuild-linux-arm64": "0.15.18", - "esbuild-linux-mips64le": "0.15.18", - "esbuild-linux-ppc64le": "0.15.18", - "esbuild-linux-riscv64": "0.15.18", - "esbuild-linux-s390x": "0.15.18", - "esbuild-netbsd-64": "0.15.18", - "esbuild-openbsd-64": "0.15.18", - "esbuild-sunos-64": "0.15.18", - "esbuild-windows-32": "0.15.18", - "esbuild-windows-64": "0.15.18", - "esbuild-windows-arm64": "0.15.18" - } - }, - "node_modules/vitest/node_modules/esbuild-android-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.18.tgz", - "integrity": "sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vitest/node_modules/esbuild-android-arm64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.18.tgz", - "integrity": "sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vitest/node_modules/esbuild-darwin-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.18.tgz", - "integrity": "sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" + "node_modules/unplugin-vue-components/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" } }, - "node_modules/vitest/node_modules/esbuild-darwin-arm64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.18.tgz", - "integrity": "sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], + "node_modules/unplugin-vue-components/node_modules/magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, "engines": { "node": ">=12" } }, - "node_modules/vitest/node_modules/esbuild-freebsd-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.18.tgz", - "integrity": "sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], + "node_modules/unplugin-vue-components/node_modules/minimatch": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", + "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, "engines": { - "node": ">=12" + "node": ">=10" } }, - "node_modules/vitest/node_modules/esbuild-freebsd-arm64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.18.tgz", - "integrity": "sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==", - "cpu": [ - "arm64" - ], + "node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", "dev": true, - "optional": true, - "os": [ - "freebsd" - ], "engines": { - "node": ">=12" + "node": ">=8" } }, - "node_modules/vitest/node_modules/esbuild-linux-32": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.18.tgz", - "integrity": "sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "node_modules/untyped": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/untyped/-/untyped-1.2.0.tgz", + "integrity": "sha512-nG0A55YEhUU5UCEM+nhIhCVkA8a4L1spIVtzO0937WDjEA6jrKpu184O2K9iv5UuJNHnwhu+Q3TXiSJh/JrjlQ==", + "dependencies": { + "@babel/core": "^7.20.5", + "@babel/standalone": "^7.20.6", + "@babel/types": "^7.20.5", + "scule": "^1.0.0" } }, - "node_modules/vitest/node_modules/esbuild-linux-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.18.tgz", - "integrity": "sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" + "node_modules/update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } ], - "engines": { - "node": ">=12" + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, - "node_modules/vitest/node_modules/esbuild-linux-arm": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.18.tgz", - "integrity": "sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "node_modules/update-check": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/update-check/-/update-check-1.5.4.tgz", + "integrity": "sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==", + "dependencies": { + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0" } }, - "node_modules/vitest/node_modules/esbuild-linux-arm64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.18.tgz", - "integrity": "sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" } }, - "node_modules/vitest/node_modules/esbuild-linux-mips64le": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.18.tgz", - "integrity": "sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], + "node_modules/uri-js/node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "engines": { - "node": ">=12" + "node": ">=6" } }, - "node_modules/vitest/node_modules/esbuild-linux-ppc64le": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.18.tgz", - "integrity": "sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "devOptional": true, + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" } }, - "node_modules/vitest/node_modules/esbuild-linux-riscv64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.18.tgz", - "integrity": "sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==", - "cpu": [ - "riscv64" - ], + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "bin": { + "uuid": "dist/bin/uuid" } }, - "node_modules/vitest/node_modules/esbuild-linux-s390x": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.18.tgz", - "integrity": "sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], + "node_modules/v8-to-istanbul": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz", + "integrity": "sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0" + }, "engines": { - "node": ">=12" + "node": ">=10.12.0" } }, - "node_modules/vitest/node_modules/esbuild-netbsd-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.18.tgz", - "integrity": "sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", "engines": { - "node": ">=12" + "node": ">= 0.8" } }, - "node_modules/vitest/node_modules/esbuild-openbsd-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.18.tgz", - "integrity": "sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==", - "cpu": [ - "x64" - ], + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", "dev": true, - "optional": true, - "os": [ - "openbsd" + "engines": [ + "node >=0.6.0" ], - "engines": { - "node": ">=12" + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" } }, - "node_modules/vitest/node_modules/esbuild-sunos-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.18.tgz", - "integrity": "sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], + "node_modules/verror/node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + }, + "node_modules/vite": { + "version": "2.9.15", + "resolved": "https://registry.npmjs.org/vite/-/vite-2.9.15.tgz", + "integrity": "sha512-fzMt2jK4vQ3yK56te3Kqpkaeq9DkcZfBbzHwYpobasvgYmP2SoAr6Aic05CsB4CzCZbsDv4sujX3pkEGhLabVQ==", + "dependencies": { + "esbuild": "^0.14.27", + "postcss": "^8.4.13", + "resolve": "^1.22.0", + "rollup": ">=2.59.0 <2.78.0" + }, + "bin": { + "vite": "bin/vite.js" + }, "engines": { - "node": ">=12" + "node": ">=12.2.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "less": "*", + "sass": "*", + "stylus": "*" + }, + "peerDependenciesMeta": { + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + } } }, - "node_modules/vitest/node_modules/esbuild-windows-32": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.18.tgz", - "integrity": "sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], + "node_modules/vitest": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.25.8.tgz", + "integrity": "sha512-X75TApG2wZTJn299E/TIYevr4E9/nBo1sUtZzn0Ci5oK8qnpZAZyhwg0qCeMSakGIWtc6oRwcQFyFfW14aOFWg==", + "dependencies": { + "@types/chai": "^4.3.4", + "@types/chai-subset": "^1.3.3", + "@types/node": "*", + "acorn": "^8.8.1", + "acorn-walk": "^8.2.0", + "chai": "^4.3.7", + "debug": "^4.3.4", + "local-pkg": "^0.4.2", + "source-map": "^0.6.1", + "strip-literal": "^1.0.0", + "tinybench": "^2.3.1", + "tinypool": "^0.3.0", + "tinyspy": "^1.0.2", + "vite": "^3.0.0 || ^4.0.0" + }, + "bin": { + "vitest": "vitest.mjs" + }, "engines": { - "node": ">=12" + "node": ">=v14.16.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@vitest/browser": "*", + "@vitest/ui": "*", + "happy-dom": "*", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + } } }, - "node_modules/vitest/node_modules/esbuild-windows-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.18.tgz", - "integrity": "sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==", + "node_modules/vitest/node_modules/@esbuild/linux-loong64": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.6.tgz", + "integrity": "sha512-wJAE0pZrY47xWRIYkBrOYRKWJ9vE1XBC7PtuGy4/Ii0Au2VRc52A/VxIHwRI0NyQMNRkjOD5PpS/ruhnNx7JNA==", "cpu": [ - "x64" + "loong64" ], - "dev": true, "optional": true, "os": [ - "win32" + "linux" ], "engines": { "node": ">=12" } }, - "node_modules/vitest/node_modules/esbuild-windows-arm64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.18.tgz", - "integrity": "sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], + "node_modules/vitest/node_modules/esbuild": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.6.tgz", + "integrity": "sha512-0Fn9lUX1yy2iP56L0BDAgnQFJfkDICdYZ0Xm6Kgdwa72AkHoKX0egau/ZIROYdjJWPLJtl9bDuW7Xs56TuKPhQ==", + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, "engines": { "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.16.6", + "@esbuild/android-arm64": "0.16.6", + "@esbuild/android-x64": "0.16.6", + "@esbuild/darwin-arm64": "0.16.6", + "@esbuild/darwin-x64": "0.16.6", + "@esbuild/freebsd-arm64": "0.16.6", + "@esbuild/freebsd-x64": "0.16.6", + "@esbuild/linux-arm": "0.16.6", + "@esbuild/linux-arm64": "0.16.6", + "@esbuild/linux-ia32": "0.16.6", + "@esbuild/linux-loong64": "0.16.6", + "@esbuild/linux-mips64el": "0.16.6", + "@esbuild/linux-ppc64": "0.16.6", + "@esbuild/linux-riscv64": "0.16.6", + "@esbuild/linux-s390x": "0.16.6", + "@esbuild/linux-x64": "0.16.6", + "@esbuild/netbsd-x64": "0.16.6", + "@esbuild/openbsd-x64": "0.16.6", + "@esbuild/sunos-x64": "0.16.6", + "@esbuild/win32-arm64": "0.16.6", + "@esbuild/win32-ia32": "0.16.6", + "@esbuild/win32-x64": "0.16.6" } }, "node_modules/vitest/node_modules/rollup": { - "version": "2.79.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", - "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", - "dev": true, + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.7.4.tgz", + "integrity": "sha512-jN9rx3k5pfg9H9al0r0y1EYKSeiRANZRYX32SuNXAnKzh6cVyf4LZVto1KAuDnbHT03E1CpsgqDKaqQ8FZtgxw==", "bin": { "rollup": "dist/bin/rollup" }, "engines": { - "node": ">=10.0.0" + "node": ">=14.18.0", + "npm": ">=8.0.0" }, "optionalDependencies": { "fsevents": "~2.3.2" } }, "node_modules/vitest/node_modules/vite": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-3.2.5.tgz", - "integrity": "sha512-4mVEpXpSOgrssFZAOmGIr85wPHKvaDAcXqxVxVRZhljkJOMZi1ibLibzjLHzJvcok8BMguLc7g1W6W/GqZbLdQ==", - "dev": true, + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.0.1.tgz", + "integrity": "sha512-kZQPzbDau35iWOhy3CpkrRC7It+HIHtulAzBhMqzGHKRf/4+vmh8rPDDdv98SWQrFWo6//3ozwsRmwQIPZsK9g==", "dependencies": { - "esbuild": "^0.15.9", - "postcss": "^8.4.18", + "esbuild": "^0.16.3", + "postcss": "^8.4.20", "resolve": "^1.22.1", - "rollup": "^2.79.1" + "rollup": "^3.7.0" }, "bin": { "vite": "bin/vite.js" @@ -8119,12 +7697,12 @@ } }, "node_modules/vue-tsc": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.0.12.tgz", - "integrity": "sha512-uWSASSHMfC61eEEOuLwf+eF9ODg0UzBV42/lIkZamxsA3PFZyV/eaq+RpEFP+NRXfL0GeXZUxY6l2dm9xlY07Q==", + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.0.13.tgz", + "integrity": "sha512-DORISA3Fu9595xbg5HQqUj4XZVvkyRkcZFJCkCt1CeN7tIMgVRQ8ow07AKcbuHoEkqg7OI4qLu1wyC/VH3o5Ug==", "dependencies": { - "@volar/vue-language-core": "1.0.12", - "@volar/vue-typescript": "1.0.12" + "@volar/vue-language-core": "1.0.13", + "@volar/vue-typescript": "1.0.13" }, "bin": { "vue-tsc": "bin/vue-tsc.js" @@ -8191,9 +7769,9 @@ } }, "node_modules/webpack-virtual-modules": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.4.6.tgz", - "integrity": "sha512-5tyDlKLqPfMqjT3Q9TAqf2YqjwmnUleZwzJi1A5qXnlBCdj2AtOJ6wAWdglTIDOPgOiOrXeBeFcsQ8+aGQ6QbA==" + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz", + "integrity": "sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==" }, "node_modules/whatwg-encoding": { "version": "2.0.0", @@ -8477,9 +8055,9 @@ } }, "@antfu/utils": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.6.3.tgz", - "integrity": "sha512-sEYpyyKUPOew9QsXZ8feRVMzW6DWLviwOl+/ap06UQW02A8Srbc95CPHVm4eUbiBzBgD46eyIT+przv//KSSlQ==" + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.2.tgz", + "integrity": "sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g==" }, "@babel/code-frame": { "version": "7.18.6", @@ -8800,6 +8378,19 @@ "tough-cookie": "~2.5.0", "tunnel-agent": "^0.6.0", "uuid": "^8.3.2" + }, + "dependencies": { + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + } } }, "@cypress/xvfb": { @@ -8832,9 +8423,63 @@ } }, "@esbuild/android-arm": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.18.tgz", - "integrity": "sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==", + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.6.tgz", + "integrity": "sha512-wc1AyHlFS8eejfAdePn2wr8/5zEa+FvF3ipBeTo4Qm9Xl0A0miTUfphwzXa3xdxU2pHimRCzIAUhjlbSSts8JQ==", + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.6.tgz", + "integrity": "sha512-5mSVUNQoEpnvWBgMnEKlHGjrK/3kqRoj+YkErK+RbKMlxCGzzkqh+vSGY0pq+RCobAXs0BlBQMQ+8ZutAkyStw==", + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.6.tgz", + "integrity": "sha512-zqbsOaB908GEO4JyVlkV5a9jjHVk35eR6dd3VvOdbu0u0BufaCblFjslbUP8ARGoLS77TWRe1mBpbcySkyybKQ==", + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.6.tgz", + "integrity": "sha512-uc46Du5AiooWidDIkXeU3HWIuLTzVbYp95slpd9SdDH7FjXWgiiEo7DXzoUoPxGwkUfPgQvvgFKx3TqsYvy68w==", + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.6.tgz", + "integrity": "sha512-ND/o8hoEpXxIOqhRbt73tyvnu3WWA8MeuMAVww0crdubpzzEevH0S8r6uRjrHn1H4etRSmWwTbM3rHul68BJOA==", + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.6.tgz", + "integrity": "sha512-mMHz7ePkfVXW5wEhRR0XtoTlXDa5F1hIoxnfoeY+G0wWs4Q3HZgHZrXw3PSO26JnZOxIgyV/OuWIP87nQoWegQ==", + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.6.tgz", + "integrity": "sha512-/BneBfb5v+VAqjDLt8Q/5llb7smIEJVPd1afNJDShRfj2qr5nIwh1FJaOjoEWe6I1sucdKJ/EbwOujH+iBkW/g==", + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.6.tgz", + "integrity": "sha512-hdw0JS24ToFAnWJJbexr62ZRTcl/yJSPeNZR4fAAJY4PcghgQcnp8lO5MdxBe2QCNz3i5WYCoGZcU4+TBJJMDg==", + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.6.tgz", + "integrity": "sha512-1h2EyMOB9X2VfFzBv4/Xo+OcGj3fmZEwvGxOdDRPxSP8ZVQiqc4XesCVur85VjP0MLPC+y7PioDc/uWpwFadFw==", + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.6.tgz", + "integrity": "sha512-MyBWPjAMAlnkYANHCjeun2QsOn5cY1RxXAqnG0hE+fEmeX/hJK9pj6wQ5QptAew7sKt9flcOLKEB/hn2mr/xUw==", "optional": true }, "@esbuild/linux-loong64": { @@ -8843,6 +8488,72 @@ "integrity": "sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==", "optional": true }, + "@esbuild/linux-mips64el": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.6.tgz", + "integrity": "sha512-/eR74aTs0dWrg/Y9m0H2iE6rIigkwxsaJlzlSoz6N5JspyARRXutAITveg1wGek4W5LkistZBjEeeyCnC3FT9Q==", + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.6.tgz", + "integrity": "sha512-zwIKMrYQzh59ftwiuXREcXwyjvsRNLELOgdIE17CwTnc5Xxj2IR9Gi8NvQcMTquFoGaHOh8O7F2zJ3vU5LQEhA==", + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.6.tgz", + "integrity": "sha512-uqCmZ9GnYcD9Od9fiDYH4TLahw14S6ZgCVrIb1bBBwbAy4pEOPwB73vBX3mnG3ClHv7b5xsOYhCBZkfkoJEgMA==", + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.6.tgz", + "integrity": "sha512-zt1vo5Zzu1Y+0K64wYIQR1pMVNYDbwDetrWy/4XyD4c+tnZfxGZwzZOmb65LSto8hxAYq5UG6DpHSNJ4zy5F1w==", + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.6.tgz", + "integrity": "sha512-g2aCp+XjWGbHq57ZUfyWNOMVDKr0flizfOa6BkP9Ezn2BLZ+gibxF+6M6272vfvALFYsbCUY+AyoNxuCVcaKFg==", + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.6.tgz", + "integrity": "sha512-q5tKkYilkgNLtp6szs/yXAHJJ4OEjoTRlHHPJtVyDj6AZsdDynrkoFUV98D+CncB9Im5CIRnPmJErb6EDvIR0Q==", + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.6.tgz", + "integrity": "sha512-dR+DrQ2Dsfia71xKgdUPnf6lc3y4O8qNE4nmhEJHrR7teS0yScspommz28MaIe/8c5IubqPuOY2SYQFSExG55w==", + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.6.tgz", + "integrity": "sha512-u0hH+njKsZCz7SHRIIkqnOCWITFL+uLaXB7ro3SSztWcx7iB//Lpg/2lkPZ7sZ1lVpO0nmaHWApZIbvMTCwz1Q==", + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.6.tgz", + "integrity": "sha512-d+hveGvPLoGQHOKVDWfWSLUFnPtdpzWdtmz3PFq4t/iLg1MMTnPy48TrgC/JFTwcxDgKJdFw6ogTXjYN1tVALw==", + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.6.tgz", + "integrity": "sha512-/e2x2+Gq7afiU9xxw5J0r0DCsfsWY+hmjLNzXh6O/9Kf2kFxyCLKsPyTJmj0jQ0icz5aGlxtueH2Hnm5Rczt/Q==", + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.6.tgz", + "integrity": "sha512-BlXuMzOWhAcdLRzE/PQLAAyhItzvL1fRMvbmHV6k09Xiq8rZzFJB/CrfX3ZQI0nKBlfxO4sLN9H9WwK2nLo7Pg==", + "optional": true + }, "@eslint/eslintrc": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", @@ -8876,9 +8587,9 @@ } }, "@humanwhocodes/config-array": { - "version": "0.11.7", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.7.tgz", - "integrity": "sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw==", + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", "dev": true, "requires": { "@humanwhocodes/object-schema": "^1.2.1", @@ -8912,15 +8623,15 @@ "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==" }, "@iconify/utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@iconify/utils/-/utils-2.0.2.tgz", - "integrity": "sha512-13B3wJxDLmSNBEIEpKleKSkJVQgdAy9ra3Xsu233i/5qD5yXBGhpOFxTB/k8cqme0xVsMKBPV5vbvq9MgQlX+w==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@iconify/utils/-/utils-2.0.3.tgz", + "integrity": "sha512-kLpJ95/ZeT1+vIstjdeFnyfiEmmTJuekGb5SVykfKjLSJjmftTCzm7sxxzNHsd8i5mpKPl7Rws9sLGR3juKJ+g==", "requires": { - "@antfu/install-pkg": "^0.1.0", + "@antfu/install-pkg": "^0.1.1", "@antfu/utils": "^0.5.2", "@iconify/types": "^2.0.0", "debug": "^4.3.4", - "kolorist": "^1.5.1", + "kolorist": "^1.6.0", "local-pkg": "^0.4.2" }, "dependencies": { @@ -9018,9 +8729,9 @@ }, "dependencies": { "globby": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.2.tgz", - "integrity": "sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ==", + "version": "13.1.3", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.3.tgz", + "integrity": "sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==", "requires": { "dir-glob": "^3.0.1", "fast-glob": "^3.2.11", @@ -9200,14 +8911,14 @@ } }, "@typescript-eslint/eslint-plugin": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.46.0.tgz", - "integrity": "sha512-QrZqaIOzJAjv0sfjY4EjbXUi3ZOFpKfzntx22gPGr9pmFcTjcFw/1sS1LJhEubfAGwuLjNrPV0rH+D1/XZFy7Q==", + "version": "5.46.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.46.1.tgz", + "integrity": "sha512-YpzNv3aayRBwjs4J3oz65eVLXc9xx0PDbIRisHj+dYhvBn02MjYOD96P8YGiWEIFBrojaUjxvkaUpakD82phsA==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.46.0", - "@typescript-eslint/type-utils": "5.46.0", - "@typescript-eslint/utils": "5.46.0", + "@typescript-eslint/scope-manager": "5.46.1", + "@typescript-eslint/type-utils": "5.46.1", + "@typescript-eslint/utils": "5.46.1", "debug": "^4.3.4", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", @@ -9217,332 +8928,134 @@ } }, "@typescript-eslint/parser": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.46.0.tgz", - "integrity": "sha512-joNO6zMGUZg+C73vwrKXCd8usnsmOYmgW/w5ZW0pG0RGvqeznjtGDk61EqqTpNrFLUYBW2RSBFrxdAZMqA4OZA==", + "version": "5.46.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.46.1.tgz", + "integrity": "sha512-RelQ5cGypPh4ySAtfIMBzBGyrNerQcmfA1oJvPj5f+H4jI59rl9xxpn4bonC0tQvUKOEN7eGBFWxFLK3Xepneg==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.46.0", - "@typescript-eslint/types": "5.46.0", - "@typescript-eslint/typescript-estree": "5.46.0", + "@typescript-eslint/scope-manager": "5.46.1", + "@typescript-eslint/types": "5.46.1", + "@typescript-eslint/typescript-estree": "5.46.1", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.46.0.tgz", - "integrity": "sha512-7wWBq9d/GbPiIM6SqPK9tfynNxVbfpihoY5cSFMer19OYUA3l4powA2uv0AV2eAZV6KoAh6lkzxv4PoxOLh1oA==", + "version": "5.46.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.46.1.tgz", + "integrity": "sha512-iOChVivo4jpwUdrJZyXSMrEIM/PvsbbDOX1y3UCKjSgWn+W89skxWaYXACQfxmIGhPVpRWK/VWPYc+bad6smIA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.46.0", - "@typescript-eslint/visitor-keys": "5.46.0" + "@typescript-eslint/types": "5.46.1", + "@typescript-eslint/visitor-keys": "5.46.1" } }, "@typescript-eslint/type-utils": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.46.0.tgz", - "integrity": "sha512-dwv4nimVIAsVS2dTA0MekkWaRnoYNXY26dKz8AN5W3cBFYwYGFQEqm/cG+TOoooKlncJS4RTbFKgcFY/pOiBCg==", - "dev": true, - "requires": { - "@typescript-eslint/typescript-estree": "5.46.0", - "@typescript-eslint/utils": "5.46.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/types": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.46.0.tgz", - "integrity": "sha512-wHWgQHFB+qh6bu0IAPAJCdeCdI0wwzZnnWThlmHNY01XJ9Z97oKqKOzWYpR2I83QmshhQJl6LDM9TqMiMwJBTw==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.46.0.tgz", - "integrity": "sha512-kDLNn/tQP+Yp8Ro2dUpyyVV0Ksn2rmpPpB0/3MO874RNmXtypMwSeazjEN/Q6CTp8D7ExXAAekPEcCEB/vtJkw==", + "version": "5.46.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.46.1.tgz", + "integrity": "sha512-V/zMyfI+jDmL1ADxfDxjZ0EMbtiVqj8LUGPAGyBkXXStWmCUErMpW873zEHsyguWCuq2iN4BrlWUkmuVj84yng==", "dev": true, "requires": { - "@typescript-eslint/types": "5.46.0", - "@typescript-eslint/visitor-keys": "5.46.0", + "@typescript-eslint/typescript-estree": "5.46.1", + "@typescript-eslint/utils": "5.46.1", "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", "tsutils": "^3.21.0" } }, - "@typescript-eslint/utils": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.46.0.tgz", - "integrity": "sha512-4O+Ps1CRDw+D+R40JYh5GlKLQERXRKW5yIQoNDpmXPJ+C7kaPF9R7GWl+PxGgXjB3PQCqsaaZUpZ9dG4U6DO7g==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.46.0", - "@typescript-eslint/types": "5.46.0", - "@typescript-eslint/typescript-estree": "5.46.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0", - "semver": "^7.3.7" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.46.0.tgz", - "integrity": "sha512-E13gBoIXmaNhwjipuvQg1ByqSAu/GbEpP/qzFihugJ+MomtoJtFAJG/+2DRPByf57B863m0/q7Zt16V9ohhANw==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.46.0", - "eslint-visitor-keys": "^3.3.0" - } - }, - "@vitejs/plugin-vue": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-2.3.4.tgz", - "integrity": "sha512-IfFNbtkbIm36O9KB8QodlwwYvTEsJb4Lll4c2IwB3VHc2gie2mSPtSzL0eYay7X2jd/2WX02FjSGTWR6OPr/zg==", - "requires": {} - }, - "@vitest/coverage-c8": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@vitest/coverage-c8/-/coverage-c8-0.25.6.tgz", - "integrity": "sha512-+Bcs1XZ8CuEe52QSOgzqmqiV82CXZRRj3yclPQqtLkUV4S6+kdOdfRTtMHOilwhZH70giDjBQx3jgiZoYgFVMA==", - "requires": { - "c8": "^7.12.0", - "vitest": "0.25.6" - }, - "dependencies": { - "@esbuild/linux-loong64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.18.tgz", - "integrity": "sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==", - "optional": true - }, - "esbuild": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.18.tgz", - "integrity": "sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==", - "requires": { - "@esbuild/android-arm": "0.15.18", - "@esbuild/linux-loong64": "0.15.18", - "esbuild-android-64": "0.15.18", - "esbuild-android-arm64": "0.15.18", - "esbuild-darwin-64": "0.15.18", - "esbuild-darwin-arm64": "0.15.18", - "esbuild-freebsd-64": "0.15.18", - "esbuild-freebsd-arm64": "0.15.18", - "esbuild-linux-32": "0.15.18", - "esbuild-linux-64": "0.15.18", - "esbuild-linux-arm": "0.15.18", - "esbuild-linux-arm64": "0.15.18", - "esbuild-linux-mips64le": "0.15.18", - "esbuild-linux-ppc64le": "0.15.18", - "esbuild-linux-riscv64": "0.15.18", - "esbuild-linux-s390x": "0.15.18", - "esbuild-netbsd-64": "0.15.18", - "esbuild-openbsd-64": "0.15.18", - "esbuild-sunos-64": "0.15.18", - "esbuild-windows-32": "0.15.18", - "esbuild-windows-64": "0.15.18", - "esbuild-windows-arm64": "0.15.18" - } - }, - "esbuild-android-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.18.tgz", - "integrity": "sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==", - "optional": true - }, - "esbuild-android-arm64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.18.tgz", - "integrity": "sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==", - "optional": true - }, - "esbuild-darwin-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.18.tgz", - "integrity": "sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==", - "optional": true - }, - "esbuild-darwin-arm64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.18.tgz", - "integrity": "sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==", - "optional": true - }, - "esbuild-freebsd-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.18.tgz", - "integrity": "sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==", - "optional": true - }, - "esbuild-freebsd-arm64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.18.tgz", - "integrity": "sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==", - "optional": true - }, - "esbuild-linux-32": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.18.tgz", - "integrity": "sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==", - "optional": true - }, - "esbuild-linux-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.18.tgz", - "integrity": "sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==", - "optional": true - }, - "esbuild-linux-arm": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.18.tgz", - "integrity": "sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==", - "optional": true - }, - "esbuild-linux-arm64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.18.tgz", - "integrity": "sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==", - "optional": true - }, - "esbuild-linux-mips64le": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.18.tgz", - "integrity": "sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==", - "optional": true - }, - "esbuild-linux-ppc64le": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.18.tgz", - "integrity": "sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==", - "optional": true - }, - "esbuild-linux-riscv64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.18.tgz", - "integrity": "sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==", - "optional": true - }, - "esbuild-linux-s390x": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.18.tgz", - "integrity": "sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==", - "optional": true - }, - "esbuild-netbsd-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.18.tgz", - "integrity": "sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==", - "optional": true - }, - "esbuild-openbsd-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.18.tgz", - "integrity": "sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==", - "optional": true - }, - "esbuild-sunos-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.18.tgz", - "integrity": "sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==", - "optional": true - }, - "esbuild-windows-32": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.18.tgz", - "integrity": "sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==", - "optional": true - }, - "esbuild-windows-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.18.tgz", - "integrity": "sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==", - "optional": true - }, - "esbuild-windows-arm64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.18.tgz", - "integrity": "sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==", - "optional": true - }, - "rollup": { - "version": "2.79.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", - "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", - "requires": { - "fsevents": "~2.3.2" - } - }, - "vite": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-3.2.5.tgz", - "integrity": "sha512-4mVEpXpSOgrssFZAOmGIr85wPHKvaDAcXqxVxVRZhljkJOMZi1ibLibzjLHzJvcok8BMguLc7g1W6W/GqZbLdQ==", - "requires": { - "esbuild": "^0.15.9", - "fsevents": "~2.3.2", - "postcss": "^8.4.18", - "resolve": "^1.22.1", - "rollup": "^2.79.1" - } - }, - "vitest": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.25.6.tgz", - "integrity": "sha512-jdPgmZ7BcDnm1+hmMPIl9BZjSy+b8Y8V0tQMsv7ECO90Qic7EZ5/+traILXLpsXgqK5KgVrUJmchevAUuKL/1w==", - "requires": { - "@types/chai": "^4.3.3", - "@types/chai-subset": "^1.3.3", - "@types/node": "*", - "acorn": "^8.8.0", - "acorn-walk": "^8.2.0", - "chai": "^4.3.6", - "debug": "^4.3.4", - "local-pkg": "^0.4.2", - "source-map": "^0.6.1", - "strip-literal": "^1.0.0", - "tinybench": "^2.3.1", - "tinypool": "^0.3.0", - "tinyspy": "^1.0.2", - "vite": "^3.0.0" - } - } + "@typescript-eslint/types": { + "version": "5.46.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.46.1.tgz", + "integrity": "sha512-Z5pvlCaZgU+93ryiYUwGwLl9AQVB/PQ1TsJ9NZ/gHzZjN7g9IAn6RSDkpCV8hqTwAiaj6fmCcKSQeBPlIpW28w==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.46.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.46.1.tgz", + "integrity": "sha512-j9W4t67QiNp90kh5Nbr1w92wzt+toiIsaVPnEblB2Ih2U9fqBTyqV9T3pYWZBRt6QoMh/zVWP59EpuCjc4VRBg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.46.1", + "@typescript-eslint/visitor-keys": "5.46.1", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.46.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.46.1.tgz", + "integrity": "sha512-RBdBAGv3oEpFojaCYT4Ghn4775pdjvwfDOfQ2P6qzNVgQOVrnSPe5/Pb88kv7xzYQjoio0eKHKB9GJ16ieSxvA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.46.1", + "@typescript-eslint/types": "5.46.1", + "@typescript-eslint/typescript-estree": "5.46.1", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.46.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.46.1.tgz", + "integrity": "sha512-jczZ9noovXwy59KjRTk1OftT78pwygdcmCuBf8yMoWt/8O8l+6x2LSEze0E4TeepXK4MezW3zGSyoDRZK7Y9cg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.46.1", + "eslint-visitor-keys": "^3.3.0" + } + }, + "@vitejs/plugin-vue": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-2.3.4.tgz", + "integrity": "sha512-IfFNbtkbIm36O9KB8QodlwwYvTEsJb4Lll4c2IwB3VHc2gie2mSPtSzL0eYay7X2jd/2WX02FjSGTWR6OPr/zg==", + "requires": {} + }, + "@vitest/coverage-c8": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@vitest/coverage-c8/-/coverage-c8-0.25.8.tgz", + "integrity": "sha512-fWgzQoK2KNzTTNnDcLCyibfO9/pbcpPOMtZ9Yvq/Eggpi2X8lewx/OcKZkO5ba5q9dl6+BBn6d5hTcS1709rZw==", + "requires": { + "c8": "^7.12.0", + "vitest": "0.25.8" } }, "@volar/language-core": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.0.12.tgz", - "integrity": "sha512-I9wylkEq5Fhv4uIxXq4ys+GKVAxKY64DEw1nj8oP36xaOl80r6ogZ9V3BCKJp/npAlFCH7pAkUDSBkSo8v3Tfg==", + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.0.13.tgz", + "integrity": "sha512-aJhRiNjKFgLLB3nRJOfAeyle4StnEQgOKa0UpJU+k5EZd3QdiMfQmekXjxYeQj7NOZNQU7zCBEIvQ3gy15I7tA==", "requires": { - "@volar/source-map": "1.0.12", + "@volar/source-map": "1.0.13", "@vue/reactivity": "^3.2.45", "muggle-string": "^0.1.0" } }, "@volar/source-map": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.0.12.tgz", - "integrity": "sha512-5npjYmotdIIerchOn9QwGHM7LBNJLWAjPBMrZnvv1MbqTwAxu2H1+MNh/cvLeIcrzNSYui81RZsMaPKTRiiXyg==", + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.0.13.tgz", + "integrity": "sha512-dU0plR9BS+bLs7u4chWay+VEIFTrLF15rG2634lGcu7o+z01bRO1U2cegZuIPy46SNkN3ONErLHwS09NBM+Ucg==", "requires": { "muggle-string": "^0.1.0" } }, "@volar/typescript": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.0.12.tgz", - "integrity": "sha512-7PR4Fwg3EyuwmagodaGntKxDqzie5Ywiq7evx5UvNIY0BP3yXrCADxBMFYLJykb+ECSE+GbTClsyXTnJQ9xi1Q==", + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.0.13.tgz", + "integrity": "sha512-CfJ4higRZrLDAHVGY84gZ444ZUcA3ktPqVMW0fM3mgHDbzYViB3/tsvXOtZk76D3HK2ap6n4cDwBSv3cY4xqlg==", "requires": { - "@volar/language-core": "1.0.12" + "@volar/language-core": "1.0.13" } }, "@volar/vue-language-core": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/@volar/vue-language-core/-/vue-language-core-1.0.12.tgz", - "integrity": "sha512-2JnKRwTJZxAHwFiaQmp79GwyAzf2UPOSnAe6QfOCTQvQ79iNj/zdzDjSzogeuwkCgrG8GHgaMiuWZx4xIXgTIQ==", + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@volar/vue-language-core/-/vue-language-core-1.0.13.tgz", + "integrity": "sha512-DRUg7yk4w2+5XFk8LS1dbXEM0na2uAddOj3KWHROPQmn78pfgXEH3r0NGDCnxElWJX5Y16iameisOjtOhevxog==", "requires": { - "@volar/language-core": "1.0.12", - "@volar/source-map": "1.0.12", + "@volar/language-core": "1.0.13", + "@volar/source-map": "1.0.13", "@vue/compiler-dom": "^3.2.45", "@vue/compiler-sfc": "^3.2.45", "@vue/reactivity": "^3.2.45", @@ -9570,12 +9083,12 @@ } }, "@volar/vue-typescript": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/@volar/vue-typescript/-/vue-typescript-1.0.12.tgz", - "integrity": "sha512-MhdZmUlvl54w2rsPXEtwbX7dq1Dya7THFcDof7vNaH3PwBxqnDn8SZS1Yoxe3pENuAXNwQskAc2uP9R9LYe36g==", + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@volar/vue-typescript/-/vue-typescript-1.0.13.tgz", + "integrity": "sha512-iEdkF5l6G10fv/G5hs7WcvtT48AT6y/Pm7pvafnB6SxPhm2uHQ+130x3zeWLMaUel5t6h5LBw2pFsF5Bh85QAQ==", "requires": { - "@volar/typescript": "1.0.12", - "@volar/vue-language-core": "1.0.12" + "@volar/typescript": "1.0.13", + "@volar/vue-language-core": "1.0.13" } }, "@vue/compiler-core": { @@ -9799,7 +9312,6 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "devOptional": true, "requires": { "debug": "4" } @@ -9871,9 +9383,9 @@ } }, "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -9964,23 +9476,6 @@ "follow-redirects": "^1.15.0", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" - }, - "dependencies": { - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - } } }, "balanced-match": { @@ -10119,9 +9614,9 @@ "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==" }, "chalk": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.1.2.tgz", - "integrity": "sha512-E5CkT4jWURs1Vy5qGJye+XwCkNj7Od3Af7CP6SujMetSMkLs8Do2RWJK5yx1wamHV/op8Rz+9rltjaTQWDnEFQ==" + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz", + "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==" }, "emoji-regex": { "version": "9.2.2", @@ -10213,13 +9708,13 @@ "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==" }, "c12": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/c12/-/c12-1.0.1.tgz", - "integrity": "sha512-EN9Rqix2q9X3PseFkUvRFZ/0fvncF35ZR5nykLDwv4Ml/Q1WYPLkcdqlrczFll2G9t4qmxgM4my3EF3IrRGl5Q==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/c12/-/c12-1.1.0.tgz", + "integrity": "sha512-9KRFWEng+TH8sGST4NNdiKzZGw1Z1CHnPGAmNqAyVP7suluROmBjD8hsiR34f94DdlrvtGvvmiGDsoFXlCBWIw==", "requires": { "defu": "^6.1.1", "dotenv": "^16.0.3", - "gittar": "^0.1.1", + "giget": "^1.0.0", "jiti": "^1.16.0", "mlly": "^1.0.0", "pathe": "^1.0.0", @@ -10259,14 +9754,14 @@ "dev": true }, "camelcase": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.0.tgz", - "integrity": "sha512-JToIvOmz6nhGsUhAYScbo2d6Py5wojjNfoxoc2mEVLUdJ70gJK2gnd+ABY1Tc3sVMyK7QDPtN0T/XdlCQWITyQ==" + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", + "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==" }, "caniuse-lite": { - "version": "1.0.30001436", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001436.tgz", - "integrity": "sha512-ZmWkKsnC2ifEPoWUvSAIGyOYwT+keAaaWPHiQ9DfMqS1t6tfuyFYoWR78TeZtznkEQ64+vGXH9cZrElwR2Mrxg==" + "version": "1.0.30001439", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001439.tgz", + "integrity": "sha512-1MgUzEkoMO6gKfXflStpYgZDlFM7M/ck/bgfVCACO5vnAf0fXoNVHdWtqGU+MYca+4bL9Z5bpOVmR33cWW9G2A==" }, "caseless": { "version": "0.12.0", @@ -10342,14 +9837,14 @@ } }, "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" }, "ci-info": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.6.1.tgz", - "integrity": "sha512-up5ggbaDqOqJ4UqLKZ2naVkyqSJQgJi5lwD6b6mM748ysrghDBX0bx/qJTUHzw7zu6Mq4gycviSF5hJnwceD8w==", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.7.0.tgz", + "integrity": "sha512-2CpRNYmImPx+RXKLq6jko/L07phmS9I02TyqkcNU20GCF/GgaWvc58hPtjxDX8lPpkdwc9sNh72V9k00S7ezog==", "dev": true }, "clean-stack": { @@ -10456,8 +9951,7 @@ "colorette": { "version": "2.0.19", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", - "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", - "dev": true + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==" }, "combined-stream": { "version": "1.0.8", @@ -10651,9 +10145,15 @@ }, "dependencies": { "@types/node": { - "version": "14.18.33", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.33.tgz", - "integrity": "sha512-qelS/Ra6sacc4loe/3MSjXNL1dNQ/GjxNHVzuChwMfmk7HuycRLVQN2qNY3XahK+fZc5E2szqQSKUyAF0E+2bg==", + "version": "14.18.34", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.34.tgz", + "integrity": "sha512-hcU9AIQVHmPnmjRK+XUUYlILlr9pQrsqSrwov/JK1pnf3GTQowVBhx54FbvM0AU/VXGH4i3+vgXS5EguR7fysA==", + "dev": true + }, + "proxy-from-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", "dev": true }, "supports-color": { @@ -10688,9 +10188,9 @@ } }, "dayjs": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.6.tgz", - "integrity": "sha512-zZbY5giJAinCG+7AGaw0wIhNZ6J8AhWuSXKvuc1KAyMiRsvGQWqh4L+MomvhdAYjN+lqvVCMq1I41e3YHvXkyQ==", + "version": "1.11.7", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz", + "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==", "dev": true }, "de-indent": { @@ -10707,15 +10207,15 @@ } }, "decimal.js": { - "version": "10.4.2", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.2.tgz", - "integrity": "sha512-ic1yEvwT6GuvaYwBLLY6/aFFgjZdySKTE8en/fkU3QICTmRtgtSlFn0u0BXN06InZwtfCelR7j8LRiDI/02iGA==", + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", "devOptional": true }, "deep-eql": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.2.tgz", - "integrity": "sha512-gT18+YW4CcW/DBNTwAmqTtkJh7f9qqScu2qFVlx7kCoeY9tlBu9cUcr7+I+Z/noG8INehS3xQgLpTtd/QUTn4w==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", "requires": { "type-detect": "^4.0.0" } @@ -10742,9 +10242,9 @@ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" }, "destr": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/destr/-/destr-1.2.1.tgz", - "integrity": "sha512-ud8w0qMLlci6iFG7CNgeRr8OcbUWMsbfjtWft1eJ5Luqrz/M8Ebqk/KCzne8rKUlIQWWfLv0wD6QHrqOf4GshA==" + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/destr/-/destr-1.2.2.tgz", + "integrity": "sha512-lrbCJwD9saUQrqUfXvl6qoM+QN3W7tLV5pAOs+OqOmopCCz/JkE05MHedJR1xfk4IAnZuJXPVuN5+7jNA2ZCiA==" }, "dir-glob": { "version": "3.0.1", @@ -11404,19 +10904,12 @@ "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", "requires": { "punycode": "^1.3.2" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" - } } }, "fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.14.0.tgz", + "integrity": "sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==", "requires": { "reusify": "^1.0.4" } @@ -11515,13 +11008,12 @@ "dev": true }, "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "requires": { "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", + "combined-stream": "^1.0.8", "mime-types": "^2.1.12" } }, @@ -11544,11 +11036,21 @@ } }, "fs-minipass": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", "requires": { - "minipass": "^2.6.0" + "minipass": "^3.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "requires": { + "yallist": "^4.0.0" + } + } } }, "fs.realpath": { @@ -11609,13 +11111,18 @@ "assert-plus": "^1.0.0" } }, - "gittar": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/gittar/-/gittar-0.1.1.tgz", - "integrity": "sha512-p+XuqWJpW9ahUuNTptqeFjudFq31o6Jd+maMBarkMAR5U3K9c7zJB4sQ4BV8mIqrTOV29TtqikDhnZfCD4XNfQ==", + "giget": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/giget/-/giget-1.0.0.tgz", + "integrity": "sha512-KWELZn3Nxq5+0So485poHrFriK9Bn3V/x9y+wgqrHkbmnGbjfLmZ685/SVA/ovW+ewoqW0gVI47pI4yW/VNobQ==", "requires": { - "mkdirp": "^0.5.1", - "tar": "^4.4.1" + "colorette": "^2.0.19", + "defu": "^6.1.1", + "https-proxy-agent": "^5.0.1", + "mri": "^1.2.0", + "node-fetch-native": "^1.0.1", + "pathe": "^1.0.0", + "tar": "^6.1.12" } }, "glob": { @@ -11641,18 +11148,18 @@ } }, "global-dirs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz", - "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", "dev": true, "requires": { "ini": "2.0.0" } }, "globals": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", + "version": "13.19.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -11746,7 +11253,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "devOptional": true, "requires": { "agent-base": "6", "debug": "4" @@ -11774,9 +11280,9 @@ "dev": true }, "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==" + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.1.tgz", + "integrity": "sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==" }, "import-fresh": { "version": "3.3.0", @@ -11984,15 +11490,15 @@ } }, "jquery": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.1.tgz", - "integrity": "sha512-opJeO4nCucVnsjiXOE+/PcCgYw9Gwpvs/a6B1LL/lQhwWwpbVEVYDZ1FokFr8PRc7ghYlrFPuyHuiiDNTQxmcw==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.2.tgz", + "integrity": "sha512-/e7ulNIEEYk1Z/l4X0vpxGt+B/dNsV8ghOPAWZaJs8pkGvsSC0tm33aMGylXcj/U7y4IcvwtMXPMyBFZn/gK9A==", "peer": true }, "js-sdsl": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz", - "integrity": "sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz", + "integrity": "sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==", "dev": true }, "js-sha256": { @@ -12054,16 +11560,11 @@ "xml-name-validator": "^4.0.0" }, "dependencies": { - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "devOptional": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "devOptional": true }, "tough-cookie": { "version": "4.1.2", @@ -12408,36 +11909,36 @@ "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==" }, "minipass": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.0.tgz", + "integrity": "sha512-g2Uuh2jEKoht+zvO6vJqXmYpflPqzRBT+Th2h01DKh5z7wbY/AZ2gCQ78cP70YoHPyFdY30YBV5WxgLOEwOykw==", "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - }, - "dependencies": { - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - } + "yallist": "^4.0.0" } }, "minizlib": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", "requires": { - "minipass": "^2.9.0" + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "requires": { + "yallist": "^4.0.0" + } + } } }, "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "requires": { - "minimist": "^1.2.6" - } + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" }, "mlly": { "version": "1.0.0", @@ -12450,6 +11951,11 @@ "ufo": "^1.0.0" } }, + "mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==" + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -12511,10 +12017,15 @@ } } }, + "node-fetch-native": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.0.1.tgz", + "integrity": "sha512-VzW+TAk2wE4X9maiKMlT+GsPU4OMmR1U9CrHSmd3DFLn2IcZ9VJ6M6BBugGfYUnPCLSYxXdZy17M0BEJyhUTwg==" + }, "node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.7.tgz", + "integrity": "sha512-EJ3rzxL9pTWPjk5arA0s0dgXpnyiAbJDE6wHT62g7VsgrgQgmmZ+Ru++M1BFofncWja+Pnn3rEr3fieRySAdKQ==" }, "normalize-path": { "version": "3.0.0", @@ -12726,9 +12237,9 @@ "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==" }, "postcss": { - "version": "8.4.19", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.19.tgz", - "integrity": "sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==", + "version": "8.4.20", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.20.tgz", + "integrity": "sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==", "requires": { "nanoid": "^3.3.4", "picocolors": "^1.0.0", @@ -12744,9 +12255,9 @@ } }, "postcss-selector-parser": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", - "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", + "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", "dev": true, "requires": { "cssesc": "^3.0.0", @@ -12786,10 +12297,9 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "proxy-from-env": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", - "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", - "dev": true + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" }, "prr": { "version": "1.0.1", @@ -12822,9 +12332,9 @@ } }, "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" }, "qs": { "version": "6.5.3", @@ -13020,9 +12530,9 @@ } }, "rxjs": { - "version": "7.5.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.7.tgz", - "integrity": "sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.6.0.tgz", + "integrity": "sha512-DDa7d8TFNUalGC9VqXvQ1euWNN7sc63TrUCuM9J998+ViviahMIjKSOU7rfcgFOF+FCD71BhDRv4hrFz+ImDLQ==", "dev": true, "requires": { "tslib": "^2.1.0" @@ -13346,24 +12856,16 @@ "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" }, "tar": { - "version": "4.4.19", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", - "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", - "requires": { - "chownr": "^1.1.4", - "fs-minipass": "^1.2.7", - "minipass": "^2.9.0", - "minizlib": "^1.3.3", - "mkdirp": "^0.5.5", - "safe-buffer": "^5.2.1", - "yallist": "^3.1.1" - }, - "dependencies": { - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - } + "version": "6.1.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz", + "integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==", + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^4.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" } }, "test-exclude": { @@ -13439,6 +12941,14 @@ "requires": { "psl": "^1.1.28", "punycode": "^2.1.1" + }, + "dependencies": { + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + } } }, "tr46": { @@ -13448,6 +12958,14 @@ "devOptional": true, "requires": { "punycode": "^2.1.1" + }, + "dependencies": { + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "devOptional": true + } } }, "tslib": { @@ -13509,9 +13027,9 @@ "dev": true }, "typescript": { - "version": "4.9.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.3.tgz", - "integrity": "sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==" + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", + "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==" }, "ufo": { "version": "1.0.1", @@ -13530,27 +13048,35 @@ } }, "unimport": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unimport/-/unimport-1.0.1.tgz", - "integrity": "sha512-SEPKl3uyqUvi6c0MnyCmUF9H07CuC9j9p2p33F03LmegU0sxjpnjL0fLKAhh7BTfcKaJKj+1iOiAFtg7P3m5mQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unimport/-/unimport-1.0.2.tgz", + "integrity": "sha512-DcYkDwl1XMZNmyEKUFzVzHAul0FZcj9m0OM/WRfaAtg6Gw1waYlypYJl6qAg31k57TnNPwGDCAxYPodYC5qomQ==", "requires": { "@rollup/pluginutils": "^5.0.2", "escape-string-regexp": "^5.0.0", "fast-glob": "^3.2.12", "local-pkg": "^0.4.2", - "magic-string": "^0.26.7", + "magic-string": "^0.27.0", "mlly": "^1.0.0", "pathe": "^1.0.0", "pkg-types": "^1.0.1", "scule": "^1.0.0", "strip-literal": "^1.0.0", - "unplugin": "^1.0.0" + "unplugin": "^1.0.1" }, "dependencies": { "escape-string-regexp": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==" + }, + "magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.13" + } } } }, @@ -13561,52 +13087,47 @@ "dev": true }, "unplugin": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.0.0.tgz", - "integrity": "sha512-H5UnBUxfhTXBXGo2AwKsl0UaLSHzSNDZNehPQSgdhVfO/t+XAS1Yoj3vmLrrlBrS9ZwtH5tejbX/TCp5DcyCKg==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.0.1.tgz", + "integrity": "sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA==", "requires": { "acorn": "^8.8.1", "chokidar": "^3.5.3", "webpack-sources": "^3.2.3", - "webpack-virtual-modules": "^0.4.6" + "webpack-virtual-modules": "^0.5.0" } }, "unplugin-icons": { - "version": "0.14.14", - "resolved": "https://registry.npmjs.org/unplugin-icons/-/unplugin-icons-0.14.14.tgz", - "integrity": "sha512-5apStlsB9AetB7JQ0DpHG+aFNGQOL8yrO+6XbYadywMXwCeLAPDPdSW0gWd8R3aB/rER1PM+LQikXlaakHH1Uw==", + "version": "0.14.15", + "resolved": "https://registry.npmjs.org/unplugin-icons/-/unplugin-icons-0.14.15.tgz", + "integrity": "sha512-J6YBA+fUzVM2IZPXCK3Pnk36jYVwQ6lkjRgOnZaXNIxpMDsmwDqrE1AGJ0zUbfuEoOa90OBGc0OPfN1r+qlSIQ==", "requires": { "@antfu/install-pkg": "^0.1.1", - "@antfu/utils": "^0.6.3", - "@iconify/utils": "^2.0.2", + "@antfu/utils": "^0.7.2", + "@iconify/utils": "^2.0.3", "debug": "^4.3.4", "kolorist": "^1.6.0", "local-pkg": "^0.4.2", - "unplugin": "^1.0.0" + "unplugin": "^1.0.1" } }, "unplugin-vue-components": { - "version": "0.22.11", - "resolved": "https://registry.npmjs.org/unplugin-vue-components/-/unplugin-vue-components-0.22.11.tgz", - "integrity": "sha512-GTzqPl0Ek8fq8qMufjR6hvtnjnSwMpJ1Rg2Ez9AcKZVp1piWoU/Q4FDnI9wHVKX8eenYL0nqAF3ejYAk1TUfqQ==", + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/unplugin-vue-components/-/unplugin-vue-components-0.22.12.tgz", + "integrity": "sha512-FxyzsuBvMCYPIk+8cgscGBQ345tvwVu+qY5IhE++eorkyvA4Z1TiD/HCiim+Kbqozl10i4K+z+NCa2WO2jexRA==", "requires": { - "@antfu/utils": "^0.7.0", + "@antfu/utils": "^0.7.2", "@rollup/pluginutils": "^5.0.2", "chokidar": "^3.5.3", "debug": "^4.3.4", "fast-glob": "^3.2.12", "local-pkg": "^0.4.2", - "magic-string": "^0.26.7", - "minimatch": "^5.1.0", + "magic-string": "^0.27.0", + "minimatch": "^5.1.1", "resolve": "^1.22.1", - "unplugin": "^1.0.0" + "unplugin": "^1.0.1" }, "dependencies": { - "@antfu/utils": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.2.tgz", - "integrity": "sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g==" - }, "brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", @@ -13615,10 +13136,18 @@ "balanced-match": "^1.0.0" } }, + "magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.13" + } + }, "minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz", + "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==", "requires": { "brace-expansion": "^2.0.1" } @@ -13632,13 +13161,13 @@ "dev": true }, "untyped": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/untyped/-/untyped-1.0.0.tgz", - "integrity": "sha512-aBeR3Z51038d7zVzsNShYEdO7u/VCp5R17fxpPXlD2QvG9g6uVJ+JM+zMJ7KFPIt1BNf3I6bU6PhAlsAFkIfdA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/untyped/-/untyped-1.2.0.tgz", + "integrity": "sha512-nG0A55YEhUU5UCEM+nhIhCVkA8a4L1spIVtzO0937WDjEA6jrKpu184O2K9iv5UuJNHnwhu+Q3TXiSJh/JrjlQ==", "requires": { - "@babel/core": "^7.20.2", - "@babel/standalone": "^7.20.4", - "@babel/types": "^7.20.2", + "@babel/core": "^7.20.5", + "@babel/standalone": "^7.20.6", + "@babel/types": "^7.20.5", "scule": "^1.0.0" } }, @@ -13666,6 +13195,13 @@ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "requires": { "punycode": "^2.1.0" + }, + "dependencies": { + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + } } }, "url-parse": { @@ -13739,7 +13275,6 @@ "version": "0.25.8", "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.25.8.tgz", "integrity": "sha512-X75TApG2wZTJn299E/TIYevr4E9/nBo1sUtZzn0Ci5oK8qnpZAZyhwg0qCeMSakGIWtc6oRwcQFyFfW14aOFWg==", - "dev": true, "requires": { "@types/chai": "^4.3.4", "@types/chai-subset": "^1.3.3", @@ -13758,202 +13293,58 @@ }, "dependencies": { "@esbuild/linux-loong64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.18.tgz", - "integrity": "sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==", - "dev": true, + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.6.tgz", + "integrity": "sha512-wJAE0pZrY47xWRIYkBrOYRKWJ9vE1XBC7PtuGy4/Ii0Au2VRc52A/VxIHwRI0NyQMNRkjOD5PpS/ruhnNx7JNA==", "optional": true }, "esbuild": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.18.tgz", - "integrity": "sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==", - "dev": true, + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.6.tgz", + "integrity": "sha512-0Fn9lUX1yy2iP56L0BDAgnQFJfkDICdYZ0Xm6Kgdwa72AkHoKX0egau/ZIROYdjJWPLJtl9bDuW7Xs56TuKPhQ==", "requires": { - "@esbuild/android-arm": "0.15.18", - "@esbuild/linux-loong64": "0.15.18", - "esbuild-android-64": "0.15.18", - "esbuild-android-arm64": "0.15.18", - "esbuild-darwin-64": "0.15.18", - "esbuild-darwin-arm64": "0.15.18", - "esbuild-freebsd-64": "0.15.18", - "esbuild-freebsd-arm64": "0.15.18", - "esbuild-linux-32": "0.15.18", - "esbuild-linux-64": "0.15.18", - "esbuild-linux-arm": "0.15.18", - "esbuild-linux-arm64": "0.15.18", - "esbuild-linux-mips64le": "0.15.18", - "esbuild-linux-ppc64le": "0.15.18", - "esbuild-linux-riscv64": "0.15.18", - "esbuild-linux-s390x": "0.15.18", - "esbuild-netbsd-64": "0.15.18", - "esbuild-openbsd-64": "0.15.18", - "esbuild-sunos-64": "0.15.18", - "esbuild-windows-32": "0.15.18", - "esbuild-windows-64": "0.15.18", - "esbuild-windows-arm64": "0.15.18" + "@esbuild/android-arm": "0.16.6", + "@esbuild/android-arm64": "0.16.6", + "@esbuild/android-x64": "0.16.6", + "@esbuild/darwin-arm64": "0.16.6", + "@esbuild/darwin-x64": "0.16.6", + "@esbuild/freebsd-arm64": "0.16.6", + "@esbuild/freebsd-x64": "0.16.6", + "@esbuild/linux-arm": "0.16.6", + "@esbuild/linux-arm64": "0.16.6", + "@esbuild/linux-ia32": "0.16.6", + "@esbuild/linux-loong64": "0.16.6", + "@esbuild/linux-mips64el": "0.16.6", + "@esbuild/linux-ppc64": "0.16.6", + "@esbuild/linux-riscv64": "0.16.6", + "@esbuild/linux-s390x": "0.16.6", + "@esbuild/linux-x64": "0.16.6", + "@esbuild/netbsd-x64": "0.16.6", + "@esbuild/openbsd-x64": "0.16.6", + "@esbuild/sunos-x64": "0.16.6", + "@esbuild/win32-arm64": "0.16.6", + "@esbuild/win32-ia32": "0.16.6", + "@esbuild/win32-x64": "0.16.6" } }, - "esbuild-android-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.18.tgz", - "integrity": "sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==", - "dev": true, - "optional": true - }, - "esbuild-android-arm64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.18.tgz", - "integrity": "sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==", - "dev": true, - "optional": true - }, - "esbuild-darwin-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.18.tgz", - "integrity": "sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==", - "dev": true, - "optional": true - }, - "esbuild-darwin-arm64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.18.tgz", - "integrity": "sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==", - "dev": true, - "optional": true - }, - "esbuild-freebsd-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.18.tgz", - "integrity": "sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==", - "dev": true, - "optional": true - }, - "esbuild-freebsd-arm64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.18.tgz", - "integrity": "sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==", - "dev": true, - "optional": true - }, - "esbuild-linux-32": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.18.tgz", - "integrity": "sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==", - "dev": true, - "optional": true - }, - "esbuild-linux-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.18.tgz", - "integrity": "sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==", - "dev": true, - "optional": true - }, - "esbuild-linux-arm": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.18.tgz", - "integrity": "sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==", - "dev": true, - "optional": true - }, - "esbuild-linux-arm64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.18.tgz", - "integrity": "sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==", - "dev": true, - "optional": true - }, - "esbuild-linux-mips64le": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.18.tgz", - "integrity": "sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==", - "dev": true, - "optional": true - }, - "esbuild-linux-ppc64le": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.18.tgz", - "integrity": "sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==", - "dev": true, - "optional": true - }, - "esbuild-linux-riscv64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.18.tgz", - "integrity": "sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==", - "dev": true, - "optional": true - }, - "esbuild-linux-s390x": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.18.tgz", - "integrity": "sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==", - "dev": true, - "optional": true - }, - "esbuild-netbsd-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.18.tgz", - "integrity": "sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==", - "dev": true, - "optional": true - }, - "esbuild-openbsd-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.18.tgz", - "integrity": "sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==", - "dev": true, - "optional": true - }, - "esbuild-sunos-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.18.tgz", - "integrity": "sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==", - "dev": true, - "optional": true - }, - "esbuild-windows-32": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.18.tgz", - "integrity": "sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==", - "dev": true, - "optional": true - }, - "esbuild-windows-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.18.tgz", - "integrity": "sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==", - "dev": true, - "optional": true - }, - "esbuild-windows-arm64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.18.tgz", - "integrity": "sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==", - "dev": true, - "optional": true - }, "rollup": { - "version": "2.79.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", - "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", - "dev": true, + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.7.4.tgz", + "integrity": "sha512-jN9rx3k5pfg9H9al0r0y1EYKSeiRANZRYX32SuNXAnKzh6cVyf4LZVto1KAuDnbHT03E1CpsgqDKaqQ8FZtgxw==", "requires": { "fsevents": "~2.3.2" } }, "vite": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-3.2.5.tgz", - "integrity": "sha512-4mVEpXpSOgrssFZAOmGIr85wPHKvaDAcXqxVxVRZhljkJOMZi1ibLibzjLHzJvcok8BMguLc7g1W6W/GqZbLdQ==", - "dev": true, + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.0.1.tgz", + "integrity": "sha512-kZQPzbDau35iWOhy3CpkrRC7It+HIHtulAzBhMqzGHKRf/4+vmh8rPDDdv98SWQrFWo6//3ozwsRmwQIPZsK9g==", "requires": { - "esbuild": "^0.15.9", + "esbuild": "^0.16.3", "fsevents": "~2.3.2", - "postcss": "^8.4.18", + "postcss": "^8.4.20", "resolve": "^1.22.1", - "rollup": "^2.79.1" + "rollup": "^3.7.0" } } } @@ -14024,12 +13415,12 @@ } }, "vue-tsc": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.0.12.tgz", - "integrity": "sha512-uWSASSHMfC61eEEOuLwf+eF9ODg0UzBV42/lIkZamxsA3PFZyV/eaq+RpEFP+NRXfL0GeXZUxY6l2dm9xlY07Q==", + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.0.13.tgz", + "integrity": "sha512-DORISA3Fu9595xbg5HQqUj4XZVvkyRkcZFJCkCt1CeN7tIMgVRQ8ow07AKcbuHoEkqg7OI4qLu1wyC/VH3o5Ug==", "requires": { - "@volar/vue-language-core": "1.0.12", - "@volar/vue-typescript": "1.0.12" + "@volar/vue-language-core": "1.0.13", + "@volar/vue-typescript": "1.0.13" } }, "w3c-xmlserializer": { @@ -14077,9 +13468,9 @@ "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" }, "webpack-virtual-modules": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.4.6.tgz", - "integrity": "sha512-5tyDlKLqPfMqjT3Q9TAqf2YqjwmnUleZwzJi1A5qXnlBCdj2AtOJ6wAWdglTIDOPgOiOrXeBeFcsQ8+aGQ6QbA==" + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz", + "integrity": "sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==" }, "whatwg-encoding": { "version": "2.0.0", diff --git a/frontend/package.json b/frontend/package.json index f24c61b95d..1b8c3cea55 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -56,7 +56,7 @@ "@rushstack/eslint-patch": "^1.1.0", "@types/jsdom": "^20.0.1", "@types/node": "^18.11.15", - "@typescript-eslint/eslint-plugin": "^5.46.0", + "@typescript-eslint/eslint-plugin": "^5.46.1", "@typescript-eslint/parser": "^5.46.0", "@vue/eslint-config-prettier": "^7.0.0", "@vue/eslint-config-typescript": "^10.0.0", From 7184242e6e091768ac7699dc3bffaa7ebe45fdbe Mon Sep 17 00:00:00 2001 From: MCatherine Date: Wed, 14 Dec 2022 16:40:09 -0800 Subject: [PATCH 12/31] Merge to main close #190: add checking duplicate api to frontend (#192) * feat/frontend: added check duplicate api to frontend, refs: #190 * feat/frontend: reinstalled node packages, refs: #190 * feat/pipeline: adjust memory request for deployment yaml file * feat/frontend: added example for generate form based on json schema, refs: #50 * Exclude example dir from SonarCloud * Comment out placeholder file Co-authored-by: Derek Roberts --- .github/workflows/unit-tests.yml | 2 +- backend/openshift.deploy.yml | 4 +- frontend/openshift.deploy.yml | 2 +- frontend/src/common/FormComponentOptions.vue | 2 + frontend/src/common/FormGroup.vue | 7 +- frontend/src/common/FormTable.vue | 63 +++--- .../common/examples/FormJsonSchemaExample.vue | 184 ++++++++++++++++++ .../SingleFormComponentExamples.vue} | 12 +- frontend/src/pages/MyApplicationPage.vue | 4 +- .../applynewclient/ApplyNewClientPage.vue | 1 - frontend/src/services/forestClient.service.ts | 70 +++++-- 11 files changed, 292 insertions(+), 59 deletions(-) create mode 100644 frontend/src/common/examples/FormJsonSchemaExample.vue rename frontend/src/common/{CommonComponentExamples.vue => examples/SingleFormComponentExamples.vue} (92%) diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index d3f7190bd4..26af437a53 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -50,7 +50,7 @@ jobs: npm run test dir: frontend sonar_args: > - -Dsonar.exclusions=**/coverage/**,**/node_modules/** + -Dsonar.exclusions=**/coverage/**,**/examples/** -Dsonar.organization=bcgov-sonarcloud -Dsonar.projectKey=forest-client-frontend sonar_project_token: ${{ secrets.SONAR_TOKEN_FRONTEND }} diff --git a/backend/openshift.deploy.yml b/backend/openshift.deploy.yml index 72c7880079..d937c432b3 100644 --- a/backend/openshift.deploy.yml +++ b/backend/openshift.deploy.yml @@ -65,9 +65,9 @@ parameters: - name: CPU_LIMIT value: 200m - name: MEMORY_REQUEST - value: 200Mi + value: 300Mi - name: MEMORY_LIMIT - value: 350Mi + value: 400Mi objects: - apiVersion: v1 kind: Secret diff --git a/frontend/openshift.deploy.yml b/frontend/openshift.deploy.yml index db101f5743..1b21588c83 100644 --- a/frontend/openshift.deploy.yml +++ b/frontend/openshift.deploy.yml @@ -35,7 +35,7 @@ parameters: - name: CPU_LIMIT value: 25m - name: MEMORY_REQUEST - value: 30Mi + value: 50Mi - name: MEMORY_LIMIT value: 150Mi - name: VITE_NODE_ENV diff --git a/frontend/src/common/FormComponentOptions.vue b/frontend/src/common/FormComponentOptions.vue index 95ab5e59e7..1c78b49c88 100644 --- a/frontend/src/common/FormComponentOptions.vue +++ b/frontend/src/common/FormComponentOptions.vue @@ -44,6 +44,7 @@ :addButtonText="schema.addButtonText" :deleteButtonText="schema.deleteButtonText" :columns="schema.columns" + :fieldProps="schema.fieldProps" @updateFormArrayValue="updateFormArrayValue" @addRow="addRow" @deleteRow="deleteRow" @@ -53,6 +54,7 @@ :data="data" :addButtonText="schema.addButtonText" :columns="schema.columns" + :fieldProps="schema.fieldProps" @updateFormArrayValue="updateFormArrayValue" @addRow="addRow" @deleteRow="deleteRow" diff --git a/frontend/src/common/FormGroup.vue b/frontend/src/common/FormGroup.vue index a69c8fd203..a47c92e80f 100644 --- a/frontend/src/common/FormGroup.vue +++ b/frontend/src/common/FormGroup.vue @@ -1,5 +1,5 @@ + + + + diff --git a/frontend/src/common/CommonComponentExamples.vue b/frontend/src/common/examples/SingleFormComponentExamples.vue similarity index 92% rename from frontend/src/common/CommonComponentExamples.vue rename to frontend/src/common/examples/SingleFormComponentExamples.vue index 775dd71e5b..152188b66b 100644 --- a/frontend/src/common/CommonComponentExamples.vue +++ b/frontend/src/common/examples/SingleFormComponentExamples.vue @@ -48,17 +48,17 @@ - - diff --git a/docs/environment/database/init-db.sh b/docs/environment/database/init-db.sh new file mode 100644 index 0000000000..ba4c0e9b4b --- /dev/null +++ b/docs/environment/database/init-db.sh @@ -0,0 +1,6 @@ +#!/bin/bash +set -e + +psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL + GRANT ALL PRIVILEGES ON DATABASE $POSTGRES_USER TO $POSTGRES_USER; +EOSQL \ No newline at end of file diff --git a/docs/environment/docker-compose.yml b/docs/environment/docker-compose.yml new file mode 100644 index 0000000000..6687736a41 --- /dev/null +++ b/docs/environment/docker-compose.yml @@ -0,0 +1,23 @@ +version: '3.4' +services: + + database: + image: postgres + restart: always + ports: + - "5432:5432" + environment: + POSTGRES_PASSWORD: thisisnotapassword + POSTGRES_USER: fsa + volumes: + - ./database/init-db.sh:/docker-entrypoint-initdb.d/init-db.sh + healthcheck: + test: ["CMD-SHELL", "pg_isready", "-d", "db_prod"] + interval: 5s + timeout: 10s + retries: 10 + logging: + driver: "json-file" + options: + max-size: 10m + max-file: "3" \ No newline at end of file From e3371abd0ea8200e862a14af1fab241e15ae6039 Mon Sep 17 00:00:00 2001 From: Paulo Gomes da Cruz Junior Date: Fri, 16 Dec 2022 15:50:32 -0800 Subject: [PATCH 24/31] ci: updating workflow and labels --- .github/labeler.yml | 63 +++++++++++++++++++++++++++++++++++ .github/workflows/pr-open.yml | 57 +++++++++++++++++++++++++++++++ 2 files changed, 120 insertions(+) create mode 100644 .github/labeler.yml diff --git a/.github/labeler.yml b/.github/labeler.yml new file mode 100644 index 0000000000..a01bfe3b5b --- /dev/null +++ b/.github/labeler.yml @@ -0,0 +1,63 @@ +github_actions: + - .github/* + +tests: + - backend/src/test/**/*.java + - frontend/cypress/**/* + - frontend/src/tests/**/*.spec.ts + +source: + - backend/src/main/**/*.java + - frontend/src/**/*.ts + +docker: + - any: ['Dockerfile','dockerfile-entrypoint.sh'] + +controller: + - backend/src/main/**/controller/*.java + +dto: + - backend/src/main/**/dto/*.java + +entity: + - backend/src/main/**/entity/*.java + +repository: + - backend/src/main/**/repository/*.java + +configuration: + - backend/src/main/**/configuration/*.java + - backend/src/main/resources/**/* + - backend/config/**/* + - frontend/tsconfig* + - frontend/vite* + - frontend/*.json + +service: + - backend/src/main/**/service/*.java + +frontend: + - frontend/**/* + +backend: + - backend/**/* + +database: + - database/**/* + +dependencies: + - any: ['backend/pom.xml','frontend/package.json','package-lock.json'] + +documentation: + - backend/docs/**/* + - frontend/docs/**/* + - docs/**/* + +java: + - backend/**/* + +javascript: + - frontend/**/* + +openshift: + - '**/openshift.*.yml' \ No newline at end of file diff --git a/.github/workflows/pr-open.yml b/.github/workflows/pr-open.yml index 356917db2d..3c3f965eb6 100644 --- a/.github/workflows/pr-open.yml +++ b/.github/workflows/pr-open.yml @@ -8,6 +8,63 @@ concurrency: cancel-in-progress: true jobs: + pr-validation: + name: Pull Request Validation + runs-on: ubuntu-latest + permissions: + contents: read + pull-requests: write + steps: + - uses: actions/checkout@v3 + + - name: Pull request size and stability labels + uses: actions/labeler@v4 + continue-on-error: true + with: + repo-token: "${{ secrets.GITHUB_TOKEN }}" + + - name: Conventional Label + uses: bcoe/conventional-release-labels@v1 + continue-on-error: true + with: + token: ${{ secrets.GITHUB_TOKEN }} + ignored_types: '["chore","pr"]' + type_labels: '{"feat": "feature", "fix": "fix", "bug": "fix", "doc": "documentation", "ci": "ci", "chore": "chore", "breaking": "breaking", "BREAKING CHANGE": "breaking"}' + + - name: Checkout branch + uses: actions/checkout@v3 + with: + ref: refs/heads/${{ github.head_ref }} + + - name: Conventional Changelog Update + continue-on-error: true + uses: TriPSs/conventional-changelog-action@v3 + id: changelog + with: + github-token: ${{ github.token }} + output-file: 'CHANGELOG.md' + skip-version-file: 'true' + skip-commit: 'true' + git-push: 'false' + git-branch: refs/heads/${{ github.head_ref }} + + - name: Checkout pr + uses: actions/checkout@v3 + with: + ref: ${{ github.ref }} + + - name: Comment PR + continue-on-error: true + uses: thollander/actions-comment-pull-request@v1 + if: ${{ steps.changelog.outputs.skipped == 'false' }} + with: + message: | + # Current changelog + + ${{ steps.changelog.outputs.clean_changelog }} + comment_includes: '# Current changelog' + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + pr-greeting: name: PR Greeting env: From 7aca6e47b518a8f31c3fcc38a612ebe97e26c7d9 Mon Sep 17 00:00:00 2001 From: Paulo Gomes da Cruz Junior Date: Fri, 16 Dec 2022 16:16:05 -0800 Subject: [PATCH 25/31] ci: adding codechange detection --- .github/workflows/unit-tests.yml | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index 26af437a53..47d99b5c5e 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -19,9 +19,28 @@ concurrency: cancel-in-progress: true jobs: + changedfiles: + runs-on: ubuntu-latest + outputs: + backend: ${{ steps.changes.outputs.backend}} + frontend: ${{ steps.changes.outputs.frontend}} + database: ${{ steps.changes.outputs.database}} + documentation: ${{ steps.changes.outputs.documentation}} + steps: + - name: Checkout repository + uses: actions/checkout@v3 + - name: Get changed files + id: changes + run: | + echo "::set-output name=backend::$(git diff --name-only --diff-filter=ACMRT ${{ github.event.pull_request.base.sha }} ${{ github.sha }} | grep backend | xargs)" + echo "::set-output name=frontend::$(git diff --name-only --diff-filter=ACMRT ${{ github.event.pull_request.base.sha }} ${{ github.sha }} | grep frontend | xargs)" + echo "::set-output name=database::$(git diff --name-only --diff-filter=ACMRT ${{ github.event.pull_request.base.sha }} ${{ github.sha }} | grep database | xargs)" + echo "::set-output name=documentation::$(git diff --name-only --diff-filter=ACMRT ${{ github.event.pull_request.base.sha }} ${{ github.sha }} | grep docs/ | xargs)" + tests-backend: name: Backend Unit Tests - if: github.event_name != 'pull_request' || !github.event.pull_request.draft + needs: changedfiles + if: github.event_name != 'pull_request' || !github.event.pull_request.draft || ${{needs.changedfiles.outputs.backend}} runs-on: ubuntu-22.04 steps: - uses: bcgov-nr/action-test-and-analyse-java@v0.1.0 @@ -40,7 +59,7 @@ jobs: tests-frontend: name: Frontend Unit Tests - if: github.event_name != 'pull_request' || !github.event.pull_request.draft + if: github.event_name != 'pull_request' || !github.event.pull_request.draft || ${{needs.changedfiles.outputs.frontend}} runs-on: ubuntu-22.04 steps: - uses: bcgov-nr/action-test-and-analyse@v0.0.1 From dce57dc194d1670fa2a81235844b7ecb72eb7697 Mon Sep 17 00:00:00 2001 From: Paulo Gomes da Cruz Junior Date: Fri, 16 Dec 2022 16:17:13 -0800 Subject: [PATCH 26/31] ci: fixing ci for frontend --- .github/workflows/unit-tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index 47d99b5c5e..635c8a5877 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -59,6 +59,7 @@ jobs: tests-frontend: name: Frontend Unit Tests + needs: changedfiles if: github.event_name != 'pull_request' || !github.event.pull_request.draft || ${{needs.changedfiles.outputs.frontend}} runs-on: ubuntu-22.04 steps: From 666db3ec7f51eee92154751a0498ea535a65bdd3 Mon Sep 17 00:00:00 2001 From: Paulo Gomes da Cruz Junior Date: Fri, 16 Dec 2022 16:19:25 -0800 Subject: [PATCH 27/31] ci: limiting ci per folder --- .github/workflows/unit-tests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index 635c8a5877..dca4c7bb81 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -40,7 +40,7 @@ jobs: tests-backend: name: Backend Unit Tests needs: changedfiles - if: github.event_name != 'pull_request' || !github.event.pull_request.draft || ${{needs.changedfiles.outputs.backend}} + if: ${{needs.changedfiles.outputs.backend}} && (github.event_name != 'pull_request' || !github.event.pull_request.draft) runs-on: ubuntu-22.04 steps: - uses: bcgov-nr/action-test-and-analyse-java@v0.1.0 @@ -60,7 +60,7 @@ jobs: tests-frontend: name: Frontend Unit Tests needs: changedfiles - if: github.event_name != 'pull_request' || !github.event.pull_request.draft || ${{needs.changedfiles.outputs.frontend}} + if: ${{needs.changedfiles.outputs.frontend}} && (github.event_name != 'pull_request' || !github.event.pull_request.draft) runs-on: ubuntu-22.04 steps: - uses: bcgov-nr/action-test-and-analyse@v0.0.1 From d5ea28c1ac9f89441c709194729698f29b7bd408 Mon Sep 17 00:00:00 2001 From: Paulo Gomes da Cruz Junior Date: Fri, 16 Dec 2022 16:24:37 -0800 Subject: [PATCH 28/31] ci: removing changes --- .github/workflows/unit-tests.yml | 24 ++---------------------- 1 file changed, 2 insertions(+), 22 deletions(-) diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index dca4c7bb81..26af437a53 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -19,28 +19,9 @@ concurrency: cancel-in-progress: true jobs: - changedfiles: - runs-on: ubuntu-latest - outputs: - backend: ${{ steps.changes.outputs.backend}} - frontend: ${{ steps.changes.outputs.frontend}} - database: ${{ steps.changes.outputs.database}} - documentation: ${{ steps.changes.outputs.documentation}} - steps: - - name: Checkout repository - uses: actions/checkout@v3 - - name: Get changed files - id: changes - run: | - echo "::set-output name=backend::$(git diff --name-only --diff-filter=ACMRT ${{ github.event.pull_request.base.sha }} ${{ github.sha }} | grep backend | xargs)" - echo "::set-output name=frontend::$(git diff --name-only --diff-filter=ACMRT ${{ github.event.pull_request.base.sha }} ${{ github.sha }} | grep frontend | xargs)" - echo "::set-output name=database::$(git diff --name-only --diff-filter=ACMRT ${{ github.event.pull_request.base.sha }} ${{ github.sha }} | grep database | xargs)" - echo "::set-output name=documentation::$(git diff --name-only --diff-filter=ACMRT ${{ github.event.pull_request.base.sha }} ${{ github.sha }} | grep docs/ | xargs)" - tests-backend: name: Backend Unit Tests - needs: changedfiles - if: ${{needs.changedfiles.outputs.backend}} && (github.event_name != 'pull_request' || !github.event.pull_request.draft) + if: github.event_name != 'pull_request' || !github.event.pull_request.draft runs-on: ubuntu-22.04 steps: - uses: bcgov-nr/action-test-and-analyse-java@v0.1.0 @@ -59,8 +40,7 @@ jobs: tests-frontend: name: Frontend Unit Tests - needs: changedfiles - if: ${{needs.changedfiles.outputs.frontend}} && (github.event_name != 'pull_request' || !github.event.pull_request.draft) + if: github.event_name != 'pull_request' || !github.event.pull_request.draft runs-on: ubuntu-22.04 steps: - uses: bcgov-nr/action-test-and-analyse@v0.0.1 From c717220ae5295a5886c1adaef4beb5e81f255e4f Mon Sep 17 00:00:00 2001 From: Paulo Gomes da Cruz Junior Date: Fri, 16 Dec 2022 16:30:50 -0800 Subject: [PATCH 29/31] ci: adding backend ci --- .github/workflows/be-tests.yml | 232 +++++++++++++++++++++++++++++++++ 1 file changed, 232 insertions(+) create mode 100644 .github/workflows/be-tests.yml diff --git a/.github/workflows/be-tests.yml b/.github/workflows/be-tests.yml new file mode 100644 index 0000000000..09f8f3e745 --- /dev/null +++ b/.github/workflows/be-tests.yml @@ -0,0 +1,232 @@ +name: Project CI +on: + push: + branches: + - '*' + - '*/*' + - '**' + tags-ignore: + - '**' + paths: + - "backend/**" + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + + validate: + name: Validate Code + runs-on: ubuntu-latest + defaults: + run: + working-directory: backend + needs: + - cancel-prev-runs + steps: + - uses: actions/checkout@v3 + with: + ref: ${{ github.event.pull_request.head.sha }} + + - name: Cache Maven + uses: actions/cache@v2 + with: + path: ~/.m2 + key: ${{ runner.os }}-maven-test-${{ hashFiles('**/pom.xml') }} + restore-keys: ${{ runner.os }}-maven-test- + + - name: Set up JDK 17 + uses: actions/setup-java@v2 + with: + java-version: '17' + distribution: 'temurin' + + - name: Code Validation + run: mvn -B validate --file pom.xml + + - name: Archive CycloneDX + uses: actions/upload-artifact@v2 + with: + name: cyclone + path: target/bom.json + retention-days: 5 + + - name: Code Compilation + run: mvn -B clean compile --file pom.xml + + - name: Checkstyle + run: mvn -B checkstyle:checkstyle -Dcheckstyle.skip=false --file pom.xml + + - name: Use Checkstyle report + uses: jwgmeligmeyling/checkstyle-github-action@master + with: + path: '**/checkstyle-result.xml' + + test: + name: Test Code + runs-on: ubuntu-latest + defaults: + run: + working-directory: backend + needs: + - validate + steps: + - uses: actions/checkout@v3 + with: + ref: ${{ github.event.pull_request.head.sha }} + + - name: Cache Maven + uses: actions/cache@v2 + with: + path: ~/.m2 + key: ${{ runner.os }}-maven-test-${{ hashFiles('**/pom.xml') }} + restore-keys: ${{ runner.os }}-maven-test- + + - name: Cache SonarCloud packages + uses: actions/cache@v2 + with: + path: ~/.sonar/cache + key: ${{ runner.os }}-sonar + restore-keys: ${{ runner.os }}-sonar + + - name: Set up JDK 17 + uses: actions/setup-java@v2 + with: + java-version: '17' + distribution: 'temurin' + + - name: Unit Tests + run: mvn -B test --file pom.xml + + - name: Integration Tests + run: mvn -B verify -P integration-test --file pom.xml + + - name: Code Coverage + run: mvn -B clean verify -P all-tests --file pom.xml + + - name: Add coverage to PR + id: jacoco + uses: madrapps/jacoco-report@v1.3 + with: + paths: target/coverage-reports/merged-test-report/jacoco.xml + token: ${{ secrets.GITHUB_TOKEN }} + min-coverage-overall: 70 + min-coverage-changed-files: 70 + + - name: Publish Test Report + uses: mikepenz/action-junit-report@v3 + with: + token: ${{ secrets.GITHUB_TOKEN }} + report_paths: 'target/**/TEST-*.xml' + + - name: Generate JaCoCo Badge + uses: cicirello/jacoco-badge-generator@v2 + with: + generate-branches-badge: true + jacoco-csv-file: target/coverage-reports/merged-test-report/jacoco.csv + + - name: Log coverage percentage + run: | + echo "coverage = ${{ steps.jacoco.outputs.coverage }}" + echo "branch coverage = ${{ steps.jacoco.outputs.branches }}" + + - name: Commit the badge (if it changed) + run: | + if [[ `git status --porcelain` ]]; then + git config --global user.name 'CI Bot' + git config --global user.email 'cibot@users.noreply.github.com' + git add -A + git commit -m "ci: autogenerated JaCoCo coverage badge" + git push + fi + + - name: Upload JaCoCo coverage report + uses: actions/upload-artifact@v2 + with: + name: jacoco-report + path: target/coverage-reports/merged-test-report/ + + - name: Qualitygate + run: mvn -B clean verify -P all-tests package sonar:sonar -Dsonar.projectKey=paulushcgcj_simple-webflux -Dsonar.coverage.jacoco.xmlReportPaths=target/coverage-reports/merged-test-report/jacoco.xml --file pom.xml + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + + security: + name: Security checks + runs-on: ubuntu-latest + defaults: + run: + working-directory: backend + permissions: + security-events: write + needs: + - validate + steps: + - uses: actions/checkout@v3 + with: + ref: ${{ github.event.pull_request.head.sha }} + + - name: Cache Maven + uses: actions/cache@v2 + with: + path: ~/.m2 + key: ${{ runner.os }}-maven-test-${{ hashFiles('**/pom.xml') }} + restore-keys: ${{ runner.os }}-maven-test- + + - name: Set up JDK 17 + uses: actions/setup-java@v2 + with: + java-version: '17' + distribution: 'temurin' + + - name: Code Compilation + run: mvn -B clean compile --file pom.xml + + - name: Run Snyk to check for vulnerabilities + uses: snyk/actions/maven@master + continue-on-error: true + env: + SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }} + with: + args: --severity-threshold=high --sarif-file-output=snyk.sarif + + vulnerability: + name: Vulnerability checks + runs-on: ubuntu-latest + defaults: + run: + working-directory: backend + permissions: + security-events: write + needs: + - validate + steps: + - uses: actions/checkout@v3 + with: + ref: ${{ github.event.pull_request.head.sha }} + + - name: Cache Maven + uses: actions/cache@v2 + with: + path: ~/.m2 + key: ${{ runner.os }}-maven-test-${{ hashFiles('**/pom.xml') }} + restore-keys: ${{ runner.os }}-maven-test- + + - name: Initialize CodeQL + uses: github/codeql-action/init@v2 + with: + languages: java + + - name: Set up JDK 17 + uses: actions/setup-java@v2 + with: + java-version: '17' + distribution: 'temurin' + + - name: Code Compilation + run: mvn -B clean compile --file pom.xml + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v2 From 2e4ea19985f06b7f2fb00f3d4b6d5e78f3267df3 Mon Sep 17 00:00:00 2001 From: Paulo Gomes da Cruz Junior Date: Mon, 19 Dec 2022 08:38:50 -0800 Subject: [PATCH 30/31] chore: moving packages out of core we will be reworking the folder/package structure --- .../{core/CoreConstant.java => ApplicationConstant.java} | 4 ++-- .../configuration/OraclePersistenceConfiguration.java | 2 +- .../configuration/PostgresPersistenceConfiguration.java | 2 +- .../java/ca/bc/gov/app/{core => }/dto/CodeDescrDTO.java | 2 +- .../java/ca/bc/gov/app/m/ob/service/OrgBookApiService.java | 2 +- .../java/ca/bc/gov/app/m/om/service/OpenMapsService.java | 2 +- .../legacyclient/controller/LegacyClientController.java | 4 ++-- .../legacyclient/entity/ClientDoingBusinessAsEntity.java | 4 ++-- .../m/oracle/legacyclient/entity/ClientLocationEntity.java | 4 ++-- .../oracle/legacyclient/entity/ClientPublicViewEntity.java | 4 ++-- .../oracle/legacyclient/entity/ClientStatusCodeEntity.java | 4 ++-- .../m/oracle/legacyclient/entity/ForestClientEntity.java | 4 ++-- .../repository/ClientDoingBusinessAsRepository.java | 2 +- .../legacyclient/repository/ClientLocationRepository.java | 2 +- .../legacyclient/repository/ClientPublicViewRepository.java | 2 +- .../legacyclient/repository/ForestClientRepository.java | 2 +- .../m/oracle/legacyclient/service/LegacyClientService.java | 4 ++-- .../app/m/postgres/client/controller/ClientController.java | 6 +++--- .../app/m/postgres/client/entity/ClientTypeCodeEntity.java | 4 ++-- .../m/postgres/client/entity/SubmissionDetailEntity.java | 6 +++--- .../gov/app/m/postgres/client/entity/SubmissionEntity.java | 6 +++--- .../postgres/client/entity/SubmissionStatusCodeEntity.java | 4 ++-- .../client/repository/ClientTypeCodeRepository.java | 2 +- .../client/repository/SubmissionDetailRepository.java | 2 +- .../m/postgres/client/repository/SubmissionRepository.java | 2 +- .../client/repository/SubmissionStatusCodeRepository.java | 2 +- .../bc/gov/app/m/postgres/client/service/ClientService.java | 2 +- .../ca/bc/gov/app/{core => }/repository/CoreRepository.java | 2 +- .../main/java/ca/bc/gov/app/{core => }/util/CoreUtil.java | 2 +- .../m/postgres/client/controller/ClientControllerTest.java | 2 +- 30 files changed, 46 insertions(+), 46 deletions(-) rename backend/src/main/java/ca/bc/gov/app/{core/CoreConstant.java => ApplicationConstant.java} (96%) rename backend/src/main/java/ca/bc/gov/app/{core => }/configuration/OraclePersistenceConfiguration.java (97%) rename backend/src/main/java/ca/bc/gov/app/{core => }/configuration/PostgresPersistenceConfiguration.java (98%) rename backend/src/main/java/ca/bc/gov/app/{core => }/dto/CodeDescrDTO.java (83%) rename backend/src/main/java/ca/bc/gov/app/{core => }/repository/CoreRepository.java (92%) rename backend/src/main/java/ca/bc/gov/app/{core => }/util/CoreUtil.java (98%) diff --git a/backend/src/main/java/ca/bc/gov/app/core/CoreConstant.java b/backend/src/main/java/ca/bc/gov/app/ApplicationConstant.java similarity index 96% rename from backend/src/main/java/ca/bc/gov/app/core/CoreConstant.java rename to backend/src/main/java/ca/bc/gov/app/ApplicationConstant.java index ac2ed7d99f..e9bbf540b3 100644 --- a/backend/src/main/java/ca/bc/gov/app/core/CoreConstant.java +++ b/backend/src/main/java/ca/bc/gov/app/ApplicationConstant.java @@ -1,6 +1,6 @@ -package ca.bc.gov.app.core; +package ca.bc.gov.app; -public final class CoreConstant { +public final class ApplicationConstant { public static final String EMPTY_STRING = ""; public static final String IND_YES = "Y"; diff --git a/backend/src/main/java/ca/bc/gov/app/core/configuration/OraclePersistenceConfiguration.java b/backend/src/main/java/ca/bc/gov/app/configuration/OraclePersistenceConfiguration.java similarity index 97% rename from backend/src/main/java/ca/bc/gov/app/core/configuration/OraclePersistenceConfiguration.java rename to backend/src/main/java/ca/bc/gov/app/configuration/OraclePersistenceConfiguration.java index 0b54858d95..8f2a1bf152 100644 --- a/backend/src/main/java/ca/bc/gov/app/core/configuration/OraclePersistenceConfiguration.java +++ b/backend/src/main/java/ca/bc/gov/app/configuration/OraclePersistenceConfiguration.java @@ -1,4 +1,4 @@ -package ca.bc.gov.app.core.configuration; +package ca.bc.gov.app.configuration; import jakarta.persistence.EntityManagerFactory; import java.util.HashMap; diff --git a/backend/src/main/java/ca/bc/gov/app/core/configuration/PostgresPersistenceConfiguration.java b/backend/src/main/java/ca/bc/gov/app/configuration/PostgresPersistenceConfiguration.java similarity index 98% rename from backend/src/main/java/ca/bc/gov/app/core/configuration/PostgresPersistenceConfiguration.java rename to backend/src/main/java/ca/bc/gov/app/configuration/PostgresPersistenceConfiguration.java index 39154c759d..9de61bd163 100644 --- a/backend/src/main/java/ca/bc/gov/app/core/configuration/PostgresPersistenceConfiguration.java +++ b/backend/src/main/java/ca/bc/gov/app/configuration/PostgresPersistenceConfiguration.java @@ -1,4 +1,4 @@ -package ca.bc.gov.app.core.configuration; +package ca.bc.gov.app.configuration; import jakarta.persistence.EntityManagerFactory; import java.util.HashMap; diff --git a/backend/src/main/java/ca/bc/gov/app/core/dto/CodeDescrDTO.java b/backend/src/main/java/ca/bc/gov/app/dto/CodeDescrDTO.java similarity index 83% rename from backend/src/main/java/ca/bc/gov/app/core/dto/CodeDescrDTO.java rename to backend/src/main/java/ca/bc/gov/app/dto/CodeDescrDTO.java index e0581ea160..d4095bec49 100644 --- a/backend/src/main/java/ca/bc/gov/app/core/dto/CodeDescrDTO.java +++ b/backend/src/main/java/ca/bc/gov/app/dto/CodeDescrDTO.java @@ -1,4 +1,4 @@ -package ca.bc.gov.app.core.dto; +package ca.bc.gov.app.dto; import java.util.Date; diff --git a/backend/src/main/java/ca/bc/gov/app/m/ob/service/OrgBookApiService.java b/backend/src/main/java/ca/bc/gov/app/m/ob/service/OrgBookApiService.java index 159d4d670d..358a2d77b5 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/ob/service/OrgBookApiService.java +++ b/backend/src/main/java/ca/bc/gov/app/m/ob/service/OrgBookApiService.java @@ -1,6 +1,6 @@ package ca.bc.gov.app.m.ob.service; -import ca.bc.gov.app.core.util.CoreUtil; +import ca.bc.gov.app.util.CoreUtil; import ca.bc.gov.app.m.ob.dto.OrgBookResponseDTO; import ca.bc.gov.app.m.oracle.legacyclient.entity.ClientDoingBusinessAsEntity; import ca.bc.gov.app.m.oracle.legacyclient.entity.ForestClientEntity; diff --git a/backend/src/main/java/ca/bc/gov/app/m/om/service/OpenMapsService.java b/backend/src/main/java/ca/bc/gov/app/m/om/service/OpenMapsService.java index 4a70821d6a..b183936c7c 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/om/service/OpenMapsService.java +++ b/backend/src/main/java/ca/bc/gov/app/m/om/service/OpenMapsService.java @@ -1,6 +1,6 @@ package ca.bc.gov.app.m.om.service; -import ca.bc.gov.app.core.util.CoreUtil; +import ca.bc.gov.app.util.CoreUtil; import ca.bc.gov.app.m.om.dto.FirstNationBandValidationDTO; import ca.bc.gov.app.m.om.dto.OpenMapsResponseDTO; import ca.bc.gov.app.m.oracle.legacyclient.entity.ClientLocationEntity; diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/controller/LegacyClientController.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/controller/LegacyClientController.java index 33357cca8a..f5b889167a 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/controller/LegacyClientController.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/controller/LegacyClientController.java @@ -2,7 +2,7 @@ import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE; -import ca.bc.gov.app.core.CoreConstant; +import ca.bc.gov.app.ApplicationConstant; import ca.bc.gov.app.m.oracle.legacyclient.entity.ForestClientEntity; import ca.bc.gov.app.m.oracle.legacyclient.service.LegacyClientService; import io.swagger.v3.oas.annotations.Parameter; @@ -17,7 +17,7 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -@Tag(name = CoreConstant.ORACLE_API_TAG) +@Tag(name = ApplicationConstant.ORACLE_API_TAG) @CrossOrigin(origins = "${frontend.url}") @RestController @RequestMapping("/app/m/legacyclient") diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientDoingBusinessAsEntity.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientDoingBusinessAsEntity.java index 19c55dbcde..d4354e1b65 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientDoingBusinessAsEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientDoingBusinessAsEntity.java @@ -1,6 +1,6 @@ package ca.bc.gov.app.m.oracle.legacyclient.entity; -import ca.bc.gov.app.core.CoreConstant; +import ca.bc.gov.app.ApplicationConstant; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; @@ -12,7 +12,7 @@ import lombok.With; @Entity -@Table(name = "CLIENT_DOING_BUSINESS_AS", schema = CoreConstant.ORACLE_ATTRIBUTE_SCHEMA) +@Table(name = "CLIENT_DOING_BUSINESS_AS", schema = ApplicationConstant.ORACLE_ATTRIBUTE_SCHEMA) @Data @Builder @With diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientLocationEntity.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientLocationEntity.java index 50a0299a44..cb31ebe653 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientLocationEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientLocationEntity.java @@ -1,6 +1,6 @@ package ca.bc.gov.app.m.oracle.legacyclient.entity; -import ca.bc.gov.app.core.CoreConstant; +import ca.bc.gov.app.ApplicationConstant; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; @@ -13,7 +13,7 @@ import lombok.With; @Entity -@Table(name = "CLIENT_LOCATION", schema = CoreConstant.ORACLE_ATTRIBUTE_SCHEMA) +@Table(name = "CLIENT_LOCATION", schema = ApplicationConstant.ORACLE_ATTRIBUTE_SCHEMA) @Data @Builder @With diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientPublicViewEntity.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientPublicViewEntity.java index 71f57e97ae..2c4585df5c 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientPublicViewEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientPublicViewEntity.java @@ -1,6 +1,6 @@ package ca.bc.gov.app.m.oracle.legacyclient.entity; -import ca.bc.gov.app.core.CoreConstant; +import ca.bc.gov.app.ApplicationConstant; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; @@ -12,7 +12,7 @@ import lombok.With; @Entity -@Table(name = "V_CLIENT_PUBLIC", schema = CoreConstant.ORACLE_ATTRIBUTE_SCHEMA) +@Table(name = "V_CLIENT_PUBLIC", schema = ApplicationConstant.ORACLE_ATTRIBUTE_SCHEMA) @Data @Builder @With diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientStatusCodeEntity.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientStatusCodeEntity.java index 4df2bf8683..caf33b0d80 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientStatusCodeEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ClientStatusCodeEntity.java @@ -1,6 +1,6 @@ package ca.bc.gov.app.m.oracle.legacyclient.entity; -import ca.bc.gov.app.core.CoreConstant; +import ca.bc.gov.app.ApplicationConstant; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; @@ -13,7 +13,7 @@ import lombok.With; @Entity -@Table(name = "CLIENT_STATUS_CODE", schema = CoreConstant.ORACLE_ATTRIBUTE_SCHEMA) +@Table(name = "CLIENT_STATUS_CODE", schema = ApplicationConstant.ORACLE_ATTRIBUTE_SCHEMA) @Data @Builder @With diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ForestClientEntity.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ForestClientEntity.java index a25e527387..d4b2a65ddb 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ForestClientEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/entity/ForestClientEntity.java @@ -1,6 +1,6 @@ package ca.bc.gov.app.m.oracle.legacyclient.entity; -import ca.bc.gov.app.core.CoreConstant; +import ca.bc.gov.app.ApplicationConstant; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; @@ -13,7 +13,7 @@ import lombok.With; @Entity -@Table(name = "FOREST_CLIENT", schema = CoreConstant.ORACLE_ATTRIBUTE_SCHEMA) +@Table(name = "FOREST_CLIENT", schema = ApplicationConstant.ORACLE_ATTRIBUTE_SCHEMA) @Data @Builder @With diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/repository/ClientDoingBusinessAsRepository.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/repository/ClientDoingBusinessAsRepository.java index c7fecf7a4d..200f9e8f16 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/repository/ClientDoingBusinessAsRepository.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/repository/ClientDoingBusinessAsRepository.java @@ -1,6 +1,6 @@ package ca.bc.gov.app.m.oracle.legacyclient.repository; -import ca.bc.gov.app.core.repository.CoreRepository; +import ca.bc.gov.app.repository.CoreRepository; import ca.bc.gov.app.m.oracle.legacyclient.entity.ClientDoingBusinessAsEntity; import java.util.List; import org.springframework.data.domain.Pageable; diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/repository/ClientLocationRepository.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/repository/ClientLocationRepository.java index d04d74bab3..7d6a68728f 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/repository/ClientLocationRepository.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/repository/ClientLocationRepository.java @@ -1,6 +1,6 @@ package ca.bc.gov.app.m.oracle.legacyclient.repository; -import ca.bc.gov.app.core.repository.CoreRepository; +import ca.bc.gov.app.repository.CoreRepository; import ca.bc.gov.app.m.oracle.legacyclient.entity.ClientLocationEntity; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/repository/ClientPublicViewRepository.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/repository/ClientPublicViewRepository.java index f71c193f55..b62daa0a8c 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/repository/ClientPublicViewRepository.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/repository/ClientPublicViewRepository.java @@ -1,6 +1,6 @@ package ca.bc.gov.app.m.oracle.legacyclient.repository; -import ca.bc.gov.app.core.repository.CoreRepository; +import ca.bc.gov.app.repository.CoreRepository; import ca.bc.gov.app.m.oracle.legacyclient.entity.ClientPublicViewEntity; import ca.bc.gov.app.m.postgres.client.entity.ClientTypeCodeEntity; import org.springframework.data.domain.Page; diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/repository/ForestClientRepository.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/repository/ForestClientRepository.java index e84944cec8..d3de57486a 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/repository/ForestClientRepository.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/repository/ForestClientRepository.java @@ -1,6 +1,6 @@ package ca.bc.gov.app.m.oracle.legacyclient.repository; -import ca.bc.gov.app.core.repository.CoreRepository; +import ca.bc.gov.app.repository.CoreRepository; import ca.bc.gov.app.m.oracle.legacyclient.entity.ClientStatusCodeEntity; import ca.bc.gov.app.m.oracle.legacyclient.entity.ForestClientEntity; import ca.bc.gov.app.m.postgres.client.entity.ClientTypeCodeEntity; diff --git a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/service/LegacyClientService.java b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/service/LegacyClientService.java index dfd0d98e69..c46bf8117c 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/service/LegacyClientService.java +++ b/backend/src/main/java/ca/bc/gov/app/m/oracle/legacyclient/service/LegacyClientService.java @@ -1,8 +1,8 @@ package ca.bc.gov.app.m.oracle.legacyclient.service; -import static ca.bc.gov.app.core.CoreConstant.DATE_FORMAT; +import static ca.bc.gov.app.ApplicationConstant.DATE_FORMAT; -import ca.bc.gov.app.core.util.CoreUtil; +import ca.bc.gov.app.util.CoreUtil; import ca.bc.gov.app.m.oracle.legacyclient.entity.ForestClientEntity; import ca.bc.gov.app.m.oracle.legacyclient.repository.ForestClientRepository; import java.util.Date; diff --git a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/controller/ClientController.java b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/controller/ClientController.java index 53e832499a..9c17ca5f6a 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/controller/ClientController.java +++ b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/controller/ClientController.java @@ -2,8 +2,8 @@ import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE; -import ca.bc.gov.app.core.CoreConstant; -import ca.bc.gov.app.core.dto.CodeDescrDTO; +import ca.bc.gov.app.ApplicationConstant; +import ca.bc.gov.app.dto.CodeDescrDTO; import ca.bc.gov.app.m.postgres.client.service.ClientService; import io.swagger.v3.oas.annotations.tags.Tag; import java.util.List; @@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -@Tag(name = CoreConstant.POSTGRES_API_TAG) +@Tag(name = ApplicationConstant.POSTGRES_API_TAG) @RestController @RequestMapping("/app/m/client") @RequiredArgsConstructor diff --git a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/ClientTypeCodeEntity.java b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/ClientTypeCodeEntity.java index d99df94b7c..215dc35f6c 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/ClientTypeCodeEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/ClientTypeCodeEntity.java @@ -1,6 +1,6 @@ package ca.bc.gov.app.m.postgres.client.entity; -import ca.bc.gov.app.core.CoreConstant; +import ca.bc.gov.app.ApplicationConstant; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; @@ -15,7 +15,7 @@ import lombok.With; @Entity -@Table(name = "CLIENT_TYPE_CODE", schema = CoreConstant.POSTGRES_ATTRIBUTE_SCHEMA) +@Table(name = "CLIENT_TYPE_CODE", schema = ApplicationConstant.POSTGRES_ATTRIBUTE_SCHEMA) @Data @Builder @NoArgsConstructor diff --git a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionDetailEntity.java b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionDetailEntity.java index 1d3118da9a..462c7a2d06 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionDetailEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionDetailEntity.java @@ -1,6 +1,6 @@ package ca.bc.gov.app.m.postgres.client.entity; -import ca.bc.gov.app.core.CoreConstant; +import ca.bc.gov.app.ApplicationConstant; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; @@ -18,7 +18,7 @@ import lombok.With; @Entity -@Table(name = "SUBMISSION_DETAIL", schema = CoreConstant.POSTGRES_ATTRIBUTE_SCHEMA) +@Table(name = "SUBMISSION_DETAIL", schema = ApplicationConstant.POSTGRES_ATTRIBUTE_SCHEMA) @Data @Builder @NoArgsConstructor @@ -29,7 +29,7 @@ public class SubmissionDetailEntity { @Id @GeneratedValue(generator = "SEQ_SUBMISSION_DETAIL") @SequenceGenerator(name = "SEQ_SUBMISSION_DETAIL", - sequenceName = CoreConstant.POSTGRES_ATTRIBUTE_SCHEMA_QUALIFIER + + sequenceName = ApplicationConstant.POSTGRES_ATTRIBUTE_SCHEMA_QUALIFIER + "SUBMISSION_DETAIL_ID_SEQ", allocationSize = 1) @Column(name = "SUBMISSION_DETAIL_ID", nullable = false, precision = 10, scale = 0) diff --git a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionEntity.java b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionEntity.java index ce30af98c4..28fd1f8d2e 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionEntity.java @@ -1,6 +1,6 @@ package ca.bc.gov.app.m.postgres.client.entity; -import ca.bc.gov.app.core.CoreConstant; +import ca.bc.gov.app.ApplicationConstant; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; @@ -17,7 +17,7 @@ import lombok.With; @Entity -@Table(name = "SUBMISSION", schema = CoreConstant.POSTGRES_ATTRIBUTE_SCHEMA) +@Table(name = "SUBMISSION", schema = ApplicationConstant.POSTGRES_ATTRIBUTE_SCHEMA) @Data @Builder @NoArgsConstructor @@ -27,7 +27,7 @@ public class SubmissionEntity { @Id @GeneratedValue(generator = "SEQ_SUBMISSION") @SequenceGenerator(name = "SEQ_SUBMISSION", - sequenceName = CoreConstant.POSTGRES_ATTRIBUTE_SCHEMA_QUALIFIER + + sequenceName = ApplicationConstant.POSTGRES_ATTRIBUTE_SCHEMA_QUALIFIER + "SUBMISSION_ID_SEQ", allocationSize = 1) @Column(name = "SUBMISSION_ID", nullable = false, precision = 10, scale = 0) diff --git a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionStatusCodeEntity.java b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionStatusCodeEntity.java index 9a72d030d0..52aede463f 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionStatusCodeEntity.java +++ b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/entity/SubmissionStatusCodeEntity.java @@ -1,6 +1,6 @@ package ca.bc.gov.app.m.postgres.client.entity; -import ca.bc.gov.app.core.CoreConstant; +import ca.bc.gov.app.ApplicationConstant; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; @@ -15,7 +15,7 @@ import lombok.With; @Entity -@Table(name = "SUBMISSION_STATUS_CODE", schema = CoreConstant.POSTGRES_ATTRIBUTE_SCHEMA) +@Table(name = "SUBMISSION_STATUS_CODE", schema = ApplicationConstant.POSTGRES_ATTRIBUTE_SCHEMA) @Data @Builder @NoArgsConstructor diff --git a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/repository/ClientTypeCodeRepository.java b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/repository/ClientTypeCodeRepository.java index 0b32205480..ba73be00b1 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/repository/ClientTypeCodeRepository.java +++ b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/repository/ClientTypeCodeRepository.java @@ -1,6 +1,6 @@ package ca.bc.gov.app.m.postgres.client.repository; -import ca.bc.gov.app.core.repository.CoreRepository; +import ca.bc.gov.app.repository.CoreRepository; import ca.bc.gov.app.m.postgres.client.entity.ClientTypeCodeEntity; import java.util.Date; import java.util.List; diff --git a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/repository/SubmissionDetailRepository.java b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/repository/SubmissionDetailRepository.java index ca895dcdad..3c8eb044e3 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/repository/SubmissionDetailRepository.java +++ b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/repository/SubmissionDetailRepository.java @@ -1,6 +1,6 @@ package ca.bc.gov.app.m.postgres.client.repository; -import ca.bc.gov.app.core.repository.CoreRepository; +import ca.bc.gov.app.repository.CoreRepository; import ca.bc.gov.app.m.postgres.client.entity.SubmissionDetailEntity; import org.springframework.stereotype.Repository; diff --git a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/repository/SubmissionRepository.java b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/repository/SubmissionRepository.java index a772bd9ec8..b1dd83f21c 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/repository/SubmissionRepository.java +++ b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/repository/SubmissionRepository.java @@ -1,6 +1,6 @@ package ca.bc.gov.app.m.postgres.client.repository; -import ca.bc.gov.app.core.repository.CoreRepository; +import ca.bc.gov.app.repository.CoreRepository; import ca.bc.gov.app.m.postgres.client.entity.SubmissionEntity; import org.springframework.stereotype.Repository; diff --git a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/repository/SubmissionStatusCodeRepository.java b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/repository/SubmissionStatusCodeRepository.java index 2624e21ac7..aa3298f641 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/repository/SubmissionStatusCodeRepository.java +++ b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/repository/SubmissionStatusCodeRepository.java @@ -1,6 +1,6 @@ package ca.bc.gov.app.m.postgres.client.repository; -import ca.bc.gov.app.core.repository.CoreRepository; +import ca.bc.gov.app.repository.CoreRepository; import ca.bc.gov.app.m.postgres.client.entity.SubmissionStatusCodeEntity; import org.springframework.stereotype.Repository; diff --git a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/service/ClientService.java b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/service/ClientService.java index ac8928b1a7..4c1ea9bb90 100644 --- a/backend/src/main/java/ca/bc/gov/app/m/postgres/client/service/ClientService.java +++ b/backend/src/main/java/ca/bc/gov/app/m/postgres/client/service/ClientService.java @@ -1,6 +1,6 @@ package ca.bc.gov.app.m.postgres.client.service; -import ca.bc.gov.app.core.dto.CodeDescrDTO; +import ca.bc.gov.app.dto.CodeDescrDTO; import ca.bc.gov.app.m.postgres.client.entity.ClientTypeCodeEntity; import ca.bc.gov.app.m.postgres.client.repository.ClientTypeCodeRepository; import java.util.Calendar; diff --git a/backend/src/main/java/ca/bc/gov/app/core/repository/CoreRepository.java b/backend/src/main/java/ca/bc/gov/app/repository/CoreRepository.java similarity index 92% rename from backend/src/main/java/ca/bc/gov/app/core/repository/CoreRepository.java rename to backend/src/main/java/ca/bc/gov/app/repository/CoreRepository.java index a7f7952b10..ec2e63b411 100644 --- a/backend/src/main/java/ca/bc/gov/app/core/repository/CoreRepository.java +++ b/backend/src/main/java/ca/bc/gov/app/repository/CoreRepository.java @@ -1,4 +1,4 @@ -package ca.bc.gov.app.core.repository; +package ca.bc.gov.app.repository; import java.io.Serializable; import org.springframework.data.jpa.repository.JpaRepository; diff --git a/backend/src/main/java/ca/bc/gov/app/core/util/CoreUtil.java b/backend/src/main/java/ca/bc/gov/app/util/CoreUtil.java similarity index 98% rename from backend/src/main/java/ca/bc/gov/app/core/util/CoreUtil.java rename to backend/src/main/java/ca/bc/gov/app/util/CoreUtil.java index 1df991398d..9dba067a70 100644 --- a/backend/src/main/java/ca/bc/gov/app/core/util/CoreUtil.java +++ b/backend/src/main/java/ca/bc/gov/app/util/CoreUtil.java @@ -1,4 +1,4 @@ -package ca.bc.gov.app.core.util; +package ca.bc.gov.app.util; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; diff --git a/backend/src/test/java/ca/bc/gov/app/m/postgres/client/controller/ClientControllerTest.java b/backend/src/test/java/ca/bc/gov/app/m/postgres/client/controller/ClientControllerTest.java index 31254c068b..1bc4938eca 100644 --- a/backend/src/test/java/ca/bc/gov/app/m/postgres/client/controller/ClientControllerTest.java +++ b/backend/src/test/java/ca/bc/gov/app/m/postgres/client/controller/ClientControllerTest.java @@ -3,7 +3,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.BDDMockito.given; -import ca.bc.gov.app.core.dto.CodeDescrDTO; +import ca.bc.gov.app.dto.CodeDescrDTO; import ca.bc.gov.app.m.postgres.client.entity.ClientTypeCodeEntity; import java.util.Arrays; import java.util.Date; From db3d7695afd07ec11cca55fe3de7a94cdbc3c569 Mon Sep 17 00:00:00 2001 From: catherine meng Date: Thu, 5 Jan 2023 16:06:00 -0800 Subject: [PATCH 31/31] fix/backend: fix backend unit test permission issue --- .github/workflows/unit-tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index 26af437a53..7f537483ce 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -27,6 +27,7 @@ jobs: - uses: bcgov-nr/action-test-and-analyse-java@v0.1.0 with: commands: | + chmod +x ./mvnw ./mvnw test dir: backend java-cache: maven