generator-jhipster 8.3.0 → 8.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/generators/angular/generator.js +34 -0
- package/dist/generators/angular/resources/package.json +13 -13
- package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.html.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.html.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.spec.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.ts.ejs +3 -6
- package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.html.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.spec.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.ts.ejs +3 -6
- package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.html.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.ts.ejs +3 -6
- package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.html.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.html.ejs +11 -11
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs +0 -2
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/update/user-management-update.component.html.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/core/auth/user-route-access.service.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.html.ejs +0 -3
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.spec.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/route/_entityFile_-routing-resolve.service.spec.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-form.service.ts.ejs +10 -6
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.html.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.spec.ts.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.ts.ejs +11 -17
- package/dist/generators/angular/templates/src/main/webapp/app/home/home.component.html.ejs +6 -6
- package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/active-menu.directive.ts.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.html.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.spec.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.ts.ejs +3 -4
- package/dist/generators/angular/templates/src/main/webapp/app/shared/alert/alert-error.component.spec.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/shared/auth/has-any-authority.directive.spec.ts.ejs +10 -8
- package/dist/generators/angular/templates/src/main/webapp/app/shared/auth/has-any-authority.directive.ts.ejs +3 -8
- package/dist/generators/angular/templates/src/main/webapp/app/shared/filter/filter.component.html.ejs +6 -2
- package/dist/generators/angular/templates/webpack/webpack.custom.js.ejs +1 -1
- package/dist/generators/app/generator.js +6 -33
- package/dist/generators/app/support/config.js +1 -3
- package/dist/generators/base/generator.js +15 -16
- package/dist/generators/base/priorities.js +12 -1
- package/dist/generators/base-application/generator.js +14 -2
- package/dist/generators/base-application/priorities.js +1 -0
- package/dist/generators/base-application/support/prepare-entity.js +7 -8
- package/dist/generators/base-application/support/prepare-field.js +1 -1
- package/dist/generators/base-application/support/prepare-relationship.js +3 -2
- package/dist/generators/base-core/generator.js +45 -11
- package/dist/generators/base-entity-changes/generator.js +24 -0
- package/dist/generators/bootstrap-application-base/generator.js +46 -1
- package/dist/generators/bootstrap-application-server/generator.js +5 -7
- package/dist/generators/ci-cd/generator.js +0 -5
- package/dist/generators/client/command.js +2 -2
- package/dist/generators/client/generator.js +0 -22
- package/dist/generators/client/generators/common/command.js +5 -0
- package/dist/generators/client/generators/common/generator.js +79 -0
- package/dist/generators/{app/prompts.js → client/generators/common/index.js} +2 -15
- package/dist/generators/client/generators/common/templates/src/main/webapp/app/shared/jhipster/headers.ts.ejs +57 -0
- package/dist/generators/client/generators/common/templates/src/main/webapp/app/shared/jhipster/problem-details.ts.ejs +51 -0
- package/dist/generators/client/resources/package.json +6 -6
- package/dist/generators/client/templates/src/main/webapp/index.html.ejs +1 -1
- package/dist/generators/common/command.js +13 -0
- package/dist/generators/common/generator.js +17 -3
- package/dist/generators/common/resources/package.json +2 -2
- package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/login-page.cy.ts.ejs +4 -4
- package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/password-page.cy.ts.ejs +2 -2
- package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/register-page.cy.ts.ejs +1 -1
- package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/reset-password-page.cy.ts.ejs +1 -1
- package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/entity/_entity_.cy.ts.ejs +10 -10
- package/dist/generators/docker/templates/docker/mysql.yml.ejs +1 -1
- package/dist/generators/docker/templates/docker/realm-config/jhipster-realm.json.ejs +14 -3
- package/dist/generators/docker-compose/generator.js +1 -5
- package/dist/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +14 -3
- package/dist/generators/entity/generator.js +2 -10
- package/dist/generators/entity/prompts.js +6 -11
- package/dist/generators/export-jdl/generator.js +0 -5
- package/dist/generators/gatling/README.md +15 -0
- package/dist/generators/gatling/templates/buildSrc/src/main/groovy/jhipster.gatling-conventions.gradle.ejs +1 -1
- package/dist/generators/gatling/templates/src/test/java/gatling/simulations/_entityClass_GatlingTest.java.ejs +2 -10
- package/dist/generators/generate-blueprint/command.js +16 -0
- package/dist/generators/generate-blueprint/files.js +8 -0
- package/dist/generators/generate-blueprint/generator.js +17 -10
- package/dist/generators/generate-blueprint/resources/package.json +1 -1
- package/dist/generators/generate-blueprint/templates/.blueprint/cli/commands.mjs.ejs +6 -0
- package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/command.mjs.ejs +20 -0
- package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/generator.mjs.ejs +9 -13
- package/dist/generators/generate-blueprint/templates/.blueprint/github-build-matrix/build-matrix.mjs.ejs +22 -0
- package/dist/generators/generate-blueprint/templates/.blueprint/github-build-matrix/generator.mjs.ejs +24 -0
- package/dist/generators/generate-blueprint/templates/.blueprint/github-build-matrix/index.mjs.ejs +1 -0
- package/dist/generators/generate-blueprint/templates/.eslintrc.json.ejs +2 -2
- package/dist/generators/generate-blueprint/templates/README.md.ejs +16 -8
- package/dist/generators/generate-blueprint/templates/vitest.config.ts.ejs +1 -0
- package/dist/generators/generator-constants.js +1 -1
- package/dist/generators/heroku/generator.js +0 -5
- package/dist/generators/info/generator.js +1 -3
- package/dist/generators/init/generator.js +2 -2
- package/dist/generators/init/resources/.node-version +1 -1
- package/dist/generators/java/generators/build-tool/command.js +4 -1
- package/dist/generators/java/generators/domain/generator.js +16 -0
- package/dist/generators/java/generators/domain/templates/src/main/java/_package_/_entityPackage_/domain/_persistClass_.java.jhi.ejs +1 -5
- package/dist/generators/java/generators/domain/templates/src/test/java/_package_/_entityPackage_/domain/_persistClass_Asserts.java.ejs +3 -3
- package/dist/generators/java/generators/domain/templates/src/test/java/_package_/_entityPackage_/domain/_persistClass_Test.java.ejs +3 -3
- package/dist/generators/java/support/add-java-annotation.js +28 -7
- package/dist/generators/java/support/generated-annotation-transform.js +1 -1
- package/dist/generators/java/support/index.js +1 -1
- package/dist/generators/jdl/generator.js +1 -5
- package/dist/generators/kubernetes/files.js +1 -1
- package/dist/generators/kubernetes/generator.js +0 -5
- package/dist/generators/kubernetes/templates/db/mysql.yml.ejs +0 -1
- package/dist/generators/kubernetes/templates/keycloak/keycloak-configmap.yml.ejs +14 -3
- package/dist/generators/kubernetes-helm/generator.js +0 -5
- package/dist/generators/kubernetes-knative/generator.js +0 -5
- package/dist/generators/languages/files.js +2 -2
- package/dist/generators/languages/generator.js +4 -8
- package/dist/generators/languages/templates/src/main/webapp/i18n/al/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/ar-ly/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/az-Latn-az/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/bg/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/bn/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/by/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/ca/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/cs/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/da/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/de/global.json.ejs +2 -2
- package/dist/generators/languages/templates/src/main/webapp/i18n/de/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/el/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/en/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/es/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/et/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/fa/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/fi/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/fr/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/gl/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/hi/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/hr/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/hu/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/hy/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/id/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/it/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/ja/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/ko/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/kr-Latn-kr/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/mr/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/my/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/nl/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/pa/{home.json → home.json.ejs} +2 -2
- package/dist/generators/languages/templates/src/main/webapp/i18n/pl/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/pt-br/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/pt-pt/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/ro/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/ru/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/si/{home.json → home.json.ejs} +6 -6
- package/dist/generators/languages/templates/src/main/webapp/i18n/sk/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/sr/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/sv/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/ta/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/te/{home.json → home.json.ejs} +1 -1
- package/dist/generators/languages/templates/src/main/webapp/i18n/th/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/tr/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/ua/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/uz-Cyrl-uz/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/uz-Latn-uz/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/vi/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/zh-cn/home.json.ejs +19 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/zh-tw/home.json.ejs +19 -0
- package/dist/generators/liquibase/generator.js +59 -12
- package/dist/generators/liquibase/support/prepare-field.js +16 -1
- package/dist/generators/liquibase/support/relationship.js +1 -0
- package/dist/generators/liquibase/templates/src/main/resources/config/liquibase/changelog/added_entity.xml.ejs +1 -1
- package/dist/generators/liquibase/templates/src/main/resources/config/liquibase/changelog/updated_entity.xml.ejs +3 -3
- package/dist/generators/liquibase/templates/src/main/resources/config/liquibase/changelog/updated_entity_constraints.xml.ejs +26 -1
- package/dist/generators/liquibase/templates/src/main/resources/config/liquibase/fake-data/table_entity.csv.ejs +3 -3
- package/dist/generators/maven/templates/.mvn/wrapper/maven-wrapper.properties +2 -2
- package/dist/generators/maven/templates/mvnw +185 -243
- package/dist/generators/maven/templates/mvnw.cmd +121 -180
- package/dist/generators/react/generator.js +10 -0
- package/dist/generators/react/resources/package.json +30 -30
- package/dist/generators/react/templates/src/main/webapp/app/config/axios-interceptor.spec.ts.ejs +1 -1
- package/dist/generators/react/templates/src/main/webapp/app/config/axios-interceptor.ts.ejs +1 -1
- package/dist/generators/react/templates/src/main/webapp/app/config/notification-middleware.spec.ts.ejs +1 -1
- package/dist/generators/react/templates/src/main/webapp/app/config/notification-middleware.ts.ejs +80 -87
- package/dist/generators/react/templates/src/main/webapp/app/config/store.ts.ejs +1 -1
- package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.tsx.ejs +3 -3
- package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.reducer.ts.ejs +12 -7
- package/dist/generators/react/templates/src/main/webapp/app/modules/home/home.tsx.ejs +7 -7
- package/dist/generators/react/templates/src/main/webapp/app/shared/reducers/reducer.utils.ts.ejs +2 -3
- package/dist/generators/react/templates/webpack/webpack.microfrontend.js.jhi.react.ejs +0 -8
- package/dist/generators/server/command.js +0 -11
- package/dist/generators/server/generator.js +19 -115
- package/dist/generators/server/jdl/application-definition.js +3 -1
- package/dist/generators/server/resources/Dockerfile +15 -15
- package/dist/generators/server/resources/gradle/libs.versions.toml +12 -10
- package/dist/generators/server/resources/pom.xml +10 -10
- package/dist/generators/server/support/config.js +4 -8
- package/dist/generators/server/support/prepare-entity.js +5 -6
- package/dist/generators/server/support/prepare-field.js +7 -2
- package/dist/generators/server/support/prepare-relationship.js +7 -2
- package/dist/generators/server/support/relationship.js +5 -2
- package/dist/generators/server/templates/build.gradle.ejs +5 -3
- package/dist/generators/server/templates/gradle/profile_dev.gradle.ejs +3 -2
- package/dist/generators/server/templates/gradle/profile_prod.gradle.ejs +3 -2
- package/dist/generators/server/templates/gradle.properties.ejs +1 -1
- package/dist/generators/server/templates/pom.xml.ejs +7 -9
- package/dist/generators/server/templates/src/main/java/_package_/_entityPackage_/service/dto/_dtoClass_.java.ejs +1 -1
- package/dist/generators/server/templates/src/main/java/_package_/config/Constants.java.ejs +0 -2
- package/dist/generators/server/templates/src/main/java/_package_/config/SecurityConfiguration_imperative.java.ejs +57 -24
- package/dist/generators/server/templates/src/main/java/_package_/config/SecurityConfiguration_reactive.java.ejs +1 -15
- package/dist/generators/server/templates/src/main/java/_package_/config/SecurityJwtConfiguration.java.ejs +0 -20
- package/dist/generators/server/templates/src/main/java/_package_/security/SecurityUtils.java.ejs +65 -5
- package/dist/generators/server/templates/src/main/java/_package_/service/dto/UserDTO.java.ejs +23 -0
- package/dist/generators/server/templates/src/main/java/_package_/service/mapper/UserMapper.java.ejs +8 -4
- package/dist/generators/server/templates/src/main/java/_package_/web/rest/AccountResource_skipUserManagement.java.ejs +43 -9
- package/dist/generators/server/templates/src/main/resources/config/application.yml.ejs +60 -22
- package/dist/generators/server/templates/src/main/resources/config/bootstrap.yml.ejs +1 -1
- package/dist/generators/server/templates/src/main/resources/static/index_microservices.html.ejs +8 -8
- package/dist/generators/server/templates/src/main/resources/swagger/api.yml.ejs +1 -1
- package/dist/generators/server/templates/src/test/java/_package_/security/DomainUserDetailsServiceIT.java.ejs +31 -13
- package/dist/generators/server/templates/src/test/java/_package_/service/mapper/UserMapperTest.java.ejs +84 -17
- package/dist/generators/server/templates/src/test/java/_package_/web/rest/AccountResourceIT.java.ejs +62 -6
- package/dist/generators/server/templates/src/test/java/_package_/web/rest/AccountResourceIT_oauth2.java.ejs +22 -0
- package/dist/generators/server/templates/src/test/resources/config/application.yml.ejs +20 -10
- package/dist/generators/spring-boot/cleanup.js +3 -0
- package/dist/generators/spring-boot/command.js +127 -7
- package/dist/generators/spring-boot/files.js +0 -10
- package/dist/generators/spring-boot/generator.js +54 -4
- package/dist/generators/{server → spring-boot}/prompts.js +8 -72
- package/dist/generators/spring-boot/resources/spring-boot-dependencies.pom +380 -588
- package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/service/UserServiceIT.java.ejs +47 -11
- package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/PublicUserResourceIT.java.ejs +60 -24
- package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/UserResourceIT.java.ejs +195 -318
- package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/_entityClass_ResourceIT.java.ejs +58 -51
- package/dist/generators/spring-cache/internal/dependencies.js +2 -2
- package/dist/generators/spring-cache/resources/gradle/libs.versions.toml +2 -2
- package/dist/generators/spring-cache/templates/src/main/java/_package_/config/CacheConfiguration.java.ejs +4 -0
- package/dist/generators/spring-cloud/generators/gateway/command.js +5 -1
- package/dist/generators/spring-cloud/generators/gateway/generator.js +13 -0
- package/dist/generators/spring-cloud/generators/gateway/jdl/jdl-routes-option.js +6 -0
- package/dist/generators/spring-data-cassandra/generator.js +2 -2
- package/dist/generators/spring-data-relational/support/h2-reserved-keywords.js +22 -0
- package/dist/generators/spring-data-relational/templates/src/test/java/_package_/config/SqlTestContainersSpringContextCustomizerFactory.java.ejs +3 -1
- package/dist/generators/upgrade/generator.js +0 -4
- package/dist/generators/vue/resources/package.json +22 -22
- package/dist/generators/vue/templates/src/main/webapp/app/account/change-password/change-password.vue.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/account/login-form/login-form.vue.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/account/register/register.vue.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/account/reset-password/finish/reset-password-finish.vue.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/account/reset-password/init/reset-password-init.vue.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/account/settings/settings.vue.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/admin/tracker/tracker.service.spec.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/admin/user-management/user-management-edit.vue.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/core/home/home.vue.ejs +7 -7
- package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-details.vue.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-update.vue.ejs +2 -2
- package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.vue.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/shared/alert/alert.service.spec.ts.ejs +8 -8
- package/dist/generators/vue/templates/src/main/webapp/app/shared/data/data-utils.service.spec.ts.ejs +1 -1
- package/dist/generators/vue/templates/tsconfig.app.json.ejs +1 -1
- package/dist/generators/vue/templates/vite.config.mts.ejs +5 -4
- package/dist/generators/vue/templates/vitest.config.mts.ejs +1 -1
- package/dist/generators/vue/templates/webpack/webpack.microfrontend.js.jhi.vue.ejs +0 -9
- package/dist/jdl/converters/jdl-to-json/jdl-to-json-basic-entity-converter.js +1 -1
- package/dist/jdl/converters/jdl-to-json/jdl-to-json-field-converter.js +4 -4
- package/dist/jdl/converters/jdl-to-json/jdl-with-applications-to-json-converter.js +9 -9
- package/dist/jdl/converters/jdl-to-json/jdl-without-application-to-json-converter.js +2 -2
- package/dist/jdl/converters/json-to-jdl-application-converter.js +1 -1
- package/dist/jdl/converters/json-to-jdl-converter.js +6 -5
- package/dist/jdl/converters/json-to-jdl-entity-converter.js +14 -14
- package/dist/jdl/converters/json-to-jdl-option-converter.js +1 -2
- package/dist/jdl/converters/parsed-jdl-to-jdl-object/application-converter.js +1 -1
- package/dist/jdl/converters/parsed-jdl-to-jdl-object/option-converter.js +2 -2
- package/dist/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.js +7 -6
- package/dist/jdl/converters/parsed-jdl-to-jdl-object/validation-converter.js +1 -1
- package/dist/jdl/exporters/applications/jhipster-application-formatter.js +16 -23
- package/dist/jdl/exporters/config.js +1 -0
- package/dist/jdl/exporters/jhipster-deployment-exporter.js +5 -5
- package/dist/jdl/exporters/jhipster-entity-exporter.js +1 -1
- package/dist/jdl/jdl-importer.js +22 -20
- package/dist/jdl/jhipster/binary-options.js +12 -8
- package/dist/jdl/jhipster/json-entity.js +1 -1
- package/dist/jdl/models/abstract-jdl-option.js +2 -2
- package/dist/jdl/models/jdl-application-configuration-factory.js +2 -0
- package/dist/jdl/models/jdl-binary-option.js +2 -2
- package/dist/jdl/models/jdl-deployment.js +11 -0
- package/dist/jdl/models/jdl-entity.js +1 -1
- package/dist/jdl/models/jdl-enum.js +1 -1
- package/dist/jdl/models/jdl-enums.js +0 -18
- package/dist/jdl/models/jdl-field.js +2 -2
- package/dist/jdl/models/jdl-object-wrapper.js +1 -0
- package/dist/jdl/models/jdl-object.js +23 -45
- package/dist/jdl/models/jdl-options.js +0 -18
- package/dist/jdl/models/jdl-relationships.js +8 -16
- package/dist/jdl/models/jdl-unary-option.js +1 -1
- package/dist/jdl/models/list-jdl-application-configuration-option.js +5 -2
- package/dist/jdl/parsing/jdl-ast-builder-visitor.js +12 -0
- package/dist/jdl/parsing/jdl-parser.js +14 -0
- package/dist/jdl/parsing/lexer/lexer.js +17 -11
- package/dist/jdl/parsing/validator.js +16 -2
- package/dist/jdl/readers/json-reader.js +1 -1
- package/dist/jdl/utils/array-utils.js +6 -0
- package/dist/jdl/utils/set-utils.js +3 -2
- package/dist/jdl/validators/jdl-without-application-validator.js +2 -2
- package/dist/testing/helpers.js +4 -0
- package/dist/types/generators/base/api.d.ts +6 -2
- package/dist/types/generators/base/generator.d.ts +10 -4
- package/dist/types/generators/base/priorities.d.ts +4 -0
- package/dist/types/generators/base/shared-data.d.ts +1 -1
- package/dist/types/generators/base-application/priorities.d.ts +2 -0
- package/dist/types/generators/base-application/support/entity.d.ts +2 -2
- package/dist/types/generators/base-application/support/prepare-entity.d.ts +3 -3
- package/dist/types/generators/base-application/support/relationship.d.ts +5 -5
- package/dist/types/generators/base-application/types.d.ts +15 -0
- package/dist/types/generators/base-core/generator.d.ts +16 -1
- package/dist/types/generators/base-entity-changes/types.d.ts +2 -0
- package/dist/types/generators/generator-constants.d.ts +1 -1
- package/dist/types/generators/java/support/add-java-annotation.d.ts +10 -20
- package/dist/types/generators/java/support/doc.d.ts +1 -1
- package/dist/types/generators/java/support/index.d.ts +1 -1
- package/dist/types/generators/server/support/relationship.d.ts +2 -2
- package/dist/types/generators/server/types.d.ts +5 -0
- package/dist/types/generators/spring-cloud/generators/gateway/jdl/jdl-routes-option.d.ts +2 -0
- package/dist/types/generators/spring-cloud/generators/gateway/types.d.ts +4 -0
- package/dist/types/generators/spring-data-relational/support/h2-reserved-keywords.d.ts +20 -0
- package/dist/types/jdl/converters/jdl-to-json/jdl-to-json-field-converter.d.ts +2 -2
- package/dist/types/jdl/converters/jdl-to-json/jdl-with-applications-to-json-converter.d.ts +2 -1
- package/dist/types/jdl/converters/jdl-to-json/jdl-without-application-to-json-converter.d.ts +3 -1
- package/dist/types/jdl/converters/json-to-jdl-application-converter.d.ts +9 -2
- package/dist/types/jdl/converters/json-to-jdl-converter.d.ts +3 -3
- package/dist/types/jdl/converters/json-to-jdl-entity-converter.d.ts +2 -4
- package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/application-converter.d.ts +3 -1
- package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/deployment-converter.d.ts +2 -1
- package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/entity-converter.d.ts +3 -1
- package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/enum-converter.d.ts +2 -1
- package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/field-converter.d.ts +2 -1
- package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/option-converter.d.ts +3 -3
- package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.d.ts +2 -1
- package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/relationship-converter.d.ts +2 -1
- package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/types.d.ts +110 -0
- package/dist/types/jdl/converters/parsed-jdl-to-jdl-object/validation-converter.d.ts +2 -1
- package/dist/types/jdl/converters/types.d.ts +102 -14
- package/dist/types/jdl/exporters/applications/jhipster-application-formatter.d.ts +4 -4
- package/dist/types/jdl/exporters/config.d.ts +2 -1
- package/dist/types/jdl/exporters/export-utils.d.ts +2 -1
- package/dist/types/jdl/exporters/jdl-exporter.d.ts +2 -1
- package/dist/types/jdl/exporters/jhipster-deployment-exporter.d.ts +3 -1
- package/dist/types/jdl/exporters/jhipster-entity-exporter.d.ts +3 -1
- package/dist/types/jdl/exporters/types.d.ts +61 -0
- package/dist/types/jdl/jhipster/binary-options.d.ts +8 -26
- package/dist/types/jdl/jhipster/field-types.d.ts +2 -2
- package/dist/types/jdl/jhipster/json-entity.d.ts +2 -2
- package/dist/types/jdl/models/abstract-jdl-option.d.ts +14 -9
- package/dist/types/jdl/models/boolean-jdl-application-configuration-option.d.ts +1 -1
- package/dist/types/jdl/models/integer-jdl-application-configuration-option.d.ts +1 -1
- package/dist/types/jdl/models/jdl-application-configuration-factory.d.ts +1 -1
- package/dist/types/jdl/models/jdl-application-configuration-option.d.ts +4 -4
- package/dist/types/jdl/models/jdl-application-configuration.d.ts +4 -4
- package/dist/types/jdl/models/jdl-application-definition.d.ts +4 -4
- package/dist/types/jdl/models/jdl-application-entities.d.ts +4 -4
- package/dist/types/jdl/models/jdl-application.d.ts +16 -13
- package/dist/types/jdl/models/jdl-binary-option.d.ts +5 -3
- package/dist/types/jdl/models/jdl-deployment.d.ts +13 -1
- package/dist/types/jdl/models/jdl-entity.d.ts +5 -5
- package/dist/types/jdl/models/jdl-enum-value.d.ts +4 -4
- package/dist/types/jdl/models/jdl-enum.d.ts +9 -5
- package/dist/types/jdl/models/jdl-enums.d.ts +6 -5
- package/dist/types/jdl/models/jdl-field.d.ts +10 -8
- package/dist/types/jdl/models/jdl-object-wrapper.d.ts +25 -0
- package/dist/types/jdl/models/jdl-object.d.ts +23 -19
- package/dist/types/jdl/models/jdl-options.d.ts +7 -24
- package/dist/types/jdl/models/jdl-relationship.d.ts +16 -10
- package/dist/types/jdl/models/jdl-relationships.d.ts +5 -5
- package/dist/types/jdl/models/jdl-validation.d.ts +3 -3
- package/dist/types/jdl/models/list-jdl-application-configuration-option.d.ts +4 -3
- package/dist/types/jdl/models/string-jdl-application-configuration-option.d.ts +2 -2
- package/dist/types/jdl/parsing/jdl-ast-builder-visitor.d.ts +1 -0
- package/dist/types/jdl/parsing/jdl-parser.d.ts +1 -0
- package/dist/types/jdl/parsing/jdl-parsing-types.d.ts +23 -0
- package/dist/types/jdl/parsing/lexer/lexer.d.ts +6 -2
- package/dist/types/jdl/parsing/validator.d.ts +1 -1
- package/dist/types/jdl/utils/array-utils.d.ts +1 -0
- package/dist/types/jdl/utils/set-utils.d.ts +1 -19
- package/dist/types/jdl/validators/deployment-validator.d.ts +2 -1
- package/dist/types/testing/helpers.d.ts +13 -3
- package/package.json +30 -30
- package/dist/generators/languages/templates/src/main/webapp/i18n/al/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/ar-ly/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/az-Latn-az/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/bg/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/bn/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/by/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/ca/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/cs/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/da/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/de/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/el/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/en/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/es/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/et/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/fa/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/fi/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/fr/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/gl/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/hi/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/hr/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/hu/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/hy/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/id/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/it/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/ja/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/ko/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/kr-Latn-kr/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/mr/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/my/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/nl/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/pl/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/pt-br/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/pt-pt/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/ro/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/ru/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/sk/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/sr/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/sv/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/ta/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/th/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/tr/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/ua/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/uz-Cyrl-uz/global.json +0 -148
- package/dist/generators/languages/templates/src/main/webapp/i18n/uz-Cyrl-uz/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/uz-Latn-uz/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/vi/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/zh-cn/home.json +0 -19
- package/dist/generators/languages/templates/src/main/webapp/i18n/zh-tw/home.json +0 -19
- package/dist/generators/server/templates/src/main/java/_package_/config/LocaleConfiguration_imperative.java.ejs +0 -43
- package/dist/generators/server/templates/src/main/java/_package_/config/LocaleConfiguration_reactive.java.ejs +0 -184
- package/dist/generators/statistics.js +0 -223
- /package/dist/jdl/converters/{types.js → parsed-jdl-to-jdl-object/types.js} +0 -0
|
@@ -10,13 +10,13 @@ LABEL ALIAS=jhipster-control-center
|
|
|
10
10
|
FROM jhipster/consul-config-loader:v0.4.1
|
|
11
11
|
LABEL ALIAS=consul-config-loader
|
|
12
12
|
|
|
13
|
-
FROM postgres:16.
|
|
13
|
+
FROM postgres:16.3
|
|
14
14
|
LABEL ALIAS=postgresql
|
|
15
15
|
|
|
16
|
-
FROM quay.io/keycloak/keycloak:24.0.
|
|
16
|
+
FROM quay.io/keycloak/keycloak:24.0.4
|
|
17
17
|
LABEL ALIAS=keycloak
|
|
18
18
|
|
|
19
|
-
FROM mysql:8.
|
|
19
|
+
FROM mysql:8.4.0
|
|
20
20
|
|
|
21
21
|
FROM mariadb:11.3.2
|
|
22
22
|
|
|
@@ -31,31 +31,31 @@ FROM cassandra:5.0
|
|
|
31
31
|
FROM mcr.microsoft.com/mssql/server:2019-CU16-GDR1-ubuntu-20.04
|
|
32
32
|
LABEL ALIAS=mssql
|
|
33
33
|
|
|
34
|
-
FROM neo4j:5.
|
|
34
|
+
FROM neo4j:5.20.0
|
|
35
35
|
|
|
36
|
-
FROM hazelcast/management-center:5.
|
|
36
|
+
FROM hazelcast/management-center:5.4.1
|
|
37
37
|
LABEL ALIAS=hazelcast
|
|
38
38
|
|
|
39
|
-
FROM memcached:1.6.
|
|
39
|
+
FROM memcached:1.6.27-alpine
|
|
40
40
|
|
|
41
|
-
FROM redis:7.2.
|
|
41
|
+
FROM redis:7.2.5
|
|
42
42
|
|
|
43
|
-
FROM confluentinc/cp-kafka:7.6.
|
|
43
|
+
FROM confluentinc/cp-kafka:7.6.1
|
|
44
44
|
LABEL ALIAS=kafka
|
|
45
45
|
|
|
46
|
-
FROM confluentinc/cp-zookeeper:7.6.
|
|
46
|
+
FROM confluentinc/cp-zookeeper:7.6.1
|
|
47
47
|
LABEL ALIAS=zookeeper
|
|
48
48
|
|
|
49
|
-
FROM apachepulsar/pulsar:3.2.
|
|
49
|
+
FROM apachepulsar/pulsar:3.2.3
|
|
50
50
|
LABEL ALIAS=pulsar
|
|
51
51
|
|
|
52
|
-
FROM sonarqube:10.
|
|
52
|
+
FROM sonarqube:10.5.1-community
|
|
53
53
|
LABEL ALIAS=sonar
|
|
54
54
|
|
|
55
|
-
FROM docker.io/bitnami/consul:1.18.
|
|
55
|
+
FROM docker.io/bitnami/consul:1.18.2
|
|
56
56
|
LABEL ALIAS=consul
|
|
57
57
|
|
|
58
|
-
FROM prom/prometheus:v2.
|
|
58
|
+
FROM prom/prometheus:v2.52.0
|
|
59
59
|
LABEL ALIAS=prometheus
|
|
60
60
|
|
|
61
61
|
FROM prom/alertmanager:v0.27.0
|
|
@@ -64,7 +64,7 @@ LABEL ALIAS=prometheus-alertmanager
|
|
|
64
64
|
FROM quay.io/coreos/prometheus-operator:v0.42.1
|
|
65
65
|
LABEL ALIAS=prometheus-operator
|
|
66
66
|
|
|
67
|
-
FROM grafana/grafana:
|
|
67
|
+
FROM grafana/grafana:11.0.0
|
|
68
68
|
LABEL ALIAS=grafana
|
|
69
69
|
|
|
70
70
|
FROM quay.io/coreos/grafana-watcher:v0.0.8
|
|
@@ -79,5 +79,5 @@ LABEL ALIAS=java-jre
|
|
|
79
79
|
FROM swaggerapi/swagger-editor:latest
|
|
80
80
|
LABEL ALIAS=swagger-editor
|
|
81
81
|
|
|
82
|
-
FROM openzipkin/zipkin:3.
|
|
82
|
+
FROM openzipkin/zipkin:3.4
|
|
83
83
|
LABEL ALIAS=zipkin
|
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
[libraries]
|
|
2
|
-
spring-cloud-dependencies = { module = 'org.springframework.cloud:spring-cloud-dependencies', version = '2023.0.
|
|
2
|
+
spring-cloud-dependencies = { module = 'org.springframework.cloud:spring-cloud-dependencies', version = '2023.0.2' }
|
|
3
3
|
|
|
4
4
|
springdoc = { module = 'org.springdoc:springdoc-openapi-starter-webmvc-api', version = '2.5.0' }
|
|
5
5
|
|
|
6
6
|
feign-reactor-bom = { module = 'com.playtika.reactivefeign:feign-reactor-bom', version = '4.0.3' }
|
|
7
7
|
|
|
8
8
|
# Cucumber
|
|
9
|
-
testng = { module = 'org.testng:testng', version = '7.10.
|
|
10
|
-
cucumber-bom = { module = 'io.cucumber:cucumber-bom', version = '7.
|
|
9
|
+
testng = { module = 'org.testng:testng', version = '7.10.2' }
|
|
10
|
+
cucumber-bom = { module = 'io.cucumber:cucumber-bom', version = '7.18.0' }
|
|
11
11
|
|
|
12
|
-
mongock-bom = { module = 'io.mongock:mongock-bom', version = '5.4.
|
|
12
|
+
mongock-bom = { module = 'io.mongock:mongock-bom', version = '5.4.2' }
|
|
13
13
|
|
|
14
|
-
neo4j-migrations-spring-boot-starter = { module = 'eu.michael-simons.neo4j:neo4j-migrations-spring-boot-starter', version = '2.10.
|
|
14
|
+
neo4j-migrations-spring-boot-starter = { module = 'eu.michael-simons.neo4j:neo4j-migrations-spring-boot-starter', version = '2.10.1' }
|
|
15
15
|
|
|
16
16
|
# Cassandra
|
|
17
17
|
lz4-java = { module = 'org.lz4:lz4-java', version = '1.8.0' }
|
|
18
18
|
|
|
19
19
|
[plugins]
|
|
20
|
-
gradle-git-properties = { id = 'com.gorylenko.gradle-git-properties', version = '2.4.
|
|
20
|
+
gradle-git-properties = { id = 'com.gorylenko.gradle-git-properties', version = '2.4.2' }
|
|
21
21
|
|
|
22
22
|
node-gradle = { id = 'com.github.node-gradle.node', version = '7.0.2' }
|
|
23
23
|
|
|
24
|
-
gradle-liquibase = { id = 'org.liquibase.gradle', version = '2.2.
|
|
24
|
+
gradle-liquibase = { id = 'org.liquibase.gradle', version = '2.2.2' }
|
|
25
25
|
|
|
26
26
|
gradle-sonarqube = { id = 'org.sonarqube', version = '5.0.0.4638' }
|
|
27
27
|
|
|
@@ -29,8 +29,10 @@ spotless-gradle-plugin = { id = 'com.diffplug.spotless', version = '6.25.0' }
|
|
|
29
29
|
|
|
30
30
|
gradle-modernizer-plugin = { id = 'com.github.andygoossens.gradle-modernizer-plugin', version = '1.9.2' }
|
|
31
31
|
|
|
32
|
-
gradle-enterprise = { id = 'com.gradle.enterprise', version = '3.17' }
|
|
32
|
+
gradle-enterprise = { id = 'com.gradle.enterprise', version = '3.17.4' }
|
|
33
33
|
|
|
34
|
-
common-custom-user-data-gradle-plugin = { id = 'com.gradle.common-custom-user-data-gradle-plugin', version = '2.0' }
|
|
34
|
+
common-custom-user-data-gradle-plugin = { id = 'com.gradle.common-custom-user-data-gradle-plugin', version = '2.0.1' }
|
|
35
35
|
|
|
36
|
-
gatling-gradle = { id = 'io.gatling.gradle', version = '3.
|
|
36
|
+
gatling-gradle = { id = 'io.gatling.gradle', version = '3.11.3' }
|
|
37
|
+
|
|
38
|
+
gradle-openapi-generator = { id = 'org.openapi.generator', version = '7.5.0' }
|
|
@@ -8,20 +8,20 @@
|
|
|
8
8
|
|
|
9
9
|
<properties>
|
|
10
10
|
<!-- Dependency versions -->
|
|
11
|
-
<archunit-junit5.version>1.
|
|
12
|
-
<blockhound-junit-platform.version>1.0.
|
|
11
|
+
<archunit-junit5.version>1.3.0</archunit-junit5.version>
|
|
12
|
+
<blockhound-junit-platform.version>1.0.9.RELEASE</blockhound-junit-platform.version>
|
|
13
13
|
<commons-beanutils.version>1.9.4</commons-beanutils.version>
|
|
14
|
-
<gatling.version>3.
|
|
14
|
+
<gatling.version>3.11.3</gatling.version>
|
|
15
15
|
<jackson-databind-nullable.version>0.2.6</jackson-databind-nullable.version>
|
|
16
16
|
<mapstruct.version>1.5.5.Final</mapstruct.version>
|
|
17
17
|
<micrometer-context-propagation.version>1.1.1</micrometer-context-propagation.version>
|
|
18
|
-
<picocli.version>4.7.
|
|
18
|
+
<picocli.version>4.7.6</picocli.version>
|
|
19
19
|
|
|
20
20
|
<!-- Plugin versions -->
|
|
21
|
-
<checkstyle.version>10.
|
|
21
|
+
<checkstyle.version>10.17.0</checkstyle.version>
|
|
22
22
|
<checksum-maven-plugin.version>1.11</checksum-maven-plugin.version>
|
|
23
23
|
<frontend-maven-plugin.version>1.15.0</frontend-maven-plugin.version>
|
|
24
|
-
<gatling-maven-plugin.version>4.
|
|
24
|
+
<gatling-maven-plugin.version>4.9.1</gatling-maven-plugin.version>
|
|
25
25
|
<git-commit-id-maven-plugin.version>8.0.2</git-commit-id-maven-plugin.version>
|
|
26
26
|
<jib-maven-plugin.version>3.4.2</jib-maven-plugin.version>
|
|
27
27
|
<lifecycle-mapping.version>1.0.0</lifecycle-mapping.version>
|
|
@@ -30,17 +30,17 @@
|
|
|
30
30
|
<maven-checkstyle-plugin.version>3.3.1</maven-checkstyle-plugin.version>
|
|
31
31
|
<maven-clean-plugin.version>3.3.2</maven-clean-plugin.version>
|
|
32
32
|
<maven-compiler-plugin.version>3.13.0</maven-compiler-plugin.version>
|
|
33
|
-
<maven-enforcer-plugin.version>3.
|
|
33
|
+
<maven-enforcer-plugin.version>3.5.0</maven-enforcer-plugin.version>
|
|
34
34
|
<maven-failsafe-plugin.version>3.2.5</maven-failsafe-plugin.version>
|
|
35
|
-
<maven-jar-plugin.version>3.
|
|
35
|
+
<maven-jar-plugin.version>3.4.1</maven-jar-plugin.version>
|
|
36
36
|
<maven-javadoc-plugin.version>3.6.3</maven-javadoc-plugin.version>
|
|
37
37
|
<maven-resources-plugin.version>3.3.1</maven-resources-plugin.version>
|
|
38
38
|
<maven-site-plugin.version>3.12.1</maven-site-plugin.version>
|
|
39
39
|
<maven-surefire-plugin.version>3.2.5</maven-surefire-plugin.version>
|
|
40
40
|
<maven-war-plugin.version>3.4.0</maven-war-plugin.version>
|
|
41
|
-
<modernizer-maven-plugin.version>2.
|
|
41
|
+
<modernizer-maven-plugin.version>2.9.0</modernizer-maven-plugin.version>
|
|
42
42
|
<nohttp-checkstyle.version>0.0.11</nohttp-checkstyle.version>
|
|
43
|
-
<openapi-generator-maven-plugin.version>7.
|
|
43
|
+
<openapi-generator-maven-plugin.version>7.6.0</openapi-generator-maven-plugin.version>
|
|
44
44
|
<properties-maven-plugin.version>1.2.1</properties-maven-plugin.version>
|
|
45
45
|
<sonar-maven-plugin.version>3.11.0.3922</sonar-maven-plugin.version>
|
|
46
46
|
<spotless-maven-plugin.version>2.43.0</spotless-maven-plugin.version>
|
|
@@ -3,18 +3,14 @@ import { databaseTypes, monitoringTypes, authenticationTypes, buildToolTypes, ca
|
|
|
3
3
|
import { prepareSqlApplicationProperties } from '../../spring-data-relational/support/index.js';
|
|
4
4
|
import { CLIENT_DIST_DIR, CLIENT_MAIN_SRC_DIR, CLIENT_TEST_SRC_DIR, SERVER_MAIN_RES_DIR, SERVER_MAIN_SRC_DIR, SERVER_TEST_RES_DIR, SERVER_TEST_SRC_DIR, } from '../../generator-constants.js';
|
|
5
5
|
import { MESSAGE_BROKER_KAFKA, MESSAGE_BROKER_NO, MESSAGE_BROKER_PULSAR } from '../../server/options/index.js';
|
|
6
|
-
const { SQL, MONGODB, COUCHBASE, NEO4J, CASSANDRA } = databaseTypes;
|
|
7
|
-
const NO_DATABASE = databaseTypes.NO;
|
|
6
|
+
const { NO: NO_DATABASE, SQL, MONGODB, COUCHBASE, NEO4J, CASSANDRA } = databaseTypes;
|
|
8
7
|
const { PROMETHEUS, ELK } = monitoringTypes;
|
|
9
8
|
const { OAUTH2, SESSION } = authenticationTypes;
|
|
10
|
-
const { CAFFEINE, EHCACHE, REDIS, HAZELCAST, INFINISPAN, MEMCACHED } = cacheTypes;
|
|
9
|
+
const { NO: NO_CACHE, CAFFEINE, EHCACHE, REDIS, HAZELCAST, INFINISPAN, MEMCACHED } = cacheTypes;
|
|
11
10
|
const { GRADLE, MAVEN } = buildToolTypes;
|
|
12
11
|
const { SPRING_WEBSOCKET } = websocketTypes;
|
|
13
|
-
const { CONSUL, EUREKA } = serviceDiscoveryTypes;
|
|
14
|
-
const { ELASTICSEARCH } = searchEngineTypes;
|
|
15
|
-
const NO_CACHE = cacheTypes.NO;
|
|
16
|
-
const NO_SERVICE_DISCOVERY = serviceDiscoveryTypes.NO;
|
|
17
|
-
const NO_SEARCH_ENGINE = searchEngineTypes.NO;
|
|
12
|
+
const { NO: NO_SERVICE_DISCOVERY, CONSUL, EUREKA } = serviceDiscoveryTypes;
|
|
13
|
+
const { NO: NO_SEARCH_ENGINE, ELASTICSEARCH } = searchEngineTypes;
|
|
18
14
|
/**
|
|
19
15
|
* Load server configs into application.
|
|
20
16
|
* all variables should be set to dest,
|
|
@@ -23,9 +23,8 @@ import { mutateData, normalizePathEnd } from '../../base/support/index.js';
|
|
|
23
23
|
import { hibernateSnakeCase } from './string.js';
|
|
24
24
|
import { getDatabaseTypeData } from './database.js';
|
|
25
25
|
import { formatDocAsApiDescription, formatDocAsJavaDoc } from '../../java/support/doc.js';
|
|
26
|
-
const { ELASTICSEARCH } = searchEngineTypes;
|
|
27
|
-
const
|
|
28
|
-
const { POSTGRESQL, MYSQL, MARIADB, COUCHBASE, SQL } = databaseTypes;
|
|
26
|
+
const { NO: NO_SEARCH_ENGINE, ELASTICSEARCH } = searchEngineTypes;
|
|
27
|
+
const { POSTGRESQL, MYSQL, MARIADB, COUCHBASE, SQL, NEO4J } = databaseTypes;
|
|
29
28
|
export default function prepareEntity(entity) {
|
|
30
29
|
const { entityPackage, packageName, packageFolder, persistClass } = entity;
|
|
31
30
|
let { entityAbsolutePackage = packageName, entityAbsoluteFolder = packageFolder, entityJavaPackageFolder } = entity;
|
|
@@ -81,9 +80,9 @@ export function preparePostEntityServerDerivedProperties(entity) {
|
|
|
81
80
|
.filter(relationship => relationship.ignoreOtherSideProperty === undefined)
|
|
82
81
|
.forEach(relationship => {
|
|
83
82
|
relationship.ignoreOtherSideProperty =
|
|
84
|
-
entity.databaseType !==
|
|
85
|
-
!
|
|
86
|
-
|
|
83
|
+
entity.databaseType !== NEO4J &&
|
|
84
|
+
!entity.embedded &&
|
|
85
|
+
!relationship.otherEntity.embedded &&
|
|
87
86
|
relationship.otherEntity.relationships.length > 0;
|
|
88
87
|
});
|
|
89
88
|
entity.relationshipsContainOtherSideIgnore = entity.relationships.some(relationship => relationship.ignoreOtherSideProperty);
|
|
@@ -22,6 +22,7 @@ import { databaseTypes, entityOptions, fieldTypes, reservedKeywords } from '../.
|
|
|
22
22
|
import { getUXConstraintName } from './database.js';
|
|
23
23
|
import { getJavaValueGeneratorForType } from './templates/field-values.js';
|
|
24
24
|
import { formatDocAsApiDescription, formatDocAsJavaDoc } from '../../java/support/doc.js';
|
|
25
|
+
import { mutateData } from '../../base/support/config.js';
|
|
25
26
|
const { isReservedTableName } = reservedKeywords;
|
|
26
27
|
const { CommonDBTypes } = fieldTypes;
|
|
27
28
|
const { MYSQL, SQL } = databaseTypes;
|
|
@@ -37,8 +38,12 @@ export default function prepareField(entityWithConfig, field, generator) {
|
|
|
37
38
|
field.readonly = true;
|
|
38
39
|
}
|
|
39
40
|
if (field.documentation) {
|
|
40
|
-
|
|
41
|
-
|
|
41
|
+
mutateData(field, {
|
|
42
|
+
__override__: false,
|
|
43
|
+
fieldJavadoc: formatDocAsJavaDoc(field.documentation, 4),
|
|
44
|
+
fieldApiDescription: formatDocAsApiDescription(field.documentation),
|
|
45
|
+
propertyApiDescription: ({ fieldApiDescription }) => fieldApiDescription,
|
|
46
|
+
});
|
|
42
47
|
}
|
|
43
48
|
if (field.id && entityWithConfig.primaryKey) {
|
|
44
49
|
if (field.autoGenerate === undefined) {
|
|
@@ -1,7 +1,12 @@
|
|
|
1
|
+
import { mutateData } from '../../base/support/config.js';
|
|
1
2
|
import { formatDocAsApiDescription, formatDocAsJavaDoc } from '../../java/support/doc.js';
|
|
2
3
|
export function prepareRelationship({ relationship }) {
|
|
3
4
|
if (relationship.documentation) {
|
|
4
|
-
|
|
5
|
-
|
|
5
|
+
mutateData(relationship, {
|
|
6
|
+
__override__: false,
|
|
7
|
+
relationshipJavadoc: formatDocAsJavaDoc(relationship.documentation, 4),
|
|
8
|
+
relationshipApiDescription: formatDocAsApiDescription(relationship.documentation),
|
|
9
|
+
propertyApiDescription: ({ relationshipApiDescription }) => relationshipApiDescription,
|
|
10
|
+
});
|
|
6
11
|
}
|
|
7
12
|
}
|
|
@@ -17,17 +17,20 @@
|
|
|
17
17
|
* limitations under the License.
|
|
18
18
|
*/
|
|
19
19
|
import { addOtherRelationship } from '../../base-application/support/index.js';
|
|
20
|
+
import { databaseTypes } from '../../../jdl/index.js';
|
|
21
|
+
const { NO: NO_DATABASE, SQL, NEO4J } = databaseTypes;
|
|
20
22
|
// eslint-disable-next-line import/prefer-default-export
|
|
21
23
|
export const addEntitiesOtherRelationships = (entities) => {
|
|
22
24
|
const result = { warning: [] };
|
|
23
25
|
for (const entity of entities.filter(entity => !entity.builtIn)) {
|
|
24
26
|
for (const relationship of entity.relationships ?? []) {
|
|
25
27
|
if (!relationship.otherRelationship &&
|
|
28
|
+
!relationship.otherEntity.embedded &&
|
|
26
29
|
(relationship.otherEntityRelationshipName ||
|
|
27
30
|
relationship.relationshipType === 'many-to-many' ||
|
|
28
31
|
// OneToOne back reference is required due to filtering
|
|
29
|
-
(relationship.relationshipType === 'one-to-one' && entity.databaseType ===
|
|
30
|
-
(relationship.relationshipType === 'one-to-many' && entity.databaseType !==
|
|
32
|
+
(relationship.relationshipType === 'one-to-one' && entity.databaseType === SQL) ||
|
|
33
|
+
(relationship.relationshipType === 'one-to-many' && entity.databaseType !== NEO4J && entity.databaseType !== NO_DATABASE))) {
|
|
31
34
|
if (relationship.otherEntity.builtIn) {
|
|
32
35
|
result.warning.push(`Ignoring '${entity.name}' definitions as it is using a built-in Entity '${relationship.otherEntityName}': 'otherEntityRelationshipName' is set with value '${relationship.otherEntityRelationshipName}' at relationship '${relationship.relationshipName}' but no back-reference was found`);
|
|
33
36
|
}
|
|
@@ -124,6 +124,7 @@ test {
|
|
|
124
124
|
// see https://github.com/jhipster/generator-jhipster/pull/2771 and https://github.com/jhipster/generator-jhipster/pull/4484
|
|
125
125
|
// ignoreFailures true
|
|
126
126
|
reports.html.required = false
|
|
127
|
+
testLogging.exceptionFormat "full"
|
|
127
128
|
<%_ if (reactive) { _%>
|
|
128
129
|
|
|
129
130
|
if (JavaVersion.current().isCompatibleWith(JavaVersion.VERSION_13)) {
|
|
@@ -134,7 +135,6 @@ test {
|
|
|
134
135
|
<%_ } _%>
|
|
135
136
|
}
|
|
136
137
|
|
|
137
|
-
|
|
138
138
|
check.dependsOn integrationTest
|
|
139
139
|
task testReport(type: TestReport) {
|
|
140
140
|
destinationDirectory = file("$buildDir/reports/tests")
|
|
@@ -172,8 +172,7 @@ dependencies {
|
|
|
172
172
|
testRuntimeOnly("com.tngtech.archunit:archunit-junit5-engine:${archunitJunit5Version}") {
|
|
173
173
|
exclude group: "org.slf4j", module: "slf4j-api"
|
|
174
174
|
}
|
|
175
|
-
implementation "io.
|
|
176
|
-
implementation "io.micrometer:micrometer-registry-prometheus"
|
|
175
|
+
implementation "io.micrometer:micrometer-registry-prometheus-simpleclient"
|
|
177
176
|
<%_ if (reactive) { _%>
|
|
178
177
|
runtimeOnly "io.netty:netty-tcnative-boringssl-static"
|
|
179
178
|
<%_ } _%>
|
|
@@ -237,6 +236,9 @@ if (addSpringMilestoneRepository) { _%>
|
|
|
237
236
|
<%_ if (serviceDiscoveryAny && serviceDiscoveryEureka) { _%>
|
|
238
237
|
implementation "org.springframework.cloud:spring-cloud-starter-config"
|
|
239
238
|
<%_ } _%>
|
|
239
|
+
<%_ if (applicationTypeGateway && !reactive) { _%>
|
|
240
|
+
implementation "org.springframework.cloud:spring-cloud-starter-loadbalancer"
|
|
241
|
+
<%_ } _%>
|
|
240
242
|
<%_ if (serviceDiscoveryAny && serviceDiscoveryConsul) { _%>
|
|
241
243
|
implementation "org.springframework.cloud:spring-cloud-starter-consul-config"
|
|
242
244
|
<%_ } _%>
|
|
@@ -167,14 +167,14 @@ processResources {
|
|
|
167
167
|
}
|
|
168
168
|
<%_ if (!serviceDiscoveryAny) { _%>
|
|
169
169
|
filter {
|
|
170
|
-
it.replace("
|
|
170
|
+
it.replace("@spring.profiles.active@", springProfiles)
|
|
171
171
|
}
|
|
172
172
|
<%_ } _%>
|
|
173
173
|
}
|
|
174
174
|
<%_ if (serviceDiscoveryEureka || serviceDiscoveryConsul) { _%>
|
|
175
175
|
filesMatching("**/bootstrap.yml") {
|
|
176
176
|
filter {
|
|
177
|
-
it.replace("
|
|
177
|
+
it.replace("@spring.profiles.active@", springProfiles)
|
|
178
178
|
}
|
|
179
179
|
}
|
|
180
180
|
<%_ } _%>
|
|
@@ -191,6 +191,7 @@ task integrationTest(type: Test) {
|
|
|
191
191
|
<%_ } _%>
|
|
192
192
|
testLogging {
|
|
193
193
|
events 'FAILED', 'SKIPPED'
|
|
194
|
+
exceptionFormat "full"
|
|
194
195
|
}
|
|
195
196
|
systemProperty('spring.profiles.active', 'testdev')
|
|
196
197
|
systemProperty('java.security.egd', 'file:/dev/./urandom')
|
|
@@ -102,14 +102,14 @@ processResources {
|
|
|
102
102
|
}
|
|
103
103
|
<%_ if (!serviceDiscoveryAny) { _%>
|
|
104
104
|
filter {
|
|
105
|
-
it.replace("
|
|
105
|
+
it.replace("@spring.profiles.active@", springProfiles)
|
|
106
106
|
}
|
|
107
107
|
<%_ } _%>
|
|
108
108
|
}
|
|
109
109
|
<%_ if (serviceDiscoveryEureka || serviceDiscoveryConsul) { _%>
|
|
110
110
|
filesMatching("**/bootstrap.yml") {
|
|
111
111
|
filter {
|
|
112
|
-
it.replace("
|
|
112
|
+
it.replace("@spring.profiles.active@", springProfiles)
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
115
|
<%_ } _%>
|
|
@@ -126,6 +126,7 @@ task integrationTest(type: Test) {
|
|
|
126
126
|
<%_ } _%>
|
|
127
127
|
testLogging {
|
|
128
128
|
events 'FAILED', 'SKIPPED'
|
|
129
|
+
exceptionFormat "full"
|
|
129
130
|
}
|
|
130
131
|
systemProperty('spring.profiles.active', 'testprod')
|
|
131
132
|
systemProperty('java.security.egd', 'file:/dev/./urandom')
|
|
@@ -32,7 +32,7 @@ blockhoundJunitPlatformVersion=<%- javaDependencies['blockhound-junit-platform']
|
|
|
32
32
|
# gradle plugin version
|
|
33
33
|
gitPropertiesPluginVersion=<%- javaDependencies['gradle-git-properties'] %>
|
|
34
34
|
<%_ if (enableSwaggerCodegen) { _%>
|
|
35
|
-
openapiPluginVersion=<%- javaDependencies['openapi-generator
|
|
35
|
+
openapiPluginVersion=<%- javaDependencies['gradle-openapi-generator'] %>
|
|
36
36
|
<%_ } _%>
|
|
37
37
|
<%_ if (enableGradleEnterprise) { _%>
|
|
38
38
|
gradleEnterprisePluginVersion=<%- javaDependencies['gradle-enterprise'] %>
|
|
@@ -113,10 +113,6 @@
|
|
|
113
113
|
<version>${archunit-junit5.version}</version>
|
|
114
114
|
<scope>test</scope>
|
|
115
115
|
</dependency>
|
|
116
|
-
<dependency>
|
|
117
|
-
<groupId>io.dropwizard.metrics</groupId>
|
|
118
|
-
<artifactId>metrics-core</artifactId>
|
|
119
|
-
</dependency>
|
|
120
116
|
<%_ if (reactive) { _%>
|
|
121
117
|
<dependency>
|
|
122
118
|
<groupId>io.micrometer</groupId>
|
|
@@ -126,7 +122,7 @@
|
|
|
126
122
|
<%_ } _%>
|
|
127
123
|
<dependency>
|
|
128
124
|
<groupId>io.micrometer</groupId>
|
|
129
|
-
<artifactId>micrometer-registry-prometheus</artifactId>
|
|
125
|
+
<artifactId>micrometer-registry-prometheus-simpleclient</artifactId>
|
|
130
126
|
</dependency>
|
|
131
127
|
<%_ if (reactive) { _%>
|
|
132
128
|
<dependency>
|
|
@@ -282,6 +278,12 @@
|
|
|
282
278
|
<artifactId>spring-cloud-starter-config</artifactId>
|
|
283
279
|
</dependency>
|
|
284
280
|
<%_ } _%>
|
|
281
|
+
<%_ if (applicationTypeGateway && !reactive) { _%>
|
|
282
|
+
<dependency>
|
|
283
|
+
<groupId>org.springframework.cloud</groupId>
|
|
284
|
+
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
|
|
285
|
+
</dependency>
|
|
286
|
+
<%_ } _%>
|
|
285
287
|
<%_ if (serviceDiscoveryAny && serviceDiscoveryConsul) { _%>
|
|
286
288
|
<dependency>
|
|
287
289
|
<groupId>org.springframework.cloud</groupId>
|
|
@@ -501,10 +503,6 @@
|
|
|
501
503
|
</goals>
|
|
502
504
|
<configuration>
|
|
503
505
|
<outputDirectory>${project.build.directory}/classes</outputDirectory>
|
|
504
|
-
<useDefaultDelimiters>false</useDefaultDelimiters>
|
|
505
|
-
<delimiters>
|
|
506
|
-
<delimiter>#</delimiter>
|
|
507
|
-
</delimiters>
|
|
508
506
|
<resources>
|
|
509
507
|
<resource>
|
|
510
508
|
<directory><%= SERVER_MAIN_RES_DIR %></directory>
|
|
@@ -88,7 +88,7 @@ public class <%- dtoClass %> implements Serializable {
|
|
|
88
88
|
@NotNull
|
|
89
89
|
<%_ } _%>
|
|
90
90
|
<%_ if (property.propertyApiDescription) { _%>
|
|
91
|
-
@Schema(description = "<%- property.propertyApiDescription %>"<% if (required) { %>,
|
|
91
|
+
@Schema(description = "<%- property.propertyApiDescription %>"<% if (required) { %>, requiredMode = Schema.RequiredMode.REQUIRED<% } %>)
|
|
92
92
|
<%_ } _%>
|
|
93
93
|
<%_ if (property.fieldTypeBytes && databaseTypeSql) { _%>
|
|
94
94
|
@Lob
|
|
@@ -31,9 +31,7 @@ public final class Constants {
|
|
|
31
31
|
<%_ if (generateBuiltInUserEntity || databaseTypeSql || databaseTypeMongodb || databaseTypeCouchbase) { _%>
|
|
32
32
|
public static final String SYSTEM = "system";
|
|
33
33
|
<%_ } _%>
|
|
34
|
-
<%_ if (generateUserManagement || authenticationTypeOauth2) { _%>
|
|
35
34
|
public static final String DEFAULT_LANGUAGE = "<%= nativeLanguage %>";
|
|
36
|
-
<%_ } _%>
|
|
37
35
|
<%_ if (databaseTypeCouchbase) { _%>
|
|
38
36
|
public static final String ID_DELIMITER = "__";
|
|
39
37
|
<%_ } _%>
|
|
@@ -27,9 +27,6 @@ import static org.springframework.security.web.util.matcher.AntPathRequestMatche
|
|
|
27
27
|
<%_ } _%>
|
|
28
28
|
import org.springframework.context.annotation.Bean;
|
|
29
29
|
import org.springframework.context.annotation.Configuration;
|
|
30
|
-
<%_ if (authenticationTypeOauth2) { _%>
|
|
31
|
-
import org.springframework.core.convert.converter.Converter;
|
|
32
|
-
<%_ } _%>
|
|
33
30
|
<%_ if (devDatabaseTypeH2Any) { _%>
|
|
34
31
|
import org.springframework.core.env.Environment;
|
|
35
32
|
import org.springframework.core.env.Profiles;
|
|
@@ -54,6 +51,10 @@ import tech.jhipster.web.filter.CookieCsrfFilter;
|
|
|
54
51
|
<%_ if (!skipClient) { _%>
|
|
55
52
|
import <%= packageName %>.web.filter.SpaWebFilter;
|
|
56
53
|
<%_ } _%>
|
|
54
|
+
<%_ if (authenticationUsesCsrf && !applicationTypeMicroservice) { _%>
|
|
55
|
+
import jakarta.servlet.http.HttpServletRequest;
|
|
56
|
+
import jakarta.servlet.http.HttpServletResponse;
|
|
57
|
+
<%_ } _%>
|
|
57
58
|
<%_ if (authenticationTypeJwt || (authenticationTypeOauth2 && applicationTypeMicroservice)) { _%>
|
|
58
59
|
import org.springframework.security.config.http.SessionCreationPolicy;
|
|
59
60
|
<%_ } _%>
|
|
@@ -66,7 +67,6 @@ import static org.springframework.security.oauth2.core.oidc.StandardClaimNames.P
|
|
|
66
67
|
|
|
67
68
|
import <%= packageName %>.security.oauth2.AudienceValidator;
|
|
68
69
|
import <%= packageName %>.security.SecurityUtils;
|
|
69
|
-
import org.springframework.security.authentication.AbstractAuthenticationToken;
|
|
70
70
|
import org.springframework.security.oauth2.client.userinfo.OAuth2UserService;
|
|
71
71
|
import org.springframework.security.oauth2.client.oidc.userinfo.OidcUserRequest;
|
|
72
72
|
import org.springframework.security.oauth2.client.oidc.userinfo.OidcUserService;
|
|
@@ -75,7 +75,6 @@ import org.springframework.security.oauth2.core.OAuth2TokenValidator;
|
|
|
75
75
|
import org.springframework.security.oauth2.core.oidc.user.DefaultOidcUser;
|
|
76
76
|
import org.springframework.security.oauth2.core.oidc.user.OidcUser;
|
|
77
77
|
import org.springframework.security.oauth2.jwt.*;
|
|
78
|
-
import org.springframework.security.oauth2.server.resource.authentication.JwtAuthenticationConverter;
|
|
79
78
|
import org.springframework.beans.factory.annotation.Value;
|
|
80
79
|
import org.springframework.security.core.GrantedAuthority;
|
|
81
80
|
<%_ if (!applicationTypeMicroservice) { _%>
|
|
@@ -84,6 +83,9 @@ import org.springframework.security.oauth2.core.oidc.user.OidcUserAuthority;
|
|
|
84
83
|
<%_ } _%>
|
|
85
84
|
import java.util.*;
|
|
86
85
|
<%_ } _%>
|
|
86
|
+
<%_ if (authenticationUsesCsrf && !applicationTypeMicroservice) { _%>
|
|
87
|
+
import java.util.function.Supplier;
|
|
88
|
+
<%_ } _%>
|
|
87
89
|
<%_ if (authenticationTypeSession) { _%>
|
|
88
90
|
import org.springframework.http.HttpStatus;
|
|
89
91
|
import org.springframework.security.web.authentication.HttpStatusEntryPoint;
|
|
@@ -94,11 +96,7 @@ import org.springframework.security.web.authentication.RememberMeServices;
|
|
|
94
96
|
<%_ } _%>
|
|
95
97
|
<%_ } _%>
|
|
96
98
|
<%_ if (authenticationUsesCsrf && !applicationTypeMicroservice) { _%>
|
|
97
|
-
import org.springframework.security.web.csrf
|
|
98
|
-
import org.springframework.security.web.csrf.CsrfTokenRequestAttributeHandler;
|
|
99
|
-
<%_ } _%>
|
|
100
|
-
<%_ if (authenticationTypeOauth2) { _%>
|
|
101
|
-
import <%= packageName %>.security.oauth2.JwtGrantedAuthorityConverter;
|
|
99
|
+
import org.springframework.security.web.csrf.*;
|
|
102
100
|
<%_ } _%>
|
|
103
101
|
<%_ if (authenticationTypeJwt) { _%>
|
|
104
102
|
import org.springframework.security.oauth2.server.resource.web.BearerTokenAuthenticationEntryPoint;
|
|
@@ -112,6 +110,9 @@ import <%= packageName %>.security.oauth2.CustomClaimConverter;
|
|
|
112
110
|
<%_ if(!skipClient) { _%>
|
|
113
111
|
import org.springframework.security.web.header.writers.ReferrerPolicyHeaderWriter;
|
|
114
112
|
<%_ } _%>
|
|
113
|
+
<%_ if (authenticationUsesCsrf && !applicationTypeMicroservice) { _%>
|
|
114
|
+
import org.springframework.util.StringUtils;
|
|
115
|
+
<%_ } _%>
|
|
115
116
|
import org.springframework.security.web.servlet.util.matcher.MvcRequestMatcher;
|
|
116
117
|
import org.springframework.web.servlet.handler.HandlerMappingIntrospector;
|
|
117
118
|
|
|
@@ -126,7 +127,7 @@ public class SecurityConfiguration {
|
|
|
126
127
|
|
|
127
128
|
private final Environment env;
|
|
128
129
|
<%_ } _%>
|
|
129
|
-
|
|
130
|
+
|
|
130
131
|
private final JHipsterProperties jHipsterProperties;
|
|
131
132
|
<%_ if (authenticationTypeSession && generateUserManagement) { _%>
|
|
132
133
|
|
|
@@ -141,7 +142,7 @@ public class SecurityConfiguration {
|
|
|
141
142
|
public SecurityConfiguration(<% if (devDatabaseTypeH2Any) { %>Environment env, <% } %><% if (authenticationTypeSession && generateUserManagement) { %>RememberMeServices rememberMeServices, <% } %> JHipsterProperties jHipsterProperties) {
|
|
142
143
|
<%_ if (devDatabaseTypeH2Any) { _%>
|
|
143
144
|
this.env = env;
|
|
144
|
-
<%_ } _%>
|
|
145
|
+
<%_ } _%>
|
|
145
146
|
<%_ if (authenticationTypeSession && generateUserManagement) { _%>
|
|
146
147
|
this.rememberMeServices = rememberMeServices;
|
|
147
148
|
<%_ } _%>
|
|
@@ -164,8 +165,7 @@ public class SecurityConfiguration {
|
|
|
164
165
|
.csrf(csrf -> csrf
|
|
165
166
|
<%_ if (authenticationUsesCsrf && !applicationTypeMicroservice) { _%>
|
|
166
167
|
.csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse())
|
|
167
|
-
|
|
168
|
-
.csrfTokenRequestHandler(new CsrfTokenRequestAttributeHandler()))
|
|
168
|
+
.csrfTokenRequestHandler(new SpaCsrfTokenRequestHandler()))
|
|
169
169
|
<%_ } else { _%>
|
|
170
170
|
.disable())
|
|
171
171
|
<%_ } _%>
|
|
@@ -284,9 +284,7 @@ public class SecurityConfiguration {
|
|
|
284
284
|
<%_ } else { _%>
|
|
285
285
|
.sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
|
|
286
286
|
<%_ } _%>
|
|
287
|
-
.oauth2ResourceServer(oauth2 -> oauth2
|
|
288
|
-
.jwt(jwt -> jwt
|
|
289
|
-
.jwtAuthenticationConverter(authenticationConverter())))
|
|
287
|
+
.oauth2ResourceServer(oauth2 -> oauth2.jwt(withDefaults()))
|
|
290
288
|
.oauth2Client(withDefaults());
|
|
291
289
|
<%_ } _%>
|
|
292
290
|
<%_ if (devDatabaseTypeH2Any) { _%>
|
|
@@ -307,13 +305,6 @@ public class SecurityConfiguration {
|
|
|
307
305
|
}
|
|
308
306
|
<%_ if (authenticationTypeOauth2) { _%>
|
|
309
307
|
|
|
310
|
-
Converter<Jwt, AbstractAuthenticationToken> authenticationConverter() {
|
|
311
|
-
JwtAuthenticationConverter jwtAuthenticationConverter = new JwtAuthenticationConverter();
|
|
312
|
-
jwtAuthenticationConverter.setJwtGrantedAuthoritiesConverter(new JwtGrantedAuthorityConverter());
|
|
313
|
-
jwtAuthenticationConverter.setPrincipalClaimName(PREFERRED_USERNAME);
|
|
314
|
-
return jwtAuthenticationConverter;
|
|
315
|
-
}
|
|
316
|
-
|
|
317
308
|
OAuth2UserService<OidcUserRequest, OidcUser> oidcUserService() {
|
|
318
309
|
final OidcUserService delegate = new OidcUserService();
|
|
319
310
|
|
|
@@ -364,4 +355,46 @@ public class SecurityConfiguration {
|
|
|
364
355
|
return jwtDecoder;
|
|
365
356
|
}
|
|
366
357
|
<%_ } _%>
|
|
358
|
+
<%_ if (authenticationUsesCsrf && !applicationTypeMicroservice) { _%>
|
|
359
|
+
|
|
360
|
+
/**
|
|
361
|
+
* Custom CSRF handler to provide BREACH protection.
|
|
362
|
+
*
|
|
363
|
+
* @see <a href="https://docs.spring.io/spring-security/reference/servlet/exploits/csrf.html#csrf-integration-javascript-spa">Spring Security Documentation - Integrating with CSRF Protection</a>
|
|
364
|
+
* @see <a href="https://github.com/jhipster/generator-jhipster/pull/25907">JHipster - use customized SpaCsrfTokenRequestHandler to handle CSRF token</a>
|
|
365
|
+
* @see <a href="https://stackoverflow.com/q/74447118/65681">CSRF protection not working with Spring Security 6</a>
|
|
366
|
+
*/
|
|
367
|
+
static final class SpaCsrfTokenRequestHandler extends CsrfTokenRequestAttributeHandler {
|
|
368
|
+
private final CsrfTokenRequestHandler delegate = new XorCsrfTokenRequestAttributeHandler();
|
|
369
|
+
|
|
370
|
+
@Override
|
|
371
|
+
public void handle(HttpServletRequest request, HttpServletResponse response, Supplier<CsrfToken> csrfToken) {
|
|
372
|
+
/*
|
|
373
|
+
* Always use XorCsrfTokenRequestAttributeHandler to provide BREACH protection of
|
|
374
|
+
* the CsrfToken when it is rendered in the response body.
|
|
375
|
+
*/
|
|
376
|
+
this.delegate.handle(request, response, csrfToken);
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
@Override
|
|
380
|
+
public String resolveCsrfTokenValue(HttpServletRequest request, CsrfToken csrfToken) {
|
|
381
|
+
/*
|
|
382
|
+
* If the request contains a request header, use CsrfTokenRequestAttributeHandler
|
|
383
|
+
* to resolve the CsrfToken. This applies when a single-page application includes
|
|
384
|
+
* the header value automatically, which was obtained via a cookie containing the
|
|
385
|
+
* raw CsrfToken.
|
|
386
|
+
*/
|
|
387
|
+
if (StringUtils.hasText(request.getHeader(csrfToken.getHeaderName()))) {
|
|
388
|
+
return super.resolveCsrfTokenValue(request, csrfToken);
|
|
389
|
+
}
|
|
390
|
+
/*
|
|
391
|
+
* In all other cases (e.g. if the request contains a request parameter), use
|
|
392
|
+
* XorCsrfTokenRequestAttributeHandler to resolve the CsrfToken. This applies
|
|
393
|
+
* when a server-side rendered form includes the _csrf request parameter as a
|
|
394
|
+
* hidden input.
|
|
395
|
+
*/
|
|
396
|
+
return this.delegate.resolveCsrfTokenValue(request, csrfToken);
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
<%_ } _%>
|
|
367
400
|
}
|