generator-jhipster 8.9.0 → 8.11.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/README.md +1 -1
- package/dist/cli/cli.mjs +0 -13
- package/dist/cli/download.mjs +2 -3
- package/dist/cli/environment-builder.mjs +5 -3
- package/dist/generators/angular/generator.d.ts +10 -1
- package/dist/generators/angular/resources/package.json +27 -27
- package/dist/generators/angular/templates/README.md.jhi.client.angular.ejs +1 -1
- package/dist/generators/angular/templates/eslint.config.js.jhi.angular.ejs +4 -6
- package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.component.spec.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.html.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.spec.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.ts.ejs +6 -4
- 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 +1 -1
- 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/register/register.component.html.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.component.spec.ts.ejs +1 -1
- 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/account/settings/settings.component.spec.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.component.spec.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/admin/health/modal/health-modal.component.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.component.spec.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.component.html.ejs +8 -13
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.spec.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.spec.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.html.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.spec.ts.ejs +2 -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/admin/user-management/update/user-management-update.component.spec.ts.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/app-page-title-strategy.ts.ejs +1 -3
- package/dist/generators/angular/templates/src/main/webapp/app/app.component.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/core/tracker/tracker.service.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/core/util/alert.service.ts.ejs +1 -2
- package/dist/generators/angular/templates/src/main/webapp/app/core/util/data-util.service.spec.ts.ejs +0 -1
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.html.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.spec.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.html.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.spec.ts.ejs +4 -5
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.html.ejs +4 -4
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.spec.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/service/_entityFile_.service.spec.ts.ejs +4 -4
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.html.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.spec.ts.ejs +7 -7
- package/dist/generators/angular/templates/src/main/webapp/app/home/home.component.spec.ts.ejs +4 -4
- package/dist/generators/angular/templates/src/main/webapp/app/layouts/main/main.component.html.ejs +4 -4
- package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.spec.ts.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/layouts/profiles/page-ribbon.component.spec.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/layouts/profiles/page-ribbon.component.ts.ejs +8 -6
- package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.spec.ts.ejs +3 -3
- package/dist/generators/angular/templates/src/main/webapp/app/shared/alert/alert-error.component.spec.ts.ejs +8 -8
- package/dist/generators/angular/templates/src/main/webapp/app/shared/alert/alert.component.spec.ts.ejs +2 -2
- package/dist/generators/angular/templates/src/main/webapp/app/shared/pagination/item-count.component.ts.ejs +1 -1
- package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort.service.ts.ejs +3 -3
- package/dist/generators/app/generator.d.ts +4 -1
- package/dist/generators/base/api.d.ts +3 -1
- package/dist/generators/base/shared-data.js +1 -0
- package/dist/generators/base/support/contents.d.ts +10 -1
- package/dist/generators/base/support/contents.js +9 -0
- package/dist/generators/base/support/index.d.ts +1 -0
- package/dist/generators/base/support/index.js +1 -0
- package/dist/generators/base/support/needles.d.ts +14 -5
- package/dist/generators/base/support/needles.js +21 -17
- package/dist/generators/base/support/os.d.ts +1 -0
- package/dist/generators/base/support/os.js +20 -0
- package/dist/generators/base/support/write-files.d.ts +18 -0
- package/dist/generators/base/support/write-files.js +0 -26
- package/dist/generators/base-application/support/prepare-entity.js +14 -26
- package/dist/generators/base-application/support/update-application-entities-transform.js +3 -2
- package/dist/generators/base-application/types.d.ts +5 -0
- package/dist/generators/base-core/generator.js +7 -4
- package/dist/generators/bootstrap/generator.d.ts +6 -1
- package/dist/generators/bootstrap/generator.js +31 -2
- package/dist/generators/bootstrap/support/auto-crlf-transform.js +2 -2
- package/dist/generators/bootstrap/support/eslint-worker.js +5 -2
- package/dist/generators/bootstrap-application/generator.d.ts +4 -1
- package/dist/generators/bootstrap-application-base/generator.d.ts +12 -2
- package/dist/generators/bootstrap-application-base/generator.js +4 -3
- package/dist/generators/bootstrap-application-client/generator.d.ts +3 -1
- package/dist/generators/bootstrap-application-server/generator.d.ts +8 -1
- package/dist/generators/bootstrap-workspaces/generator.d.ts +9 -1
- package/dist/generators/ci-cd/generator.d.ts +6 -1
- package/dist/generators/client/generator.d.ts +13 -1
- package/dist/generators/client/generators/common/generator.d.ts +1 -1
- package/dist/generators/client/resources/package.json +5 -5
- package/dist/generators/client/templates/src/main/webapp/swagger-ui/index.html.ejs +8 -6
- package/dist/generators/common/generator.d.ts +8 -1
- package/dist/generators/common/resources/package.json +2 -2
- package/dist/generators/cucumber/generator.d.ts +2 -1
- package/dist/generators/cypress/generator.d.ts +7 -1
- package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/logout.cy.ts.ejs +11 -3
- package/dist/generators/cypress/templates/src/test/javascript/cypress/support/oauth2.ts.ejs +4 -4
- package/dist/generators/docker/generator.d.ts +4 -1
- package/dist/generators/docker-compose/generator.d.ts +23 -1
- package/dist/generators/entities/generator.d.ts +4 -1
- package/dist/generators/entity/generator.d.ts +5 -1
- package/dist/generators/export-jdl/generator.d.ts +3 -1
- package/dist/generators/feign-client/generator.d.ts +2 -1
- package/dist/generators/feign-client/templates/src/test/java/_package_/client/AuthorizationHeaderUtilTest.java.ejs +1 -1
- package/dist/generators/gatling/generator.d.ts +3 -1
- package/dist/generators/generate-blueprint/constants.d.ts +1 -1
- package/dist/generators/generate-blueprint/constants.js +1 -1
- package/dist/generators/generate-blueprint/files.js +2 -2
- package/dist/generators/generate-blueprint/generator.d.ts +10 -1
- package/dist/generators/generate-blueprint/generator.js +16 -16
- package/dist/generators/generate-blueprint/resources/package.json +3 -3
- package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/command.mjs.ejs +1 -1
- package/dist/generators/generate-blueprint/templates/generators/generator/generator.mjs.jhi.ejs +1 -0
- package/dist/generators/generator-constants.d.ts +1 -1
- package/dist/generators/generator-constants.js +2 -2
- package/dist/generators/git/generator.d.ts +5 -1
- package/dist/generators/gradle/generator.d.ts +5 -1
- package/dist/generators/gradle/generators/code-quality/generator.d.ts +2 -1
- package/dist/generators/gradle/generators/jib/generator.d.ts +2 -1
- package/dist/generators/gradle/generators/node-gradle/generator.d.ts +2 -1
- package/dist/generators/gradle/templates/gradle/wrapper/gradle-wrapper.properties +1 -1
- package/dist/generators/heroku/generator.d.ts +6 -1
- package/dist/generators/info/generator.d.ts +1 -1
- package/dist/generators/init/generator.d.ts +2 -1
- package/dist/generators/init/resources/.node-version +1 -1
- package/dist/generators/java/generators/bootstrap/generator.d.ts +8 -2
- package/dist/generators/java/generators/bootstrap/generator.js +17 -3
- package/dist/generators/java/generators/build-tool/generator.d.ts +2 -1
- package/dist/generators/java/generators/code-quality/generator.d.ts +2 -1
- package/dist/generators/java/generators/domain/generator.d.ts +6 -1
- package/dist/generators/java/generators/graalvm/generator.d.ts +6 -1
- package/dist/generators/java/generators/graalvm/internal/constants.d.ts +1 -1
- package/dist/generators/java/generators/graalvm/internal/constants.js +2 -2
- package/dist/generators/java/generators/graalvm/resources/gradle/libs.versions.toml +1 -1
- package/dist/generators/java/generators/jib/generator.d.ts +2 -1
- package/dist/generators/java/generators/node/generator.d.ts +4 -1
- package/dist/generators/java/generators/node/generator.js +2 -1
- package/dist/generators/java/generators/openapi-generator/generator.d.ts +2 -1
- package/dist/generators/java/generators/server/generator.d.ts +1 -1
- package/dist/generators/java/support/index.d.ts +2 -0
- package/dist/generators/java/support/index.js +2 -0
- package/dist/generators/java/support/java-enum.d.ts +8 -0
- package/dist/generators/java/support/java-enum.js +20 -0
- package/dist/generators/java/support/java-file-edit.d.ts +18 -0
- package/dist/generators/java/support/java-file-edit.js +94 -0
- package/dist/generators/java/types.d.ts +37 -1
- package/dist/generators/javascript/generators/bootstrap/generator.d.ts +4 -1
- package/dist/generators/javascript/generators/eslint/generator.d.ts +4 -1
- package/dist/generators/javascript/generators/eslint/templates/eslint.config.js.jhi.ejs +8 -0
- package/dist/generators/javascript/generators/husky/generator.d.ts +3 -1
- package/dist/generators/javascript/generators/prettier/generator.d.ts +4 -1
- package/dist/generators/javascript/resources/package.json +3 -3
- package/dist/generators/jdl/generator.d.ts +3 -1
- package/dist/generators/kubernetes/generator.d.ts +25 -19
- package/dist/generators/kubernetes-helm/generator.d.ts +18 -12
- package/dist/generators/kubernetes-knative/generator.d.ts +14 -8
- package/dist/generators/languages/generator.d.ts +9 -1
- package/dist/generators/languages/support/languages.js +1 -0
- package/dist/generators/languages/templates/entity/i18n/entity_he.json.ejs +78 -0
- package/dist/generators/languages/templates/src/main/resources/i18n/messages_he.properties.ejs +41 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/he/activate.json.ejs +27 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/he/configuration.json +11 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/he/error.json +15 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/he/gateway.json +16 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/he/global.json.ejs +172 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/he/health.json.ejs +75 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/he/home.json.ejs +20 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/he/login.json +20 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/he/logs.json +12 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/he/metrics.json +103 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/he/password.json +13 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/he/register.json +25 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/he/reset.json.ejs +45 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/he/sessions.json +16 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/he/settings.json +33 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/he/tracker.json +13 -0
- package/dist/generators/languages/templates/src/main/webapp/i18n/he/user-management.json +32 -0
- package/dist/generators/languages/templates/src/test/resources/i18n/messages_he.properties.ejs +4 -0
- package/dist/generators/liquibase/generator.d.ts +9 -1
- package/dist/generators/liquibase/generator.js +3 -19
- package/dist/generators/maven/generator.d.ts +6 -1
- package/dist/generators/maven/generators/code-quality/generator.d.ts +1 -1
- package/dist/generators/maven/generators/frontend-plugin/generator.d.ts +1 -1
- package/dist/generators/maven/generators/jib/generator.d.ts +1 -1
- package/dist/generators/project-name/generator.d.ts +3 -1
- package/dist/generators/react/generator.d.ts +15 -1
- package/dist/generators/react/resources/package.json +34 -34
- package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-delete-dialog.tsx.ejs +2 -1
- package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.reducer.ts.ejs +4 -4
- package/dist/generators/react/templates/src/main/webapp/app/entities/menu.tsx.ejs +2 -2
- package/dist/generators/react/templates/src/main/webapp/app/entities/routes.tsx.ejs +1 -1
- package/dist/generators/react/templates/src/main/webapp/app/modules/administration/administration.reducer.spec.ts.ejs +0 -6
- package/dist/generators/react/templates/src/main/webapp/app/shared/reducers/application-profile.spec.ts.ejs +0 -6
- package/dist/generators/react/templates/src/main/webapp/app/shared/reducers/locale.spec.ts.ejs +0 -47
- package/dist/generators/react/templates/src/main/webapp/app/shared/reducers/reducer.utils.ts.ejs +1 -1
- package/dist/generators/react/templates/src/main/webapp/app/shared/util/entity-utils.ts.ejs +1 -1
- package/dist/generators/server/generator.d.ts +7 -1
- package/dist/generators/server/resources/Dockerfile +17 -17
- package/dist/generators/server/resources/gradle/libs.versions.toml +15 -15
- package/dist/generators/server/resources/pom.xml +16 -16
- package/dist/generators/server/types.d.ts +22 -0
- package/dist/generators/spring-boot/generator.d.ts +14 -2
- package/dist/generators/spring-boot/generator.js +35 -4
- package/dist/generators/spring-boot/resources/spring-boot-dependencies.pom +158 -148
- package/dist/generators/spring-boot/templates/src/main/java/_package_/Application.java.ejs +11 -0
- package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/service/_entityClass_QueryService.java.ejs +12 -23
- package/dist/generators/spring-boot/templates/src/main/java/_package_/config/SecurityJwtConfiguration.java.ejs +0 -1
- package/dist/generators/spring-boot/templates/src/main/java/_package_/security/DomainUserDetailsService.java.ejs +61 -5
- package/dist/generators/spring-boot/templates/src/main/java/_package_/security/SecurityUtils.java.ejs +29 -1
- package/dist/generators/spring-boot/templates/src/main/java/_package_/web/rest/AccountResource.java.ejs +7 -6
- package/dist/generators/spring-boot/templates/src/main/java/_package_/web/rest/AccountResource_oauth2.java.ejs +8 -6
- package/dist/generators/spring-boot/templates/src/main/java/_package_/web/rest/AccountResource_skipUserManagement.java.ejs +8 -6
- package/dist/generators/spring-boot/templates/src/main/java/_package_/web/rest/AuthenticateController.java.ejs +17 -11
- package/dist/generators/spring-boot/templates/src/main/java/_package_/web/rest/errors/ExceptionTranslator.java.ejs +8 -3
- package/dist/generators/spring-boot/templates/src/main/resources/config/application.yml.ejs +3 -0
- package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/service/UserServiceIT.java.ejs +3 -3
- package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/PublicUserResourceIT.java.ejs +4 -4
- package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/UserResourceIT.java.ejs +4 -4
- package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/_entityClass_ResourceIT.java.ejs +3 -3
- package/dist/generators/spring-boot/templates/src/test/java/_package_/config/JHipsterBlockHoundIntegration.java.ejs +0 -2
- package/dist/generators/spring-boot/templates/src/test/java/_package_/config/WebConfigurerTest.java.ejs +1 -1
- package/dist/generators/spring-boot/templates/src/test/java/_package_/management/SecurityMetersServiceTests.java.ejs +1 -1
- package/dist/generators/spring-boot/templates/src/test/java/_package_/security/DomainUserDetailsServiceIT.java.ejs +2 -2
- package/dist/generators/spring-boot/templates/src/test/java/_package_/security/SecurityUtilsUnitTest_imperative.java.ejs +35 -11
- package/dist/generators/spring-boot/templates/src/test/java/_package_/security/SecurityUtilsUnitTest_reactive.java.ejs +35 -6
- package/dist/generators/spring-boot/templates/src/test/java/_package_/security/jwt/JwtAuthenticationTestUtils.java.ejs +3 -2
- package/dist/generators/spring-boot/templates/src/test/java/_package_/security/jwt/TestAuthenticationResource.java.ejs +5 -5
- package/dist/generators/spring-boot/templates/src/test/java/_package_/security/jwt/TokenAuthenticationIT.java.ejs +2 -2
- package/dist/generators/spring-boot/templates/src/test/java/_package_/security/jwt/TokenAuthenticationSecurityMetersIT.java.ejs +1 -4
- package/dist/generators/spring-boot/templates/src/test/java/_package_/security/oauth2/CustomClaimConverterIT.java.ejs +1 -1
- package/dist/generators/spring-boot/templates/src/test/java/_package_/service/MailServiceIT.java.ejs +1 -1
- package/dist/generators/spring-boot/templates/src/test/java/_package_/service/mapper/UserMapperTest.java.ejs +1 -1
- package/dist/generators/spring-boot/templates/src/test/java/_package_/web/filter/SpaWebFilterIT_imperative.java.ejs +1 -1
- package/dist/generators/spring-boot/templates/src/test/java/_package_/web/filter/SpaWebFilterIT_reactive.java.ejs +1 -2
- package/dist/generators/spring-boot/templates/src/test/java/_package_/web/rest/AccountResourceIT.java.ejs +9 -15
- package/dist/generators/spring-boot/templates/src/test/java/_package_/web/rest/AccountResourceIT_oauth2.java.ejs +8 -17
- package/dist/generators/spring-boot/templates/src/test/java/_package_/web/rest/AccountResourceIT_skipUserManagement.java.ejs +6 -15
- package/dist/generators/spring-boot/templates/src/test/java/_package_/web/rest/LogoutResourceIT.java.ejs +1 -1
- package/dist/generators/spring-boot/templates/src/test/java/_package_/web/rest/errors/ExceptionTranslatorIT_reactive.java.ejs +1 -1
- package/dist/generators/spring-cache/cleanup.d.ts +2 -20
- package/dist/generators/spring-cache/cleanup.js +24 -2
- package/dist/generators/spring-cache/files.js +0 -6
- package/dist/generators/spring-cache/generator.d.ts +5 -1
- package/dist/generators/spring-cache/resources/gradle/libs.versions.toml +1 -1
- package/dist/generators/spring-cache/templates/src/main/java/_package_/config/CacheConfiguration.java.ejs +0 -14
- package/dist/generators/spring-cloud/generators/gateway/generator.d.ts +5 -1
- package/dist/generators/spring-cloud-stream/generator.d.ts +2 -1
- package/dist/generators/spring-cloud-stream/generators/kafka/generator.d.ts +2 -1
- package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/test/java/_package_/web/rest/KafkaResourceIT_reactive.java.ejs +1 -1
- package/dist/generators/spring-cloud-stream/generators/pulsar/generator.d.ts +2 -1
- package/dist/generators/spring-data-cassandra/generator.d.ts +4 -1
- package/dist/generators/spring-data-couchbase/generator.d.ts +9 -1
- package/dist/generators/spring-data-elasticsearch/generator.d.ts +10 -1
- package/dist/generators/spring-data-mongodb/generator.d.ts +9 -1
- package/dist/generators/spring-data-neo4j/generator.d.ts +11 -1
- package/dist/generators/spring-data-relational/generator.d.ts +11 -1
- package/dist/generators/spring-data-relational/templates/src/test/java/_package_/config/timezone/HibernateTimeZoneIT.java.ejs +2 -2
- package/dist/generators/spring-websocket/generator.d.ts +2 -1
- package/dist/generators/upgrade/generator.d.ts +3 -1
- package/dist/generators/vue/cleanup.js +7 -1
- package/dist/generators/vue/files-vue.js +3 -8
- package/dist/generators/vue/generator.d.ts +9 -1
- package/dist/generators/vue/resources/package.json +31 -31
- package/dist/generators/vue/templates/src/main/webapp/app/account/account.service.ts.ejs +9 -9
- package/dist/generators/vue/templates/src/main/webapp/app/account/activate/activate.component.spec.ts.ejs +21 -7
- package/dist/generators/vue/templates/src/main/webapp/app/account/activate/activate.component.ts.ejs +23 -9
- package/dist/generators/vue/templates/src/main/webapp/app/account/activate/activate.service.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/account/activate/activate.vue.ejs +1 -1
- 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.component.spec.ts.ejs +22 -10
- package/dist/generators/vue/templates/src/main/webapp/app/account/login-form/login-form.component.ts.ejs +24 -5
- package/dist/generators/vue/templates/src/main/webapp/app/account/login-modal.ts.ejs +38 -0
- package/dist/generators/vue/templates/src/main/webapp/app/account/login.service.spec.ts.ejs +0 -4
- package/dist/generators/vue/templates/src/main/webapp/app/account/login.service.ts.ejs +3 -25
- package/dist/generators/vue/templates/src/main/webapp/app/account/register/register.component.spec.ts.ejs +24 -8
- package/dist/generators/vue/templates/src/main/webapp/app/account/register/register.component.ts.ejs +23 -9
- package/dist/generators/vue/templates/src/main/webapp/app/account/register/register.service.ts.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.component.spec.ts.ejs +20 -4
- package/dist/generators/vue/templates/src/main/webapp/app/account/reset-password/finish/reset-password-finish.component.ts.ejs +23 -13
- 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/settings/settings.vue.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/admin/configuration/configuration.service.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/main/webapp/app/admin/gateway/gateway.service.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/admin/health/health.service.ts.ejs +10 -10
- package/dist/generators/vue/templates/src/main/webapp/app/admin/logs/logs.service.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/main/webapp/app/admin/metrics/metrics-modal.vue.ejs +2 -2
- package/dist/generators/vue/templates/src/main/webapp/app/admin/metrics/metrics.service.ts.ejs +2 -2
- package/dist/generators/vue/templates/src/main/webapp/app/admin/tracker/tracker.service.ts.ejs +5 -5
- package/dist/generators/vue/templates/src/main/webapp/app/admin/user-management/user-management.service.ts.ejs +6 -6
- package/dist/generators/vue/templates/src/main/webapp/app/app.component.ts.ejs +29 -7
- package/dist/generators/vue/templates/src/main/webapp/app/app.vue.ejs +19 -1
- package/dist/generators/vue/templates/src/main/webapp/app/core/error/error.component.spec.ts.ejs +66 -51
- package/dist/generators/vue/templates/src/main/webapp/app/core/error/error.component.ts.ejs +30 -8
- package/dist/generators/vue/templates/src/main/webapp/app/core/home/home.component.spec.ts.ejs +41 -11
- package/dist/generators/vue/templates/src/main/webapp/app/core/home/home.component.ts.ejs +10 -11
- package/dist/generators/vue/templates/src/main/webapp/app/core/home/home.vue.ejs +2 -2
- package/dist/generators/vue/templates/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.spec.ts.ejs +43 -16
- package/dist/generators/vue/templates/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.ts.ejs +14 -9
- package/dist/generators/vue/templates/src/main/webapp/app/core/jhi-navbar/jhi-navbar.vue.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.service.ts.ejs +7 -7
- package/dist/generators/vue/templates/src/main/webapp/app/entities/user/user.service.ts.ejs +1 -1
- package/dist/generators/vue/templates/src/main/webapp/app/locale/translation.service.ts.ejs +5 -5
- package/dist/generators/vue/templates/src/main/webapp/app/main.ts.ejs +18 -14
- package/dist/generators/vue/templates/src/main/webapp/app/shared/alert/alert.service.ts.ejs +4 -4
- package/dist/generators/workspaces/generator.d.ts +7 -1
- package/dist/generators/workspaces/support/applications-lookup.js +2 -2
- package/dist/lib/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.js +1 -1
- package/dist/lib/jdl/core/built-in-options/binary-options.d.ts +12 -1
- package/dist/lib/testing/apply-patch-to-template.d.ts +13 -0
- package/dist/lib/testing/apply-patch-to-template.js +90 -0
- package/dist/lib/testing/github.js +6 -3
- package/dist/lib/testing/helpers.d.ts +1 -0
- package/dist/lib/testing/helpers.js +15 -0
- package/dist/lib/utils/yo-rc.d.ts +3 -219
- package/package.json +36 -37
- package/dist/generators/spring-cache/templates/src/main/java/_package_/config/CacheFactoryConfiguration.java.ejs +0 -49
|
@@ -18,6 +18,10 @@
|
|
|
18
18
|
-%>
|
|
19
19
|
package <%= packageName %>.security;
|
|
20
20
|
|
|
21
|
+
<%_ if (authenticationTypeJwt) { _%>
|
|
22
|
+
import static <%= packageName %>.security.SecurityUtils.USER_ID_CLAIM;
|
|
23
|
+
<%_ } _%>
|
|
24
|
+
|
|
21
25
|
import org.junit.jupiter.api.AfterEach;
|
|
22
26
|
import org.junit.jupiter.api.BeforeEach;
|
|
23
27
|
import org.junit.jupiter.api.Test;
|
|
@@ -26,6 +30,10 @@ import org.springframework.security.core.GrantedAuthority;
|
|
|
26
30
|
import org.springframework.security.core.authority.SimpleGrantedAuthority;
|
|
27
31
|
import org.springframework.security.core.context.SecurityContext;
|
|
28
32
|
import org.springframework.security.core.context.SecurityContextHolder;
|
|
33
|
+
<%_ if (authenticationTypeJwt) { _%>
|
|
34
|
+
import java.time.Instant;
|
|
35
|
+
import org.springframework.security.oauth2.jwt.Jwt;
|
|
36
|
+
<%_ } _%>
|
|
29
37
|
<%_ if (authenticationTypeOauth2) { _%>
|
|
30
38
|
import org.springframework.security.oauth2.client.authentication.OAuth2AuthenticationToken;
|
|
31
39
|
import org.springframework.security.oauth2.core.oidc.OidcIdToken;
|
|
@@ -39,6 +47,7 @@ import java.util.ArrayList;
|
|
|
39
47
|
import java.util.Collection;
|
|
40
48
|
import java.util.Optional;
|
|
41
49
|
<%_ } _%>
|
|
50
|
+
import java.util.Collections;
|
|
42
51
|
|
|
43
52
|
import static org.assertj.core.api.Assertions.assertThat;
|
|
44
53
|
<%_ if (authenticationTypeOauth2) { _%>
|
|
@@ -128,6 +137,25 @@ class SecurityUtilsUnitTest {
|
|
|
128
137
|
Optional<String> jwt = SecurityUtils.getCurrentUserJWT();
|
|
129
138
|
assertThat(jwt).contains("token");
|
|
130
139
|
}
|
|
140
|
+
<%_ if (user) { _%>
|
|
141
|
+
|
|
142
|
+
@Test
|
|
143
|
+
void testGetCurrentUserId() {
|
|
144
|
+
var userId = <%- user.primaryKey.javaSampleValues[0] %>;
|
|
145
|
+
var securityContext = SecurityContextHolder.createEmptyContext();
|
|
146
|
+
var now = Instant.now();
|
|
147
|
+
var jwt = Jwt.withTokenValue("token")
|
|
148
|
+
.issuedAt(now)
|
|
149
|
+
.expiresAt(now.plusSeconds(60))
|
|
150
|
+
.claim(USER_ID_CLAIM, userId)
|
|
151
|
+
.header("Test", "test")
|
|
152
|
+
.build();
|
|
153
|
+
securityContext.setAuthentication(new UsernamePasswordAuthenticationToken(jwt, "token"));
|
|
154
|
+
SecurityContextHolder.setContext(securityContext);
|
|
155
|
+
var contextUserId = SecurityUtils.getCurrentUserId();
|
|
156
|
+
assertThat(contextUserId.orElse(null)).isEqualTo(userId);
|
|
157
|
+
}
|
|
158
|
+
<%_ } _%>
|
|
131
159
|
<%_ } _%>
|
|
132
160
|
|
|
133
161
|
@Test
|
|
@@ -142,8 +170,7 @@ class SecurityUtilsUnitTest {
|
|
|
142
170
|
@Test
|
|
143
171
|
void testAnonymousIsNotAuthenticated() {
|
|
144
172
|
SecurityContext securityContext = SecurityContextHolder.createEmptyContext();
|
|
145
|
-
|
|
146
|
-
authorities.add(new SimpleGrantedAuthority(AuthoritiesConstants.ANONYMOUS));
|
|
173
|
+
var authorities = Collections.singletonList(new SimpleGrantedAuthority(AuthoritiesConstants.ANONYMOUS));
|
|
147
174
|
securityContext.setAuthentication(new UsernamePasswordAuthenticationToken("anonymous", "anonymous", authorities));
|
|
148
175
|
SecurityContextHolder.setContext(securityContext);
|
|
149
176
|
boolean isAuthenticated = SecurityUtils.isAuthenticated();
|
|
@@ -153,9 +180,8 @@ class SecurityUtilsUnitTest {
|
|
|
153
180
|
@Test
|
|
154
181
|
void testHasCurrentUserThisAuthority() {
|
|
155
182
|
SecurityContext securityContext = SecurityContextHolder.createEmptyContext();
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
securityContext.setAuthentication(new UsernamePasswordAuthenticationToken("user", "user", authorities));
|
|
183
|
+
var authorities = Collections.singletonList(new SimpleGrantedAuthority(AuthoritiesConstants.USER));
|
|
184
|
+
securityContext.setAuthentication(new UsernamePasswordAuthenticationToken("anonymous", "anonymous", authorities));
|
|
159
185
|
SecurityContextHolder.setContext(securityContext);
|
|
160
186
|
|
|
161
187
|
assertThat(SecurityUtils.hasCurrentUserThisAuthority(AuthoritiesConstants.USER)).isTrue();
|
|
@@ -165,9 +191,8 @@ class SecurityUtilsUnitTest {
|
|
|
165
191
|
@Test
|
|
166
192
|
void testHasCurrentUserAnyOfAuthorities() {
|
|
167
193
|
SecurityContext securityContext = SecurityContextHolder.createEmptyContext();
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
securityContext.setAuthentication(new UsernamePasswordAuthenticationToken("user", "user", authorities));
|
|
194
|
+
var authorities = Collections.singletonList(new SimpleGrantedAuthority(AuthoritiesConstants.USER));
|
|
195
|
+
securityContext.setAuthentication(new UsernamePasswordAuthenticationToken("anonymous", "anonymous", authorities));
|
|
171
196
|
SecurityContextHolder.setContext(securityContext);
|
|
172
197
|
|
|
173
198
|
assertThat(SecurityUtils.hasCurrentUserAnyOfAuthorities(AuthoritiesConstants.USER, AuthoritiesConstants.ADMIN)).isTrue();
|
|
@@ -177,9 +202,8 @@ class SecurityUtilsUnitTest {
|
|
|
177
202
|
@Test
|
|
178
203
|
void testHasCurrentUserNoneOfAuthorities() {
|
|
179
204
|
SecurityContext securityContext = SecurityContextHolder.createEmptyContext();
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
securityContext.setAuthentication(new UsernamePasswordAuthenticationToken("user", "user", authorities));
|
|
205
|
+
var authorities = Collections.singletonList(new SimpleGrantedAuthority(AuthoritiesConstants.USER));
|
|
206
|
+
securityContext.setAuthentication(new UsernamePasswordAuthenticationToken("anonymous", "anonymous", authorities));
|
|
183
207
|
SecurityContextHolder.setContext(securityContext);
|
|
184
208
|
|
|
185
209
|
assertThat(SecurityUtils.hasCurrentUserNoneOfAuthorities(AuthoritiesConstants.USER, AuthoritiesConstants.ADMIN)).isFalse();
|
|
@@ -18,6 +18,14 @@
|
|
|
18
18
|
-%>
|
|
19
19
|
package <%= packageName %>.security;
|
|
20
20
|
|
|
21
|
+
import static org.assertj.core.api.Assertions.assertThat;
|
|
22
|
+
<%_ if (authenticationTypeOauth2) { _%>
|
|
23
|
+
import static org.springframework.security.oauth2.core.oidc.endpoint.OidcParameterNames.ID_TOKEN;
|
|
24
|
+
<%_ } _%>
|
|
25
|
+
<%_ if (authenticationTypeJwt) { _%>
|
|
26
|
+
import static <%= packageName %>.security.SecurityUtils.USER_ID_CLAIM;
|
|
27
|
+
<%_ } _%>
|
|
28
|
+
|
|
21
29
|
import org.junit.jupiter.api.AfterEach;
|
|
22
30
|
import org.junit.jupiter.api.BeforeEach;
|
|
23
31
|
import org.junit.jupiter.api.Test;
|
|
@@ -27,6 +35,11 @@ import org.springframework.security.core.authority.SimpleGrantedAuthority;
|
|
|
27
35
|
import org.springframework.security.core.context.ReactiveSecurityContextHolder;
|
|
28
36
|
import reactor.util.context.Context;
|
|
29
37
|
|
|
38
|
+
<%_ if (authenticationTypeJwt) { _%>
|
|
39
|
+
import java.time.Instant;
|
|
40
|
+
import org.springframework.security.oauth2.jwt.Jwt;
|
|
41
|
+
import reactor.core.publisher.Mono;
|
|
42
|
+
<%_ } _%>
|
|
30
43
|
<%_ if (authenticationTypeOauth2) { _%>
|
|
31
44
|
import java.time.Instant;
|
|
32
45
|
import java.util.*;
|
|
@@ -35,11 +48,6 @@ import java.util.ArrayList;
|
|
|
35
48
|
import java.util.Collection;
|
|
36
49
|
<%_ } _%>
|
|
37
50
|
|
|
38
|
-
import static org.assertj.core.api.Assertions.assertThat;
|
|
39
|
-
<%_ if (authenticationTypeOauth2) { _%>
|
|
40
|
-
import static org.springframework.security.oauth2.core.oidc.endpoint.OidcParameterNames.ID_TOKEN;
|
|
41
|
-
<%_ } _%>
|
|
42
|
-
|
|
43
51
|
/**
|
|
44
52
|
* Test class for the {@link SecurityUtils} utility class.
|
|
45
53
|
*/
|
|
@@ -52,7 +60,7 @@ class SecurityUtilsUnitTest {
|
|
|
52
60
|
.block();
|
|
53
61
|
assertThat(login).isEqualTo("admin");
|
|
54
62
|
}
|
|
55
|
-
|
|
63
|
+
<%_ if (authenticationTypeJwt) { _%>
|
|
56
64
|
|
|
57
65
|
@Test
|
|
58
66
|
void testgetCurrentUserJWT() {
|
|
@@ -61,7 +69,28 @@ class SecurityUtilsUnitTest {
|
|
|
61
69
|
.block();
|
|
62
70
|
assertThat(jwt).isEqualTo("token");
|
|
63
71
|
}
|
|
72
|
+
|
|
73
|
+
<%_ if (user) { _%>
|
|
74
|
+
@Test
|
|
75
|
+
void testGetCurrentUserId() {
|
|
76
|
+
var userId = <%- user.primaryKey.javaSampleValues[0] %>;
|
|
77
|
+
var now = Instant.now();
|
|
78
|
+
var jwt = Jwt.withTokenValue("token")
|
|
79
|
+
.issuedAt(now)
|
|
80
|
+
.expiresAt(now.plusSeconds(60))
|
|
81
|
+
.claim(USER_ID_CLAIM, userId)
|
|
82
|
+
.header("Test", "test")
|
|
83
|
+
.build();
|
|
84
|
+
|
|
85
|
+
var authentication = new UsernamePasswordAuthenticationToken(jwt, "token");
|
|
86
|
+
var contextUserId = SecurityUtils.getCurrentUserId()
|
|
87
|
+
.contextWrite(ReactiveSecurityContextHolder.withAuthentication(authentication))
|
|
88
|
+
.block();
|
|
89
|
+
|
|
90
|
+
assertThat(contextUserId).isEqualTo(userId);
|
|
91
|
+
}
|
|
64
92
|
<%_ } _%>
|
|
93
|
+
<%_ } _%>
|
|
65
94
|
|
|
66
95
|
@Test
|
|
67
96
|
void testIsAuthenticated() {
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
package <%= packageName %>.security.jwt;
|
|
2
2
|
|
|
3
|
-
import static <%= packageName %>.security.SecurityUtils.
|
|
3
|
+
import static <%= packageName %>.security.SecurityUtils.AUTHORITIES_CLAIM;
|
|
4
4
|
import static <%= packageName %>.security.SecurityUtils.JWT_ALGORITHM;
|
|
5
|
+
import static <%= packageName %>.security.AuthoritiesConstants.ADMIN;
|
|
5
6
|
|
|
6
7
|
import com.nimbusds.jose.jwk.source.ImmutableSecret;
|
|
7
8
|
import com.nimbusds.jose.util.Base64;
|
|
@@ -77,7 +78,7 @@ public class JwtAuthenticationTestUtils {
|
|
|
77
78
|
.issuedAt(now)
|
|
78
79
|
.expiresAt(now.plusSeconds(60))
|
|
79
80
|
.subject(user)
|
|
80
|
-
.claims(customClaim -> customClaim.put(
|
|
81
|
+
.claims(customClaim -> customClaim.put(AUTHORITIES_CLAIM, Collections.singletonList(ADMIN)))
|
|
81
82
|
.build();
|
|
82
83
|
|
|
83
84
|
JwsHeader jwsHeader = JwsHeader.with(JWT_ALGORITHM).build();
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
package <%= packageName %>.security.jwt;
|
|
2
2
|
|
|
3
|
+
import org.springframework.http.HttpStatus;
|
|
3
4
|
import org.springframework.http.MediaType;
|
|
5
|
+
import org.springframework.http.ResponseEntity;
|
|
4
6
|
import org.springframework.web.bind.annotation.*;
|
|
5
7
|
|
|
6
8
|
/**
|
|
@@ -12,11 +14,9 @@ public class TestAuthenticationResource {
|
|
|
12
14
|
|
|
13
15
|
/**
|
|
14
16
|
* {@code GET /authenticate} : check if the authentication token correctly validates
|
|
15
|
-
*
|
|
16
|
-
* @return ok.
|
|
17
17
|
*/
|
|
18
|
-
@GetMapping(
|
|
19
|
-
public
|
|
20
|
-
return
|
|
18
|
+
@GetMapping("/authenticate")
|
|
19
|
+
public ResponseEntity<Void> isAuthenticated() {
|
|
20
|
+
return ResponseEntity.status(HttpStatus.NO_CONTENT).build();
|
|
21
21
|
}
|
|
22
22
|
}
|
|
@@ -57,7 +57,7 @@ class TokenAuthenticationIT {
|
|
|
57
57
|
<%_ if (reactive) { %>
|
|
58
58
|
|
|
59
59
|
private void expectOk(String token) {
|
|
60
|
-
webTestClient.get().uri("/api/authenticate").headers(headers -> headers.setBearerAuth(token)).exchange().expectStatus().
|
|
60
|
+
webTestClient.get().uri("/api/authenticate").headers(headers -> headers.setBearerAuth(token)).exchange().expectStatus().isNoContent();
|
|
61
61
|
}
|
|
62
62
|
|
|
63
63
|
private void expectUnauthorized(String token) {
|
|
@@ -72,7 +72,7 @@ class TokenAuthenticationIT {
|
|
|
72
72
|
<%_ } else { _%>
|
|
73
73
|
|
|
74
74
|
private void expectOk(String token) throws Exception {
|
|
75
|
-
mvc.perform(MockMvcRequestBuilders.get("/api/authenticate").header(AUTHORIZATION, BEARER + token)).andExpect(status().
|
|
75
|
+
mvc.perform(MockMvcRequestBuilders.get("/api/authenticate").header(AUTHORIZATION, BEARER + token)).andExpect(status().isNoContent());
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
private void expectUnauthorized(String token) throws Exception {
|
|
@@ -97,10 +97,7 @@ class TokenAuthenticationSecurityMetersIT {
|
|
|
97
97
|
.get()
|
|
98
98
|
.uri("/api/authenticate")
|
|
99
99
|
.headers(headers -> headers.setBearerAuth(token))
|
|
100
|
-
.exchange()
|
|
101
|
-
.returnResult(String.class)
|
|
102
|
-
.getResponseBody()
|
|
103
|
-
.blockLast();
|
|
100
|
+
.exchange();
|
|
104
101
|
}
|
|
105
102
|
<%_ } else { _%>
|
|
106
103
|
|
|
@@ -65,7 +65,7 @@ class CustomClaimConverterIT {
|
|
|
65
65
|
private CustomClaimConverter customClaimConverter;
|
|
66
66
|
|
|
67
67
|
@BeforeEach
|
|
68
|
-
|
|
68
|
+
void initTest() {
|
|
69
69
|
customClaimConverter = new CustomClaimConverter(clientRegistrationRepository.findByRegistrationId("oidc"), restTemplate);
|
|
70
70
|
}
|
|
71
71
|
|
package/dist/generators/spring-boot/templates/src/test/java/_package_/service/MailServiceIT.java.ejs
CHANGED
|
@@ -75,7 +75,7 @@ class MailServiceIT {
|
|
|
75
75
|
private MailService mailService;
|
|
76
76
|
|
|
77
77
|
@BeforeEach
|
|
78
|
-
|
|
78
|
+
void setup() {
|
|
79
79
|
doNothing().when(javaMailSender).send(any(MimeMessage.class));
|
|
80
80
|
when(javaMailSender.createMimeMessage()).thenReturn(new MimeMessage((Session) null));
|
|
81
81
|
}
|
|
@@ -31,7 +31,7 @@ class SpaWebFilterIT {
|
|
|
31
31
|
@Test
|
|
32
32
|
void testFilterDoesNotForwardToIndexForApi() throws Exception {
|
|
33
33
|
mockMvc.perform(get("/api/<% if (!applicationTypeMicroservice) { %>authenticate<% } else { %>users<% } %>"))
|
|
34
|
-
.andExpect(status().
|
|
34
|
+
.andExpect(status().is2xxSuccessful())
|
|
35
35
|
.andExpect(forwardedUrl(null));
|
|
36
36
|
}
|
|
37
37
|
<%_ } _%>
|
|
@@ -37,8 +37,7 @@ class SpaWebFilterIT {
|
|
|
37
37
|
.get()
|
|
38
38
|
.uri("/api/<% if (!applicationTypeMicroservice) { %>authenticate<% } else { %>users<% } %>")
|
|
39
39
|
.exchange()
|
|
40
|
-
.expectStatus().
|
|
41
|
-
.expectBody(String.class).isEqualTo("user");
|
|
40
|
+
.expectStatus().is2xxSuccessful();
|
|
42
41
|
}
|
|
43
42
|
<%_ } _%>
|
|
44
43
|
|
|
@@ -147,20 +147,20 @@ class AccountResourceIT {
|
|
|
147
147
|
private Long numberOfUsers;
|
|
148
148
|
|
|
149
149
|
@BeforeEach
|
|
150
|
-
|
|
150
|
+
void countUsers() {
|
|
151
151
|
numberOfUsers = userRepository.count()<%- reactorBlock %>;
|
|
152
152
|
}
|
|
153
153
|
|
|
154
154
|
<%_ } _%>
|
|
155
155
|
<%_ if (reactive && authenticationUsesCsrf) { _%>
|
|
156
156
|
@BeforeEach
|
|
157
|
-
|
|
157
|
+
void setupCsrf() {
|
|
158
158
|
accountWebTestClient = accountWebTestClient.mutateWith(csrf());
|
|
159
159
|
}
|
|
160
160
|
|
|
161
161
|
<%_ } _%>
|
|
162
162
|
@AfterEach
|
|
163
|
-
|
|
163
|
+
void cleanupAndCheck() {
|
|
164
164
|
<%_ if (requiresDeleteAllUsers) { _%>
|
|
165
165
|
userRepository.deleteAll()<%- reactorBlock %>;
|
|
166
166
|
<%_ } else if (!databaseTypeCassandra) { _%>
|
|
@@ -174,16 +174,13 @@ class AccountResourceIT {
|
|
|
174
174
|
<%_ if (reactive) { _%>
|
|
175
175
|
void testNonAuthenticatedUser() {
|
|
176
176
|
accountWebTestClient.get().uri("/api/authenticate")
|
|
177
|
-
.accept(MediaType.TEXT_PLAIN)
|
|
178
177
|
.exchange()
|
|
179
|
-
.expectStatus().
|
|
180
|
-
.expectBody().isEmpty();
|
|
178
|
+
.expectStatus().isUnauthorized();
|
|
181
179
|
<%_ } else { _%>
|
|
182
180
|
void testNonAuthenticatedUser() throws Exception {
|
|
183
181
|
restAccountMockMvc
|
|
184
|
-
.perform(get("/api/authenticate")
|
|
185
|
-
.andExpect(status().
|
|
186
|
-
.andExpect(content().string(""));
|
|
182
|
+
.perform(get("/api/authenticate"))
|
|
183
|
+
.andExpect(status().isUnauthorized());
|
|
187
184
|
<%_ } _%>
|
|
188
185
|
}
|
|
189
186
|
|
|
@@ -193,16 +190,13 @@ class AccountResourceIT {
|
|
|
193
190
|
void testAuthenticatedUser() {
|
|
194
191
|
accountWebTestClient
|
|
195
192
|
.get().uri("/api/authenticate")
|
|
196
|
-
.accept(MediaType.TEXT_PLAIN)
|
|
197
193
|
.exchange()
|
|
198
|
-
.expectStatus().
|
|
199
|
-
.expectBody(String.class).isEqualTo(TEST_USER_LOGIN);
|
|
194
|
+
.expectStatus().isNoContent();
|
|
200
195
|
<%_ } else { _%>
|
|
201
196
|
void testAuthenticatedUser() throws Exception {
|
|
202
197
|
restAccountMockMvc
|
|
203
|
-
.perform(get("/api/authenticate").with(request -> request)
|
|
204
|
-
.andExpect(status().
|
|
205
|
-
.andExpect(content().string(TEST_USER_LOGIN));
|
|
198
|
+
.perform(get("/api/authenticate").with(request -> request))
|
|
199
|
+
.andExpect(status().isNoContent());
|
|
206
200
|
<%_ } _%>
|
|
207
201
|
}
|
|
208
202
|
|
|
@@ -110,7 +110,7 @@ class AccountResourceIT {
|
|
|
110
110
|
|
|
111
111
|
<%_ if (reactive) { _%>
|
|
112
112
|
@BeforeEach
|
|
113
|
-
|
|
113
|
+
void setup() {
|
|
114
114
|
claims = new HashMap<>();
|
|
115
115
|
claims.put("groups", Collections.singletonList(AuthoritiesConstants.ADMIN));
|
|
116
116
|
claims.put("sub", "jane");
|
|
@@ -120,7 +120,7 @@ class AccountResourceIT {
|
|
|
120
120
|
<%_ } _%>
|
|
121
121
|
<%_ if (syncUserWithIdp) { _%>
|
|
122
122
|
@AfterEach
|
|
123
|
-
|
|
123
|
+
void cleanup() {
|
|
124
124
|
// Remove syncUserWithIdp users
|
|
125
125
|
<%_ if (databaseTypeSql && reactive) { _%>
|
|
126
126
|
userRepository.deleteAllUserAuthorities()<%- reactorBlock %>;
|
|
@@ -185,15 +185,11 @@ class AccountResourceIT {
|
|
|
185
185
|
void testNonAuthenticatedUser() <% if (!reactive) { %>throws Exception <% } %>{
|
|
186
186
|
<%_ if (reactive) { _%>
|
|
187
187
|
webTestClient.get().uri("/api/authenticate")
|
|
188
|
-
.accept(MediaType.TEXT_PLAIN)
|
|
189
188
|
.exchange()
|
|
190
|
-
.expectStatus().
|
|
191
|
-
.expectBody().isEmpty();
|
|
189
|
+
.expectStatus().isUnauthorized();
|
|
192
190
|
<%_ } else { _%>
|
|
193
|
-
restAccountMockMvc.perform(get("/api/authenticate")
|
|
194
|
-
.
|
|
195
|
-
.andExpect(status().isOk())
|
|
196
|
-
.andExpect(content().string(""));
|
|
191
|
+
restAccountMockMvc.perform(get("/api/authenticate"))
|
|
192
|
+
.andExpect(status().isUnauthorized());
|
|
197
193
|
<%_ } _%>
|
|
198
194
|
}
|
|
199
195
|
|
|
@@ -203,16 +199,11 @@ class AccountResourceIT {
|
|
|
203
199
|
<%_ if (reactive) { _%>
|
|
204
200
|
webTestClient
|
|
205
201
|
.get().uri("/api/authenticate")
|
|
206
|
-
.accept(MediaType.TEXT_PLAIN)
|
|
207
202
|
.exchange()
|
|
208
|
-
.expectStatus().
|
|
209
|
-
.expectBody(String.class).isEqualTo(TEST_USER_LOGIN);
|
|
203
|
+
.expectStatus().isNoContent();
|
|
210
204
|
<%_ } else { _%>
|
|
211
|
-
restAccountMockMvc.perform(get("/api/authenticate")
|
|
212
|
-
.
|
|
213
|
-
.accept(MediaType.TEXT_PLAIN))
|
|
214
|
-
.andExpect(status().isOk())
|
|
215
|
-
.andExpect(content().string(TEST_USER_LOGIN));
|
|
205
|
+
restAccountMockMvc.perform(get("/api/authenticate").with(request -> request))
|
|
206
|
+
.andExpect(status().isNoContent());
|
|
216
207
|
<%_ } _%>
|
|
217
208
|
}
|
|
218
209
|
}
|
|
@@ -116,15 +116,11 @@ class AccountResourceIT {
|
|
|
116
116
|
void testNonAuthenticatedUser() <% if (!reactive) { %>throws Exception <% } %>{
|
|
117
117
|
<%_ if (reactive) { _%>
|
|
118
118
|
accountWebTestClient.get().uri("/api/authenticate")
|
|
119
|
-
.accept(MediaType.TEXT_PLAIN)
|
|
120
119
|
.exchange()
|
|
121
|
-
.expectStatus().
|
|
122
|
-
.expectBody().isEmpty();
|
|
120
|
+
.expectStatus().isUnauthorized();
|
|
123
121
|
<%_ } else { _%>
|
|
124
|
-
restAccountMockMvc.perform(get("/api/authenticate")
|
|
125
|
-
.
|
|
126
|
-
.andExpect(status().isOk())
|
|
127
|
-
.andExpect(content().string(""));
|
|
122
|
+
restAccountMockMvc.perform(get("/api/authenticate"))
|
|
123
|
+
.andExpect(status().isUnauthorized());
|
|
128
124
|
<%_ } _%>
|
|
129
125
|
}
|
|
130
126
|
|
|
@@ -134,16 +130,11 @@ class AccountResourceIT {
|
|
|
134
130
|
<%_ if (reactive) { _%>
|
|
135
131
|
accountWebTestClient
|
|
136
132
|
.get().uri("/api/authenticate")
|
|
137
|
-
.accept(MediaType.TEXT_PLAIN)
|
|
138
133
|
.exchange()
|
|
139
|
-
.expectStatus().
|
|
140
|
-
.expectBody(String.class).isEqualTo(TEST_USER_LOGIN);
|
|
134
|
+
.expectStatus().isNoContent();
|
|
141
135
|
<%_ } else { _%>
|
|
142
|
-
restAccountMockMvc.perform(get("/api/authenticate")
|
|
143
|
-
.
|
|
144
|
-
.accept(MediaType.TEXT_PLAIN))
|
|
145
|
-
.andExpect(status().isOk())
|
|
146
|
-
.andExpect(content().string(TEST_USER_LOGIN));
|
|
136
|
+
restAccountMockMvc.perform(get("/api/authenticate").with(request -> request))
|
|
137
|
+
.andExpect(status().isNoContent());
|
|
147
138
|
<%_ } _%>
|
|
148
139
|
}
|
|
149
140
|
}
|
|
@@ -81,7 +81,7 @@ class LogoutResourceIT {
|
|
|
81
81
|
private Map<String, Object> claims;
|
|
82
82
|
|
|
83
83
|
@BeforeEach
|
|
84
|
-
|
|
84
|
+
void before() <% if (!reactive) { %>throws Exception <% } %>{
|
|
85
85
|
claims = new HashMap<>();
|
|
86
86
|
claims.put("groups", Collections.singletonList(AuthoritiesConstants.USER));
|
|
87
87
|
claims.put("sub", 123);
|
|
@@ -1,24 +1,6 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2013-2025 the original author or authors from the JHipster project.
|
|
3
|
-
*
|
|
4
|
-
* This file is part of the JHipster project, see https://www.jhipster.tech/
|
|
5
|
-
* for more information.
|
|
6
|
-
*
|
|
7
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
-
* you may not use this file except in compliance with the License.
|
|
9
|
-
* You may obtain a copy of the License at
|
|
10
|
-
*
|
|
11
|
-
* https://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
-
*
|
|
13
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
14
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
-
* See the License for the specific language governing permissions and
|
|
17
|
-
* limitations under the License.
|
|
18
|
-
*/
|
|
19
|
-
import type Generator from './generator.js';
|
|
20
1
|
/**
|
|
21
2
|
* Removes server files that where generated in previous JHipster versions and therefore
|
|
22
3
|
* need to be removed.
|
|
23
4
|
*/
|
|
24
|
-
|
|
5
|
+
declare const _default: (this: import("../index.js").GeneratorBaseCore, params: import("../../lib/types/application/tasks.js").WritingTaskParam<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>>) => void;
|
|
6
|
+
export default _default;
|
|
@@ -1,8 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2013-2025 the original author or authors from the JHipster project.
|
|
3
|
+
*
|
|
4
|
+
* This file is part of the JHipster project, see https://www.jhipster.tech/
|
|
5
|
+
* for more information.
|
|
6
|
+
*
|
|
7
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
* you may not use this file except in compliance with the License.
|
|
9
|
+
* You may obtain a copy of the License at
|
|
10
|
+
*
|
|
11
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
*
|
|
13
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
* See the License for the specific language governing permissions and
|
|
17
|
+
* limitations under the License.
|
|
18
|
+
*/
|
|
19
|
+
import { asWritingTask } from '../base-application/support/task-type-inference.js';
|
|
1
20
|
/**
|
|
2
21
|
* Removes server files that where generated in previous JHipster versions and therefore
|
|
3
22
|
* need to be removed.
|
|
4
23
|
*/
|
|
5
|
-
export default function cleanupTask({ application }) {
|
|
24
|
+
export default asWritingTask(async function cleanupTask({ application, control }) {
|
|
6
25
|
if (application.cacheProviderHazelcast) {
|
|
7
26
|
if (this.isJhipsterVersionLessThan('3.12.0')) {
|
|
8
27
|
this.removeFile(`${application.javaPackageSrcDir}config/hazelcast/HazelcastCacheRegionFactory.java`);
|
|
@@ -19,4 +38,7 @@ export default function cleanupTask({ application }) {
|
|
|
19
38
|
this.removeFile('gradle/cache.gradle');
|
|
20
39
|
}
|
|
21
40
|
}
|
|
22
|
-
|
|
41
|
+
await control.cleanupFiles({
|
|
42
|
+
'8.9.1': [[application.cacheProviderInfinispan, `${application.javaPackageSrcDir}config/CacheFactoryConfiguration.java`]],
|
|
43
|
+
});
|
|
44
|
+
});
|
|
@@ -29,12 +29,6 @@ const files = {
|
|
|
29
29
|
renameTo: moveToJavaPackageSrcDir,
|
|
30
30
|
templates: ['config/CacheConfiguration.java'],
|
|
31
31
|
},
|
|
32
|
-
{
|
|
33
|
-
condition: data => data.cacheProviderInfinispan,
|
|
34
|
-
path: `${SERVER_MAIN_SRC_DIR}_package_/`,
|
|
35
|
-
renameTo: moveToJavaPackageSrcDir,
|
|
36
|
-
templates: ['config/CacheFactoryConfiguration.java'],
|
|
37
|
-
},
|
|
38
32
|
{
|
|
39
33
|
condition: data => data.cacheProviderRedis,
|
|
40
34
|
path: `${SERVER_TEST_SRC_DIR}_package_/`,
|
|
@@ -18,7 +18,11 @@
|
|
|
18
18
|
*/
|
|
19
19
|
import BaseApplicationGenerator from '../base-application/index.js';
|
|
20
20
|
export default class SpringCacheGenerator extends BaseApplicationGenerator {
|
|
21
|
-
[
|
|
21
|
+
[BaseApplicationGenerator.CONFIGURING]: any;
|
|
22
|
+
[BaseApplicationGenerator.PREPARING]: any;
|
|
23
|
+
[BaseApplicationGenerator.WRITING]: any;
|
|
24
|
+
[BaseApplicationGenerator.POST_WRITING]: any;
|
|
25
|
+
[BaseApplicationGenerator.POST_WRITING_ENTITIES]: any;
|
|
22
26
|
beforeQueue(): Promise<void>;
|
|
23
27
|
get configuring(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl, "configure">;
|
|
24
28
|
get preparing(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").PreparingTaskParam<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>>, "cancel" | "addNeedles" | "loadDependabot">;
|
|
@@ -12,4 +12,4 @@ xmemcached-provider = { module = 'com.google.code.simple-spring-memcached:xmemca
|
|
|
12
12
|
|
|
13
13
|
xmemcached = { module = 'com.googlecode.xmemcached:xmemcached', version = '2.4.8' }
|
|
14
14
|
|
|
15
|
-
redisson = { module = 'org.redisson:redisson', version = '3.
|
|
15
|
+
redisson = { module = 'org.redisson:redisson', version = '3.46.0' }
|
|
@@ -571,20 +571,6 @@ public class CacheConfiguration {
|
|
|
571
571
|
|
|
572
572
|
};
|
|
573
573
|
}
|
|
574
|
-
<%_ if (enableHibernateCache) { _%>
|
|
575
|
-
/**
|
|
576
|
-
* Hibernate properties customizer.
|
|
577
|
-
* This component ensures that Hibernate L2 cache region factory uses, as cache manager, the
|
|
578
|
-
* same instance already configured in Spring Context with {@link CacheConfiguration}
|
|
579
|
-
*
|
|
580
|
-
* @param cacheFactoryConfiguration custom infinispan region factory
|
|
581
|
-
* @return hibernate properties with custom cache region factory
|
|
582
|
-
*/
|
|
583
|
-
@Bean
|
|
584
|
-
public HibernatePropertiesCustomizer hibernatePropertiesCustomizer(CacheFactoryConfiguration cacheFactoryConfiguration) {
|
|
585
|
-
return hibernateProperties -> hibernateProperties.put(AvailableSettings.CACHE_REGION_FACTORY, cacheFactoryConfiguration);
|
|
586
|
-
}
|
|
587
|
-
<%_ } _%>
|
|
588
574
|
|
|
589
575
|
<%_ if (serviceDiscoveryAny) { _%>
|
|
590
576
|
/**
|
|
@@ -18,7 +18,11 @@
|
|
|
18
18
|
*/
|
|
19
19
|
import BaseApplicationGenerator from '../../../base-application/index.js';
|
|
20
20
|
export default class GatewayGenerator extends BaseApplicationGenerator {
|
|
21
|
-
[
|
|
21
|
+
[BaseApplicationGenerator.CONFIGURING]: any;
|
|
22
|
+
[BaseApplicationGenerator.PREPARING]: any;
|
|
23
|
+
[BaseApplicationGenerator.WRITING]: any;
|
|
24
|
+
[BaseApplicationGenerator.POST_WRITING]: any;
|
|
25
|
+
[BaseApplicationGenerator.POST_WRITING_ENTITIES]: any;
|
|
22
26
|
beforeQueue(): Promise<void>;
|
|
23
27
|
get configuring(): import("../../../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../../../lib/types/base/tasks.js").TaskParamWithControl, "reactiveByDefault">;
|
|
24
28
|
get preparing(): import("../../../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../../../lib/types/application/tasks.js").PreparingTaskParam<import("../../../base-application/index.js").Entity<import("../../../base-application/index.js").Field, never>, import("../../../../lib/types/application/application.js").ApplicationType<import("../../../base-application/index.js").Entity<import("../../../base-application/index.js").Field, never>>>, "prepareGateway">;
|
|
@@ -18,7 +18,8 @@
|
|
|
18
18
|
*/
|
|
19
19
|
import BaseApplicationGenerator from '../base-application/index.js';
|
|
20
20
|
export default class KafkaGenerator extends BaseApplicationGenerator {
|
|
21
|
-
[
|
|
21
|
+
[BaseApplicationGenerator.COMPOSING]: any;
|
|
22
|
+
[BaseApplicationGenerator.PREPARING]: any;
|
|
22
23
|
beforeQueue(): Promise<void>;
|
|
23
24
|
get composing(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl, "compose">;
|
|
24
25
|
get preparing(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").PreparingTaskParam<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>>, "preparing">;
|
|
@@ -18,7 +18,8 @@
|
|
|
18
18
|
*/
|
|
19
19
|
import BaseApplicationGenerator from '../../../base-application/index.js';
|
|
20
20
|
export default class KafkaGenerator extends BaseApplicationGenerator {
|
|
21
|
-
[
|
|
21
|
+
[BaseApplicationGenerator.WRITING]: any;
|
|
22
|
+
[BaseApplicationGenerator.POST_WRITING]: any;
|
|
22
23
|
beforeQueue(): Promise<void>;
|
|
23
24
|
get writing(): import("../../../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../../../lib/types/application/tasks.js").WritingTaskParam<import("../../../base-application/index.js").Entity<import("../../../base-application/index.js").Field, never>, import("../../../../lib/types/application/application.js").ApplicationType<import("../../../base-application/index.js").Entity<import("../../../base-application/index.js").Field, never>>>, "writing" | "cleanupKafkaFilesTask">;
|
|
24
25
|
get postWriting(): import("../../../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../../../lib/types/application/tasks.js").PostWritingTaskParam<import("../../../base-application/index.js").Entity<import("../../../base-application/index.js").Field, never>, import("../../../../lib/types/application/application.js").ApplicationType<import("../../../base-application/index.js").Entity<import("../../../base-application/index.js").Field, never>>>, "customizeApplicationForKafka" | "applyKafkaGradleConventionPlugin" | "addKafkaMavenDependencies" | "addLog">;
|