generator-jhipster 7.6.0 → 7.8.1
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 -4
- package/cli/commands.js +3 -0
- package/cli/environment-builder.js +53 -18
- package/cli/import-jdl.js +3 -0
- package/cli/index.mjs +20 -0
- package/cli/jhipster.js +19 -11
- package/cli/program.js +94 -38
- package/generators/app/esm.mjs +1 -3
- package/generators/app/index.js +11 -16
- package/generators/aws/esm.mjs +1 -3
- package/generators/azure-app-service/esm.mjs +1 -3
- package/generators/azure-spring-cloud/esm.mjs +1 -3
- package/generators/base/esm.mjs +1 -3
- package/generators/bootstrap/esm.mjs +1 -3
- package/generators/bootstrap/index.js +36 -86
- package/generators/bootstrap-application/esm.mjs +19 -0
- package/generators/bootstrap-application/generator.mjs +353 -0
- package/generators/bootstrap-application/index.mjs +19 -0
- package/generators/ci-cd/esm.mjs +1 -3
- package/generators/ci-cd/index.js +1 -1
- package/generators/ci-cd/prompts.js +1 -1
- package/generators/ci-cd/templates/github-actions.yml.ejs +6 -6
- package/generators/client/esm.mjs +5 -3
- package/generators/client/files-angular.js +9 -0
- package/generators/client/files-common.js +9 -9
- package/generators/client/files-react.js +25 -2
- package/generators/client/files-vue.js +7 -6
- package/generators/client/index.js +3 -2
- package/generators/client/needle-api/needle-client-react.js +11 -8
- package/generators/client/templates/angular/angular.json.ejs +2 -10
- package/generators/client/templates/angular/jest.conf.js.ejs +1 -1
- package/generators/client/templates/angular/package.json +29 -27
- package/generators/client/templates/angular/package.json.ejs +6 -2
- package/generators/client/templates/angular/src/main/webapp/app/account/activate/activate.component.html.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/account/password/password.component.html.ejs +7 -7
- package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.html.ejs +5 -5
- package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/init/password-reset-init.component.html.ejs +3 -3
- package/generators/client/templates/angular/src/main/webapp/app/account/register/register.component.html.ejs +10 -10
- package/generators/client/templates/angular/src/main/webapp/app/account/settings/settings.component.html.ejs +8 -8
- package/generators/client/templates/angular/src/main/webapp/app/admin/configuration/configuration.component.html.ejs +2 -2
- package/generators/client/templates/angular/src/main/webapp/app/admin/gateway/gateway.component.html.ejs +5 -5
- package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.component.html.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.component.spec.ts.ejs +2 -2
- package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.component.ts.ejs +2 -2
- package/generators/client/templates/angular/src/main/webapp/app/admin/health/modal/health-modal.component.html.ejs +6 -6
- package/generators/client/templates/angular/src/main/webapp/app/admin/logs/logs.component.html.ejs +51 -49
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-cache/metrics-cache.component.html.ejs +16 -16
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-datasource/metrics-datasource.component.html.ejs +32 -32
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-endpoints-requests/metrics-endpoints-requests.component.html.ejs +4 -4
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-garbagecollector/metrics-garbagecollector.component.html.ejs +18 -18
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.html.ejs +12 -12
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.ts.ejs +4 -4
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-request/metrics-request.component.html.ejs +4 -4
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-system/metrics-system.component.html.ejs +8 -8
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/metrics.component.html.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.html.ejs +4 -4
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/list/user-management.component.html.ejs +5 -5
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/list/user-management.component.ts.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/update/user-management-update.component.html.ejs +11 -11
- package/generators/client/templates/angular/src/main/webapp/app/core/util/data-util.service.ts.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/core/util/parse-links.service.ts.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.html.ejs +4 -2
- package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.scss.ejs +0 -6
- package/generators/client/templates/angular/src/main/webapp/app/layouts/profiles/page-ribbon.component.scss.ejs +0 -6
- package/generators/client/templates/angular/src/main/webapp/app/login/login.component.html.ejs +3 -3
- package/generators/client/templates/angular/src/main/webapp/content/scss/_bootstrap-variables.scss.ejs +5 -5
- package/generators/client/templates/angular/src/main/webapp/content/scss/global.scss.ejs +29 -0
- package/generators/client/templates/angular/src/main/webapp/content/scss/vendor.scss.ejs +0 -4
- package/generators/client/templates/angular/webpack/webpack.custom.js.ejs +31 -1
- package/generators/client/templates/common/package.json +7 -6
- package/generators/client/templates/common/src/main/webapp/swagger-ui/index.html.ejs +1 -7
- package/generators/client/templates/common/webpack/webpack.microfrontend.js.jhi.ejs +2 -3
- package/generators/client/templates/react/.eslintrc.json.ejs +1 -1
- package/generators/client/templates/react/jest.conf.js.ejs +1 -1
- package/generators/client/templates/react/package.json +44 -45
- package/generators/client/templates/react/package.json.ejs +1 -0
- package/generators/client/templates/react/src/main/webapp/app/app.scss.ejs +1 -1
- package/generators/client/templates/react/src/main/webapp/app/config/store.ts.ejs +53 -6
- package/generators/client/templates/react/src/main/webapp/app/config/translation-middleware.ts.ejs +58 -0
- package/generators/client/templates/react/src/main/webapp/app/entities/menu.tsx.ejs +45 -0
- package/generators/client/templates/react/src/main/webapp/app/entities/reducers.ts.ejs +25 -0
- package/generators/client/templates/react/src/main/webapp/app/entities/routes.tsx.ejs +47 -0
- package/generators/client/templates/react/src/main/webapp/app/index.tsx.ejs +7 -7
- package/generators/client/templates/react/src/main/webapp/app/main.tsx.ejs +19 -0
- package/generators/client/templates/react/src/main/webapp/app/modules/administration/logs/logs.tsx.ejs +1 -1
- package/generators/client/templates/react/src/main/webapp/app/modules/administration/user-management/user-management.tsx.ejs +2 -1
- package/generators/client/templates/react/src/main/webapp/app/modules/login/login-modal.tsx.ejs +5 -1
- package/generators/client/templates/react/src/main/webapp/app/routes.tsx.ejs +24 -7
- package/generators/client/templates/react/src/main/webapp/app/shared/error/error-loading.tsx.ejs +15 -0
- package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/entities.tsx.ejs +34 -6
- package/generators/client/templates/react/src/main/webapp/app/shared/reducers/index.ts.ejs +9 -2
- package/generators/client/templates/react/src/main/webapp/app/shared/reducers/locale.spec.ts.ejs +9 -3
- package/generators/client/templates/react/src/main/webapp/app/shared/reducers/locale.ts.ejs +21 -5
- package/generators/client/templates/react/src/main/webapp/app/typings.d.ts.ejs +15 -0
- package/generators/client/templates/react/src/main/webapp/microfrontends/entities-menu.tsx.ejs +3 -0
- package/generators/client/templates/react/src/main/webapp/microfrontends/entities-routes.tsx.ejs +3 -0
- package/generators/client/templates/react/tsconfig.json.ejs +3 -3
- package/generators/client/templates/react/tsconfig.test.json.ejs +9 -1
- package/generators/client/templates/react/webpack/webpack.common.js.ejs +6 -13
- package/generators/client/templates/react/webpack/webpack.dev.js.ejs +7 -8
- package/generators/client/templates/react/webpack/webpack.microfrontend.js.jhi.react.ejs +99 -0
- package/generators/client/templates/react/webpack/webpack.prod.js.ejs +31 -21
- package/generators/client/templates/vue/package.json +30 -31
- package/generators/client/templates/vue/package.json.ejs +1 -1
- package/generators/client/templates/vue/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.ts.ejs +4 -3
- package/generators/client/templates/vue/src/main/webapp/app/entities/user/user.service.ts.ejs +0 -0
- package/generators/client/templates/vue/src/main/webapp/app/main.ts.ejs +29 -1
- package/generators/client/templates/vue/src/main/webapp/app/shared/config/axios-interceptor.ts.ejs +2 -2
- package/generators/client/templates/vue/src/main/webapp/app/shared/config/config.ts.ejs +0 -4
- package/generators/client/templates/vue/src/main/webapp/app/shared/data/data-utils.service.ts.ejs +1 -1
- package/generators/client/templates/vue/src/test/javascript/jest.conf.js.ejs +2 -2
- package/generators/client/templates/vue/tsconfig.json.ejs +0 -3
- package/generators/client/templates/vue/webpack/webpack.common.js.ejs +6 -2
- package/generators/cloudfoundry/esm.mjs +1 -3
- package/generators/common/esm.mjs +2 -3
- package/generators/common/files.js +1 -2
- package/generators/common/index.js +6 -0
- package/generators/common/templates/.husky/{pre-commit → pre-commit.ejs} +4 -0
- package/generators/common/templates/README.md.jhi.ejs +3 -1
- package/generators/common/templates/package.json +4 -4
- package/generators/common/templates/sonar-project.properties.ejs +1 -1
- package/generators/cypress/esm.mjs +2 -3
- package/generators/cypress/files.js +2 -1
- package/generators/cypress/templates/src/test/javascript/cypress/integration/account/settings-page.spec.ts.ejs +18 -14
- package/generators/database-changelog/esm.mjs +1 -3
- package/generators/database-changelog/index.js +1 -1
- package/generators/database-changelog-liquibase/esm.mjs +2 -3
- package/generators/docker-compose/esm.mjs +1 -3
- package/generators/docker-compose/index.js +9 -5
- package/generators/entities/esm.mjs +1 -3
- package/generators/entities/index.js +2 -2
- package/generators/entities-client/esm.mjs +1 -3
- package/generators/entity/esm.mjs +1 -3
- package/generators/entity/index.js +39 -28
- package/generators/entity/prompts.js +4 -1
- package/generators/entity-client/esm.mjs +2 -3
- package/generators/entity-client/index.js +8 -0
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/delete/entity-management-delete-dialog.component.html.ejs +1 -1
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/detail/entity-management-detail.component.html.ejs +2 -2
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.html.ejs +20 -21
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.ts.ejs +1 -1
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.html.ejs +14 -16
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.ts.ejs +3 -3
- package/generators/entity-client/templates/common/src/test/javascript/cypress/integration/entity/entity.spec.ts.ejs +2 -1
- package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-delete-dialog.tsx.ejs +3 -3
- package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-detail.tsx.ejs +5 -4
- package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-reducer.spec.ts.ejs +1 -1
- package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-update.tsx.ejs +20 -19
- package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity.reducer.ts.ejs +2 -2
- package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity.tsx.ejs +21 -20
- package/generators/entity-client/templates/react/src/test/javascript/e2e/entities/entity-update-page-object.ts.ejs +1 -1
- package/generators/entity-client/templates/vue/src/test/javascript/e2e/entities/entity-update-page-object.ts.ejs +1 -1
- package/generators/entity-client/templates/vue/src/test/javascript/e2e/entities/entity.spec.ts.ejs +1 -1
- package/generators/entity-i18n/esm.mjs +2 -3
- package/generators/entity-i18n/templates/i18n/entity_fr.json.ejs +1 -1
- package/generators/entity-server/esm.mjs +2 -3
- package/generators/entity-server/files-couchbase.js +23 -2
- package/generators/entity-server/files.js +40 -6
- package/generators/entity-server/index.js +27 -2
- package/generators/entity-server/templates/couchbase/src/main/java/package/domain/Entity.java.jhi.spring_data_couchbase.ejs +11 -13
- package/generators/entity-server/templates/couchbase/src/main/java/package/repository/EntityRepository.java.ejs +30 -43
- package/generators/entity-server/templates/couchbase/src/main/resources/config/couchmove/changelog/entity.fts.ejs +5 -6
- package/generators/entity-server/templates/couchbase/src/main/resources/config/couchmove/changelog/entity.n1ql.ejs +5 -0
- package/generators/entity-server/templates/partials/it_patch_update.partial.java.ejs +2 -2
- package/generators/entity-server/templates/partials/save_template.ejs +1 -1
- package/generators/entity-server/templates/partials/update_template.ejs +77 -0
- package/generators/entity-server/templates/reactive/partials/save_template.ejs +1 -1
- package/generators/entity-server/templates/reactive/partials/update_template.ejs +41 -0
- package/generators/entity-server/templates/src/main/java/package/common/get_all_template.ejs +5 -5
- package/generators/entity-server/templates/src/main/java/package/common/get_template.ejs +1 -1
- package/generators/entity-server/templates/src/main/java/package/common/inject_template.ejs +17 -8
- package/generators/entity-server/templates/src/main/java/package/common/patch_template.ejs +5 -5
- package/generators/entity-server/templates/src/main/java/package/common/search_stream_template.ejs +1 -1
- package/generators/entity-server/templates/src/main/java/package/common/search_template.ejs +1 -1
- package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.ejs +4 -3
- package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.javax_lifecycle_events.ejs +31 -0
- package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.spring_data_persistable.ejs +54 -0
- package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.spring_data_reactive.ejs +1 -1
- package/generators/entity-server/templates/src/main/java/package/domain/EntityCallback.java.ejs +43 -0
- package/generators/entity-server/templates/src/main/java/package/repository/EntityRepository.java.ejs +36 -23
- package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryInternalImpl_reactive.java.ejs +24 -28
- package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryWithBagRelationships.java.ejs +37 -0
- package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryWithBagRelationshipsImpl.java.ejs +91 -0
- package/generators/entity-server/templates/src/main/java/package/repository/EntityRepository_reactive.java.ejs +17 -25
- package/generators/entity-server/templates/src/main/java/package/repository/EntitySqlHelper_reactive.java.ejs +2 -2
- package/generators/entity-server/templates/src/main/java/package/repository/rowmapper/EntityRowMapper.java.ejs +3 -3
- package/generators/entity-server/templates/src/main/java/package/repository/search/EntitySearchRepository.java.ejs +12 -27
- package/generators/entity-server/templates/src/main/java/package/service/EntityService.java.ejs +10 -2
- package/generators/entity-server/templates/src/main/java/package/service/criteria/EntityCriteria.java.ejs +8 -6
- package/generators/entity-server/templates/src/main/java/package/service/impl/EntityServiceImpl.java.ejs +21 -5
- package/generators/entity-server/templates/src/main/java/package/service/mapper/EntityMapper.java.ejs +61 -90
- package/generators/entity-server/templates/src/main/java/package/web/rest/EntityResource.java.ejs +6 -4
- package/generators/entity-server/templates/src/test/java/package/web/rest/EntityResourceIT.java.ejs +33 -20
- package/generators/export-jdl/esm.mjs +1 -3
- package/generators/gae/esm.mjs +1 -3
- package/generators/generate-blueprint/constants.mjs +146 -0
- package/generators/generate-blueprint/esm.mjs +19 -0
- package/generators/generate-blueprint/files.mjs +81 -0
- package/generators/generate-blueprint/generator.mjs +363 -0
- package/generators/generate-blueprint/index.mjs +20 -0
- package/generators/generate-blueprint/templates/.eslintrc.json.ejs +41 -0
- package/generators/generate-blueprint/templates/.github/workflows/generator.yml.ejs +32 -0
- package/generators/generate-blueprint/templates/.mocharc.cjs.ejs +29 -0
- package/generators/{server/templates/couchbase/src/main/java/package/config/couchbase/package-info.java.ejs → generate-blueprint/templates/.prettierignore.jhi.blueprint.ejs} +4 -7
- package/generators/generate-blueprint/templates/README.md.ejs +75 -0
- package/generators/generate-blueprint/templates/cli/cli.mjs.ejs +35 -0
- package/generators/generate-blueprint/templates/cli/commands.cjs.ejs +25 -0
- package/generators/generate-blueprint/templates/generators/generator/generator.mjs.jhi.ejs +98 -0
- package/generators/generate-blueprint/templates/generators/generator/generator.spec.mjs.ejs +42 -0
- package/generators/generate-blueprint/templates/generators/generator/index.mjs.ejs +19 -0
- package/generators/generate-blueprint/templates/generators/generator/templates/template-file.ejs +0 -0
- package/generators/generate-blueprint/templates/test/utils.mjs.ejs +17 -0
- package/generators/generator-base-blueprint.js +29 -0
- package/generators/generator-base-docker.js +1 -0
- package/generators/generator-base-entities.cjs +368 -0
- package/generators/generator-base-private.js +1 -1
- package/generators/generator-base.js +157 -23
- package/generators/generator-constants.js +22 -20
- package/generators/generator-list.js +2 -0
- package/generators/generator-transforms.js +0 -1
- package/generators/gradle/constants.cjs +1 -1
- package/generators/gradle/esm.mjs +19 -0
- package/generators/heroku/esm.mjs +1 -3
- package/generators/info/esm.mjs +1 -3
- package/generators/init/esm.mjs +19 -0
- package/generators/init/files.cjs +9 -3
- package/generators/init/index.cjs +5 -0
- package/generators/init/templates/.gitignore.jhi.ejs +5 -0
- package/generators/init/templates/{.lintstagedrc.js.ejs → .lintstagedrc.cjs.ejs} +0 -0
- package/generators/java/esm.mjs +19 -0
- package/generators/java/index.cjs +58 -2
- package/generators/kubernetes/esm.mjs +1 -3
- package/generators/kubernetes-helm/esm.mjs +1 -3
- package/generators/kubernetes-knative/esm.mjs +1 -3
- package/generators/languages/esm.mjs +2 -3
- package/generators/languages/templates/src/test/resources/i18n/messages_fr.properties.ejs +4 -1
- package/generators/maven/esm.mjs +19 -0
- package/generators/maven/files.cjs +0 -1
- package/generators/maven/templates/.mvn/wrapper/maven-wrapper.jar +0 -0
- package/generators/maven/templates/.mvn/wrapper/maven-wrapper.properties +18 -2
- package/generators/maven/templates/mvnw +13 -7
- package/generators/maven/templates/mvnw.cmd +19 -13
- package/generators/maven/templates/pom.xml.jhi.ejs +1 -1
- package/generators/openapi-client/esm.mjs +1 -3
- package/generators/openapi-client/index.js +11 -4
- package/generators/openshift/esm.mjs +1 -3
- package/generators/page/esm.mjs +1 -3
- package/generators/project-name/esm.mjs +19 -0
- package/generators/server/cleanup.js +19 -3
- package/generators/server/esm.mjs +2 -2
- package/generators/server/files-couchbase.js +28 -31
- package/generators/server/files.js +115 -18
- package/generators/server/index.js +23 -17
- package/generators/server/needle-api/needle-server-gradle.js +38 -0
- package/generators/server/needle-api/needle-server-maven.js +1 -1
- package/generators/server/templates/.mvn/jvm.config +1 -0
- package/generators/server/templates/.mvn/wrapper/maven-wrapper.jar +0 -0
- package/generators/server/templates/.mvn/wrapper/maven-wrapper.properties +18 -2
- package/generators/server/templates/build.gradle.ejs +7 -5
- package/generators/server/templates/couchbase/src/main/java/package/repository/CouchbaseSearchRepository.java.ejs +91 -0
- package/generators/server/templates/couchbase/src/main/java/package/repository/JHipsterCouchbaseRepository.java.ejs +47 -45
- package/generators/server/templates/couchbase/src/main/java/package/repository/PersistentTokenRepository_couchbase.java.ejs +2 -2
- package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.1__initial_setup/authority/ROLE_ADMIN.json.ejs +3 -0
- package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.1__initial_setup/authority/ROLE_USER.json.ejs +3 -0
- package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.1__initial_setup/{user__admin.json.ejs → user/admin.json.ejs} +2 -2
- package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.1__initial_setup/{user__user.json.ejs → user/user.json.ejs} +2 -2
- package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.2__create_indexes.n1ql.ejs +34 -0
- package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0__create_collections.n1ql.ejs +8 -0
- package/generators/server/templates/couchbase/src/test/java/package/CouchbaseTestContainerExtension.java.ejs +4 -3
- package/generators/server/templates/couchbase/src/test/java/package/repository/{JHipsterCouchbaseRepositoryTest.java.ejs → CouchbaseSearchRepositoryTest.java.ejs} +2 -2
- package/generators/server/templates/devcontainer/Dockerfile.ejs +25 -0
- package/generators/server/templates/devcontainer/devcontainer.json.ejs +64 -0
- package/generators/server/templates/gradle/profile_prod.gradle.ejs +4 -0
- package/generators/server/templates/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/generators/server/templates/gradle.properties.ejs +8 -8
- package/generators/server/templates/mvnw +13 -7
- package/generators/server/templates/mvnw.cmd +19 -13
- package/generators/server/templates/npmw +14 -5
- package/generators/server/templates/pom.xml.ejs +65 -58
- package/generators/server/templates/settings.gradle.ejs +6 -4
- package/generators/server/templates/src/main/docker/app.yml.ejs +4 -6
- package/generators/server/templates/src/main/docker/config/realm-config/jhipster-realm.json.ejs +2 -1
- package/generators/server/templates/src/main/docker/mysql.yml.ejs +1 -0
- package/generators/server/templates/src/main/docker/zipkin.yml.ejs +25 -0
- package/generators/server/templates/src/main/java/package/config/AsyncConfiguration.java.ejs +6 -0
- package/generators/server/templates/src/main/java/package/config/DatabaseConfiguration_couchbase.java.ejs +26 -16
- package/generators/{client/templates/react/src/main/webapp/app/entities/index.tsx.ejs → server/templates/src/main/java/package/config/KafkaSseConsumer.java.ejs} +8 -14
- package/generators/server/templates/src/main/java/package/config/KafkaSseProducer.java.ejs +30 -0
- package/generators/server/templates/src/main/java/package/config/LocaleConfiguration_reactive.java.ejs +1 -1
- package/generators/server/templates/src/main/java/package/config/SecurityConfiguration.java.ejs +12 -10
- package/generators/server/templates/src/main/java/package/config/SecurityConfiguration_reactive.java.ejs +2 -1
- package/generators/server/templates/src/main/java/package/domain/Authority.java.ejs +11 -0
- package/generators/server/templates/src/main/java/package/domain/PersistentToken.java.ejs +6 -6
- package/generators/server/templates/src/main/java/package/domain/User.java.ejs +9 -7
- package/generators/server/templates/src/main/java/package/repository/AuthorityRepository.java.ejs +1 -11
- package/generators/server/templates/src/main/java/package/repository/EntityManager.java.ejs +48 -38
- package/generators/server/templates/src/main/java/package/repository/UserRepository.java.ejs +48 -72
- package/generators/server/templates/src/main/java/package/security/jwt/JWTFilter.java.ejs +1 -1
- package/generators/server/templates/src/main/java/package/security/jwt/TokenProvider.java.ejs +1 -1
- package/generators/server/templates/src/main/java/package/security/oauth2/CustomClaimConverter.java.ejs +1 -1
- package/generators/server/templates/src/main/java/package/service/UserService.java.ejs +8 -6
- package/generators/server/templates/src/main/java/package/web/filter/OAuth2ReactiveRefreshTokensWebFilter.java.ejs +0 -1
- package/generators/server/templates/src/main/java/package/web/rest/AccountResource.java.ejs +1 -1
- package/generators/server/templates/src/main/java/package/web/rest/KafkaResource.java.ejs +60 -108
- package/generators/server/templates/src/main/java/package/web/rest/KafkaResource_reactive.java.ejs +74 -0
- package/generators/server/templates/src/main/java/package/web/rest/LogoutResource_reactive.java.ejs +1 -1
- package/generators/server/templates/src/main/java/package/web/rest/PublicUserResource.java.ejs +2 -2
- package/generators/server/templates/src/main/resources/config/application-dev.yml.ejs +8 -0
- package/generators/server/templates/src/main/resources/config/application-prod.yml.ejs +6 -0
- package/generators/server/templates/src/main/resources/config/application.yml.ejs +28 -22
- package/generators/server/templates/src/test/java/package/CassandraKeyspaceIT.java.ejs +3 -4
- package/generators/server/templates/src/test/java/package/IntegrationTest.java.ejs +12 -4
- package/generators/server/templates/src/test/java/package/TechnicalStructureTest.java.ejs +18 -15
- package/generators/server/templates/src/test/java/package/config/CassandraTestContainer.java.ejs +122 -0
- package/generators/server/templates/src/test/java/package/config/EmbeddedCassandra.java.ejs +11 -0
- package/generators/server/templates/src/test/java/package/config/EmbeddedKafka.java.ejs +11 -0
- package/generators/server/templates/src/test/java/package/config/EmbeddedMongo.java.ejs +11 -0
- package/generators/server/templates/src/test/java/package/config/JHipsterBlockHoundIntegration.java.ejs +2 -0
- package/generators/server/templates/src/test/java/package/config/KafkaTestContainer.java.ejs +38 -0
- package/generators/server/templates/src/test/java/package/config/MongoDbTestContainer.java.ejs +67 -0
- package/generators/server/templates/src/test/java/package/config/TestContainersSpringContextCustomizerFactory.java.ejs +114 -0
- package/generators/server/templates/src/test/java/package/cucumber/CucumberIT.java.ejs +3 -10
- package/generators/server/templates/src/test/java/package/cucumber/stepdefs/StepDefs.java.ejs +8 -0
- package/generators/server/templates/src/test/java/package/cucumber/stepdefs/UserStepDefs.java.ejs +17 -3
- package/generators/server/templates/src/test/java/package/security/DomainUserDetailsServiceIT.java.ejs +1 -4
- package/generators/server/templates/src/test/java/package/security/SecurityUtilsUnitTest_reactive.java.ejs +1 -1
- package/generators/server/templates/src/test/java/package/security/jwt/JWTFilterTest.java.ejs +5 -5
- package/generators/server/templates/src/test/java/package/security/oauth2/CustomClaimConverterIT.java.ejs +1 -1
- package/generators/server/templates/src/test/java/package/service/MailServiceIT.java.ejs +2 -4
- package/generators/server/templates/src/test/java/package/service/UserServiceIT.java.ejs +1 -4
- package/generators/server/templates/src/test/java/package/service/mapper/UserMapperTest.java.ejs +1 -1
- package/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT.java.ejs +15 -8
- package/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT_oauth2.java.ejs +1 -4
- package/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT_skipUserManagement.java.ejs +1 -4
- package/generators/server/templates/src/test/java/package/web/rest/KafkaResourceIT.java.ejs +52 -123
- package/generators/server/templates/src/test/java/package/web/rest/KafkaResourceIT_reactive.java.ejs +99 -0
- package/generators/server/templates/src/test/java/package/web/rest/PublicUserResourceIT.java.ejs +7 -10
- package/generators/server/templates/src/test/java/package/web/rest/TestUtil.java.ejs +1 -6
- package/generators/server/templates/src/test/java/package/web/rest/UserJWTControllerIT.java.ejs +1 -4
- package/generators/server/templates/src/test/java/package/web/rest/UserResourceIT.java.ejs +42 -47
- package/generators/server/templates/src/test/java/package/web/rest/errors/ExceptionTranslatorIT.java.ejs +1 -4
- package/generators/server/templates/src/test/java/package/web/rest/errors/ExceptionTranslatorIT_reactive.java.ejs +2 -5
- package/generators/server/templates/src/test/resources/META-INF/spring.factories.ejs +1 -1
- package/generators/server/templates/src/test/resources/config/application.yml.ejs +21 -20
- package/generators/server/templates/src/test/resources/testcontainers.properties.ejs +1 -0
- package/generators/spring-boot/esm.mjs +19 -0
- package/generators/spring-controller/esm.mjs +1 -3
- package/generators/spring-service/esm.mjs +1 -3
- package/generators/upgrade/esm.mjs +1 -3
- package/generators/upgrade-config/esm.mjs +1 -3
- package/generators/workspaces/esm.mjs +1 -3
- package/generators/workspaces/index.js +2 -1
- package/lib/constants/logo.cjs +30 -0
- package/lib/constants/priorities.cjs +216 -2
- package/lib/constants/priorities.mjs +29 -1
- package/lib/index.mjs +6 -0
- package/lib/support/mixin.cjs +5 -1
- package/lib/support/shared-data.cjs +34 -1
- package/package.json +33 -29
- package/utils/entity.js +21 -2
- package/utils/faker.js +3 -3
- package/utils/field.js +69 -52
- package/utils/relationship.js +15 -4
- package/utils/user.js +109 -0
- package/generators/app/generator.spec.mjs +0 -47
- package/generators/aws/generator.spec.mjs +0 -47
- package/generators/azure-app-service/generator.spec.mjs +0 -47
- package/generators/azure-spring-cloud/generator.spec.mjs +0 -47
- package/generators/base/generator.spec.mjs +0 -44
- package/generators/bootstrap/generator.spec.mjs +0 -44
- package/generators/ci-cd/generator.spec.mjs +0 -47
- package/generators/client/__workflow/devserver-angular.json +0 -13
- package/generators/client/__workflow/devserver-react.json +0 -13
- package/generators/client/__workflow/devserver-vue.json +0 -13
- package/generators/client/generator.spec.mjs +0 -47
- package/generators/cloudfoundry/generator.spec.mjs +0 -47
- package/generators/common/generator.spec.mjs +0 -47
- package/generators/cypress/generator.spec.mjs +0 -47
- package/generators/database-changelog/generator.spec.mjs +0 -47
- package/generators/database-changelog-liquibase/generator.spec.mjs +0 -47
- package/generators/docker-compose/generator.spec.mjs +0 -44
- package/generators/entities/generator.spec.mjs +0 -47
- package/generators/entities-client/generator.spec.mjs +0 -47
- package/generators/entity/generator.spec.mjs +0 -47
- package/generators/entity-client/generator.spec.mjs +0 -47
- package/generators/entity-i18n/generator.spec.mjs +0 -47
- package/generators/entity-server/generator.spec.mjs +0 -47
- package/generators/entity-server/templates/src/main/java/package/repository/search/SortToFieldSortBuilderConverter.java.ejs +0 -24
- package/generators/export-jdl/generator.spec.mjs +0 -44
- package/generators/gae/generator.spec.mjs +0 -47
- package/generators/gradle/__snapshots__/generator.spec.cjs.snap +0 -59
- package/generators/gradle/generator.spec.cjs +0 -71
- package/generators/heroku/generator.spec.mjs +0 -47
- package/generators/info/generator.spec.mjs +0 -44
- package/generators/init/__snapshots__/generator.spec.cjs.snap +0 -65
- package/generators/init/generator.spec.cjs +0 -112
- package/generators/java/__snapshots__/generator.spec.cjs.snap +0 -118
- package/generators/java/generator.spec.cjs +0 -87
- package/generators/kubernetes/generator.spec.mjs +0 -44
- package/generators/kubernetes-helm/generator.spec.mjs +0 -44
- package/generators/kubernetes-knative/generator.spec.mjs +0 -44
- package/generators/languages/generator.spec.mjs +0 -47
- package/generators/maven/__snapshots__/generator.spec.cjs.snap +0 -53
- package/generators/maven/generator.spec.cjs +0 -78
- package/generators/maven/templates/.mvn/wrapper/MavenWrapperDownloader.java +0 -117
- package/generators/openapi-client/generator.spec.mjs +0 -47
- package/generators/openshift/generator.spec.mjs +0 -44
- package/generators/page/generator.spec.mjs +0 -47
- package/generators/project-name/generator.spec.cjs +0 -43
- package/generators/server/__snapshots__/generator.spec.mjs.snap +0 -1931
- package/generators/server/generator.spec.mjs +0 -52
- package/generators/server/templates/.mvn/wrapper/MavenWrapperDownloader.java +0 -117
- package/generators/server/templates/couchbase/src/main/java/package/config/couchbase/CustomCouchbaseRepositoryFactory.java.ejs +0 -83
- package/generators/server/templates/couchbase/src/main/java/package/config/couchbase/CustomCouchbaseRepositoryFactoryBean.java.ejs +0 -40
- package/generators/server/templates/couchbase/src/main/java/package/config/couchbase/CustomCouchbaseRepositoryQuery.java.ejs +0 -44
- package/generators/server/templates/couchbase/src/main/java/package/config/couchbase/CustomN1qlQueryCreator.java.ejs +0 -162
- package/generators/server/templates/couchbase/src/main/java/package/config/couchbase/CustomN1qlRepositoryQueryExecutor.java.ejs +0 -104
- package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.1__initial_setup/ROLE_ADMIN.json.ejs +0 -3
- package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.1__initial_setup/ROLE_USER.json.ejs +0 -3
- package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0__create_indexes.n1ql.ejs +0 -19
- package/generators/server/templates/src/main/java/package/config/KafkaProperties.java.ejs +0 -68
- package/generators/server/templates/src/test/java/package/AbstractCassandraTest.java.ejs +0 -125
- package/generators/server/templates/src/test/java/package/MongoDbTestContainerExtension.java.ejs +0 -37
- package/generators/server/templates/src/test/java/package/TestContainersSpringContextCustomizerFactory.java.ejs +0 -24
- package/generators/spring-boot/__snapshots__/generator.spec.cjs.snap +0 -80
- package/generators/spring-boot/generator.spec.cjs +0 -64
- package/generators/spring-controller/generator.spec.mjs +0 -47
- package/generators/spring-service/generator.spec.mjs +0 -47
- package/generators/upgrade/generator.spec.mjs +0 -44
- package/generators/upgrade-config/generator.spec.mjs +0 -44
- package/generators/workspaces/generator.spec.mjs +0 -47
|
@@ -26,6 +26,11 @@ import org.hibernate.annotations.CacheConcurrencyStrategy;
|
|
|
26
26
|
import org.springframework.data.annotation.Id;
|
|
27
27
|
import org.springframework.data.<%= databaseType %>.core.mapping.Document;
|
|
28
28
|
<%_ } _%>
|
|
29
|
+
<%_ if (databaseTypeCouchbase) { _%>
|
|
30
|
+
import org.springframework.data.annotation.TypeAlias;
|
|
31
|
+
import org.springframework.data.couchbase.repository.Collection;
|
|
32
|
+
import static <%= packageName %>.domain.Authority.TYPE_NAME;
|
|
33
|
+
<%_ } _%>
|
|
29
34
|
<%_ if (databaseTypeNeo4j) { _%>
|
|
30
35
|
import org.springframework.data.neo4j.core.schema.Id;
|
|
31
36
|
import org.springframework.data.neo4j.core.schema.Node;
|
|
@@ -73,11 +78,17 @@ import java.util.Objects;
|
|
|
73
78
|
<%_ } _%>
|
|
74
79
|
<%_ if (databaseTypeCouchbase) { _%>
|
|
75
80
|
@Document
|
|
81
|
+
@TypeAlias(TYPE_NAME)
|
|
82
|
+
@Collection(TYPE_NAME)
|
|
76
83
|
<%_ } _%>
|
|
77
84
|
public class Authority implements Serializable<% if (databaseTypeSql && reactive) { %>, Persistable<String><% } %> {
|
|
78
85
|
|
|
79
86
|
private static final long serialVersionUID = 1L;
|
|
80
87
|
|
|
88
|
+
<%_ if (databaseTypeCouchbase) { _%>
|
|
89
|
+
public static final String TYPE_NAME = "authority";
|
|
90
|
+
<%_ } _%>
|
|
91
|
+
|
|
81
92
|
@NotNull
|
|
82
93
|
@Size(max = 50)
|
|
83
94
|
@Id
|
|
@@ -48,7 +48,9 @@ import org.springframework.data.annotation.Id;
|
|
|
48
48
|
import org.springframework.data.couchbase.core.mapping.Document;
|
|
49
49
|
import org.springframework.data.couchbase.core.mapping.id.GeneratedValue;
|
|
50
50
|
import org.springframework.data.couchbase.core.mapping.id.IdAttribute;
|
|
51
|
-
import org.springframework.data.
|
|
51
|
+
import org.springframework.data.annotation.TypeAlias;
|
|
52
|
+
import org.springframework.data.couchbase.repository.Collection;
|
|
53
|
+
import static <%= packageName %>.domain.Authority.TYPE_NAME;
|
|
52
54
|
<%_ } _%>
|
|
53
55
|
|
|
54
56
|
<%_ if (databaseTypeSql) { _%>
|
|
@@ -88,6 +90,8 @@ import static org.springframework.data.couchbase.core.mapping.id.GenerationStrat
|
|
|
88
90
|
<%_ } _%>
|
|
89
91
|
<%_ if (databaseTypeCouchbase) { _%>
|
|
90
92
|
@Document
|
|
93
|
+
@TypeAlias(TYPE_NAME)
|
|
94
|
+
@Collection(TYPE_NAME)
|
|
91
95
|
<%_ } _%>
|
|
92
96
|
<%_ if (databaseTypeCassandra) { _%>
|
|
93
97
|
<%_ if (reactive) { _%>
|
|
@@ -104,11 +108,7 @@ public class PersistentToken implements Serializable {
|
|
|
104
108
|
private static final int MAX_USER_AGENT_LEN = 255;
|
|
105
109
|
|
|
106
110
|
<%_ if (databaseTypeCouchbase) { _%>
|
|
107
|
-
public static final String
|
|
108
|
-
|
|
109
|
-
@SuppressWarnings("unused")
|
|
110
|
-
@IdPrefix
|
|
111
|
-
private String prefix = PREFIX;
|
|
111
|
+
public static final String TYPE_NAME = "persistentToken";
|
|
112
112
|
|
|
113
113
|
@Id
|
|
114
114
|
@GeneratedValue(strategy = USE_ATTRIBUTES, delimiter = ID_DELIMITER)
|
|
@@ -66,7 +66,9 @@ import org.springframework.data.annotation.Id;
|
|
|
66
66
|
import org.springframework.data.couchbase.core.mapping.Document;
|
|
67
67
|
import org.springframework.data.couchbase.core.mapping.id.GeneratedValue;
|
|
68
68
|
import org.springframework.data.couchbase.core.mapping.id.IdAttribute;
|
|
69
|
-
import org.springframework.data.
|
|
69
|
+
import org.springframework.data.annotation.TypeAlias;
|
|
70
|
+
import org.springframework.data.couchbase.repository.Collection;
|
|
71
|
+
import static <%= packageName %>.domain.User.TYPE_NAME;
|
|
70
72
|
<%_ } _%>
|
|
71
73
|
<%_ if (searchEngineElasticsearch) { _%>
|
|
72
74
|
import org.springframework.data.elasticsearch.annotations.FieldType;
|
|
@@ -115,6 +117,8 @@ import static org.springframework.data.couchbase.core.mapping.id.GenerationStrat
|
|
|
115
117
|
<%_ } _%>
|
|
116
118
|
<%_ if (databaseTypeCouchbase) { _%>
|
|
117
119
|
@Document
|
|
120
|
+
@TypeAlias(TYPE_NAME)
|
|
121
|
+
@Collection(TYPE_NAME)
|
|
118
122
|
<%_ } _%>
|
|
119
123
|
<%_ if (databaseTypeCassandra) { _%>
|
|
120
124
|
<%_ if (reactive) { _%>
|
|
@@ -131,6 +135,10 @@ public class <%= asEntity('User') %><% if (databaseTypeSql || databaseTypeMongod
|
|
|
131
135
|
|
|
132
136
|
private static final long serialVersionUID = 1L;
|
|
133
137
|
|
|
138
|
+
<%_ if (databaseTypeCouchbase) { _%>
|
|
139
|
+
public static final String TYPE_NAME = "user";
|
|
140
|
+
<%_ } _%>
|
|
141
|
+
|
|
134
142
|
<%_ if (databaseTypeSql) { _%>
|
|
135
143
|
@Id
|
|
136
144
|
<%_ if (!reactive) { _%>
|
|
@@ -153,12 +161,6 @@ public class <%= asEntity('User') %><% if (databaseTypeSql || databaseTypeMongod
|
|
|
153
161
|
<%_ } _%>
|
|
154
162
|
@Property("user_id")
|
|
155
163
|
<%_ } else { _%>
|
|
156
|
-
<%_ if (databaseTypeCouchbase) { _%>
|
|
157
|
-
public static final String PREFIX = "user";
|
|
158
|
-
|
|
159
|
-
@IdPrefix
|
|
160
|
-
private String prefix = PREFIX;
|
|
161
|
-
<%_ } _%>
|
|
162
164
|
<%_ if (databaseTypeMongodb || databaseTypeCouchbase) { _%>
|
|
163
165
|
@Id
|
|
164
166
|
<%_ } _%>
|
package/generators/server/templates/src/main/java/package/repository/AuthorityRepository.java.ejs
CHANGED
|
@@ -33,15 +33,10 @@ import org.springframework.data.jpa.repository.JpaRepository;
|
|
|
33
33
|
<%_ if (databaseTypeMongodb) { _%>
|
|
34
34
|
import org.springframework.data.mongodb.repository.<% if (reactive) { %>Reactive<% } %>MongoRepository;
|
|
35
35
|
<%_ } _%>
|
|
36
|
-
<%_ if (databaseTypeCouchbase) { _%>
|
|
37
|
-
import org.springframework.data.couchbase.repository.Query;
|
|
38
|
-
import com.couchbase.client.java.query.QueryScanConsistency;
|
|
39
|
-
import org.springframework.data.couchbase.repository.ScanConsistency;
|
|
40
|
-
<%_ } _%>
|
|
41
36
|
<%_ if (databaseTypeNeo4j) { _%>
|
|
42
37
|
import org.springframework.data.neo4j.repository.<% if (reactive) { %>Reactive<% } %>Neo4jRepository;
|
|
43
38
|
<%_ } _%>
|
|
44
|
-
<%_ if (
|
|
39
|
+
<%_ if (databaseTypeNeo4j) { _%>
|
|
45
40
|
<%_ if (reactive) { _%>
|
|
46
41
|
import reactor.core.publisher.Flux;
|
|
47
42
|
<%_ } else { _%>
|
|
@@ -79,10 +74,5 @@ public interface AuthorityRepository extends <% if (databaseTypeSql) { %><% if (
|
|
|
79
74
|
<% if (!reactive) { %>// See https://github.com/neo4j/sdn-rx/issues/51<%_ } _%>
|
|
80
75
|
<% if (reactive) { %>Flux<% } else { %>List<% } %><Authority> findAll();
|
|
81
76
|
<%_ } _%>
|
|
82
|
-
<%_ if (databaseTypeCouchbase) { _%>
|
|
83
|
-
@Query("#{#n1ql.selectEntity} WHERE #{#n1ql.filter}")
|
|
84
|
-
@ScanConsistency(query = QueryScanConsistency.REQUEST_PLUS)
|
|
85
|
-
<%= listOrFlux %><Authority> findAll();
|
|
86
|
-
<%_ } _%>
|
|
87
77
|
|
|
88
78
|
}
|
|
@@ -33,6 +33,7 @@ import org.springframework.data.r2dbc.core.StatementMapper;
|
|
|
33
33
|
import org.springframework.data.r2dbc.mapping.OutboundRow;
|
|
34
34
|
import org.springframework.data.r2dbc.query.UpdateMapper;
|
|
35
35
|
import org.springframework.data.relational.core.query.Criteria;
|
|
36
|
+
import org.springframework.data.relational.core.sql.Condition;
|
|
36
37
|
import org.springframework.data.relational.core.mapping.RelationalPersistentEntity;
|
|
37
38
|
import org.springframework.data.relational.core.sql.Conditions;
|
|
38
39
|
import org.springframework.data.relational.core.sql.OrderByField;
|
|
@@ -90,19 +91,28 @@ public class EntityManager {
|
|
|
90
91
|
* Creates an SQL select statement from the given fragment and pagination parameters.
|
|
91
92
|
* @param selectFrom a representation of a select statement.
|
|
92
93
|
* @param entityType the entity type which holds the table name.
|
|
93
|
-
* @param pageable page parameter, or null, if everything needs to be returned
|
|
94
|
+
* @param pageable page parameter, or null, if everything needs to be returned.
|
|
95
|
+
* @param where condition or null. The condition to apply as where clause.
|
|
94
96
|
* @return sql select statement
|
|
95
97
|
*/
|
|
96
|
-
public String createSelect(SelectFromAndJoin selectFrom, Class<?> entityType, Pageable pageable,
|
|
98
|
+
public String createSelect(SelectFromAndJoin selectFrom, Class<?> entityType, Pageable pageable, Condition where) {
|
|
97
99
|
if (pageable != null) {
|
|
98
|
-
if (
|
|
99
|
-
return createSelectImpl(
|
|
100
|
+
if (where != null) {
|
|
101
|
+
return createSelectImpl(
|
|
102
|
+
selectFrom.limitOffset(pageable.getPageSize(), pageable.getOffset()).where(where),
|
|
103
|
+
entityType,
|
|
104
|
+
pageable.getSort()
|
|
105
|
+
);
|
|
100
106
|
} else {
|
|
101
|
-
return createSelectImpl(
|
|
107
|
+
return createSelectImpl(
|
|
108
|
+
selectFrom.limitOffset(pageable.getPageSize(), pageable.getOffset()),
|
|
109
|
+
entityType,
|
|
110
|
+
pageable.getSort()
|
|
111
|
+
);
|
|
102
112
|
}
|
|
103
113
|
} else {
|
|
104
|
-
if (
|
|
105
|
-
return createSelectImpl(selectFrom.where(
|
|
114
|
+
if (where != null) {
|
|
115
|
+
return createSelectImpl(selectFrom.where(where), entityType, null);
|
|
106
116
|
} else {
|
|
107
117
|
return createSelectImpl(selectFrom, entityType, null);
|
|
108
118
|
}
|
|
@@ -114,37 +124,32 @@ public class EntityManager {
|
|
|
114
124
|
* @param selectFrom a representation of a select statement.
|
|
115
125
|
* @param entityType the entity type which holds the table name.
|
|
116
126
|
* @param pageable page parameter, or null, if everything needs to be returned
|
|
127
|
+
* @param where condition or null. The condition to apply as where clause.
|
|
117
128
|
* @return sql select statement
|
|
118
129
|
*/
|
|
119
|
-
public String createSelect(SelectFromAndJoinCondition selectFrom, Class<?> entityType, Pageable pageable,
|
|
130
|
+
public String createSelect(SelectFromAndJoinCondition selectFrom, Class<?> entityType, Pageable pageable, Condition where) {
|
|
120
131
|
if (pageable != null) {
|
|
121
|
-
if (
|
|
122
|
-
return createSelectImpl(selectFrom.limitOffset(pageable.getPageSize(), pageable.getOffset()).where(
|
|
132
|
+
if (where != null) {
|
|
133
|
+
return createSelectImpl(selectFrom.limitOffset(pageable.getPageSize(), pageable.getOffset()).where(where), entityType, pageable.getSort());
|
|
123
134
|
} else {
|
|
124
135
|
return createSelectImpl(selectFrom.limitOffset(pageable.getPageSize(), pageable.getOffset()), entityType, pageable.getSort());
|
|
125
136
|
}
|
|
126
137
|
} else {
|
|
127
|
-
if (
|
|
128
|
-
return createSelectImpl(selectFrom.where(
|
|
138
|
+
if (where != null) {
|
|
139
|
+
return createSelectImpl(selectFrom.where(where), entityType, null);
|
|
129
140
|
} else {
|
|
130
141
|
return createSelectImpl(selectFrom, entityType, null);
|
|
131
142
|
}
|
|
132
143
|
}
|
|
133
144
|
}
|
|
134
145
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
}
|
|
143
|
-
return createSelect(selectFrom.build());
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
private RelationalPersistentEntity<?> getPersistentEntity(Class<?> entityType) {
|
|
147
|
-
return r2dbcEntityTemplate.getConverter().getMappingContext().getPersistentEntity(entityType);
|
|
146
|
+
/**
|
|
147
|
+
* Generate an actual SQL from the given {@link Select}.
|
|
148
|
+
* @param select a representation of a select statement.
|
|
149
|
+
* @return the generated SQL select.
|
|
150
|
+
*/
|
|
151
|
+
public String createSelect(Select select) {
|
|
152
|
+
return sqlRenderer.render(select);
|
|
148
153
|
}
|
|
149
154
|
|
|
150
155
|
/**
|
|
@@ -166,15 +171,6 @@ public class EntityManager {
|
|
|
166
171
|
return r2dbcEntityTemplate.getDatabaseClient().sql(statementMapper.getMappedObject(delete)).fetch().rowsUpdated();
|
|
167
172
|
}
|
|
168
173
|
|
|
169
|
-
/**
|
|
170
|
-
* Generate an actual SQL from the given {@link Select}.
|
|
171
|
-
* @param select a representation of a select statement.
|
|
172
|
-
* @return the generated SQL select.
|
|
173
|
-
*/
|
|
174
|
-
public String createSelect(Select select) {
|
|
175
|
-
return sqlRenderer.render(select);
|
|
176
|
-
}
|
|
177
|
-
|
|
178
174
|
/**
|
|
179
175
|
* Inserts the given entity into the database - and sets the id, if it's an autoincrement field.
|
|
180
176
|
* @param <S> the type of the persisted entity.
|
|
@@ -192,11 +188,11 @@ public class EntityManager {
|
|
|
192
188
|
* @param referencedIds the id of the referred entities.
|
|
193
189
|
* @return the number of inserted rows.
|
|
194
190
|
*/
|
|
195
|
-
public Mono<Integer> updateLinkTable(LinkTable table,
|
|
191
|
+
public Mono<Integer> updateLinkTable(LinkTable table, Object entityId, Stream<?> referencedIds) {
|
|
196
192
|
return deleteFromLinkTable(table, entityId)
|
|
197
193
|
.then(
|
|
198
194
|
Flux.fromStream(referencedIds)
|
|
199
|
-
.flatMap((
|
|
195
|
+
.flatMap((Object referenceId) -> {
|
|
200
196
|
StatementMapper.InsertSpec insert = r2dbcEntityTemplate
|
|
201
197
|
.getDataAccessStrategy()
|
|
202
198
|
.getStatementMapper()
|
|
@@ -214,7 +210,7 @@ public class EntityManager {
|
|
|
214
210
|
.map((List<Integer> updates) -> updates.stream().reduce(Integer::sum).orElse(0)));
|
|
215
211
|
}
|
|
216
212
|
|
|
217
|
-
public Mono<Void> deleteFromLinkTable(LinkTable table,
|
|
213
|
+
public Mono<Void> deleteFromLinkTable(LinkTable table, Object entityId) {
|
|
218
214
|
Assert.notNull(entityId, "entityId is null");
|
|
219
215
|
StatementMapper.DeleteSpec deleteSpec = r2dbcEntityTemplate.getDataAccessStrategy().getStatementMapper()
|
|
220
216
|
.createDelete(table.tableName)
|
|
@@ -222,6 +218,21 @@ public class EntityManager {
|
|
|
222
218
|
return r2dbcEntityTemplate.getDatabaseClient().sql(statementMapper.getMappedObject(deleteSpec)).then();
|
|
223
219
|
}
|
|
224
220
|
|
|
221
|
+
private String createSelectImpl(SelectOrdered selectFrom, Class<?> entityType, Sort sortParameter) {
|
|
222
|
+
if (sortParameter != null && sortParameter.isSorted()) {
|
|
223
|
+
RelationalPersistentEntity<?> entity = getPersistentEntity(entityType);
|
|
224
|
+
if (entity != null) {
|
|
225
|
+
Sort sort = updateMapper.getMappedObject(sortParameter, entity);
|
|
226
|
+
selectFrom = selectFrom.orderBy(createOrderByFields(Table.create(entity.getTableName()).as(EntityManager.ENTITY_ALIAS), sort));
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
return createSelect(selectFrom.build());
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
private RelationalPersistentEntity<?> getPersistentEntity(Class<?> entityType) {
|
|
233
|
+
return r2dbcEntityTemplate.getConverter().getMappingContext().getPersistentEntity(entityType);
|
|
234
|
+
}
|
|
235
|
+
|
|
225
236
|
private static Collection<? extends OrderByField> createOrderByFields(Table table, Sort sortToUse) {
|
|
226
237
|
|
|
227
238
|
List<OrderByField> fields = new ArrayList<>();
|
|
@@ -236,5 +247,4 @@ public class EntityManager {
|
|
|
236
247
|
|
|
237
248
|
return fields;
|
|
238
249
|
}
|
|
239
|
-
|
|
240
250
|
}
|
package/generators/server/templates/src/main/java/package/repository/UserRepository.java.ejs
CHANGED
|
@@ -62,10 +62,7 @@ import org.apache.commons.beanutils.BeanComparator;
|
|
|
62
62
|
import org.springframework.cache.annotation.Cacheable;
|
|
63
63
|
<%_ } _%>
|
|
64
64
|
<%_ if (databaseTypeSql || databaseTypeCouchbase || databaseTypeMongodb || databaseTypeNeo4j) { _%>
|
|
65
|
-
|
|
66
|
-
import org.springframework.data.domain.Page;
|
|
67
|
-
<%_ } _%>
|
|
68
|
-
import org.springframework.data.domain.Pageable;
|
|
65
|
+
import org.springframework.data.domain.*;
|
|
69
66
|
<%_ } _%>
|
|
70
67
|
<%_ if (databaseTypeSql) { _%>
|
|
71
68
|
<%_ if (reactive) { _%>
|
|
@@ -93,12 +90,7 @@ import org.springframework.data.mongodb.repository.<% if (reactive) { %>Reactive
|
|
|
93
90
|
import org.springframework.data.neo4j.repository.<% if (reactive) { %>Reactive<% } %>Neo4jRepository;
|
|
94
91
|
<%_ } _%>
|
|
95
92
|
<%_ if (databaseTypeCouchbase) { _%>
|
|
96
|
-
import com.couchbase.client.java.query.QueryScanConsistency;
|
|
97
93
|
import org.springframework.data.couchbase.repository.Query;
|
|
98
|
-
import org.springframework.data.couchbase.repository.ScanConsistency;
|
|
99
|
-
<%_ if (!reactive) { _%>
|
|
100
|
-
import org.springframework.data.domain.PageImpl;
|
|
101
|
-
<%_ } _%>
|
|
102
94
|
<%_ } _%>
|
|
103
95
|
<%_ if (reactive && databaseTypeCassandra) { _%>
|
|
104
96
|
import org.springframework.data.cassandra.ReactiveResultSet;
|
|
@@ -157,13 +149,6 @@ import java.util.UUID;
|
|
|
157
149
|
<%_ if (!databaseTypeCassandra && !(databaseTypeSql && reactive) && !authenticationTypeOauth2) { _%>
|
|
158
150
|
import java.time.Instant;
|
|
159
151
|
<%_ } _%>
|
|
160
|
-
<% if (databaseTypeCouchbase) { %>
|
|
161
|
-
import static <%= packageName %>.config.Constants.ID_DELIMITER;
|
|
162
|
-
<% } %>
|
|
163
|
-
<%_ if (searchEngineCouchbase) { _%>
|
|
164
|
-
import static <%= packageName %>.repository.JHipsterCouchbaseRepository.pageableStatement;
|
|
165
|
-
import static <%= packageName %>.repository.JHipsterCouchbaseRepository.searchQuery;
|
|
166
|
-
<%_ } _%>
|
|
167
152
|
/**
|
|
168
153
|
* Spring Data <% if (databaseTypeSql && !reactive) { %>JPA<% } else if (databaseTypeSql && reactive) { %>R2DBC<% } else if (databaseTypeMongodb) { %>MongoDB<% } else if (databaseTypeCouchbase) { %>Couchbase<% } else if (databaseTypeCassandra) { %>Cassandra<% } else if (databaseTypeNeo4j) { %>Neo4j<% } %> repository for the {@link <%= asEntity('User') %>} entity.
|
|
169
154
|
*/
|
|
@@ -174,37 +159,45 @@ import static <%= packageName %>.repository.JHipsterCouchbaseRepository.searchQu
|
|
|
174
159
|
_%>
|
|
175
160
|
<%_ if ((databaseTypeSql && !reactive) || databaseTypeMongodb || databaseTypeNeo4j || databaseTypeCouchbase) { _%>
|
|
176
161
|
@Repository
|
|
177
|
-
public interface UserRepository extends <% if (databaseTypeSql) { %>JpaRepository<<%= asEntity('User') %>, <%= user.primaryKey.type %>><% } %><% if (reactive && !databaseTypeCouchbase) { %>Reactive<% } %><% if (databaseTypeMongodb) { %>MongoRepository<<%= asEntity('User') %>, String><% } %><% if (databaseTypeNeo4j) { %>Neo4jRepository<<%= asEntity('User') %>, String><% } %><% if (databaseTypeCouchbase) { %>JHipsterCouchbaseRepository<<%= asEntity('User') %>, String><% } %> {
|
|
162
|
+
public interface UserRepository extends <% if (databaseTypeSql) { %>JpaRepository<<%= asEntity('User') %>, <%= user.primaryKey.type %>><% } %><% if (reactive && !databaseTypeCouchbase) { %>Reactive<% } %><% if (databaseTypeMongodb) { %>MongoRepository<<%= asEntity('User') %>, String><% } %><% if (databaseTypeNeo4j) { %>Neo4jRepository<<%= asEntity('User') %>, String><% } %><% if (databaseTypeCouchbase) { %>JHipsterCouchbaseRepository<<%= asEntity('User') %>, String><% } %><% if (searchEngineCouchbase) { %>, CouchbaseSearchRepository<<%= asEntity('User') %>, String><% } %> {
|
|
178
163
|
<%_ if (cacheManagerIsAvailable) { _%>
|
|
179
164
|
|
|
180
165
|
String USERS_BY_LOGIN_CACHE = "usersByLogin";
|
|
181
166
|
|
|
182
167
|
String USERS_BY_EMAIL_CACHE = "usersByEmail";
|
|
183
168
|
<%_ } _%>
|
|
184
|
-
<%_ if (databaseTypeCouchbase) { _%>
|
|
185
|
-
// @ScanConsistency is to fix index issues with Spring Data Couchbase
|
|
186
|
-
// https://github.com/spring-projects/spring-data-couchbase/issues/897
|
|
187
|
-
<%_ } _%>
|
|
188
169
|
<%_ if (!authenticationTypeOauth2) { _%>
|
|
170
|
+
<% if (databaseTypeCouchbase) { %>default <% } %><%= optionalOrMono %><<%= asEntity('User') %>> findOneByActivationKey(String activationKey)<% if (!databaseTypeCouchbase) { %>;<% } else { %> {
|
|
171
|
+
return findIdByActivationKey(activationKey)
|
|
172
|
+
.map(User::getId)
|
|
173
|
+
.flatMap(this::findById);
|
|
174
|
+
}
|
|
189
175
|
|
|
190
|
-
|
|
191
|
-
|
|
176
|
+
@Query(FIND_IDS_QUERY + " AND activationKey = $1")
|
|
177
|
+
<%= optionalOrMono %><User> findIdByActivationKey(String activationKey);
|
|
192
178
|
<%_ } _%>
|
|
193
|
-
<%= optionalOrMono %><<%= asEntity('User') %>> findOneByActivationKey(String activationKey);
|
|
194
179
|
<%_ } _%>
|
|
195
180
|
<%_ if (!authenticationTypeOauth2) { _%>
|
|
196
181
|
|
|
197
|
-
<%
|
|
198
|
-
|
|
182
|
+
<% if (databaseTypeCouchbase) { %>default <% } %><%= listOrFlux %><<%= asEntity('User') %>> findAllByActivatedIsFalseAndActivationKeyIsNotNullAndCreatedDateBefore(Instant dateTime)<% if (!databaseTypeCouchbase) { %>;<% } else { %> {
|
|
183
|
+
return findAllById(toIds(findAllIdsByActivatedIsFalseAndActivationKeyIsNotNullAndCreatedDateBefore(dateTime)));
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
@Query(FIND_IDS_QUERY + " AND activated = false AND activationKey IS NOT NULL AND createdDate < $1")
|
|
187
|
+
<%= listOrFlux %><User> findAllIdsByActivatedIsFalseAndActivationKeyIsNotNullAndCreatedDateBefore(Instant dateTime);
|
|
199
188
|
<%_ } _%>
|
|
200
|
-
<%= listOrFlux %><<%= asEntity('User') %>> findAllByActivatedIsFalseAndActivationKeyIsNotNullAndCreatedDateBefore(Instant dateTime);
|
|
201
189
|
<%_ } _%>
|
|
202
190
|
|
|
203
191
|
<%_ if (!authenticationTypeOauth2) { _%>
|
|
204
|
-
<%
|
|
205
|
-
|
|
192
|
+
<% if (databaseTypeCouchbase) { %>default <% } %><%= optionalOrMono %><<%= asEntity('User') %>> findOneByResetKey(String resetKey)<% if (!databaseTypeCouchbase) { %>;<% } else { %> {
|
|
193
|
+
return findIdByResetKey(resetKey)
|
|
194
|
+
.map(User::getId)
|
|
195
|
+
.flatMap(this::findById);
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
@Query(FIND_IDS_QUERY + " AND resetKey = $1")
|
|
199
|
+
<%= optionalOrMono %><User> findIdByResetKey(String resetKey);
|
|
206
200
|
<%_ } _%>
|
|
207
|
-
<%= optionalOrMono %><<%= asEntity('User') %>> findOneByResetKey(String resetKey);
|
|
208
201
|
<%_ } _%>
|
|
209
202
|
|
|
210
203
|
<%_ if (!authenticationTypeOauth2) { _%>
|
|
@@ -213,20 +206,23 @@ public interface UserRepository extends <% if (databaseTypeSql) { %>JpaRepositor
|
|
|
213
206
|
@Cacheable(cacheNames = USERS_BY_EMAIL_CACHE)
|
|
214
207
|
<%_ } _%>
|
|
215
208
|
<%_ } _%>
|
|
216
|
-
<%
|
|
217
|
-
|
|
218
|
-
|
|
209
|
+
<% if (databaseTypeCouchbase) { %>default <% } %><%= optionalOrMono %><<%= asEntity('User') %>> findOneByEmailIgnoreCase(String email)<% if (!databaseTypeCouchbase) { %>;<% } else { %> {
|
|
210
|
+
return findIdByEmailIgnoreCase(email)
|
|
211
|
+
.map(User::getId)
|
|
212
|
+
.flatMap(this::findById);
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
@Query(FIND_IDS_QUERY + " AND LOWER(email) = LOWER($1)")
|
|
216
|
+
<%= optionalOrMono %><User> findIdByEmailIgnoreCase(String email);
|
|
219
217
|
<%_ } _%>
|
|
220
|
-
<%= optionalOrMono %><<%= asEntity('User') %>> findOneByEmailIgnoreCase(String email);
|
|
221
218
|
|
|
222
219
|
<%_ } _%>
|
|
223
220
|
<%_ if (databaseTypeCouchbase) { _%>
|
|
224
221
|
<%_ if (cacheManagerIsAvailable) { _%>
|
|
225
222
|
@Cacheable(cacheNames = USERS_BY_LOGIN_CACHE)
|
|
226
223
|
<%_ } _%>
|
|
227
|
-
@ScanConsistency(query = QueryScanConsistency.REQUEST_PLUS)
|
|
228
224
|
default <%= optionalOrMono %><<%= asEntity('User') %>> findOneByLogin(String login) {
|
|
229
|
-
return findById(
|
|
225
|
+
return findById(login);
|
|
230
226
|
}
|
|
231
227
|
<%_ } else if (databaseTypeMongodb || databaseTypeNeo4j) { _%>
|
|
232
228
|
<%_ if (cacheManagerIsAvailable) { _%>
|
|
@@ -260,55 +256,35 @@ public interface UserRepository extends <% if (databaseTypeSql) { %>JpaRepositor
|
|
|
260
256
|
<%_ } _%>
|
|
261
257
|
|
|
262
258
|
<% if (reactive) { %>
|
|
263
|
-
<%_ if (databaseTypeCouchbase) { _%>
|
|
264
|
-
@ScanConsistency(query = QueryScanConsistency.REQUEST_PLUS)
|
|
265
|
-
<%_ } _%>
|
|
259
|
+
<%_ if (!databaseTypeCouchbase) { _%>
|
|
266
260
|
Flux<<%= asEntity('User') %>>findAllByIdNotNull(Pageable pageable);
|
|
267
|
-
|
|
268
|
-
<%_ if (databaseTypeCouchbase) { _%>
|
|
269
|
-
@ScanConsistency(query = QueryScanConsistency.REQUEST_PLUS)
|
|
270
261
|
<%_ } _%>
|
|
271
|
-
Flux<<%= asEntity('User') %>>findAllBy<% if (!databaseTypeCouchbase) { %>IdNotNullAnd<% } %>ActivatedIsTrue(Pageable pageable);
|
|
272
262
|
|
|
273
263
|
<%_ if (databaseTypeCouchbase) { _%>
|
|
274
|
-
|
|
264
|
+
default Flux<User> findAllByActivatedIsTrue(Pageable pageable) {
|
|
265
|
+
return findAllById(toIds(findAllIdsByActivatedIsTrue(pageable)));
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
@Query(FIND_IDS_QUERY + " AND activated = true")
|
|
269
|
+
Flux<User> findAllIdsByActivatedIsTrue(Pageable pageable);
|
|
270
|
+
<%_ } else { _%>
|
|
271
|
+
Flux<<%= asEntity('User') %>>findAllByIdNotNullAndActivatedIsTrue(Pageable pageable);
|
|
275
272
|
<%_ } _%>
|
|
273
|
+
|
|
276
274
|
Mono<Long> count();
|
|
277
275
|
<% } else { %>
|
|
278
276
|
<%_ if (databaseTypeCouchbase) { _%>
|
|
279
|
-
default Page
|
|
280
|
-
|
|
277
|
+
default Page<User> findAllByActivatedIsTrue(Pageable pageable) {
|
|
278
|
+
Page<User> page = findAllIdsByActivatedIsTrue(pageable);
|
|
279
|
+
return new PageImpl<>(findAllById(toIds(page.getContent())), pageable, page.getTotalElements());
|
|
281
280
|
}
|
|
281
|
+
|
|
282
|
+
@Query(FIND_IDS_QUERY + " AND activated = true")
|
|
283
|
+
Page<User> findAllIdsByActivatedIsTrue(Pageable pageable);
|
|
282
284
|
<%_ } else { _%>
|
|
283
285
|
Page<<%= asEntity('User') %>> findAllByIdNotNullAndActivatedIsTrue(Pageable pageable);
|
|
284
286
|
<%_ } _%>
|
|
285
287
|
<% } %>
|
|
286
|
-
|
|
287
|
-
<%_ if (databaseTypeCouchbase && !reactive) { _%>
|
|
288
|
-
@Query("#{#n1ql.selectEntity} WHERE #{#n1ql.filter} AND activated = true #{[0]}")
|
|
289
|
-
@ScanConsistency(query = QueryScanConsistency.REQUEST_PLUS)
|
|
290
|
-
List<<%= asEntity('User') %>> findAllByActivatedIsTrue(String pageableStatement);
|
|
291
|
-
|
|
292
|
-
@Query("SELECT COUNT(*) as count FROM #{#n1ql.bucket} WHERE #{#n1ql.filter} AND activated = true")
|
|
293
|
-
@ScanConsistency(query = QueryScanConsistency.REQUEST_PLUS)
|
|
294
|
-
Long countAllByActivatedIsTrue();
|
|
295
|
-
<%_ } _%>
|
|
296
|
-
|
|
297
|
-
<%_ if (searchEngineCouchbase) { _%>
|
|
298
|
-
@Query("#{#n1ql.selectEntity} WHERE #{#n1ql.filter} AND SEARCH(#{n1ql.bucket}, #{[0]) #{[1]}")
|
|
299
|
-
<%= listOrFlux %><User> search(String queryString, String pageableStatement);
|
|
300
|
-
|
|
301
|
-
default <%= listOrFlux %><User> search(String queryString) {
|
|
302
|
-
return search(searchQuery(queryString).toString(), "");
|
|
303
|
-
}
|
|
304
|
-
|
|
305
|
-
default <%= pageOrFlux %><User> search(String queryString, Pageable pageable) {
|
|
306
|
-
return
|
|
307
|
-
<% if (!reactive) { %>new PageImpl<>(<% } %>
|
|
308
|
-
search(searchQuery(queryString).toString(), pageableStatement(pageable))
|
|
309
|
-
<% if (!reactive) { %>)<% } %>;
|
|
310
|
-
}
|
|
311
|
-
<%_ } _%>
|
|
312
288
|
}
|
|
313
289
|
<%_ } else if (databaseTypeSql && reactive) { _%>
|
|
314
290
|
@Repository
|
|
@@ -75,7 +75,7 @@ public class JWTFilter <% if (reactive) { %>implements WebFilter<% } else { %>ex
|
|
|
75
75
|
if (StringUtils.hasText(jwt) && this.tokenProvider.validateToken(jwt)) {
|
|
76
76
|
Authentication authentication = this.tokenProvider.getAuthentication(jwt);
|
|
77
77
|
<%_ if (reactive) { _%>
|
|
78
|
-
return chain.filter(exchange).
|
|
78
|
+
return chain.filter(exchange).contextWrite(ReactiveSecurityContextHolder.withAuthentication(authentication));
|
|
79
79
|
}
|
|
80
80
|
return chain.filter(exchange);
|
|
81
81
|
<%_ } else { _%>
|
package/generators/server/templates/src/main/java/package/security/jwt/TokenProvider.java.ejs
CHANGED
|
@@ -106,7 +106,7 @@ public class TokenProvider {
|
|
|
106
106
|
.signWith(key, SignatureAlgorithm.HS512)
|
|
107
107
|
.setExpiration(validity)
|
|
108
108
|
<%_ if (reactive) { _%>
|
|
109
|
-
.serializeToJsonWith(new JacksonSerializer())
|
|
109
|
+
.serializeToJsonWith(new JacksonSerializer<>())
|
|
110
110
|
<%_ } _%>
|
|
111
111
|
.compact();
|
|
112
112
|
}
|
|
@@ -136,7 +136,7 @@ public class UserService {
|
|
|
136
136
|
private final CacheManager cacheManager;
|
|
137
137
|
<%_ } _%>
|
|
138
138
|
|
|
139
|
-
public UserService(UserRepository userRepository<% if (!authenticationTypeOauth2) { %>, PasswordEncoder passwordEncoder<% } %><% if (searchEngineElasticsearch) { %>, UserSearchRepository userSearchRepository<% } %><% if (databaseTypeSql || databaseTypeMongodb || databaseTypeNeo4j || databaseTypeCouchbase) { %><% if (authenticationTypeSession
|
|
139
|
+
public UserService(UserRepository userRepository<% if (!authenticationTypeOauth2) { %>, PasswordEncoder passwordEncoder<% } %><% if (searchEngineElasticsearch) { %>, UserSearchRepository userSearchRepository<% } %><% if (databaseTypeSql || databaseTypeMongodb || databaseTypeNeo4j || databaseTypeCouchbase) { %><% if (authenticationTypeSession && !reactive) { %>, PersistentTokenRepository persistentTokenRepository<% } %>, AuthorityRepository authorityRepository<% } %><% if (cacheManagerIsAvailable) { %>, CacheManager cacheManager<% } %>) {
|
|
140
140
|
this.userRepository = userRepository;
|
|
141
141
|
<%_ if (!authenticationTypeOauth2) { _%>
|
|
142
142
|
this.passwordEncoder = passwordEncoder;
|
|
@@ -145,7 +145,7 @@ public class UserService {
|
|
|
145
145
|
this.userSearchRepository = userSearchRepository;
|
|
146
146
|
<%_ } _%>
|
|
147
147
|
<%_ if (databaseTypeSql || databaseTypeMongodb || databaseTypeNeo4j || databaseTypeCouchbase) { _%>
|
|
148
|
-
<%_ if (authenticationTypeSession
|
|
148
|
+
<%_ if (authenticationTypeSession && !reactive) { _%>
|
|
149
149
|
this.persistentTokenRepository = persistentTokenRepository;
|
|
150
150
|
<%_ } _%>
|
|
151
151
|
this.authorityRepository = authorityRepository;
|
|
@@ -402,8 +402,10 @@ public class UserService {
|
|
|
402
402
|
@Transactional
|
|
403
403
|
<%_ } _%>
|
|
404
404
|
public <% if (reactive) { %>Mono<<%= asEntity('User') %>><% } else { %><%= asEntity('User') %><% } %> createUser(<%= asDto('AdminUser') %> userDTO) {
|
|
405
|
-
<%= asEntity('User') %> user = new <%= asEntity('User') %>()
|
|
406
|
-
|
|
405
|
+
<%= asEntity('User') %> user = new <%= asEntity('User') %>();
|
|
406
|
+
<%_ if (databaseTypeCassandra) { _%>
|
|
407
|
+
user.setId(UUID.randomUUID().toString());
|
|
408
|
+
<%_ } _%>
|
|
407
409
|
user.setLogin(userDTO.getLogin().toLowerCase());
|
|
408
410
|
user.setFirstName(userDTO.getFirstName());
|
|
409
411
|
user.setLastName(userDTO.getLastName());
|
|
@@ -598,7 +600,7 @@ public class UserService {
|
|
|
598
600
|
});
|
|
599
601
|
}
|
|
600
602
|
<%_ } _%>
|
|
601
|
-
<%_ } /* authenticationType !== 'oauth2'*/
|
|
603
|
+
<%_ } /* authenticationType !== 'oauth2'*/ _%>
|
|
602
604
|
|
|
603
605
|
/**
|
|
604
606
|
* Update basic information (first name, last name, email, language) for the current user.
|
|
@@ -751,7 +753,7 @@ public class UserService {
|
|
|
751
753
|
<%_ } _%>
|
|
752
754
|
<%_ if (databaseTypeSql || databaseTypeMongodb || databaseTypeNeo4j || databaseTypeCouchbase) { _%>
|
|
753
755
|
public <% if (reactive) { %>Flux<% } else { %>Page<% } %><<%= asDto('AdminUser') %>> getAllManagedUsers(Pageable pageable) {
|
|
754
|
-
return userRepository.findAll<% if (reactive) { %><% if (databaseTypeSql) { %>WithAuthorities<% } else { %>
|
|
756
|
+
return userRepository.findAll<% if (reactive) { %><% if (databaseTypeSql) { %>WithAuthorities<% } else { %>By<% if (!databaseTypeCouchbase) { %>IdNotNull<% }}} %>(pageable).map(<%= asDto('AdminUser') %>::new);
|
|
755
757
|
}
|
|
756
758
|
|
|
757
759
|
<%_ if (databaseTypeSql) { _%>
|
|
@@ -46,7 +46,6 @@ public class OAuth2ReactiveRefreshTokensWebFilter implements WebFilter {
|
|
|
46
46
|
.filter(principal -> principal instanceof OAuth2AuthenticationToken)
|
|
47
47
|
.cast(OAuth2AuthenticationToken.class)
|
|
48
48
|
.flatMap(authentication -> authorizedClient(exchange, authentication))
|
|
49
|
-
.onErrorResume(e -> Mono.empty())
|
|
50
49
|
.thenReturn(exchange)
|
|
51
50
|
.flatMap(chain::filter);
|
|
52
51
|
}
|
|
@@ -216,7 +216,7 @@ public class AccountResource {
|
|
|
216
216
|
}
|
|
217
217
|
}
|
|
218
218
|
}
|
|
219
|
-
<%_ } else {
|
|
219
|
+
<%_ } else { /* not oauth, not skipUserManagement */ _%>
|
|
220
220
|
<%_ if (authenticationTypeSession && !reactive) { _%>
|
|
221
221
|
import <%= packageName %>.domain.PersistentToken;
|
|
222
222
|
import <%= packageName %>.repository.PersistentTokenRepository;
|