generator-jhipster 7.3.0 → 7.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli/import-jdl.js +3 -2
- package/cli/jhipster-command.js +2 -2
- package/cli/program.js +32 -29
- package/generators/app/index.js +46 -27
- package/generators/aws/index.js +8 -8
- package/generators/aws/lib/eb.js +1 -1
- package/generators/azure-app-service/index.js +16 -9
- package/generators/azure-app-service/templates/github/workflows/azure-app-service.yml.ejs +2 -2
- package/generators/azure-spring-cloud/index.js +16 -9
- package/generators/azure-spring-cloud/templates/github/workflows/azure-spring-cloud.yml.ejs +2 -2
- package/generators/bootstrap/index.js +57 -62
- package/generators/ci-cd/index.js +11 -8
- package/generators/ci-cd/templates/github-actions.yml.ejs +1 -1
- package/generators/ci-cd/templates/travis.yml.ejs +9 -4
- package/generators/cleanup.js +27 -171
- package/generators/client/files-angular.js +12 -1
- package/generators/client/files-common.js +6 -2
- package/generators/client/files-react.js +13 -2
- package/generators/client/files-vue.js +59 -7
- package/generators/client/index.js +46 -32
- package/generators/client/needle-api/needle-client-angular.js +1 -1
- package/generators/client/needle-api/needle-client-vue.js +57 -7
- package/generators/client/templates/angular/.eslintrc.json.ejs +1 -0
- package/generators/client/templates/angular/angular.json.ejs +5 -0
- package/generators/client/templates/angular/jest.conf.js.ejs +2 -0
- package/generators/client/templates/angular/package.json +29 -29
- package/generators/client/templates/angular/package.json.ejs +3 -1
- package/generators/client/templates/angular/src/main/webapp/app/account/activate/activate.component.spec.ts.ejs +52 -54
- package/generators/client/templates/angular/src/main/webapp/app/account/activate/activate.component.ts.ejs +4 -4
- package/generators/client/templates/angular/src/main/webapp/app/account/activate/activate.service.spec.ts.ejs +65 -0
- package/generators/client/templates/angular/src/main/webapp/app/account/password/password-strength-bar/password-strength-bar.component.spec.ts.ejs +35 -37
- package/generators/client/templates/angular/src/main/webapp/app/account/password/password-strength-bar/password-strength-bar.component.ts.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/account/password/password.component.spec.ts.ejs +78 -80
- package/generators/client/templates/angular/src/main/webapp/app/account/password/password.component.ts.ejs +4 -4
- package/generators/client/templates/angular/src/main/webapp/app/account/password/password.service.spec.ts.ejs +41 -0
- package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.spec.ts.ejs +73 -75
- package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.ts.ejs +4 -4
- package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/finish/password-reset-finish.service.spec.ts.ejs +62 -0
- package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/init/password-reset-init.component.spec.ts.ejs +44 -46
- package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/init/password-reset-init.service.spec.ts.ejs +61 -0
- package/generators/client/templates/angular/src/main/webapp/app/account/register/register.component.spec.ts.ejs +122 -123
- package/generators/client/templates/angular/src/main/webapp/app/account/register/register.component.ts.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/account/register/register.service.spec.ts.ejs +66 -0
- package/generators/client/templates/angular/src/main/webapp/app/account/sessions/sessions.component.spec.ts.ejs +75 -77
- package/generators/client/templates/angular/src/main/webapp/app/account/settings/settings.component.spec.ts.ejs +80 -80
- package/generators/client/templates/angular/src/main/webapp/app/admin/configuration/configuration.component.spec.ts.ejs +48 -50
- package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.component.spec.ts.ejs +45 -47
- package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.component.ts.ejs +4 -4
- package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.service.spec.ts.ejs +66 -0
- package/generators/client/templates/angular/src/main/webapp/app/admin/health/modal/health-modal.component.spec.ts.ejs +99 -101
- package/generators/client/templates/angular/src/main/webapp/app/admin/logs/logs.component.spec.ts.ejs +61 -63
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/jvm-memory/jvm-memory.component.html.ejs +2 -2
- package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/metrics.component.spec.ts.ejs +28 -30
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.spec.ts.ejs +35 -37
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.spec.ts.ejs +40 -42
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/list/user-management.component.spec.ts.ejs +89 -91
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/list/user-management.component.ts.ejs +4 -4
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/update/user-management-update.component.spec.ts.ejs +81 -83
- package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/update/user-management-update.component.ts.ejs +8 -8
- package/generators/client/templates/angular/src/main/webapp/app/app-routing.module.ts.ejs +14 -3
- package/generators/client/templates/angular/src/main/webapp/app/app.module.ts.ejs +8 -29
- package/generators/client/templates/angular/src/main/webapp/app/config/datepicker-adapter.ts.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/config/dayjs.ts.ejs +4 -4
- package/generators/client/templates/angular/src/main/webapp/app/core/auth/account.service.spec.ts.ejs +14 -9
- package/generators/client/templates/angular/src/main/webapp/app/core/tracker/tracker.service.ts.ejs +6 -6
- 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/entities/entity-navbar-items.ts.ejs +29 -0
- package/generators/client/templates/angular/src/main/webapp/app/home/home.component.spec.ts.ejs +106 -98
- package/generators/client/templates/angular/src/main/webapp/app/layouts/main/main.component.spec.ts.ejs +166 -168
- package/generators/client/templates/angular/src/main/webapp/app/layouts/main/main.component.ts.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.html.ejs +20 -0
- package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.spec.ts.ejs +74 -70
- package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.ts.ejs +41 -2
- package/generators/client/templates/angular/src/main/webapp/app/layouts/profiles/page-ribbon.component.spec.ts.ejs +27 -29
- package/generators/client/templates/angular/src/main/webapp/app/login/login.component.spec.ts.ejs +114 -115
- package/generators/client/templates/angular/src/main/webapp/app/login/login.component.ts.ejs +4 -4
- package/generators/client/templates/angular/src/main/webapp/app/shared/alert/alert-error.component.spec.ts.ejs +132 -134
- package/generators/client/templates/angular/src/main/webapp/app/shared/alert/alert.component.spec.ts.ejs +29 -31
- package/generators/client/templates/angular/src/main/webapp/app/shared/auth/has-any-authority.directive.spec.ts.ejs +4 -4
- package/generators/client/templates/angular/src/main/webapp/app/shared/date/duration.pipe.ts.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/shared/date/format-medium-date.pipe.spec.ts.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/shared/date/format-medium-date.pipe.ts.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/shared/date/format-medium-datetime.pipe.spec.ts.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/shared/date/format-medium-datetime.pipe.ts.ejs +1 -1
- package/generators/client/templates/angular/src/main/webapp/app/shared/language/translate.directive.ts.ejs +6 -6
- package/generators/client/templates/angular/src/main/webapp/app/shared/language/translation.module.ts.ejs +83 -0
- package/generators/client/templates/angular/src/main/webapp/declarations.d.ts.ejs +16 -2
- package/generators/client/templates/angular/tsconfig.json.ejs +2 -0
- package/generators/client/templates/angular/tsconfig.spec.json.ejs +0 -1
- package/generators/client/templates/angular/webpack/proxy.conf.js.ejs +0 -2
- package/generators/client/templates/angular/webpack/webpack.custom.js.ejs +0 -16
- package/generators/client/templates/angular/webpack/webpack.microfrontend.js.ejs +12 -5
- package/generators/client/templates/common/package.json +6 -6
- package/generators/client/templates/common/src/main/webapp/robots.txt.ejs +0 -1
- package/generators/client/templates/common/src/main/webapp/swagger-ui/index.html.ejs +86 -56
- package/generators/client/templates/common/webpack/webpack.microfrontend.js.jhi.ejs +56 -0
- package/generators/client/templates/react/.eslintrc.json.ejs +1 -0
- package/generators/client/templates/react/package.json +54 -53
- package/generators/client/templates/react/package.json.ejs +6 -1
- package/generators/client/templates/react/src/main/webapp/app/app.scss.ejs +0 -3
- package/generators/client/templates/react/src/main/webapp/app/config/axios-interceptor.spec.ts.ejs +3 -2
- package/generators/client/templates/react/src/main/webapp/app/modules/account/password/password.tsx.ejs +2 -2
- package/generators/client/templates/react/src/main/webapp/app/modules/administration/configuration/configuration.tsx.ejs +2 -2
- package/generators/client/templates/react/src/main/webapp/app/modules/administration/gateway/gateway.tsx.ejs +2 -2
- package/generators/client/templates/react/src/main/webapp/app/modules/administration/metrics/metrics.tsx.ejs +6 -6
- package/generators/client/templates/react/src/main/webapp/app/modules/administration/user-management/user-management.tsx.ejs +8 -8
- package/generators/client/templates/react/src/main/webapp/app/modules/home/home.tsx.ejs +1 -1
- package/generators/client/templates/react/src/main/webapp/app/shared/layout/header/header.scss.ejs +9 -0
- package/generators/client/templates/react/src/main/webapp/app/shared/layout/header/header.tsx.ejs +2 -2
- package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/account.tsx.ejs +3 -3
- package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/admin.tsx.ejs +7 -7
- package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/menu-components.tsx.ejs +1 -1
- package/generators/client/templates/react/src/main/webapp/app/shared/reducers/authentication.spec.ts.ejs +1 -1
- package/generators/client/templates/react/webpack/webpack.dev.js.ejs +17 -3
- package/generators/client/templates/react/webpack/webpack.prod.js.ejs +13 -1
- package/generators/client/templates/vue/.eslintrc.js.ejs +8 -5
- package/generators/client/templates/vue/package.json +40 -49
- package/generators/client/templates/vue/package.json.ejs +13 -17
- package/generators/client/templates/vue/src/main/webapp/app/account/account.service.ts.ejs +23 -12
- package/generators/client/templates/vue/src/main/webapp/app/account/settings/settings.vue.ejs +7 -1
- package/generators/client/templates/vue/src/main/webapp/app/admin/configuration/configuration.vue.ejs +1 -1
- package/generators/client/templates/vue/src/main/webapp/app/admin/metrics/metrics.component.ts.ejs +1 -1
- package/generators/client/templates/vue/src/main/webapp/app/constants.ts.ejs +16 -6
- package/generators/client/templates/vue/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.ts.ejs +27 -8
- package/generators/client/templates/vue/src/main/webapp/app/core/jhi-navbar/jhi-navbar.vue.ejs +6 -0
- package/generators/client/templates/vue/src/main/webapp/app/declarations.d.ts.ejs +41 -0
- package/generators/client/templates/vue/src/main/webapp/app/entities/entities-menu.component.ts.ejs +34 -0
- package/generators/client/templates/vue/src/main/webapp/app/entities/entities-menu.vue.ejs +13 -0
- package/generators/client/templates/vue/src/main/webapp/app/entities/entities.component.ts.ejs +20 -0
- package/generators/client/templates/vue/src/main/webapp/app/entities/entities.vue.ejs +5 -0
- package/generators/client/templates/vue/src/main/webapp/app/entities/user/{user.oauth2.service.ts.ejs → user.service.ts.ejs} +1 -1
- package/generators/client/templates/vue/{webpack/utils.js.ejs → src/main/webapp/app/index.ts.ejs} +1 -12
- package/generators/client/templates/vue/src/main/webapp/app/locale/translation.service.ts.ejs +26 -9
- package/generators/client/templates/vue/src/main/webapp/app/main.ts.ejs +20 -18
- package/generators/client/templates/vue/src/main/webapp/app/router/entities.ts.ejs +45 -3
- package/generators/client/templates/vue/src/main/webapp/app/router/index.ts.ejs +19 -3
- package/generators/client/templates/vue/src/main/webapp/app/shared/config/axios-interceptor.ts.ejs +0 -2
- package/generators/client/templates/vue/src/main/webapp/app/shared/data/data-utils.service.ts.ejs +3 -1
- package/generators/client/templates/vue/src/main/webapp/app/shims-vue.d.ts.ejs +17 -3
- package/generators/client/templates/vue/src/test/javascript/jest.conf.js.ejs +25 -10
- package/generators/client/templates/vue/src/test/javascript/spec/app/account/login-form/login-form.component.spec.ts.ejs +2 -2
- package/generators/client/templates/vue/src/test/javascript/spec/app/admin/user-management/user-management-edit.component.spec.ts.ejs +6 -4
- package/generators/client/templates/vue/src/test/javascript/spec/app/admin/user-management/user-management.component.spec.ts.ejs +4 -2
- package/generators/client/templates/vue/src/test/javascript/spec/app/core/jhi-navbar/jhi-navbar.component.spec.ts.ejs +10 -4
- package/generators/client/templates/vue/src/test/javascript/spec/app/entities/entities-menu.spec.ts.ejs +52 -0
- package/generators/client/templates/vue/src/test/javascript/spec/app/microfrontends/entities-menu.component.ts.ejs +4 -0
- package/generators/client/templates/vue/src/test/javascript/spec/app/microfrontends/entities-menu.vue.ejs +7 -0
- package/generators/client/templates/vue/src/test/javascript/spec/app/microfrontends/entities-router.ts.ejs +1 -0
- package/generators/client/templates/vue/src/test/javascript/spec/app/shared/config/axios-interceptor.spec.ts.ejs +0 -1
- package/generators/client/templates/vue/tsconfig.json.ejs +6 -10
- package/generators/client/templates/vue/tsconfig.spec.json.ejs +37 -0
- package/generators/client/templates/vue/webpack/config.js.ejs +50 -0
- package/generators/client/templates/vue/webpack/vue.utils.js.ejs +33 -32
- package/generators/client/templates/vue/webpack/webpack.common.js.ejs +150 -126
- package/generators/client/templates/vue/webpack/webpack.dev.js.ejs +19 -76
- package/generators/client/templates/vue/webpack/webpack.microfrontend.js.jhi.vue.ejs +77 -0
- package/generators/client/templates/vue/webpack/webpack.prod.js.ejs +5 -41
- package/generators/cloudfoundry/index.js +9 -9
- package/generators/common/index.js +12 -10
- package/generators/common/templates/.prettierrc.ejs +1 -1
- package/generators/common/templates/README.md.jhi.ejs +19 -0
- package/generators/common/templates/package.json +4 -4
- package/generators/cypress/index.js +12 -9
- package/generators/cypress/templates/cypress.json.ejs +16 -2
- package/generators/cypress/templates/src/test/javascript/cypress/integration/account/login-page.spec.ts.ejs +3 -14
- package/generators/cypress/templates/src/test/javascript/cypress/integration/account/password-page.spec.ts.ejs +33 -39
- package/generators/cypress/templates/src/test/javascript/cypress/integration/account/register-page.spec.ts.ejs +52 -62
- package/generators/cypress/templates/src/test/javascript/cypress/integration/account/reset-password-page.spec.ts.ejs +2 -10
- package/generators/cypress/templates/src/test/javascript/cypress/integration/account/settings-page.spec.ts.ejs +25 -34
- package/generators/cypress/templates/src/test/javascript/cypress/integration/administration/administration.spec.ts.ejs +1 -22
- package/generators/cypress/templates/src/test/javascript/cypress/plugins/index.ts.ejs +4 -4
- package/generators/cypress/templates/src/test/javascript/cypress/support/commands.ts.ejs +67 -7
- package/generators/cypress/templates/src/test/javascript/cypress/support/entity.ts.ejs +4 -4
- package/generators/cypress/templates/src/test/javascript/cypress/support/index.ts.ejs +1 -6
- package/generators/cypress/templates/src/test/javascript/cypress/support/management.ts.ejs +1 -1
- package/generators/cypress/templates/src/test/javascript/cypress/support/navbar.ts.ejs +8 -8
- package/generators/cypress/templates/src/test/javascript/cypress/support/oauth2.ts.ejs +0 -9
- package/generators/database-changelog/index.js +33 -22
- package/generators/database-changelog-liquibase/index.js +12 -8
- package/generators/database-changelog-liquibase/templates/src/main/resources/config/liquibase/changelog/updated_entity_constraints.xml.ejs +1 -1
- package/generators/docker-compose/index.js +11 -12
- package/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +1 -1
- package/generators/entities/index.js +35 -26
- package/generators/entities-client/index.js +10 -7
- package/generators/entity/index.js +81 -32
- package/generators/entity-client/files.js +7 -16
- package/generators/entity-client/index.js +22 -12
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/delete/entity-management-delete-dialog.component.spec.ts.ejs +42 -44
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/detail/entity-management-detail.component.html.ejs +1 -1
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/detail/entity-management-detail.component.spec.ts.ejs +58 -60
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management.module.ts.ejs +1 -35
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity.model.ts.ejs +1 -1
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.html.ejs +4 -4
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.spec.ts.ejs +110 -112
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.ts.ejs +9 -2
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/infinite-scroll-template.ejs +8 -8
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/no-pagination-template.ejs +8 -8
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/pagination-template.ejs +8 -8
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/route/entity-management-routing-resolve.service.spec.ts.ejs +15 -6
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/route/entity-management-routing.module.ts.ejs +1 -1
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/service/entity.service.spec.ts.ejs +1 -1
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/service/entity.service.ts.ejs +1 -1
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.spec.ts.ejs +203 -198
- package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.ts.ejs +5 -5
- package/generators/entity-client/templates/angular/src/test/javascript/e2e/entities/entity.spec.ts.ejs +1 -1
- package/generators/entity-client/templates/common/src/test/javascript/cypress/integration/entity/entity.spec.ts.ejs +264 -127
- package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-update.tsx.ejs +17 -14
- package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity.reducer.ts.ejs +5 -4
- package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity.tsx.ejs +11 -13
- package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity-update.component.ts.ejs +32 -25
- package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity-update.vue.ejs +6 -9
- package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity.component.ts.ejs +2 -1
- package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity.model.ts.ejs +1 -1
- package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity.service.ts.ejs +2 -6
- package/generators/entity-client/templates/vue/src/test/javascript/spec/app/entities/entity-update.component.spec.ts.ejs +10 -7
- package/generators/entity-client/templates/vue/src/test/javascript/spec/app/entities/entity.component.spec.ts.ejs +5 -1
- package/generators/entity-client/templates/vue/src/test/javascript/spec/app/entities/entity.service.spec.ts.ejs +1 -1
- package/generators/entity-i18n/index.js +7 -4
- package/generators/entity-server/files.js +14 -0
- package/generators/entity-server/index.js +12 -8
- package/generators/entity-server/templates/src/main/java/package/common/get_all_template.ejs +2 -2
- 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 +9 -8
- package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryInternalImpl_reactive.java.ejs +16 -29
- package/generators/entity-server/templates/src/main/java/package/repository/EntityRepository_reactive.java.ejs +3 -3
- package/generators/entity-server/templates/src/main/java/package/repository/EntitySqlHelper_reactive.java.ejs +46 -0
- package/generators/entity-server/templates/src/main/java/package/repository/rowmapper/EntityRowMapper.java.ejs +1 -1
- package/generators/entity-server/templates/src/main/java/package/repository/search/EntitySearchRepository.java.ejs +18 -2
- package/generators/entity-server/templates/src/main/java/package/repository/search/SortToFieldSortBuilderConverter.java.ejs +24 -0
- package/generators/entity-server/templates/src/main/java/package/service/dto/EntityDTO.java.ejs +8 -6
- package/generators/entity-server/templates/src/main/java/package/service/mapper/EntityMapper.java.ejs +5 -1
- package/generators/entity-server/templates/src/main/java/package/web/rest/EntityResource.java.ejs +41 -43
- package/generators/entity-server/templates/src/test/java/package/web/rest/EntityResourceIT.java.ejs +3 -3
- package/generators/gae/index.js +10 -10
- package/generators/generator-base-blueprint.js +14 -46
- package/generators/generator-base-private.js +44 -23
- package/generators/generator-base.js +58 -18
- package/generators/generator-constants.js +30 -23
- package/generators/generator-transforms.js +39 -27
- package/generators/heroku/index.js +14 -33
- package/generators/init/constants.cjs +1 -1
- package/generators/java/constants.cjs +1 -1
- package/generators/kubernetes/files.js +3 -0
- package/generators/kubernetes/index.js +10 -10
- package/generators/kubernetes/templates/db/couchbase.yml.ejs +1 -1
- package/generators/kubernetes/templates/deployment.yml.ejs +8 -3
- package/generators/kubernetes/templates/istio/destination-rule.yml.ejs +1 -1
- package/generators/kubernetes/templates/istio/gateway/grafana-gateway.yml.ejs +5 -2
- package/generators/kubernetes/templates/istio/gateway/jhipster-grafana-gateway.yml.ejs +5 -2
- package/generators/kubernetes/templates/istio/gateway/kiali-gateway.yml.ejs +10 -8
- package/generators/kubernetes/templates/istio/gateway/zipkin-gateway.yml.ejs +5 -2
- package/generators/kubernetes/templates/istio/gateway.yml.ejs +7 -5
- package/generators/kubernetes/templates/secret/couchbase-secret.yml.ejs +9 -0
- package/generators/kubernetes-base.js +1 -0
- package/generators/kubernetes-helm/files.js +3 -8
- package/generators/kubernetes-helm/index.js +10 -10
- package/generators/kubernetes-helm/templates/README-KUBERNETES-HELM.md.ejs +0 -1
- package/generators/kubernetes-helm/templates/app/Chart.yml.ejs +5 -0
- package/generators/kubernetes-helm/templates/app/helpers.tpl.ejs +0 -11
- package/generators/kubernetes-helm/templates/app/requirements.yml.ejs +5 -0
- package/generators/kubernetes-helm/templates/app/values.yml.ejs +68 -5
- package/generators/kubernetes-helm/templates/csvc/Chart.yml.ejs +1 -1
- package/generators/kubernetes-helm/templates/csvc/requirements.yml.ejs +1 -1
- package/generators/kubernetes-knative/index.js +10 -10
- package/generators/kubernetes-knative/templates/istio/gateway.yml.ejs +6 -4
- package/generators/kubernetes-knative/templates/service.yml.ejs +1 -1
- package/generators/languages/index.js +13 -13
- package/generators/languages/templates/src/main/webapp/i18n/vi/login.json +1 -1
- package/generators/openapi-client/index.js +13 -10
- package/generators/openshift/index.js +10 -11
- package/generators/openshift/templates/deployment.yml.ejs +1 -1
- package/generators/page/index.js +12 -10
- package/generators/server/__snapshots__/generator.spec.mjs.snap +28 -15
- package/generators/server/cleanup.js +151 -0
- package/generators/server/files-sql.js +52 -0
- package/generators/server/files.js +31 -14
- package/generators/server/index.js +86 -33
- package/generators/server/templates/build.gradle.ejs +231 -189
- package/generators/server/templates/gradle.properties.ejs +12 -12
- package/generators/server/templates/npmw +8 -6
- package/generators/server/templates/npmw.cmd +13 -8
- package/generators/server/templates/pom.xml.ejs +425 -217
- package/generators/server/templates/sql/reactive/src/main/java/package/repository/UserSqlHelper.java.ejs +48 -0
- package/generators/server/templates/src/main/docker/app.yml.ejs +1 -1
- package/generators/server/templates/src/main/docker/config/realm-config/jhipster-realm.json.ejs +2 -2
- package/generators/server/templates/src/main/java/package/config/LocaleConfiguration.java.ejs +3 -2
- package/generators/server/templates/src/main/java/package/config/OpenApiConfiguration.java.ejs +17 -54
- package/generators/server/templates/src/main/java/package/config/SecurityConfiguration.java.ejs +5 -5
- package/generators/server/templates/src/main/java/package/config/SecurityConfiguration_reactive.java.ejs +4 -6
- package/generators/server/templates/src/main/java/package/config/WebConfigurer.java.ejs +0 -3
- package/generators/server/templates/src/main/java/package/config/neo4j/Neo4jMigrations.java.ejs +19 -9
- package/generators/server/templates/src/main/java/package/management/SecurityMetersService.java.ejs +68 -0
- package/generators/server/templates/src/main/java/package/repository/AuthorityRepository.java.ejs +2 -2
- package/generators/server/templates/src/main/java/package/repository/UserRepository.java.ejs +0 -25
- package/generators/server/templates/src/main/java/package/security/jwt/TokenProvider.java.ejs +31 -4
- package/generators/server/templates/src/main/java/package/security/oauth2/CustomClaimConverter.java.ejs +23 -11
- package/generators/server/templates/src/main/java/package/service/UserService.java.ejs +16 -8
- package/generators/server/templates/src/main/java/package/service/dto/UserDTO.java.ejs +6 -6
- package/generators/server/templates/src/main/java/package/web/filter/ModifyServersOpenApiFilter.java.ejs +3 -2
- package/generators/server/templates/src/main/java/package/web/filter/SpaWebFilter.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/java/package/web/rest/UserResource.java.ejs +2 -2
- package/generators/server/templates/src/main/resources/config/application.yml.ejs +22 -8
- package/generators/server/templates/src/main/resources/logback-spring.xml.ejs +1 -2
- package/generators/server/templates/src/main/resources/static/microservices_index.html.ejs +1 -1
- package/generators/server/templates/src/test/java/package/cucumber/CucumberIT.java.ejs +2 -6
- package/generators/server/templates/src/test/java/package/cucumber/CucumberTestContextConfiguration.java.ejs +2 -3
- package/generators/server/templates/src/test/java/package/cucumber/stepdefs/UserStepDefs.java.ejs +41 -6
- package/generators/server/templates/src/test/java/package/management/SecurityMetersServiceTests.java.ejs +113 -0
- package/generators/server/templates/src/test/java/package/security/jwt/JWTFilterTest.java.ejs +6 -1
- package/generators/server/templates/src/test/java/package/security/jwt/TokenProviderSecurityMetersTests.java.ejs +198 -0
- package/generators/server/templates/src/test/java/package/security/jwt/TokenProviderTest.java.ejs +13 -3
- package/generators/server/templates/src/test/java/package/security/oauth2/AuthorizationHeaderUtilTest.java.ejs +17 -3
- package/generators/server/templates/src/test/java/package/security/oauth2/CustomClaimConverterIT.java.ejs +63 -0
- package/generators/server/templates/src/test/java/package/service/MailServiceIT.java.ejs +1 -1
- package/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT.java.ejs +2 -3
- package/generators/server/templates/src/test/java/package/web/rest/ClientForwardControllerTest.java.ejs +9 -0
- package/generators/server/templates/src/test/resources/junit-platform.properties.ejs +2 -0
- package/generators/server/templates/src/test/resources/logback.xml.ejs +1 -1
- package/generators/server/templates/src/test/{features → resources/package/features}/gitkeep +0 -0
- package/generators/server/templates/src/test/{features → resources/package/features}/user/user.feature.ejs +0 -0
- package/generators/spring-controller/index.js +9 -7
- package/generators/spring-controller/templates/src/test/java/package/web/rest/ResourceIT.java.ejs +1 -1
- package/generators/spring-service/index.js +10 -7
- package/generators/upgrade/index.js +4 -5
- package/generators/utils.js +2 -2
- package/generators/workspaces/index.js +16 -7
- package/jdl/jhipster/default-application-options.js +9 -7
- package/package.json +22 -22
- package/utils/entity.js +17 -4
- package/utils/field.js +11 -1
- package/utils/multi-step-transform/index.js +8 -8
- package/generators/client/templates/react/.npmrc.ejs +0 -1
- package/generators/client/templates/vue/webpack/dev.env.js.ejs +0 -17
- package/generators/client/templates/vue/webpack/env.js.ejs +0 -67
- package/generators/client/templates/vue/webpack/loader.conf.js.ejs +0 -20
- package/generators/client/templates/vue/webpack/prod.env.js.ejs +0 -15
- package/generators/server/templates/src/main/java/package/config/apidocs/GatewaySwaggerResourcesProvider.java.ejs +0 -91
- package/generators/server/templates/src/test/java/package/config/apidocs/GatewaySwaggerResourcesProviderTest.java.ejs +0 -79
- package/generators/server/templates/src/test/resources/cucumber.properties.ejs +0 -1
|
@@ -66,18 +66,22 @@ import AlertService from '@/shared/alert/alert.service';
|
|
|
66
66
|
hasManyToMany = true;
|
|
67
67
|
} _%>
|
|
68
68
|
<%_ if (!importEntitiesSeen.includes(otherEntityAngularName)) { _%>
|
|
69
|
-
<% if (relationship.otherEntityUser && !authenticationTypeOauth2) { %>
|
|
70
|
-
import UserService from '@/
|
|
71
|
-
|
|
72
|
-
import UserOAuth2Service from '@/entities/user/user.oauth2.service';
|
|
73
|
-
<% } else if (!relationship.otherEntityUser) { %>
|
|
69
|
+
<% if (relationship.otherEntityUser && (!skipUserManagement || authenticationTypeOauth2)) { %>
|
|
70
|
+
import UserService from '@/entities/user/user.service';
|
|
71
|
+
<% } else { %>
|
|
74
72
|
import <%= otherEntityAngularName %>Service from '@/entities/<%= otherEntityClientRootFolder %><%= otherEntityFolderName %>/<%= otherEntityFileName %>.service';
|
|
75
73
|
import { I<%= otherEntityAngularName %> } from '@/shared/model/<%= otherEntityModelName %>.model';
|
|
76
|
-
|
|
74
|
+
<% } %>
|
|
75
|
+
<%_ } _%>
|
|
76
|
+
<%_ importEntitiesSeen.push(otherEntityAngularName); _%>
|
|
77
|
+
<%_ } _%>
|
|
77
78
|
<%_ } _%>
|
|
78
|
-
<%_ importEntitiesSeen.push(otherEntityAngularName); } } _%>
|
|
79
79
|
import { I<%= entityAngularName %>, <%= entityAngularName %> } from '@/shared/model/<%= entityModelFileName %>.model';
|
|
80
80
|
import <%= entityAngularName %>Service from './<%= entityFileName %>.service';
|
|
81
|
+
<%_ const enumImports = generateEntityClientEnumImports(fields); _%>
|
|
82
|
+
<%_ enumImports.forEach( (importedPath, importedType) => { _%>
|
|
83
|
+
import { <%- importedType %> } from '<%- importedPath %>';
|
|
84
|
+
<%_ }); _%>
|
|
81
85
|
|
|
82
86
|
const validations: any = {
|
|
83
87
|
<%= entityInstance %>: {
|
|
@@ -113,7 +117,7 @@ _%>
|
|
|
113
117
|
<%_ } _%>
|
|
114
118
|
<%_ for (relationship of relationships) { _%>
|
|
115
119
|
<%_ if (relationship.relationshipValidate && relationship.relationshipRequired) { _%>
|
|
116
|
-
<%= relationship.relationshipFieldName %>: {
|
|
120
|
+
<%= relationship.collection ? relationship.relationshipFieldNamePlural : relationship.relationshipFieldName %>: {
|
|
117
121
|
required
|
|
118
122
|
},
|
|
119
123
|
<%_ } _%>
|
|
@@ -138,16 +142,21 @@ export default class <%= entityAngularName %>Update extends <% if (fieldsContain
|
|
|
138
142
|
const otherEntityAngularName = relationship.otherEntityAngularName;
|
|
139
143
|
_%>
|
|
140
144
|
<%_ if (!entitiesSeen.includes(otherEntityAngularName)) { %>
|
|
141
|
-
|
|
142
|
-
@Inject('
|
|
143
|
-
|
|
145
|
+
<% if (relationship.otherEntityUser && (!skipUserManagement || authenticationTypeOauth2)) { %>
|
|
146
|
+
@Inject('userService') private userService: () => UserService;
|
|
147
|
+
<% } else { %>
|
|
144
148
|
@Inject('<%= otherEntityName %>Service') private <%= otherEntityName %>Service: () => <%= otherEntityAngularName %>Service;
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
149
|
+
<%_ } _%>
|
|
150
|
+
<%_ } _%>
|
|
151
|
+
<%_ if (!entitiesSeen.includes(otherEntityNamePlural)) { %>
|
|
148
152
|
public <%= otherEntityNamePlural %> : <% if (otherEntityAngularName === 'User') { %>Array<any><%_ } else { _%>I<%= otherEntityAngularName %>[]<%_ } _%> = [];
|
|
153
|
+
<%_ } _%>
|
|
154
|
+
<%_ entitiesSeen.push(otherEntityAngularName);entitiesSeen.push(otherEntityNamePlural); _%>
|
|
149
155
|
<%_ } _%>
|
|
150
|
-
|
|
156
|
+
<%_ } _%>
|
|
157
|
+
<%_ enumImports.forEach( (importedPath, importedType) => { _%>
|
|
158
|
+
public <%- _.lowerFirst(importedType) %>Values : string[] = Object.keys(<%- importedType %>);
|
|
159
|
+
<%_ }); _%>
|
|
151
160
|
public isSaving = false;
|
|
152
161
|
public currentLanguage = '';
|
|
153
162
|
|
|
@@ -310,24 +319,22 @@ _%>
|
|
|
310
319
|
if (!entitiesSet.has(otherEntityName)) {
|
|
311
320
|
entitiesSet.add(otherEntityName);
|
|
312
321
|
_%>
|
|
313
|
-
|
|
314
|
-
this.
|
|
315
|
-
|
|
322
|
+
<% if (relationship.otherEntityUser && (!skipUserManagement || authenticationTypeOauth2)) { %>
|
|
323
|
+
this.userService().retrieve().then((res) => {
|
|
324
|
+
<%_ } else { _%>
|
|
316
325
|
this.<%= otherEntityName %>Service().retrieve().then((res) => {
|
|
317
|
-
|
|
326
|
+
<%_ } _%>
|
|
318
327
|
this.<%= otherEntityNamePlural %> = res.data;
|
|
319
328
|
});
|
|
320
|
-
|
|
329
|
+
<%_ } _%>
|
|
330
|
+
<%_ } _%>
|
|
331
|
+
<%_ } _%>
|
|
321
332
|
}
|
|
322
333
|
|
|
323
334
|
<%_ if (hasManyToMany) { _%>
|
|
324
335
|
public getSelected(selectedVals, option) : any {
|
|
325
336
|
if (selectedVals) {
|
|
326
|
-
|
|
327
|
-
if (option.id === selectedVals[i].id) {
|
|
328
|
-
return selectedVals[i];
|
|
329
|
-
}
|
|
330
|
-
}
|
|
337
|
+
return selectedVals.find(value => option.id === value.id) ?? option;
|
|
331
338
|
}
|
|
332
339
|
return option;
|
|
333
340
|
}
|
package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity-update.vue.ejs
CHANGED
|
@@ -34,12 +34,9 @@ _%>
|
|
|
34
34
|
<label class="form-control-label" v-text="$t('<%= translationKey %>')" for="<%= entityFileName %>-<%= fieldName %>"><%= fieldNameHumanized %></label>
|
|
35
35
|
<%_ if (field.fieldIsEnum) { _%>
|
|
36
36
|
<select class="form-control" name="<%= fieldName %>" :class="{'valid': !$v.<%= entityInstance %>.<%= fieldName %>.$invalid, 'invalid': $v.<%= entityInstance %>.<%= fieldName %>.$invalid }" v-model="$v.<%= entityInstance %>.<%= fieldName %>.$model" id="<%= entityFileName %>-<%= fieldName %>" data-cy="<%= fieldName %>" <% if (field.fieldValidate === true && field.fieldValidateRules.includes('required')) { %> required<% } %>>
|
|
37
|
-
<%_ const enumPrefix = frontendAppName + '.'+ fieldType;
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
const enumValue = values[key]; _%>
|
|
41
|
-
<option value="<%= enumValue.name %>" v-bind:label="$t('<%=enumPrefix%>.<%= enumValue.name %>')"><%= enumValue.value %></option>
|
|
42
|
-
<%_ } _%>
|
|
37
|
+
<%_ const enumPrefix = frontendAppName + '.'+ fieldType; _%>
|
|
38
|
+
<option v-for="<%= _.lowerFirst(fieldType) %> in <%= _.lowerFirst(fieldType)%>Values" :key="<%= _.lowerFirst(fieldType) %>" v-bind:value="<%= _.lowerFirst(fieldType) %>" v-bind:label="$t('<%= enumPrefix %>.'+<%= _.lowerFirst(fieldType) %>)">{{ <%= _.lowerFirst(fieldType) %> }}</option>
|
|
39
|
+
|
|
43
40
|
</select>
|
|
44
41
|
<%_ } else { _%>
|
|
45
42
|
<%_ if (field.fieldTypeBinary && !field.blobContentTypeText) { _%>
|
|
@@ -195,15 +192,15 @@ _%>
|
|
|
195
192
|
<%_ } else if (relationship.relationshipManyToMany && ownerSide) { _%>
|
|
196
193
|
<div class="form-group">
|
|
197
194
|
<label v-text="$t('<%= translationKey %>')" for="<%= entityFileName %>-<%= relationshipName %>"><%= relationshipNameHumanized %></label>
|
|
198
|
-
<select class="form-control" id="<%= entityFileName %>-<%=
|
|
195
|
+
<select class="form-control" id="<%= entityFileName %>-<%= relationshipFieldNamePlural %>" data-cy="<%= relationshipFieldName %>" multiple name="<%= relationshipName %>" v-if="<%=entityInstance %>.<%=relationshipFieldNamePlural %> !== undefined" v-model="<%=entityInstance %>.<%=relationshipFieldNamePlural %>"<% if (relationshipRequired) { %> required<% } %>>
|
|
199
196
|
<option v-bind:value="getSelected(<%=entityInstance %>.<%=relationshipFieldNamePlural %>, <%=otherEntityName %>Option)" v-for="<%=otherEntityName %>Option in <%=otherEntityNamePlural %>" :key="<%=otherEntityName %>Option.id">{{<%=otherEntityName %>Option.<%=otherEntityField %>}}</option>
|
|
200
197
|
</select>
|
|
201
198
|
</div>
|
|
202
199
|
<%_ } _%>
|
|
203
200
|
<%_ if (relationship.relationshipValidate) { _%>
|
|
204
|
-
<div v-if="$v.<%= entityInstance %>.<%=
|
|
201
|
+
<div v-if="$v.<%= entityInstance %>.<%= relationship.collection ? relationshipFieldNamePlural : relationshipFieldName %>.$anyDirty && $v.<%= entityInstance %>.<%= relationship.collection ? relationshipFieldNamePlural : relationshipFieldName %>.$invalid">
|
|
205
202
|
<%_ if (relationshipRequired) { _%>
|
|
206
|
-
<small class="form-text text-danger" v-if="!$v.<%= entityInstance %>.<%=
|
|
203
|
+
<small class="form-text text-danger" v-if="!$v.<%= entityInstance %>.<%= relationship.collection ? relationshipFieldNamePlural : relationshipFieldName %>.required" v-text="$t('entity.validation.required')">
|
|
207
204
|
This field is required.
|
|
208
205
|
</small>
|
|
209
206
|
<%_ } _%>
|
package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity.component.ts.ejs
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
<%_ if (fieldsContainBlob || paginationInfiniteScroll) { -%>
|
|
1
2
|
import { mixins } from 'vue-class-component';
|
|
2
|
-
|
|
3
|
+
<%_ } -%>
|
|
3
4
|
import { Component, Vue, Inject } from 'vue-property-decorator';
|
|
4
5
|
import Vue2Filters from 'vue2-filters';
|
|
5
6
|
import { I<%= entityAngularName %> } from '@/shared/model/<%= entityModelFileName %>.model';
|
package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity.model.ts.ejs
CHANGED
|
@@ -32,7 +32,7 @@ import { <%- importedType %> } from '<%- importedPath %>';
|
|
|
32
32
|
<%_ }); _%>
|
|
33
33
|
|
|
34
34
|
<%_ enumImports.forEach( (importedPath, importedType) => { _%>
|
|
35
|
-
import { <%- importedType %> } from '<%- importedPath
|
|
35
|
+
import { <%- importedType %> } from '<%- importedPath %>';
|
|
36
36
|
<%_ }); _%>
|
|
37
37
|
export interface I<%= entityAngularName %> {
|
|
38
38
|
<%_ variablesWithTypes.forEach(variablesWithType => { _%>
|
package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity.service.ts.ejs
CHANGED
|
@@ -4,13 +4,9 @@ import buildPaginationQueryOpts from '@/shared/sort/sorts';
|
|
|
4
4
|
<% } %>
|
|
5
5
|
import { I<%= entityAngularName %> } from '@/shared/model/<%= entityModelFileName %>.model';
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
const baseApi = (applicationTypeGateway && locals.microserviceName) ? 'services/' + microserviceName.toLowerCase() + '/api/' : 'api/';
|
|
9
|
-
_%>
|
|
10
|
-
|
|
11
|
-
const baseApiUrl = '<%= baseApi + entityApiUrl %>';
|
|
7
|
+
const baseApiUrl = '<%= entityApi %>api/<%= entityApiUrl %>';
|
|
12
8
|
<%_ if (searchEngine) { _%>
|
|
13
|
-
const baseSearchApiUrl = '<%=
|
|
9
|
+
const baseSearchApiUrl = '<%= entityApi %>api/_search/<%= entityApiUrl %>?query=';
|
|
14
10
|
<%_ } _%>
|
|
15
11
|
|
|
16
12
|
export default class <%= entityAngularName %>Service {
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
import { shallowMount, createLocalVue, Wrapper } from '@vue/test-utils';
|
|
22
22
|
import sinon, { SinonStubbedInstance } from 'sinon';
|
|
23
23
|
import Router from 'vue-router';
|
|
24
|
+
import { ToastPlugin } from 'bootstrap-vue';
|
|
24
25
|
|
|
25
26
|
<%_ let dayJsIncluded = false;
|
|
26
27
|
for (field of fields.filter(field => !field.id)) { _%>
|
|
@@ -44,10 +45,8 @@ import <%= entityAngularName %>Service from '@/entities/<%= entityFolderName %>/
|
|
|
44
45
|
const otherEntityFolderName = relationship.otherEntityFileName;
|
|
45
46
|
const otherEntityClientRootFolder = relationship.otherEntityClientRootFolder; _%>
|
|
46
47
|
<%_ if (!importEntitiesSeen.includes(otherEntityAngularName)) { _%>
|
|
47
|
-
<% if (relationship.otherEntityUser && !authenticationTypeOauth2) { %>
|
|
48
|
-
import UserService from '@/
|
|
49
|
-
<%_ } else if (relationship.otherEntityUser && authenticationTypeOauth2) { _%>
|
|
50
|
-
import UserOAuth2Service from '@/entities/user/user.oauth2.service';
|
|
48
|
+
<% if (relationship.otherEntityUser && (!skipUserManagement || authenticationTypeOauth2)) { %>
|
|
49
|
+
import UserService from '@/entities/user/user.service';
|
|
51
50
|
<% } else if (!relationship.otherEntityUser) { %>
|
|
52
51
|
import <%= otherEntityAngularName %>Service from '@/entities/<%= otherEntityClientRootFolder %><%= otherEntityFolderName %>/<%= otherEntityFileName %>.service';
|
|
53
52
|
<%_ } _%>
|
|
@@ -66,6 +65,7 @@ const i18n = config.initI18N(localVue);
|
|
|
66
65
|
const store = config.initVueXStore(localVue);
|
|
67
66
|
const router = new Router();
|
|
68
67
|
localVue.use(Router);
|
|
68
|
+
localVue.use(ToastPlugin);
|
|
69
69
|
localVue.component('font-awesome-icon', {});
|
|
70
70
|
localVue.component('b-input-group', {});
|
|
71
71
|
localVue.component('b-input-group-prepend', {});
|
|
@@ -99,10 +99,13 @@ describe('Component Tests', () => {
|
|
|
99
99
|
const otherEntityName = relationship.otherEntityName;
|
|
100
100
|
const otherEntityAngularName = relationship.otherEntityAngularName; _%>
|
|
101
101
|
<%_ if (!entitiesSeen.includes(otherEntityAngularName)) { %>
|
|
102
|
-
<%
|
|
103
|
-
|
|
102
|
+
<% if (relationship.otherEntityUser && (!skipUserManagement || authenticationTypeOauth2)) { %>
|
|
103
|
+
userService: () => new UserService(),
|
|
104
104
|
<%_ } else { _%>
|
|
105
|
-
<%= otherEntityName %>Service: () =>
|
|
105
|
+
<%= otherEntityName %>Service: () =>
|
|
106
|
+
sinon.createStubInstance<<%= otherEntityAngularName %>Service>(<%= otherEntityAngularName %>Service, {
|
|
107
|
+
retrieve: sinon.stub().resolves({}),
|
|
108
|
+
} as any),
|
|
106
109
|
<%_ } _%>
|
|
107
110
|
<%_ } _%>
|
|
108
111
|
<%_ entitiesSeen.push(otherEntityAngularName); _%>
|
|
@@ -22,6 +22,7 @@ _%>
|
|
|
22
22
|
/* tslint:disable max-line-length */
|
|
23
23
|
import { shallowMount, createLocalVue, Wrapper } from '@vue/test-utils';
|
|
24
24
|
import sinon, { SinonStubbedInstance } from 'sinon';
|
|
25
|
+
import { ToastPlugin } from 'bootstrap-vue';
|
|
25
26
|
|
|
26
27
|
import * as config from '@/shared/config/config';
|
|
27
28
|
import <%= entityAngularName %>Component from '@/entities/<%= entityFolderName %>/<%= entityFileName %>.vue';
|
|
@@ -30,6 +31,7 @@ import <%= entityAngularName %>Service from '@/entities/<%= entityFolderName %>/
|
|
|
30
31
|
import AlertService from '@/shared/alert/alert.service';
|
|
31
32
|
|
|
32
33
|
const localVue = createLocalVue();
|
|
34
|
+
localVue.use(ToastPlugin);
|
|
33
35
|
|
|
34
36
|
config.initVueApp(localVue);
|
|
35
37
|
<%_ if (enableTranslation) { _%>
|
|
@@ -185,12 +187,14 @@ describe('Component Tests', () => {
|
|
|
185
187
|
|
|
186
188
|
// WHEN
|
|
187
189
|
comp.prepareRemove({id: <%- tsKeyId %>});
|
|
190
|
+
expect(<%= entityInstance %>ServiceStub.retrieve.callCount).toEqual(1);
|
|
191
|
+
|
|
188
192
|
comp.remove<%= entityAngularName %>();
|
|
189
193
|
await comp.$nextTick();
|
|
190
194
|
|
|
191
195
|
// THEN
|
|
192
196
|
expect(<%= entityInstance %>ServiceStub.delete.called).toBeTruthy();
|
|
193
|
-
expect(<%= entityInstance %>ServiceStub.retrieve.callCount).toEqual(
|
|
197
|
+
expect(<%= entityInstance %>ServiceStub.retrieve.callCount).toEqual(2);
|
|
194
198
|
});
|
|
195
199
|
<%_ } _%>
|
|
196
200
|
});
|
|
@@ -33,7 +33,7 @@ import { <%_ if (fieldsContainLocalDate) { _%>DATE_FORMAT,<%_ } if (fieldsContai
|
|
|
33
33
|
import <%= entityAngularName %>Service from '@/entities/<%= entityFolderName %>/<%= entityFileName %>.service';
|
|
34
34
|
import { <%= entityAngularName %> } from '@/shared/model/<%= entityModelFileName %>.model';
|
|
35
35
|
<%_ enumImports.forEach( (importedPath, importedType) => { _%>
|
|
36
|
-
import { <%- importedType %> } from '<%- importedPath
|
|
36
|
+
import { <%- importedType %> } from '<%- importedPath %>';
|
|
37
37
|
<%_ }); _%>
|
|
38
38
|
|
|
39
39
|
const error = {
|
|
@@ -23,7 +23,6 @@ const { GENERATOR_ENTITY_I_18_N } = require('../generator-list');
|
|
|
23
23
|
const BaseBlueprintGenerator = require('../generator-base-blueprint');
|
|
24
24
|
|
|
25
25
|
/* constants used throughout */
|
|
26
|
-
let useBlueprints;
|
|
27
26
|
|
|
28
27
|
module.exports = class extends BaseBlueprintGenerator {
|
|
29
28
|
constructor(args, options, features) {
|
|
@@ -31,8 +30,12 @@ module.exports = class extends BaseBlueprintGenerator {
|
|
|
31
30
|
|
|
32
31
|
this.entity = this.options.context;
|
|
33
32
|
this.jhipsterContext = this.options.jhipsterContext || this.options.context;
|
|
33
|
+
}
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
async _postConstruct() {
|
|
36
|
+
if (!this.fromBlueprint) {
|
|
37
|
+
await this.composeWithBlueprints(GENERATOR_ENTITY_I_18_N, { context: this.options.context });
|
|
38
|
+
}
|
|
36
39
|
}
|
|
37
40
|
|
|
38
41
|
// Public API method used by the getter and also by Blueprints
|
|
@@ -47,7 +50,7 @@ module.exports = class extends BaseBlueprintGenerator {
|
|
|
47
50
|
}
|
|
48
51
|
|
|
49
52
|
get default() {
|
|
50
|
-
if (
|
|
53
|
+
if (this.delegateToBlueprint) return {};
|
|
51
54
|
return this._default();
|
|
52
55
|
}
|
|
53
56
|
|
|
@@ -57,7 +60,7 @@ module.exports = class extends BaseBlueprintGenerator {
|
|
|
57
60
|
}
|
|
58
61
|
|
|
59
62
|
get writing() {
|
|
60
|
-
if (
|
|
63
|
+
if (this.delegateToBlueprint) return {};
|
|
61
64
|
return this._writing();
|
|
62
65
|
}
|
|
63
66
|
};
|
|
@@ -172,6 +172,16 @@ const serverFiles = {
|
|
|
172
172
|
},
|
|
173
173
|
],
|
|
174
174
|
},
|
|
175
|
+
{
|
|
176
|
+
condition: generator => generator.searchEngine === ELASTICSEARCH && !generator.embedded && !generator.paginationNo,
|
|
177
|
+
path: SERVER_MAIN_SRC_DIR,
|
|
178
|
+
templates: [
|
|
179
|
+
{
|
|
180
|
+
file: 'package/repository/search/SortToFieldSortBuilderConverter.java',
|
|
181
|
+
renameTo: generator => `${generator.entityAbsoluteFolder}/repository/search/SortToFieldSortBuilderConverter.java`,
|
|
182
|
+
},
|
|
183
|
+
],
|
|
184
|
+
},
|
|
175
185
|
{
|
|
176
186
|
condition: generator => !generator.reactive && !generator.embedded && generator.databaseType !== COUCHBASE,
|
|
177
187
|
path: SERVER_MAIN_SRC_DIR,
|
|
@@ -200,6 +210,10 @@ const serverFiles = {
|
|
|
200
210
|
file: 'package/repository/EntityRepositoryInternalImpl_reactive.java',
|
|
201
211
|
renameTo: generator => `${generator.entityAbsoluteFolder}/repository/${generator.entityClass}RepositoryInternalImpl.java`,
|
|
202
212
|
},
|
|
213
|
+
{
|
|
214
|
+
file: 'package/repository/EntitySqlHelper_reactive.java',
|
|
215
|
+
renameTo: generator => `${generator.entityAbsoluteFolder}/repository/${generator.entityClass}SqlHelper.java`,
|
|
216
|
+
},
|
|
203
217
|
{
|
|
204
218
|
file: 'package/repository/rowmapper/EntityRowMapper.java',
|
|
205
219
|
renameTo: generator => `${generator.entityAbsoluteFolder}/repository/rowmapper/${generator.entityClass}RowMapper.java`,
|
|
@@ -27,7 +27,6 @@ const { SQL } = require('../../jdl/jhipster/database-types');
|
|
|
27
27
|
const { isReservedTableName } = require('../../jdl/jhipster/reserved-keywords');
|
|
28
28
|
|
|
29
29
|
/* constants used throughout */
|
|
30
|
-
let useBlueprints;
|
|
31
30
|
|
|
32
31
|
module.exports = class extends BaseBlueprintGenerator {
|
|
33
32
|
constructor(args, options, features) {
|
|
@@ -36,8 +35,12 @@ module.exports = class extends BaseBlueprintGenerator {
|
|
|
36
35
|
this.entity = this.options.context;
|
|
37
36
|
|
|
38
37
|
this.jhipsterContext = this.options.jhipsterContext || this.options.context;
|
|
38
|
+
}
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
async _postConstruct() {
|
|
41
|
+
if (!this.fromBlueprint) {
|
|
42
|
+
await this.composeWithBlueprints(GENERATOR_ENTITY_SERVER, { context: this.options.context });
|
|
43
|
+
}
|
|
41
44
|
}
|
|
42
45
|
|
|
43
46
|
// Public API method used by the getter and also by Blueprints
|
|
@@ -51,7 +54,7 @@ module.exports = class extends BaseBlueprintGenerator {
|
|
|
51
54
|
}
|
|
52
55
|
|
|
53
56
|
get initializing() {
|
|
54
|
-
if (
|
|
57
|
+
if (this.delegateToBlueprint) return {};
|
|
55
58
|
return this._initializing();
|
|
56
59
|
}
|
|
57
60
|
|
|
@@ -69,7 +72,7 @@ module.exports = class extends BaseBlueprintGenerator {
|
|
|
69
72
|
}
|
|
70
73
|
|
|
71
74
|
get preparing() {
|
|
72
|
-
if (
|
|
75
|
+
if (this.delegateToBlueprint) return {};
|
|
73
76
|
return this._preparing();
|
|
74
77
|
}
|
|
75
78
|
|
|
@@ -98,7 +101,7 @@ module.exports = class extends BaseBlueprintGenerator {
|
|
|
98
101
|
}
|
|
99
102
|
|
|
100
103
|
get preparingFields() {
|
|
101
|
-
if (
|
|
104
|
+
if (this.delegateToBlueprint) return {};
|
|
102
105
|
return this._preparingFields();
|
|
103
106
|
}
|
|
104
107
|
|
|
@@ -157,6 +160,7 @@ module.exports = class extends BaseBlueprintGenerator {
|
|
|
157
160
|
},
|
|
158
161
|
|
|
159
162
|
processUniqueEntityTypes() {
|
|
163
|
+
this.reactiveOtherEntities = new Set(this.reactiveEagerRelations.map(rel => rel.otherEntity));
|
|
160
164
|
this.reactiveUniqueEntityTypes = new Set(this.reactiveEagerRelations.map(rel => rel.otherEntityNameCapitalized));
|
|
161
165
|
this.reactiveUniqueEntityTypes.add(this.entityClass);
|
|
162
166
|
},
|
|
@@ -164,7 +168,7 @@ module.exports = class extends BaseBlueprintGenerator {
|
|
|
164
168
|
}
|
|
165
169
|
|
|
166
170
|
get default() {
|
|
167
|
-
if (
|
|
171
|
+
if (this.delegateToBlueprint) return {};
|
|
168
172
|
return this._default();
|
|
169
173
|
}
|
|
170
174
|
|
|
@@ -177,7 +181,7 @@ module.exports = class extends BaseBlueprintGenerator {
|
|
|
177
181
|
}
|
|
178
182
|
|
|
179
183
|
get writing() {
|
|
180
|
-
if (
|
|
184
|
+
if (this.delegateToBlueprint) return {};
|
|
181
185
|
return this._writing();
|
|
182
186
|
}
|
|
183
187
|
|
|
@@ -191,7 +195,7 @@ module.exports = class extends BaseBlueprintGenerator {
|
|
|
191
195
|
}
|
|
192
196
|
|
|
193
197
|
get postWriting() {
|
|
194
|
-
if (
|
|
198
|
+
if (this.delegateToBlueprint) return {};
|
|
195
199
|
return this._postWriting();
|
|
196
200
|
}
|
|
197
201
|
|
package/generators/entity-server/templates/src/main/java/package/common/get_all_template.ejs
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
const reactiveEntityToDto = (dtoMapstruct && !viaService) ? `.map(${entityToDtoReference})` : '';
|
|
26
26
|
_%>
|
|
27
27
|
<%_ if (jpaMetamodelFiltering) { _%>
|
|
28
|
-
public ResponseEntity<List<<%= instanceType %>>> getAll<%= entityClassPlural %>(<%= entityClass %>Criteria criteria<% if (!paginationNo) { %>, Pageable pageable<% if (reactive) { %>, ServerHttpRequest request<% } %><% } %>) {
|
|
28
|
+
public ResponseEntity<List<<%= instanceType %>>> getAll<%= entityClassPlural %>(<%= entityClass %>Criteria criteria<% if (!paginationNo) { %>, @org.springdoc.api.annotations.ParameterObject Pageable pageable<% if (reactive) { %>, ServerHttpRequest request<% } %><% } %>) {
|
|
29
29
|
log.debug("REST request to get <%= entityClassPlural %> by criteria: {}", criteria);
|
|
30
30
|
<%_ if (paginationNo) { _%>
|
|
31
31
|
List<<%= instanceType %>> entityList = <%= entityInstance %>QueryService.findByCriteria(criteria);
|
|
@@ -65,7 +65,7 @@ _%>
|
|
|
65
65
|
return <%= entityInstance %>Repository.<% if (relationshipsContainEagerLoad) { %>findAllWithEagerRelationships<% } else { %>findAll<% } %>()<% if (reactive) { %>.collectList()<% } %>;
|
|
66
66
|
<%_ } _%>
|
|
67
67
|
<%_ } else { _%>
|
|
68
|
-
public <% if (reactive) { %>Mono<ResponseEntity<List<<%= instanceType %>>>><% } else { %>ResponseEntity<List<<%= instanceType %>>><% } %> getAll<%= entityClassPlural %>(Pageable pageable<% if (reactive) { %>, ServerHttpRequest request<% } %><% if (fieldsContainNoOwnerOneToOne) { %>, @RequestParam(required = false) String filter<% } %><% if (relationshipsContainEagerLoad) { %>, @RequestParam(required = false, defaultValue = "false") boolean eagerload<% } %>) {<%- include('get_all_stream_template', {viaService: viaService}); -%>
|
|
68
|
+
public <% if (reactive) { %>Mono<ResponseEntity<List<<%= instanceType %>>>><% } else { %>ResponseEntity<List<<%= instanceType %>>><% } %> getAll<%= entityClassPlural %>(@org.springdoc.api.annotations.ParameterObject Pageable pageable<% if (reactive) { %>, ServerHttpRequest request<% } %><% if (fieldsContainNoOwnerOneToOne) { %>, @RequestParam(required = false) String filter<% } %><% if (relationshipsContainEagerLoad) { %>, @RequestParam(required = false, defaultValue = "false") boolean eagerload<% } %>) {<%- include('get_all_stream_template', {viaService: viaService}); -%>
|
|
69
69
|
log.debug("REST request to get a page of <%= entityClassPlural %>");
|
|
70
70
|
<%_ if (!reactive) { _%>
|
|
71
71
|
<%_ if (relationshipsContainEagerLoad) { _%>
|
|
@@ -27,7 +27,7 @@ if (paginationNo) { %>
|
|
|
27
27
|
public <% if (reactive) { %>Mono<<% } %>List<<%= instanceType %>><% if (reactive) { %>><% } %> search<%= entityClassPlural %>(@RequestParam String query) {
|
|
28
28
|
log.debug("REST request to search <%= entityClassPlural %> for query {}", query);<%- include('search_stream_template', {viaService: viaService, fromResource: true}); -%>
|
|
29
29
|
<% } if (!paginationNo) { %>
|
|
30
|
-
public <% if (reactive) { %>Mono<<% } %>ResponseEntity<<%= listOrFlux %><<%= instanceType %>>><% if (reactive) { %>><% } %> search<%= entityClassPlural %>(@RequestParam String query, Pageable pageable<% if (reactive) { %>, ServerHttpRequest request<% } %>) {
|
|
30
|
+
public <% if (reactive) { %>Mono<<% } %>ResponseEntity<<%= listOrFlux %><<%= instanceType %>>><% if (reactive) { %>><% } %> search<%= entityClassPlural %>(@RequestParam String query, @org.springdoc.api.annotations.ParameterObject Pageable pageable<% if (reactive) { %>, ServerHttpRequest request<% } %>) {
|
|
31
31
|
log.debug("REST request to search for a page of <%= entityClassPlural %> for query {}", query);
|
|
32
32
|
<%_ if (!reactive) { _%>
|
|
33
33
|
<%_ if (viaService) { _%>
|
|
@@ -50,11 +50,8 @@ package <%= entityAbsolutePackage %>.domain;
|
|
|
50
50
|
<%_ if (relationshipsContainOtherSideIgnore) { _%>
|
|
51
51
|
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
|
52
52
|
<%_ } _%>
|
|
53
|
-
<%_ if (!dtoMapstruct && typeof javadoc !== 'undefined') { _%>
|
|
54
|
-
import io.swagger.annotations.
|
|
55
|
-
<%_ } _%>
|
|
56
|
-
<%_ if (!dtoMapstruct && importApiModelProperty) { _%>
|
|
57
|
-
import io.swagger.annotations.ApiModelProperty;
|
|
53
|
+
<%_ if (!dtoMapstruct && (typeof javadoc !== 'undefined' || importApiModelProperty)) { _%>
|
|
54
|
+
import io.swagger.v3.oas.annotations.media.Schema;
|
|
58
55
|
<%_ } _%>
|
|
59
56
|
|
|
60
57
|
import java.io.Serializable;
|
|
@@ -80,6 +77,10 @@ Object.keys(uniqueEnums).forEach(function(element) { _%>
|
|
|
80
77
|
import <%= entityAbsolutePackage %>.domain.enumeration.<%= element %>;
|
|
81
78
|
<%_ }); _%>
|
|
82
79
|
|
|
80
|
+
<%_ for (const otherEntity of otherEntities.filter(otherEntity => otherEntity.entityPackage !== entityPackage)) { _%>
|
|
81
|
+
import <%= otherEntity.entityAbsoluteClass %>;
|
|
82
|
+
<%_ } _%>
|
|
83
|
+
|
|
83
84
|
<%_ if (typeof javadoc === 'undefined') { _%>
|
|
84
85
|
/**
|
|
85
86
|
* A <%= persistClass %>.
|
|
@@ -87,7 +88,7 @@ import <%= entityAbsolutePackage %>.domain.enumeration.<%= element %>;
|
|
|
87
88
|
<%_ } else { _%>
|
|
88
89
|
<%- formatAsClassJavadoc(javadoc) %>
|
|
89
90
|
<%_ if (!dtoMapstruct) { _%>
|
|
90
|
-
@
|
|
91
|
+
@Schema(description = "<%- formatAsApiDescription(javadoc) %>")
|
|
91
92
|
<%_ } _%>
|
|
92
93
|
<%_ } _%>
|
|
93
94
|
<&- fragments.annotationSection() -&>
|
|
@@ -107,7 +108,7 @@ public class <%= persistClass %> implements Serializable {
|
|
|
107
108
|
<%- formatAsFieldJavadoc(field.javadoc) %>
|
|
108
109
|
<%_ } _%>
|
|
109
110
|
<%_ if (!dtoMapstruct && typeof field.javadoc !== 'undefined') { _%>
|
|
110
|
-
@
|
|
111
|
+
@Schema(description = "<%- formatAsApiDescription(field.javadoc) %>"<% if (field.fieldValidationRequired) { %>, required = true<% } %>)
|
|
111
112
|
<%_ } _%>
|
|
112
113
|
<&- fragments.field<%- field.fieldNameCapitalized %>AnnotationSection() -&>
|
|
113
114
|
private <%= field.javaFieldType %> <%= field.fieldName %>;
|
|
@@ -126,7 +127,7 @@ for (relationship of relationships.filter(relationship => !relationship.embedded
|
|
|
126
127
|
if (typeof relationship.javadoc !== 'undefined') { _%>
|
|
127
128
|
<%- formatAsFieldJavadoc(relationship.javadoc) %>
|
|
128
129
|
<%_ if (!dtoMapstruct) { _%>
|
|
129
|
-
@
|
|
130
|
+
@Schema(description = "<%- formatAsApiDescription(relationship.javadoc) %>")
|
|
130
131
|
<%_ } _%>
|
|
131
132
|
<%_ } _%>
|
|
132
133
|
<&- fragments.relationship<%- relationship.relationshipNameCapitalized %>AnnotationSection() -&>
|
|
@@ -59,7 +59,7 @@ import org.springframework.r2dbc.core.RowsFetchSpec;
|
|
|
59
59
|
import <%= entityAbsolutePackage %>.domain.<%= persistClass %>;
|
|
60
60
|
<% relationships.forEach(function(rel) {
|
|
61
61
|
if (rel.relationshipManyToMany && rel.ownerSide) { _%>
|
|
62
|
-
import <%= entityAbsolutePackage %>.domain.<%=
|
|
62
|
+
import <%= rel.otherEntity.entityAbsolutePackage %>.domain.<%= rel.otherEntity.persistClass %>;
|
|
63
63
|
<%_ } _%>
|
|
64
64
|
<%_ }); _%>
|
|
65
65
|
<%_ Object.keys(uniqueEnums).forEach(function(element) { _%>
|
|
@@ -67,12 +67,15 @@ import <%= entityAbsolutePackage %>.domain.<%= asEntity(rel.otherEntityNameCapit
|
|
|
67
67
|
import <%= entityAbsolutePackage %>.domain.enumeration.<%= element %>;
|
|
68
68
|
<%_ }); _%>
|
|
69
69
|
|
|
70
|
-
<%_
|
|
71
|
-
import <%= entityAbsolutePackage %>.repository.rowmapper.<%=
|
|
70
|
+
<%_ [...reactiveOtherEntities, entity].forEach(otherEntity => { _%>
|
|
71
|
+
import <%= otherEntity.entityAbsolutePackage %>.repository.rowmapper.<%= otherEntity.entityClass %>RowMapper;
|
|
72
|
+
<%_ if (otherEntity.entityPackage !== entityPackage) { _%>
|
|
73
|
+
import <%= otherEntity.entityAbsolutePackage %>.repository.<%= otherEntity.entityClass %>SqlHelper;
|
|
74
|
+
<%_ } _%>
|
|
72
75
|
<%_ }); _%>
|
|
73
|
-
import <%=
|
|
76
|
+
import <%= packageName %>.service.EntityManager;
|
|
74
77
|
<%_ if (fieldsContainOwnerManyToMany) { _%>
|
|
75
|
-
import <%=
|
|
78
|
+
import <%= packageName %>.service.EntityManager.LinkTable;
|
|
76
79
|
<%_ } _%>
|
|
77
80
|
|
|
78
81
|
import reactor.core.publisher.Flux;
|
|
@@ -149,13 +152,13 @@ _%>
|
|
|
149
152
|
|
|
150
153
|
@Override
|
|
151
154
|
public Mono<<%= persistClass %>> findById(<%= primaryKey.type %> id) {
|
|
152
|
-
return createQuery(null, where("
|
|
155
|
+
return createQuery(null, where("<%= primaryKey.name %>").is(id)).one();
|
|
153
156
|
}
|
|
154
157
|
|
|
155
158
|
<%_ if (fieldsContainOwnerManyToMany) { _%>
|
|
156
159
|
|
|
157
160
|
@Override
|
|
158
|
-
public Mono<<%= persistClass %>> findOneWithEagerRelationships(
|
|
161
|
+
public Mono<<%= persistClass %>> findOneWithEagerRelationships(<%= primaryKey.type %> id) {
|
|
159
162
|
return findById(id);
|
|
160
163
|
}
|
|
161
164
|
|
|
@@ -202,11 +205,15 @@ _%>
|
|
|
202
205
|
|
|
203
206
|
@Override
|
|
204
207
|
public Mono<Integer> update(<%= persistClass %> entity) {
|
|
205
|
-
<%_ if (fields.
|
|
208
|
+
<%_ if (fields.some(field => !field.id) || relationships.some(relationship => !relationship.id && relationship.ownerSide)) { _%>
|
|
206
209
|
//fixme is this the proper way?
|
|
207
210
|
return r2dbcEntityTemplate.update(entity).thenReturn(1);
|
|
208
211
|
<%_ } else { _%>
|
|
209
|
-
|
|
212
|
+
/*
|
|
213
|
+
* Entity doesn't contain any updatable data, ignore update for compatibility.
|
|
214
|
+
* Otherwise it fails with `IllegalArgumentException: UPDATE contains no assignments`
|
|
215
|
+
* https://github.com/spring-projects/spring-data-r2dbc/issues/250#issuecomment-563122844
|
|
216
|
+
*/
|
|
210
217
|
return Mono.just(1);
|
|
211
218
|
<%_ } _%>
|
|
212
219
|
}
|
|
@@ -247,23 +254,3 @@ _%>
|
|
|
247
254
|
|
|
248
255
|
<%_ } _%>
|
|
249
256
|
}
|
|
250
|
-
|
|
251
|
-
class <%= entityClass %>SqlHelper {
|
|
252
|
-
static List<Expression> getColumns(Table table, String columnPrefix) {
|
|
253
|
-
List<Expression> columns = new ArrayList<>();
|
|
254
|
-
<%_ fields.forEach(function(field) {
|
|
255
|
-
let col = field.fieldNameAsDatabaseColumn;
|
|
256
|
-
_%>
|
|
257
|
-
columns.add(Column.aliased("<%= col %>", table, columnPrefix + "_<%= col %>"));
|
|
258
|
-
<%_ if ((field.fieldTypeBinary) && !field.blobContentTypeText) { _%>
|
|
259
|
-
columns.add(Column.aliased("<%= col %>_content_type", table, columnPrefix + "_<%= col %>_content_type"));
|
|
260
|
-
<%_ } _%>
|
|
261
|
-
<%_ }); _%>
|
|
262
|
-
|
|
263
|
-
<%_ reactiveRegularEagerRelations.forEach(function(rel) { _%>
|
|
264
|
-
columns.add(Column.aliased("<%= getColumnName(rel.relationshipName) %>_id", table, columnPrefix + "_<%= getColumnName(rel.relationshipName) %>_id"));
|
|
265
|
-
<%_ }); _%>
|
|
266
|
-
return columns;
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
}
|
|
@@ -104,7 +104,7 @@ if (databaseTypeSql) {
|
|
|
104
104
|
Flux<<%= persistClass %>> findAllWithEagerRelationships(Pageable page);
|
|
105
105
|
|
|
106
106
|
@Override
|
|
107
|
-
Mono<Void> deleteById(
|
|
107
|
+
Mono<Void> deleteById(<%= primaryKey.type %> id);
|
|
108
108
|
|
|
109
109
|
<%_ } _%>
|
|
110
110
|
|
|
@@ -138,7 +138,7 @@ if (databaseTypeSql) {
|
|
|
138
138
|
Flux<<%= persistClass %>> findAll();
|
|
139
139
|
|
|
140
140
|
@Override
|
|
141
|
-
Mono<<%= persistClass %>> findById(
|
|
141
|
+
Mono<<%= persistClass %>> findById(<%= primaryKey.type %> id);
|
|
142
142
|
|
|
143
143
|
@Override
|
|
144
144
|
<S extends <%= persistClass %>> Mono<S> save(S entity);
|
|
@@ -165,7 +165,7 @@ interface <%= entityClass %>RepositoryInternal {
|
|
|
165
165
|
|
|
166
166
|
Flux<<%= persistClass %>> findAllWithEagerRelationships(Pageable page);
|
|
167
167
|
|
|
168
|
-
Mono<Void> deleteById(
|
|
168
|
+
Mono<Void> deleteById(<%= primaryKey.type %> id);
|
|
169
169
|
<%_ } _%>
|
|
170
170
|
|
|
171
171
|
}
|