generator-jhipster 7.8.0 → 7.9.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.
Files changed (519) hide show
  1. package/README.md +1 -1
  2. package/cli/environment-builder.js +3 -1
  3. package/cli/import-jdl.js +61 -35
  4. package/cli/jdl.js +5 -4
  5. package/cli/jhipster-command.js +1 -1
  6. package/cli/program.js +5 -3
  7. package/generators/app/index.js +11 -0
  8. package/generators/app/prompts.js +60 -12
  9. package/generators/azure-app-service/templates/github/workflows/azure-app-service.yml.ejs +3 -3
  10. package/generators/azure-spring-cloud/templates/github/workflows/azure-spring-cloud.yml.ejs +3 -3
  11. package/generators/bootstrap/index.js +1 -0
  12. package/generators/bootstrap-application/generator.mjs +1 -0
  13. package/generators/ci-cd/templates/.gitlab-ci.yml.ejs +2 -3
  14. package/generators/client/files-angular.js +72 -89
  15. package/generators/client/files-react.js +63 -74
  16. package/generators/client/files-vue.js +8 -54
  17. package/generators/client/index.js +18 -11
  18. package/generators/client/needle-api/needle-client-angular.js +1 -4
  19. package/generators/client/needle-api/needle-client-react.js +2 -2
  20. package/generators/client/prompts.js +1 -0
  21. package/generators/client/templates/angular/.eslintrc.json.ejs +10 -1
  22. package/generators/client/templates/angular/angular.json.ejs +0 -1
  23. package/generators/client/templates/angular/jest.conf.js.ejs +3 -1
  24. package/generators/client/templates/angular/package.json +32 -32
  25. package/generators/client/templates/angular/package.json.ejs +23 -22
  26. package/generators/client/templates/angular/src/main/webapp/app/account/activate/activate.component.html.ejs +4 -4
  27. package/generators/client/templates/angular/src/main/webapp/app/account/password/password-strength-bar/password-strength-bar.component.html.ejs +1 -1
  28. package/generators/client/templates/angular/src/main/webapp/app/account/password/password.component.html.ejs +15 -15
  29. package/generators/client/templates/angular/src/main/webapp/app/account/password/password.component.ts.ejs +17 -11
  30. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.html.ejs +16 -16
  31. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.ts.ejs +14 -9
  32. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/init/password-reset-init.component.html.ejs +9 -9
  33. package/generators/client/templates/angular/src/main/webapp/app/account/register/register.component.html.ejs +27 -27
  34. package/generators/client/templates/angular/src/main/webapp/app/account/register/register.component.ts.ejs +28 -13
  35. package/generators/client/templates/angular/src/main/webapp/app/account/sessions/sessions.component.html.ejs +7 -7
  36. package/generators/client/templates/angular/src/main/webapp/app/account/settings/settings.component.html.ejs +19 -19
  37. package/generators/client/templates/angular/src/main/webapp/app/account/settings/settings.component.spec.ts.ejs +1 -1
  38. package/generators/client/templates/angular/src/main/webapp/app/account/settings/settings.component.ts.ejs +35 -37
  39. package/generators/client/templates/angular/src/main/webapp/app/admin/configuration/configuration.component.html.ejs +4 -4
  40. package/generators/client/templates/angular/src/main/webapp/app/admin/gateway/gateway.component.html.ejs +7 -7
  41. package/generators/client/templates/angular/src/main/webapp/app/admin/gateway/gateway.component.ts.ejs +14 -0
  42. package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.component.html.ejs +6 -6
  43. package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.module.ts.ejs +0 -1
  44. package/generators/client/templates/angular/src/main/webapp/app/admin/health/modal/health-modal.component.html.ejs +3 -3
  45. package/generators/client/templates/angular/src/main/webapp/app/admin/logs/logs.component.html.ejs +5 -5
  46. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/jvm-memory/jvm-memory.component.html.ejs +1 -1
  47. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/jvm-threads/jvm-threads.component.html.ejs +5 -5
  48. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-cache/metrics-cache.component.html.ejs +10 -10
  49. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-datasource/metrics-datasource.component.html.ejs +10 -10
  50. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-garbagecollector/metrics-garbagecollector.component.html.ejs +9 -9
  51. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-modal-threads/metrics-modal-threads.component.html.ejs +8 -8
  52. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-request/metrics-request.component.html.ejs +5 -5
  53. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/metrics.component.html.ejs +4 -4
  54. package/generators/client/templates/angular/src/main/webapp/app/admin/tracker/tracker.component.html.ejs +5 -5
  55. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs +4 -4
  56. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.html.ejs +14 -14
  57. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/list/user-management.component.html.ejs +16 -16
  58. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/list/user-management.component.ts.ejs +2 -1
  59. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/update/user-management-update.component.html.ejs +133 -138
  60. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/update/user-management-update.component.spec.ts.ejs +22 -24
  61. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/update/user-management-update.component.ts.ejs +40 -49
  62. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/user-management.model.ts.ejs +2 -2
  63. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/user-management.module.ts.ejs +0 -1
  64. package/generators/client/templates/angular/src/main/webapp/app/config/navigation.constants.ts.ejs +23 -0
  65. package/generators/client/templates/angular/src/main/webapp/app/config/pagination.constants.ts.ejs +2 -3
  66. package/generators/client/templates/angular/src/main/webapp/app/core/request/request-util.ts.ejs +1 -1
  67. package/generators/client/templates/angular/src/main/webapp/app/entities/user/user.model.ts.ejs +2 -2
  68. package/generators/client/templates/angular/src/main/webapp/app/entities/user/user.service.ts.ejs +7 -3
  69. package/generators/client/templates/angular/src/main/webapp/app/home/home.component.html.ejs +14 -14
  70. package/generators/client/templates/angular/src/main/webapp/app/layouts/error/error.component.html.ejs +1 -1
  71. package/generators/client/templates/angular/src/main/webapp/app/layouts/footer/footer.component.html.ejs +1 -1
  72. package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.html.ejs +21 -21
  73. package/generators/client/templates/angular/src/main/webapp/app/layouts/profiles/page-ribbon.component.ts.ejs +1 -1
  74. package/generators/client/templates/angular/src/main/webapp/app/login/login.component.html.ejs +9 -9
  75. package/generators/client/templates/angular/src/main/webapp/app/login/login.component.ts.ejs +16 -27
  76. package/generators/client/templates/angular/src/main/webapp/app/shared/filter/filter.component.html.ejs +10 -0
  77. package/generators/client/templates/angular/src/main/webapp/app/shared/filter/filter.component.ts.ejs +23 -0
  78. package/generators/client/templates/angular/src/main/webapp/app/shared/filter/filter.model.spec.ts.ejs +40 -0
  79. package/generators/client/templates/angular/src/main/webapp/app/shared/filter/filter.model.ts.ejs +95 -0
  80. package/generators/client/templates/angular/src/main/webapp/app/shared/pagination/item-count.component.ts.ejs +1 -1
  81. package/generators/client/templates/angular/src/main/webapp/app/shared/shared.module.ts.ejs +3 -0
  82. package/generators/client/templates/angular/src/main/webapp/app/shared/sort/sort.service.ts.ejs +31 -0
  83. package/generators/client/templates/angular/src/main/webapp/declarations.d.ts.ejs +3 -8
  84. package/generators/client/templates/angular/tsconfig.json.ejs +6 -0
  85. package/generators/client/templates/angular/tsconfig.spec.json.ejs +1 -1
  86. package/generators/client/templates/angular/webpack/webpack.custom.js.ejs +6 -2
  87. package/generators/client/templates/angular/webpack/webpack.microfrontend.js.ejs +1 -1
  88. package/generators/client/templates/common/package.json +6 -6
  89. package/generators/client/templates/common/src/main/webapp/swagger-ui/index.html.ejs +2 -0
  90. package/generators/client/templates/react/.eslintrc.json.ejs +10 -1
  91. package/generators/client/templates/react/jest.conf.js.ejs +3 -1
  92. package/generators/client/templates/react/package.json +57 -57
  93. package/generators/client/templates/react/package.json.ejs +3 -3
  94. package/generators/client/templates/react/src/main/webapp/app/app.tsx.ejs +3 -3
  95. package/generators/client/templates/react/src/main/webapp/app/entities/menu.tsx.ejs +1 -1
  96. package/generators/client/templates/react/src/main/webapp/app/entities/routes.tsx.ejs +7 -5
  97. package/generators/client/templates/react/src/main/webapp/app/index.tsx.ejs +4 -5
  98. package/generators/client/templates/react/src/main/webapp/app/modules/account/activate/activate.tsx.ejs +8 -4
  99. package/generators/client/templates/react/src/main/webapp/app/modules/account/index.tsx.ejs +9 -6
  100. package/generators/client/templates/react/src/main/webapp/app/modules/account/password/password.tsx.ejs +1 -0
  101. package/generators/client/templates/react/src/main/webapp/app/modules/account/password-reset/finish/password-reset-finish.tsx.ejs +8 -5
  102. package/generators/client/templates/react/src/main/webapp/app/modules/administration/administration.reducer.ts.ejs +6 -7
  103. package/generators/client/templates/react/src/main/webapp/app/modules/administration/gateway/gateway.tsx.ejs +9 -1
  104. package/generators/client/templates/react/src/main/webapp/app/modules/administration/health/health-modal.tsx.ejs +3 -2
  105. package/generators/client/templates/react/src/main/webapp/app/modules/administration/health/health.tsx.ejs +4 -4
  106. package/generators/client/templates/react/src/main/webapp/app/modules/administration/index.tsx.ejs +14 -11
  107. package/generators/client/templates/react/src/main/webapp/app/modules/administration/metrics/metrics.tsx.ejs +8 -2
  108. package/generators/client/templates/react/src/main/webapp/app/modules/administration/user-management/index.tsx.ejs +13 -13
  109. package/generators/client/templates/react/src/main/webapp/app/modules/administration/user-management/user-management-delete-dialog.tsx.ejs +7 -4
  110. package/generators/client/templates/react/src/main/webapp/app/modules/administration/user-management/user-management-detail.tsx.ejs +5 -3
  111. package/generators/client/templates/react/src/main/webapp/app/modules/administration/user-management/user-management-update.tsx.ejs +10 -6
  112. package/generators/client/templates/react/src/main/webapp/app/modules/administration/user-management/user-management.tsx.ejs +18 -26
  113. package/generators/client/templates/react/src/main/webapp/app/modules/login/login-redirect.tsx.ejs +6 -3
  114. package/generators/client/templates/react/src/main/webapp/app/modules/login/login.tsx.ejs +6 -5
  115. package/generators/client/templates/react/src/main/webapp/app/routes.tsx.ejs +53 -25
  116. package/generators/client/templates/react/src/main/webapp/app/shared/auth/private-route.spec.tsx.ejs +30 -27
  117. package/generators/client/templates/react/src/main/webapp/app/shared/auth/private-route.tsx.ejs +35 -34
  118. package/generators/client/templates/react/src/main/webapp/app/shared/error/error-boundary-routes.spec.tsx.ejs +55 -0
  119. package/generators/client/templates/react/src/main/webapp/app/shared/error/error-boundary-routes.tsx.ejs +21 -0
  120. package/generators/client/templates/react/src/main/webapp/app/shared/error/error-boundary.spec.tsx.ejs +1 -1
  121. package/generators/client/templates/react/src/main/webapp/app/shared/error/error-boundary.tsx.ejs +1 -1
  122. package/generators/client/templates/react/src/main/webapp/app/shared/error/error-loading.tsx.ejs +8 -10
  123. package/generators/client/templates/react/src/main/webapp/app/shared/error/page-not-found.tsx.ejs +9 -13
  124. package/generators/client/templates/react/src/main/webapp/app/shared/layout/header/header.spec.tsx.ejs +3 -5
  125. package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/account.spec.tsx.ejs +5 -8
  126. package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/entities.tsx.ejs +1 -1
  127. package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/menu-item.tsx.ejs +12 -11
  128. package/generators/client/templates/react/src/main/webapp/app/typings.d.ts.ejs +2 -2
  129. package/generators/client/templates/react/tsconfig.json.ejs +2 -4
  130. package/generators/client/templates/react/tsconfig.test.json.ejs +1 -0
  131. package/generators/client/templates/react/webpack/webpack.common.js.ejs +7 -3
  132. package/generators/client/templates/react/webpack/webpack.microfrontend.js.jhi.react.ejs +4 -4
  133. package/generators/client/templates/vue/.eslintrc.js.ejs +10 -1
  134. package/generators/client/templates/vue/package.json +40 -39
  135. package/generators/client/templates/vue/package.json.ejs +3 -3
  136. package/generators/client/templates/vue/src/main/webapp/app/account/login-form/login-form.component.ts.ejs +2 -2
  137. package/generators/client/templates/vue/src/main/webapp/app/admin/gateway/gateway.component.ts.ejs +14 -0
  138. package/generators/client/templates/vue/src/main/webapp/app/admin/metrics/metrics.vue.ejs +1 -1
  139. package/generators/client/templates/vue/src/main/webapp/app/admin/user-management/user-management-edit.component.ts.ejs +2 -2
  140. package/generators/client/templates/vue/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.ts.ejs +5 -3
  141. package/generators/client/templates/vue/src/main/webapp/app/core/jhi-navbar/jhi-navbar.vue.ejs +2 -2
  142. package/generators/client/templates/vue/src/main/webapp/app/shared/alert/alert.service.ts.ejs +1 -1
  143. package/generators/client/templates/vue/src/main/webapp/app/shared/date/filters.ts.ejs +0 -6
  144. package/generators/client/templates/vue/src/test/javascript/jest.conf.js.ejs +5 -0
  145. package/generators/client/templates/vue/src/test/javascript/spec/app/account/register/register.component.spec.ts.ejs +1 -1
  146. package/generators/client/templates/vue/tsconfig.json.ejs +1 -1
  147. package/generators/client/templates/vue/tsconfig.spec.json.ejs +2 -2
  148. package/generators/client/templates/vue/webpack/webpack.dev.js.ejs +4 -0
  149. package/generators/client/templates/vue/webpack/webpack.prod.js.ejs +8 -1
  150. package/generators/client/transform-angular.cjs +117 -0
  151. package/generators/client/transform-react.cjs +126 -0
  152. package/generators/client/transform-vue.cjs +42 -0
  153. package/generators/common/files.js +2 -9
  154. package/generators/common/templates/README.md.jhi.ejs +21 -5
  155. package/generators/common/templates/package.json +3 -3
  156. package/generators/cypress/files.js +34 -22
  157. package/generators/cypress/index.js +42 -19
  158. package/generators/cypress/templates/cypress-audits.config.ts.ejs +28 -0
  159. package/generators/cypress/templates/cypress.config.ts.ejs +57 -0
  160. package/generators/cypress/templates/src/test/javascript/cypress/{integration/account/login-page.spec.ts.ejs → e2e/account/login-page.cy.ts.ejs} +0 -0
  161. package/generators/cypress/templates/src/test/javascript/cypress/{integration/account/password-page.spec.ts.ejs → e2e/account/password-page.cy.ts.ejs} +0 -0
  162. package/generators/cypress/templates/src/test/javascript/cypress/{integration/account/register-page.spec.ts.ejs → e2e/account/register-page.cy.ts.ejs} +0 -0
  163. package/generators/cypress/templates/src/test/javascript/cypress/{integration/account/reset-password-page.spec.ts.ejs → e2e/account/reset-password-page.cy.ts.ejs} +0 -0
  164. package/generators/cypress/templates/src/test/javascript/cypress/{integration/account/settings-page.spec.ts.ejs → e2e/account/settings-page.cy.ts.ejs} +0 -0
  165. package/generators/cypress/templates/src/test/javascript/cypress/{integration/administration/administration.spec.ts.ejs → e2e/administration/administration.cy.ts.ejs} +1 -1
  166. package/generators/cypress/templates/src/test/javascript/cypress/{integration → e2e}/lighthouse.audits.ts.ejs +0 -0
  167. package/generators/cypress/templates/src/test/javascript/cypress/plugins/global.d.ts.ejs +25 -0
  168. package/generators/cypress/templates/src/test/javascript/cypress/plugins/index.ts.ejs +13 -14
  169. package/generators/cypress/templates/src/test/javascript/cypress/support/commands.ts.ejs +4 -4
  170. package/generators/cypress/templates/src/test/javascript/cypress/support/navbar.ts.ejs +1 -1
  171. package/generators/cypress/templates/src/test/javascript/cypress/support/oauth2.ts.ejs +8 -8
  172. package/generators/cypress/templates/src/test/javascript/cypress/tsconfig.json.ejs +8 -5
  173. package/generators/database-changelog-liquibase/files.js +1 -1
  174. package/generators/database-changelog-liquibase/index.js +3 -0
  175. package/generators/database-changelog-liquibase/templates/src/main/resources/config/liquibase/changelog/added_entity.xml.ejs +1 -1
  176. package/generators/database-changelog-liquibase/templates/src/main/resources/config/liquibase/changelog/added_entity_constraints.xml.ejs +1 -1
  177. package/generators/database-changelog-liquibase/templates/src/main/resources/config/liquibase/changelog/updated_entity.xml.ejs +1 -1
  178. package/generators/database-changelog-liquibase/templates/src/main/resources/config/liquibase/changelog/updated_entity_constraints.xml.ejs +2 -2
  179. package/generators/database-changelog-liquibase/templates/src/main/resources/config/liquibase/changelog/updated_entity_migrate.xml.ejs +1 -1
  180. package/generators/database-changelog-liquibase/templates/src/main/resources/config/liquibase/fake-data/table_entity.csv.ejs +2 -2
  181. package/generators/docker-base.js +6 -3
  182. package/generators/docker-compose/files.js +5 -2
  183. package/generators/docker-compose/index.js +13 -24
  184. package/generators/docker-compose/templates/README-DOCKER-COMPOSE.md.ejs +1 -1
  185. package/generators/docker-compose/templates/docker-compose.yml.ejs +10 -8
  186. package/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +62 -4
  187. package/generators/docker-prompts.js +1 -2
  188. package/generators/docker-utils.js +0 -1
  189. package/generators/entity/index.js +5 -15
  190. package/generators/entity/prompts.js +1 -52
  191. package/generators/entity-client/files-angular.cjs +169 -0
  192. package/generators/entity-client/files-cypress.cjs +52 -0
  193. package/generators/entity-client/files-react.cjs +113 -0
  194. package/generators/entity-client/files-vue.cjs +140 -0
  195. package/generators/entity-client/files.js +10 -381
  196. package/generators/entity-client/index.js +120 -19
  197. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/delete/entity-management-delete-dialog.component.html.ejs +4 -5
  198. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/delete/entity-management-delete-dialog.component.ts.ejs +2 -1
  199. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/detail/entity-management-detail.component.html.ejs +12 -11
  200. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management.module.ts.ejs +0 -5
  201. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity.model.ts.ejs +18 -25
  202. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity.test-samples.ts.ejs +45 -0
  203. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.html.ejs +45 -37
  204. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.spec.ts.ejs +47 -28
  205. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.ts.ejs +292 -94
  206. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/infinite-scroll-template.ejs +5 -106
  207. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/pagination-template.ejs +2 -82
  208. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/route/entity-management-routing-resolve.service.spec.ts.ejs +5 -5
  209. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/route/entity-management-routing-resolve.service.ts.ejs +5 -5
  210. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/route/entity-management-routing.module.ts.ejs +2 -3
  211. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/service/entity.service.spec.ts.ejs +89 -175
  212. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/service/entity.service.ts.ejs +69 -44
  213. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-form.service.spec.ts.ejs +111 -0
  214. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-form.service.ts.ejs +263 -0
  215. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.html.ejs +99 -120
  216. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.spec.ts.ejs +47 -71
  217. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.ts.ejs +79 -195
  218. package/generators/entity-client/templates/{common/src/test/javascript/cypress/integration/entity/entity.spec.ts.ejs → cypress/src/test/javascript/cypress/e2e/entity/entity.cy.ts.ejs} +26 -17
  219. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-delete-dialog.tsx.ejs +10 -5
  220. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-detail.tsx.ejs +5 -3
  221. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-update.tsx.ejs +11 -6
  222. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity.tsx.ejs +11 -10
  223. package/generators/entity-client/templates/react/src/main/webapp/app/entities/index.tsx.ejs +13 -13
  224. package/generators/entity-client/templates/react/src/main/webapp/app/entities/react_validators.ejs +25 -32
  225. package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity-update.component.ts.ejs +2 -2
  226. package/generators/entity-server/cleanup.js +41 -0
  227. package/generators/entity-server/files.js +118 -53
  228. package/generators/entity-server/index.js +14 -27
  229. package/generators/entity-server/templates/partials/save_template.ejs +1 -1
  230. package/generators/entity-server/templates/partials/update_template.ejs +1 -1
  231. package/generators/entity-server/templates/src/main/java/package/common/get_all_template.ejs +11 -5
  232. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.elastic_search.ejs +17 -0
  233. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.spring_data_cassandra.ejs +3 -1
  234. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepository.java.ejs +6 -1
  235. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryInternalImpl_reactive.java.ejs +11 -12
  236. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryWithBagRelationships.java.ejs +2 -2
  237. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryWithBagRelationshipsImpl.java.ejs +13 -6
  238. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepository_reactive.java.ejs +3 -3
  239. package/generators/entity-server/templates/src/main/java/package/repository/search/EntitySearchRepository.java.ejs +46 -9
  240. package/generators/entity-server/templates/src/main/java/package/service/EntityQueryService.java.ejs +3 -3
  241. package/generators/entity-server/templates/src/main/java/package/service/impl/EntityServiceImpl.java.ejs +2 -2
  242. package/generators/entity-server/templates/src/main/java/package/web/rest/EntityResource.java.ejs +2 -5
  243. package/generators/entity-server/templates/src/test/java/package/web/rest/EntityResourceIT.java.ejs +140 -132
  244. package/generators/gae/index.js +1 -1
  245. package/generators/generate-blueprint/constants.mjs +22 -2
  246. package/generators/generate-blueprint/generator.mjs +25 -6
  247. package/generators/generate-blueprint/templates/.github/workflows/generator.yml.ejs +5 -3
  248. package/generators/generate-blueprint/templates/cli/commands.cjs.ejs +2 -1
  249. package/generators/generate-blueprint/templates/generators/generator/generator.mjs.jhi.ejs +6 -5
  250. package/generators/generate-blueprint/templates/generators/generator/generator.spec.mjs.ejs +10 -1
  251. package/generators/generator-base-blueprint.js +19 -20
  252. package/generators/generator-base-private.js +116 -64
  253. package/generators/generator-base.js +241 -91
  254. package/generators/generator-constants.js +118 -66
  255. package/generators/generator-defaults.js +1 -0
  256. package/generators/heroku/index.js +5 -4
  257. package/generators/heroku/templates/application-heroku.yml.ejs +1 -2
  258. package/generators/heroku/templates/heroku.gradle.ejs +28 -1
  259. package/generators/heroku/templates/pom-profile.xml.ejs +29 -0
  260. package/generators/java/index.cjs +2 -2
  261. package/generators/kubernetes/templates/db/couchbase.yml.ejs +1 -2
  262. package/generators/kubernetes/templates/db/mongodb.yml.ejs +1 -2
  263. package/generators/kubernetes/templates/ingress.yml.ejs +11 -4
  264. package/generators/kubernetes/templates/monitoring/jhipster-grafana.yml.ejs +6 -2
  265. package/generators/kubernetes/templates/registry/consul.yml.ejs +1 -2
  266. package/generators/kubernetes/templates/registry/jhipster-registry.yml.ejs +1 -2
  267. package/generators/languages/templates/src/main/webapp/i18n/al/global.json.ejs +7 -1
  268. package/generators/languages/templates/src/main/webapp/i18n/ar-ly/global.json.ejs +7 -1
  269. package/generators/languages/templates/src/main/webapp/i18n/bg/global.json.ejs +7 -1
  270. package/generators/languages/templates/src/main/webapp/i18n/bn/global.json.ejs +7 -1
  271. package/generators/languages/templates/src/main/webapp/i18n/by/global.json.ejs +7 -1
  272. package/generators/languages/templates/src/main/webapp/i18n/ca/global.json.ejs +7 -1
  273. package/generators/languages/templates/src/main/webapp/i18n/cs/global.json.ejs +7 -1
  274. package/generators/languages/templates/src/main/webapp/i18n/da/global.json.ejs +7 -1
  275. package/generators/languages/templates/src/main/webapp/i18n/de/global.json.ejs +7 -1
  276. package/generators/languages/templates/src/main/webapp/i18n/el/global.json.ejs +7 -1
  277. package/generators/languages/templates/src/main/webapp/i18n/en/global.json.ejs +7 -1
  278. package/generators/languages/templates/src/main/webapp/i18n/en/health.json.ejs +3 -0
  279. package/generators/languages/templates/src/main/webapp/i18n/es/global.json.ejs +7 -1
  280. package/generators/languages/templates/src/main/webapp/i18n/et/global.json.ejs +7 -1
  281. package/generators/languages/templates/src/main/webapp/i18n/fa/global.json.ejs +7 -1
  282. package/generators/languages/templates/src/main/webapp/i18n/fi/global.json.ejs +7 -1
  283. package/generators/languages/templates/src/main/webapp/i18n/fr/global.json.ejs +7 -1
  284. package/generators/languages/templates/src/main/webapp/i18n/gl/global.json.ejs +7 -1
  285. package/generators/languages/templates/src/main/webapp/i18n/hi/global.json.ejs +7 -1
  286. package/generators/languages/templates/src/main/webapp/i18n/hr/global.json.ejs +7 -1
  287. package/generators/languages/templates/src/main/webapp/i18n/hu/global.json.ejs +7 -1
  288. package/generators/languages/templates/src/main/webapp/i18n/hy/global.json.ejs +7 -1
  289. package/generators/languages/templates/src/main/webapp/i18n/in/global.json.ejs +7 -1
  290. package/generators/languages/templates/src/main/webapp/i18n/it/global.json.ejs +7 -1
  291. package/generators/languages/templates/src/main/webapp/i18n/ja/global.json.ejs +7 -1
  292. package/generators/languages/templates/src/main/webapp/i18n/ko/global.json.ejs +7 -1
  293. package/generators/languages/templates/src/main/webapp/i18n/mr/global.json.ejs +7 -1
  294. package/generators/languages/templates/src/main/webapp/i18n/my/global.json.ejs +7 -1
  295. package/generators/languages/templates/src/main/webapp/i18n/nl/global.json.ejs +7 -1
  296. package/generators/languages/templates/src/main/webapp/i18n/pa/global.json.ejs +7 -1
  297. package/generators/languages/templates/src/main/webapp/i18n/pl/global.json.ejs +7 -1
  298. package/generators/languages/templates/src/main/webapp/i18n/pt-br/global.json.ejs +7 -1
  299. package/generators/languages/templates/src/main/webapp/i18n/pt-pt/global.json.ejs +7 -1
  300. package/generators/languages/templates/src/main/webapp/i18n/ro/global.json.ejs +7 -1
  301. package/generators/languages/templates/src/main/webapp/i18n/ru/global.json.ejs +7 -1
  302. package/generators/languages/templates/src/main/webapp/i18n/si/global.json.ejs +7 -1
  303. package/generators/languages/templates/src/main/webapp/i18n/sk/global.json.ejs +7 -1
  304. package/generators/languages/templates/src/main/webapp/i18n/sr/global.json.ejs +7 -1
  305. package/generators/languages/templates/src/main/webapp/i18n/sv/global.json.ejs +7 -1
  306. package/generators/languages/templates/src/main/webapp/i18n/ta/global.json.ejs +7 -1
  307. package/generators/languages/templates/src/main/webapp/i18n/te/global.json.ejs +7 -1
  308. package/generators/languages/templates/src/main/webapp/i18n/th/global.json.ejs +7 -1
  309. package/generators/languages/templates/src/main/webapp/i18n/tr/global.json.ejs +7 -1
  310. package/generators/languages/templates/src/main/webapp/i18n/ua/global.json.ejs +7 -1
  311. package/generators/languages/templates/src/main/webapp/i18n/uz-Cyrl-uz/global.json +7 -1
  312. package/generators/languages/templates/src/main/webapp/i18n/uz-Latn-uz/global.json.ejs +7 -1
  313. package/generators/languages/templates/src/main/webapp/i18n/vi/global.json.ejs +7 -1
  314. package/generators/languages/templates/src/main/webapp/i18n/zh-cn/global.json.ejs +7 -1
  315. package/generators/languages/templates/src/main/webapp/i18n/zh-tw/global.json.ejs +7 -1
  316. package/generators/languages/templates/src/test/resources/i18n/messages_al.properties.ejs +4 -1
  317. package/generators/languages/templates/src/test/resources/i18n/messages_ar_LY.properties.ejs +4 -1
  318. package/generators/languages/templates/src/test/resources/i18n/messages_bg.properties.ejs +1 -1
  319. package/generators/languages/templates/src/test/resources/i18n/messages_bn.properties.ejs +4 -1
  320. package/generators/languages/templates/src/test/resources/i18n/messages_by.properties.ejs +4 -1
  321. package/generators/languages/templates/src/test/resources/i18n/messages_ca.properties.ejs +4 -1
  322. package/generators/languages/templates/src/test/resources/i18n/messages_cs.properties.ejs +4 -1
  323. package/generators/languages/templates/src/test/resources/i18n/messages_da.properties.ejs +4 -1
  324. package/generators/languages/templates/src/test/resources/i18n/messages_de.properties.ejs +4 -1
  325. package/generators/languages/templates/src/test/resources/i18n/messages_el.properties.ejs +4 -1
  326. package/generators/languages/templates/src/test/resources/i18n/messages_es.properties.ejs +4 -1
  327. package/generators/languages/templates/src/test/resources/i18n/messages_et.properties.ejs +4 -1
  328. package/generators/languages/templates/src/test/resources/i18n/messages_fa.properties.ejs +4 -1
  329. package/generators/languages/templates/src/test/resources/i18n/messages_fi.properties.ejs +1 -1
  330. package/generators/languages/templates/src/test/resources/i18n/messages_gl.properties.ejs +4 -1
  331. package/generators/languages/templates/src/test/resources/i18n/messages_hi.properties.ejs +4 -1
  332. package/generators/languages/templates/src/test/resources/i18n/messages_hr.properties.ejs +1 -1
  333. package/generators/languages/templates/src/test/resources/i18n/messages_hu.properties.ejs +4 -1
  334. package/generators/languages/templates/src/test/resources/i18n/messages_hy.properties.ejs +4 -1
  335. package/generators/languages/templates/src/test/resources/i18n/messages_in.properties.ejs +4 -1
  336. package/generators/languages/templates/src/test/resources/i18n/messages_it.properties.ejs +4 -1
  337. package/generators/languages/templates/src/test/resources/i18n/messages_ja.properties.ejs +4 -1
  338. package/generators/languages/templates/src/test/resources/i18n/messages_ko.properties.ejs +4 -1
  339. package/generators/languages/templates/src/test/resources/i18n/messages_mr.properties.ejs +4 -1
  340. package/generators/languages/templates/src/test/resources/i18n/messages_my.properties.ejs +4 -1
  341. package/generators/languages/templates/src/test/resources/i18n/messages_nl.properties.ejs +4 -1
  342. package/generators/languages/templates/src/test/resources/i18n/messages_pa.properties.ejs +1 -1
  343. package/generators/languages/templates/src/test/resources/i18n/messages_pl.properties.ejs +4 -1
  344. package/generators/languages/templates/src/test/resources/i18n/messages_pt_BR.properties.ejs +1 -1
  345. package/generators/languages/templates/src/test/resources/i18n/messages_pt_PT.properties.ejs +4 -1
  346. package/generators/languages/templates/src/test/resources/i18n/messages_ro.properties.ejs +4 -1
  347. package/generators/languages/templates/src/test/resources/i18n/messages_ru.properties.ejs +4 -1
  348. package/generators/languages/templates/src/test/resources/i18n/messages_si.properties.ejs +4 -1
  349. package/generators/languages/templates/src/test/resources/i18n/messages_sk.properties.ejs +4 -1
  350. package/generators/languages/templates/src/test/resources/i18n/messages_sr.properties.ejs +4 -1
  351. package/generators/languages/templates/src/test/resources/i18n/messages_sv.properties.ejs +4 -1
  352. package/generators/languages/templates/src/test/resources/i18n/messages_ta.properties.ejs +4 -1
  353. package/generators/languages/templates/src/test/resources/i18n/messages_te.properties.ejs +4 -1
  354. package/generators/languages/templates/src/test/resources/i18n/messages_th.properties.ejs +4 -1
  355. package/generators/languages/templates/src/test/resources/i18n/messages_tr.properties.ejs +4 -1
  356. package/generators/languages/templates/src/test/resources/i18n/messages_ua.properties.ejs +4 -1
  357. package/generators/languages/templates/src/test/resources/i18n/messages_uz_Cyrl_UZ.properties.ejs +4 -1
  358. package/generators/languages/templates/src/test/resources/i18n/messages_uz_Latn_UZ.properties.ejs +4 -1
  359. package/generators/languages/templates/src/test/resources/i18n/messages_vi.properties.ejs +4 -1
  360. package/generators/languages/templates/src/test/resources/i18n/messages_zh_CN.properties.ejs +4 -1
  361. package/generators/languages/templates/src/test/resources/i18n/messages_zh_TW.properties.ejs +4 -1
  362. package/generators/maven/templates/.mvn/wrapper/maven-wrapper.jar +0 -0
  363. package/generators/maven/templates/.mvn/wrapper/maven-wrapper.properties +5 -5
  364. package/generators/maven/templates/pom.xml.jhi.ejs +2 -2
  365. package/generators/openapi-client/files.js +2 -8
  366. package/generators/openapi-client/index.js +2 -0
  367. package/generators/openshift/templates/registry/consul.yml.ejs +1 -2
  368. package/generators/openshift/templates/registry/jhipster-registry.yml.ejs +1 -2
  369. package/generators/project-name/index.cjs +8 -5
  370. package/generators/server/cleanup-angular.js +37 -0
  371. package/generators/server/cleanup-cache-provider.js +46 -0
  372. package/generators/server/cleanup-cassandra.js +49 -0
  373. package/generators/server/cleanup-cucumber.js +40 -0
  374. package/generators/server/cleanup-elasticsearch.js +48 -0
  375. package/generators/server/cleanup-gradle.js +40 -0
  376. package/generators/server/cleanup-kafka.js +41 -0
  377. package/generators/server/cleanup-maven.js +37 -0
  378. package/generators/server/cleanup-mongodb.js +40 -0
  379. package/generators/server/cleanup-oauth2.js +43 -0
  380. package/generators/server/cleanup-reactive.js +38 -0
  381. package/generators/server/cleanup-sql.js +48 -0
  382. package/generators/server/cleanup.js +85 -51
  383. package/generators/server/esm.mjs +1 -0
  384. package/generators/server/files-couchbase.js +11 -10
  385. package/generators/server/files-sql.js +197 -4
  386. package/generators/server/files.js +180 -273
  387. package/generators/server/index.js +32 -86
  388. package/generators/server/needles.cjs +79 -0
  389. package/generators/server/templates/.mvn/jvm.config +1 -1
  390. package/generators/server/templates/.mvn/wrapper/maven-wrapper.jar +0 -0
  391. package/generators/server/templates/.mvn/wrapper/maven-wrapper.properties +5 -5
  392. package/generators/server/templates/.npmrc.ejs +1 -0
  393. package/generators/server/templates/build.gradle.ejs +121 -226
  394. package/generators/server/templates/couchbase/src/test/java/package/config/CouchbaseTestContainer.java.ejs +67 -0
  395. package/generators/server/templates/couchbase/src/test/java/package/config/EmbeddedCouchbase.java.ejs +30 -0
  396. package/generators/server/templates/gradle/docker.gradle.ejs +6 -0
  397. package/generators/server/templates/gradle/profile_dev.gradle.ejs +95 -3
  398. package/generators/server/templates/gradle/profile_prod.gradle.ejs +80 -4
  399. package/generators/server/templates/gradle.properties.ejs +17 -13
  400. package/generators/server/templates/pom.xml.ejs +274 -225
  401. package/generators/server/templates/settings.gradle.ejs +2 -1
  402. package/generators/server/templates/sql/common/src/main/docker/config/mariadb/my.cnf +49 -0
  403. package/generators/server/templates/sql/common/src/main/docker/config/mysql/my.cnf +82 -0
  404. package/generators/server/templates/{src → sql/common/src}/main/docker/mariadb.yml.ejs +2 -0
  405. package/generators/server/templates/{src → sql/common/src}/main/docker/mssql.yml.ejs +0 -0
  406. package/generators/server/templates/{src → sql/common/src}/main/docker/mysql.yml.ejs +2 -2
  407. package/generators/server/templates/{src → sql/common/src}/main/docker/postgresql.yml.ejs +0 -0
  408. package/generators/server/templates/{src → sql/common/src}/main/java/package/config/LiquibaseConfiguration.java.ejs +0 -0
  409. package/generators/server/templates/{src → sql/common/src}/main/resources/h2.server.properties.ejs +0 -0
  410. package/generators/server/templates/sql/common/src/test/java/package/config/EmbeddedSQL.java.ejs +30 -0
  411. package/generators/server/templates/sql/common/src/test/java/package/config/MariadbTestContainer.java.ejs +60 -0
  412. package/generators/server/templates/sql/common/src/test/java/package/config/MsSqlTestContainer.java.ejs +59 -0
  413. package/generators/server/templates/sql/common/src/test/java/package/config/MysqlTestContainer.java.ejs +69 -0
  414. package/generators/server/templates/sql/common/src/test/java/package/config/PostgreSqlTestContainer.java.ejs +59 -0
  415. package/generators/server/templates/sql/common/src/test/java/package/config/SqlTestContainer.java.ejs +28 -0
  416. package/generators/server/templates/{src → sql/common/src}/test/java/package/config/timezone/HibernateTimeZoneIT.java.ejs +0 -0
  417. package/generators/server/templates/{src → sql/common/src}/test/java/package/repository/timezone/DateTimeWrapper.java.ejs +0 -0
  418. package/generators/server/templates/{src → sql/common/src}/test/java/package/repository/timezone/DateTimeWrapperRepository.java.ejs +0 -0
  419. package/generators/server/templates/sql/common/src/test/resources/config/application-testdev.yml.ejs +93 -0
  420. package/generators/server/templates/{src/test/resources/config/application-testcontainers.yml.ejs → sql/common/src/test/resources/config/application-testprod.yml.ejs} +17 -33
  421. package/generators/server/templates/sql/common/src/test/resources/testcontainers/mariadb/my.cnf +49 -0
  422. package/generators/server/templates/sql/common/src/test/resources/testcontainers/mysql/my.cnf +83 -0
  423. package/generators/server/templates/{src → sql/reactive/src}/main/java/package/repository/EntityManager.java.ejs +45 -35
  424. package/generators/server/templates/{src → sql/reactive/src}/main/java/package/repository/rowmapper/ColumnConverter.java.ejs +0 -0
  425. package/generators/server/templates/{src → sql/reactive/src}/main/java/package/repository/rowmapper/UserRowMapper.java.ejs +0 -0
  426. package/generators/server/templates/src/main/docker/app.yml.ejs +16 -14
  427. package/generators/server/templates/src/main/docker/cassandra-migration.yml.ejs +1 -0
  428. package/generators/server/templates/src/main/docker/config/realm-config/jhipster-realm.json.ejs +62 -6
  429. package/generators/server/templates/src/main/docker/jhipster-control-center.yml.ejs +1 -1
  430. package/generators/server/templates/src/main/docker/jhipster-registry.yml.ejs +1 -1
  431. package/generators/server/templates/src/main/docker/jib/entrypoint.sh.ejs +36 -1
  432. package/generators/server/templates/src/main/docker/keycloak.yml.ejs +8 -6
  433. package/generators/server/templates/src/main/java/package/config/ApplicationProperties.java.ejs +3 -0
  434. package/generators/server/templates/src/main/java/package/config/AsyncConfiguration.java.ejs +2 -6
  435. package/generators/server/templates/src/main/java/package/config/DatabaseConfiguration_couchbase.java.ejs +1 -1
  436. package/generators/server/templates/src/main/java/package/config/SecurityConfiguration.java.ejs +16 -30
  437. package/generators/server/templates/src/main/java/package/config/SecurityConfiguration_reactive.java.ejs +108 -15
  438. package/generators/server/templates/src/main/java/package/config/WebConfigurer.java.ejs +6 -0
  439. package/generators/server/templates/src/main/java/package/security/DomainUserDetailsService.java.ejs +6 -3
  440. package/generators/server/templates/src/main/java/package/security/oauth2/CustomClaimConverter.java.ejs +10 -3
  441. package/generators/server/templates/src/main/java/package/service/UserService.java.ejs +12 -2
  442. package/generators/server/templates/src/main/java/package/web/rest/LogoutResource.java.ejs +1 -5
  443. package/generators/server/templates/src/main/java/package/web/rest/LogoutResource_reactive.java.ejs +1 -5
  444. package/generators/server/templates/src/main/java/package/web/rest/UserResource.java.ejs +3 -4
  445. package/generators/server/templates/src/main/resources/config/application-dev.yml.ejs +4 -3
  446. package/generators/server/templates/src/main/resources/config/application-prod.yml.ejs +1 -1
  447. package/generators/server/templates/src/main/resources/config/application.yml.ejs +1 -1
  448. package/generators/server/templates/src/main/resources/config/liquibase/changelog/initial_schema.xml.ejs +1 -1
  449. package/generators/server/templates/src/main/resources/config/liquibase/master.xml.ejs +54 -24
  450. package/generators/server/templates/src/main/resources/swagger/api.yml.ejs +3 -3
  451. package/generators/server/templates/src/test/java/package/IntegrationTest.java.ejs +32 -19
  452. package/generators/server/templates/src/test/java/package/{repository/search/UserSearchRepositoryMockConfiguration.java.ejs → config/AsyncSyncConfiguration.java.ejs} +12 -10
  453. package/generators/server/templates/src/test/java/package/config/CassandraTestContainer.java.ejs +20 -1
  454. package/generators/{entity-server/templates/src/test/java/package/repository/search/EntitySearchRepositoryMockConfiguration.java.ejs → server/templates/src/test/java/package/config/ElasticsearchReactiveTestConfiguration.java.ejs} +14 -11
  455. package/generators/server/templates/src/test/java/package/config/ElasticsearchTestContainer.java.ejs +68 -0
  456. package/generators/server/templates/src/test/java/package/config/EmbeddedCassandra.java.ejs +19 -0
  457. package/generators/server/templates/src/test/java/package/config/EmbeddedElasticsearch.java.ejs +30 -0
  458. package/generators/server/templates/src/test/java/package/config/EmbeddedKafka.java.ejs +19 -0
  459. package/generators/server/templates/src/test/java/package/config/EmbeddedMongo.java.ejs +19 -0
  460. package/generators/server/templates/src/test/java/package/config/EmbeddedNeo4j.java.ejs +29 -0
  461. package/generators/server/templates/src/test/java/package/config/EmbeddedRedis.java.ejs +30 -0
  462. package/generators/server/templates/src/test/java/package/config/JHipsterBlockHoundIntegration.java.ejs +11 -2
  463. package/generators/server/templates/src/test/java/package/config/KafkaTestContainer.java.ejs +19 -1
  464. package/generators/server/templates/src/test/java/package/config/MongoDbTestContainer.java.ejs +5 -5
  465. package/generators/server/templates/src/test/java/package/config/Neo4jTestContainer.java.ejs +66 -0
  466. package/generators/server/templates/src/test/java/package/config/RedisTestContainer.java.ejs +57 -0
  467. package/generators/server/templates/src/test/java/package/config/{NoOpMailConfiguration.java.ejs → SpringBootTestClassOrderer.java.ejs} +16 -16
  468. package/generators/server/templates/src/test/java/package/config/TestContainersSpringContextCustomizerFactory.java.ejs +166 -30
  469. package/generators/server/templates/src/test/java/package/config/WebConfigurerTest.java.ejs +0 -23
  470. package/generators/server/templates/src/test/java/package/security/DomainUserDetailsServiceIT.java.ejs +5 -3
  471. package/generators/server/templates/src/test/java/package/service/MailServiceIT.java.ejs +7 -15
  472. package/generators/server/templates/src/test/java/package/service/UserServiceIT.java.ejs +8 -11
  473. package/generators/server/templates/src/test/java/package/service/mapper/UserMapperTest.java.ejs +1 -1
  474. package/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT.java.ejs +19 -73
  475. package/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT_skipUserManagement.java.ejs +0 -8
  476. package/generators/server/templates/src/test/java/package/web/rest/TestUtil.java.ejs +13 -10
  477. package/generators/server/templates/src/test/java/package/web/rest/UserResourceIT.java.ejs +76 -51
  478. package/generators/server/templates/src/test/resources/config/application.yml.ejs +13 -62
  479. package/generators/server/templates/src/test/resources/junit-platform.properties.ejs +1 -0
  480. package/generators/server/templates/src/test/resources/templates/mail/activationEmail.html.ejs +19 -0
  481. package/generators/server/templates/src/test/resources/templates/mail/creationEmail.html.ejs +19 -0
  482. package/generators/server/templates/src/test/resources/templates/mail/passwordResetEmail.html.ejs +21 -0
  483. package/generators/spring-controller/index.js +16 -1
  484. package/generators/sql-constants.js +85 -0
  485. package/generators/statistics.js +6 -5
  486. package/generators/upgrade/index.js +1 -1
  487. package/generators/utils.js +32 -30
  488. package/generators/workspaces/index.js +31 -28
  489. package/jdl/converters/jdl-to-json/jdl-to-json-relationship-converter.js +2 -3
  490. package/jdl/converters/json-to-jdl-converter.js +23 -6
  491. package/jdl/exporters/applications/jhipster-application-formatter.js +7 -0
  492. package/jdl/jhipster/application-options.js +8 -0
  493. package/jdl/jhipster/default-application-options.js +2 -2
  494. package/jdl/parsing/lexer/application-tokens.js +6 -0
  495. package/jdl/parsing/validator.js +7 -0
  496. package/jdl/validators/application-validator.js +3 -1
  497. package/jdl/validators/jdl-with-application-validator.js +1 -0
  498. package/jdl/validators/jdl-without-application-validator.js +3 -2
  499. package/lib/support/base.cjs +43 -0
  500. package/lib/support/needles.cjs +221 -0
  501. package/lib/support/shared-data.cjs +2 -2
  502. package/package.json +29 -27
  503. package/utils/blueprint.js +1 -1
  504. package/utils/entity.js +9 -1
  505. package/utils/field.js +24 -11
  506. package/utils/liquibase.js +5 -8
  507. package/utils/relationship.js +3 -2
  508. package/generators/client/templates/react/src/main/webapp/app/shared/error/error-boundary-route.spec.tsx.ejs +0 -33
  509. package/generators/client/templates/react/src/main/webapp/app/shared/error/error-boundary-route.tsx.ejs +0 -17
  510. package/generators/cypress/templates/cypress-audits.json.ejs +0 -32
  511. package/generators/cypress/templates/cypress.json.ejs +0 -46
  512. package/generators/docker-compose/templates/realm-config/jhipster-users-0.json.ejs +0 -61
  513. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/no-pagination-template.ejs +0 -81
  514. package/generators/server/templates/couchbase/src/test/java/package/CouchbaseTestContainerExtension.java.ejs +0 -56
  515. package/generators/server/templates/src/main/docker/config/realm-config/jhipster-users-0.json.ejs +0 -61
  516. package/generators/server/templates/src/test/java/package/AbstractNeo4jIT.java.ejs +0 -44
  517. package/generators/server/templates/src/test/java/package/ReactiveSqlTestContainerExtension.java.ejs +0 -79
  518. package/generators/server/templates/src/test/java/package/RedisTestContainerExtension.java.ejs +0 -44
  519. package/generators/server/templates/src/test/resources/testcontainers/mariadb/my.cnf +0 -2
@@ -0,0 +1,49 @@
1
+ [mysqld]
2
+ port = 3306
3
+ #socket = /tmp/mysql.sock
4
+ skip-external-locking
5
+ key_buffer_size = 16K
6
+ max_allowed_packet = 1M
7
+ table_open_cache = 4
8
+ sort_buffer_size = 64K
9
+ read_buffer_size = 256K
10
+ read_rnd_buffer_size = 256K
11
+ net_buffer_length = 2K
12
+ thread_stack = 512K
13
+ skip-host-cache
14
+ skip-name-resolve
15
+
16
+ # Don't listen on a TCP/IP port at all. This can be a security enhancement,
17
+ # if all processes that need to connect to mysqld run on the same host.
18
+ # All interaction with mysqld must be made via Unix sockets or named pipes.
19
+ # Note that using this option without enabling named pipes on Windows
20
+ # (using the "enable-named-pipe" option) will render mysqld useless!
21
+ #
22
+ #skip-networking
23
+ #server-id = 1
24
+
25
+ # Uncomment the following if you want to log updates
26
+ #log-bin=mysql-bin
27
+
28
+ # binary logging format - mixed recommended
29
+ #binlog_format=mixed
30
+
31
+ # Causes updates to non-transactional engines using statement format to be
32
+ # written directly to binary log. Before using this option make sure that
33
+ # there are no dependencies between transactional and non-transactional
34
+ # tables such as in the statement INSERT INTO t_myisam SELECT * FROM
35
+ # t_innodb; otherwise, slaves may diverge from the master.
36
+ #binlog_direct_non_transactional_updates=TRUE
37
+
38
+ # Uncomment the following if you are using InnoDB tables
39
+ innodb_data_file_path = ibdata1:10M:autoextend
40
+ # You can set .._buffer_pool_size up to 50 - 80 %
41
+ # of RAM but beware of setting memory usage too high
42
+ innodb_buffer_pool_size = 16M
43
+ #innodb_additional_mem_pool_size = 2M
44
+ # Set .._log_file_size to 25 % of buffer pool size
45
+ innodb_log_file_size = 5M
46
+ innodb_log_buffer_size = 8M
47
+ innodb_flush_log_at_trx_commit = 1
48
+ innodb_lock_wait_timeout = 200
49
+ character-set-server = utf8mb4
@@ -0,0 +1,83 @@
1
+ # For advice on how to change settings please see
2
+ # http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
3
+ [mysqld]
4
+ user = mysql
5
+ datadir = /var/lib/mysql
6
+ port = 3306
7
+ socket = /var/run/mysqld/mysqld.sock
8
+ skip-external-locking
9
+ key_buffer_size = 16K
10
+ max_allowed_packet = 1M
11
+ table_open_cache = 4
12
+ sort_buffer_size = 64K
13
+ read_buffer_size = 256K
14
+ read_rnd_buffer_size = 256K
15
+ net_buffer_length = 2K
16
+ skip-host-cache
17
+ skip-name-resolve
18
+ secure-file-priv = NULL
19
+
20
+ # Don't listen on a TCP/IP port at all. This can be a security enhancement,
21
+ # if all processes that need to connect to mysqld run on the same host.
22
+ # All interaction with mysqld must be made via Unix sockets or named pipes.
23
+ # Note that using this option without enabling named pipes on Windows
24
+ # (using the "enable-named-pipe" option) will render mysqld useless!
25
+ #
26
+ #skip-networking
27
+ #server-id = 1
28
+
29
+ # Uncomment the following if you want to log updates
30
+ #log-bin=mysql-bin
31
+
32
+ # binary logging format - mixed recommended
33
+ #binlog_format=mixed
34
+
35
+ # Causes updates to non-transactional engines using statement format to be
36
+ # written directly to binary log. Before using this option make sure that
37
+ # there are no dependencies between transactional and non-transactional
38
+ # tables such as in the statement INSERT INTO t_myisam SELECT * FROM
39
+ # t_innodb; otherwise, slaves may diverge from the master.
40
+ #binlog_direct_non_transactional_updates=TRUE
41
+
42
+ # Uncomment the following if you are using InnoDB tables
43
+ innodb_data_file_path = ibdata1:10M:autoextend
44
+ # You can set .._buffer_pool_size up to 50 - 80 %
45
+ # of RAM but beware of setting memory usage too high
46
+ innodb_buffer_pool_size = 16M
47
+ #innodb_additional_mem_pool_size = 2M
48
+ # Set .._log_file_size to 25 % of buffer pool size
49
+ innodb_log_file_size = 5M
50
+ innodb_log_buffer_size = 8M
51
+ innodb_flush_log_at_trx_commit = 1
52
+ innodb_lock_wait_timeout = 50
53
+
54
+ symbolic-links=0
55
+ innodb_buffer_pool_size=5M
56
+ innodb_log_buffer_size=256K
57
+ max_connections=10
58
+ key_buffer_size=8
59
+ thread_cache_size=0
60
+ host_cache_size=0
61
+ innodb_ft_cache_size=1600000
62
+ innodb_ft_total_cache_size=32000000
63
+ #### These optimize the memory use of MySQL
64
+ #### http://www.tocker.ca/2014/03/10/configuring-mysql-to-use-minimal-memory.html
65
+
66
+ # per thread or per operation settings
67
+ thread_stack=131072
68
+ sort_buffer_size=32K
69
+ read_buffer_size=8200
70
+ read_rnd_buffer_size=8200
71
+ max_heap_table_size=16K
72
+ tmp_table_size=1K
73
+ bulk_insert_buffer_size=0
74
+ join_buffer_size=128
75
+ net_buffer_length=1K
76
+ innodb_sort_buffer_size=64K
77
+
78
+ #settings that relate to the binary log (if enabled)
79
+ binlog_cache_size=4K
80
+ binlog_stmt_cache_size=4K
81
+
82
+ performance_schema = off
83
+ character-set-server = utf8mb4
@@ -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, Criteria criteria) {
98
+ public String createSelect(SelectFromAndJoin selectFrom, Class<?> entityType, Pageable pageable, Condition where) {
97
99
  if (pageable != null) {
98
- if (criteria != null) {
99
- return createSelectImpl(selectFrom.limitOffset(pageable.getPageSize(), pageable.getOffset()).where(Conditions.just(criteria.toString())), entityType, pageable.getSort());
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(selectFrom.limitOffset(pageable.getPageSize(), pageable.getOffset()), entityType, pageable.getSort());
107
+ return createSelectImpl(
108
+ selectFrom.limitOffset(pageable.getPageSize(), pageable.getOffset()),
109
+ entityType,
110
+ pageable.getSort()
111
+ );
102
112
  }
103
113
  } else {
104
- if (criteria != null) {
105
- return createSelectImpl(selectFrom.where(Conditions.just(criteria.toString())), entityType, null);
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, Criteria criteria) {
130
+ public String createSelect(SelectFromAndJoinCondition selectFrom, Class<?> entityType, Pageable pageable, Condition where) {
120
131
  if (pageable != null) {
121
- if (criteria != null) {
122
- return createSelectImpl(selectFrom.limitOffset(pageable.getPageSize(), pageable.getOffset()).where(Conditions.just(criteria.toString())), entityType, pageable.getSort());
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 (criteria != null) {
128
- return createSelectImpl(selectFrom.where(Conditions.just(criteria.toString())), entityType, null);
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
- private String createSelectImpl(SelectOrdered selectFrom, Class<?> entityType, Sort sortParameter) {
136
- if (sortParameter != null && sortParameter.isSorted()) {
137
- RelationalPersistentEntity<?> entity = getPersistentEntity(entityType);
138
- if (entity != null) {
139
- Sort sort = updateMapper.getMappedObject(sortParameter, entity);
140
- selectFrom = selectFrom.orderBy(createOrderByFields(Table.create(entity.getTableName()).as(EntityManager.ENTITY_ALIAS), sort));
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.
@@ -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
  }
@@ -64,7 +64,7 @@ _%>
64
64
  # - JHIPSTER_CACHE_REDIS_CLUSTER=true
65
65
  <%_ } _%>
66
66
  <%_ if (authenticationTypeOauth2) { _%>
67
- - SPRING_SECURITY_OAUTH2_CLIENT_PROVIDER_OIDC_ISSUER_URI=http://keycloak:9080/auth/realms/jhipster
67
+ - SPRING_SECURITY_OAUTH2_CLIENT_PROVIDER_OIDC_ISSUER_URI=http://keycloak:9080/realms/jhipster
68
68
  <%_ if (applicationTypeGateway || applicationTypeMonolith) { _%>
69
69
  - SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_OIDC_CLIENT_ID=web_app
70
70
  - SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_OIDC_CLIENT_SECRET=web_app
@@ -102,6 +102,8 @@ _%>
102
102
  image: <%= DOCKER_MYSQL %>
103
103
  # volumes:
104
104
  # - ~/volumes/jhipster/<%= baseName %>/mysql/:/var/lib/mysql/
105
+ volumes:
106
+ - ./config/mysql:/etc/mysql/conf.d
105
107
  environment:
106
108
  - MYSQL_ALLOW_EMPTY_PASSWORD=yes
107
109
  - MYSQL_DATABASE=<%= baseName.toLowerCase() %>
@@ -116,6 +118,8 @@ _%>
116
118
  image: <%= DOCKER_MARIADB %>
117
119
  # volumes:
118
120
  # - ~/volumes/jhipster/<%= baseName %>/mysql/:/var/lib/mysql/
121
+ volumes:
122
+ - ./config/mariadb:/etc/mysql/conf.d
119
123
  environment:
120
124
  - MYSQL_ALLOW_EMPTY_PASSWORD=yes
121
125
  - MYSQL_DATABASE=<%= baseName.toLowerCase() %>
@@ -211,10 +215,6 @@ _%>
211
215
  - 127.0.0.1:7199:7199
212
216
  - 127.0.0.1:9042:9042
213
217
  - 127.0.0.1:9160:9160
214
- <%= baseName.toLowerCase() %>-cassandra-node:
215
- image: <%= DOCKER_CASSANDRA %>
216
- environment:
217
- - CASSANDRA_SEEDS=<%= baseName.toLowerCase() %>-cassandra
218
218
  <%= baseName.toLowerCase() %>-cassandra-migration:
219
219
  environment:
220
220
  - CASSANDRA_CONTACT_POINT=<%= baseName.toLowerCase() %>-cassandra
@@ -254,7 +254,7 @@ _%>
254
254
  - 127.0.0.1:9200:9200
255
255
  - 127.0.0.1:9300:9300
256
256
  environment:
257
- - "ES_JAVA_OPTS=-Xms1024m -Xmx1024m"
257
+ - "ES_JAVA_OPTS=-Xms256m -Xmx256m"
258
258
  - "discovery.type=single-node"
259
259
  <%_ } _%>
260
260
  <%_ if (messageBrokerKafka) { _%>
@@ -294,13 +294,13 @@ _%>
294
294
  - SPRING_SECURITY_USER_PASSWORD=admin
295
295
  - JHIPSTER_REGISTRY_PASSWORD=admin
296
296
  - SPRING_CLOUD_CONFIG_SERVER_COMPOSITE_0_TYPE=native
297
- - SPRING_CLOUD_CONFIG_SERVER_COMPOSITE_0_SEARCH_LOCATIONS=file:./central-config/localhost-config/
297
+ - SPRING_CLOUD_CONFIG_SERVER_COMPOSITE_0_SEARCH_LOCATIONS=file:./central-config/docker-config/
298
298
  # - SPRING_CLOUD_CONFIG_SERVER_COMPOSITE_0_TYPE=git
299
299
  # - SPRING_CLOUD_CONFIG_SERVER_COMPOSITE_0_URI=https://github.com/jhipster/jhipster-registry/
300
300
  # - SPRING_CLOUD_CONFIG_SERVER_COMPOSITE_0_SEARCH_PATHS=central-config
301
301
  <%_ if (authenticationTypeOauth2) { _%>
302
302
  # For keycloak to work, you need to add '127.0.0.1 keycloak' to your hosts file
303
- - SPRING_SECURITY_OAUTH2_CLIENT_PROVIDER_OIDC_ISSUER_URI=http://keycloak:9080/auth/realms/jhipster
303
+ - SPRING_SECURITY_OAUTH2_CLIENT_PROVIDER_OIDC_ISSUER_URI=http://keycloak:9080/realms/jhipster
304
304
  - SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_OIDC_CLIENT_ID=jhipster-registry
305
305
  - SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_OIDC_CLIENT_SECRET=jhipster-registry
306
306
  <%_ } _%>
@@ -336,17 +336,19 @@ _%>
336
336
  <%_ if (authenticationTypeOauth2 && !applicationTypeMicroservice) { _%>
337
337
  keycloak:
338
338
  image: <%= DOCKER_KEYCLOAK %>
339
- command: ["-b", "0.0.0.0", "-Dkeycloak.migration.action=import", "-Dkeycloak.migration.provider=dir", "-Dkeycloak.migration.dir=/opt/jboss/keycloak/realm-config", "-Dkeycloak.migration.strategy=OVERWRITE_EXISTING", "-Djboss.socket.binding.port-offset=1000", "-Dkeycloak.profile.feature.upload_scripts=enabled"]
339
+ command: ['start-dev --import-realm']
340
340
  volumes:
341
- - ./realm-config:/opt/jboss/keycloak/realm-config
341
+ - ./realm-config:/opt/keycloak/data/import
342
342
  environment:
343
- - KEYCLOAK_USER=admin
344
- - KEYCLOAK_PASSWORD=admin
345
- - DB_VENDOR=h2
343
+ - KC_DB=dev-file
344
+ - KEYCLOAK_ADMIN=admin
345
+ - KEYCLOAK_ADMIN_PASSWORD=admin
346
+ - KC_FEATURES=scripts
347
+ - KC_HTTP_PORT=9080
348
+ - KC_HTTPS_PORT=9443
346
349
  # If you want to expose these ports outside your dev PC,
347
350
  # remove the "127.0.0.1:" prefix
348
351
  ports:
349
352
  - 127.0.0.1:9080:9080
350
353
  - 127.0.0.1:9443:9443
351
- - 127.0.0.1:10990:10990
352
354
  <%_ } _%>
@@ -23,6 +23,7 @@ services:
23
23
  - CASSANDRA_CONTACT_POINT=<%= baseName.toLowerCase() %>-cassandra
24
24
  - USER=docker-cassandra-migration
25
25
  # - DEBUG_LOG=1 # uncomment to show debug logs during the migration process
26
+ - CREATE_KEYSPACE_SCRIPT=create-keyspace.cql
26
27
  build:
27
28
  context: .
28
29
  dockerfile: cassandra/Cassandra-Migration.Dockerfile
@@ -859,8 +859,7 @@
859
859
  "offline_access",
860
860
  "microprofile-jwt"
861
861
  ]
862
- },
863
- <%_ if (serviceDiscoveryEureka) { _%>
862
+ },<% if (serviceDiscoveryEureka) { %>
864
863
  {
865
864
  "id": "9057870f-8775-448d-a194-1d4e122f44d5",
866
865
  "clientId": "jhipster-registry",
@@ -920,8 +919,7 @@
920
919
  "offline_access",
921
920
  "microprofile-jwt"
922
921
  ]
923
- },
924
- <%_ } _%>
922
+ },<% } %>
925
923
  {
926
924
  "id": "898488c8-e260-41c5-a463-7ceea14d587a",
927
925
  "clientId": "realm-management",
@@ -2492,12 +2490,70 @@
2492
2490
  "clientOfflineSessionIdleTimeout": "0",
2493
2491
  "cibaInterval": "5"
2494
2492
  },
2495
- "keycloakVersion": "16.1.0",
2493
+ "keycloakVersion": "<%= DOCKER_KEYCLOAK_VERSION %>",
2496
2494
  "userManagedAccessAllowed": false,
2497
2495
  "clientProfiles": {
2498
2496
  "profiles": []
2499
2497
  },
2500
2498
  "clientPolicies": {
2501
2499
  "policies": []
2502
- }
2500
+ },
2501
+ "users": [
2502
+ {
2503
+ "id": "4c973896-5761-41fc-8217-07c5d13a004b",
2504
+ "createdTimestamp": 1505479415590,
2505
+ "username": "admin",
2506
+ "enabled": true,
2507
+ "totp": false,
2508
+ "emailVerified": true,
2509
+ "firstName": "Admin",
2510
+ "lastName": "Administrator",
2511
+ "email": "admin@localhost",
2512
+ "credentials": [
2513
+ {
2514
+ "id": "b860462b-9b02-48ba-9523-d3a8926a917b",
2515
+ "type": "password",
2516
+ "createdDate": 1505479429154,
2517
+ "secretData": "{\"value\":\"4pf9K2jWSCcHC+CwsZP/qidN5pSmDUe6AX6wBerSGdBVKkExay8MWKx+EKmaaObZW6FVsD8vdW/ZsyUFD9gJ1Q==\",\"salt\":\"1/qNkZ5kr77jOMOBPBogGw==\"}",
2518
+ "credentialData": "{\"hashIterations\":27500,\"algorithm\":\"pbkdf2-sha256\"}"
2519
+ }
2520
+ ],
2521
+ "disableableCredentialTypes": [],
2522
+ "requiredActions": [],
2523
+ "realmRoles": ["offline_access", "uma_authorization"],
2524
+ "clientRoles": {
2525
+ "account": ["view-profile", "manage-account"]
2526
+ },
2527
+ "notBefore": 0,
2528
+ "groups": ["/Admins", "/Users"]
2529
+ },
2530
+ {
2531
+ "id": "c4af4e2f-b432-4c3b-8405-cca86cd5b97b",
2532
+ "createdTimestamp": 1505479373742,
2533
+ "username": "user",
2534
+ "enabled": true,
2535
+ "totp": false,
2536
+ "emailVerified": true,
2537
+ "firstName": "",
2538
+ "lastName": "User",
2539
+ "email": "user@localhost",
2540
+ "credentials": [
2541
+ {
2542
+ "id": "7821832b-1e82-45a2-b8d3-f1a6ad909e64",
2543
+ "type": "password",
2544
+ "createdDate": 1505479392766,
2545
+ "secretData": "{\"value\":\"MbKsMgWPnZyImih8s4SaoCSCq+XIY/c6S9F93sXEidHF1TjPWxCqMkec0+o3860CMLXHt3az61cIJOWI0FW9aw==\",\"salt\":\"fmpBI1r8R1u75hDLMUlwBw==\"}",
2546
+ "credentialData": "{\"hashIterations\":27500,\"algorithm\":\"pbkdf2-sha256\"}"
2547
+ }
2548
+ ],
2549
+ "disableableCredentialTypes": [],
2550
+ "requiredActions": [],
2551
+ "realmRoles": ["offline_access", "uma_authorization"],
2552
+ "clientRoles": {
2553
+ "account": ["view-profile", "manage-account"]
2554
+ },
2555
+ "notBefore": 0,
2556
+ "groups": ["/Users"]
2557
+ }
2558
+ ]
2503
2559
  }
@@ -68,7 +68,7 @@ services:
68
68
  - JHIPSTER_SECURITY_AUTHENTICATION_JWT_BASE64_SECRET=<%= jwtSecretKey %>
69
69
  <%_ } else if (authenticationTypeOauth2) { _%>
70
70
  # For keycloak to work, you need to add '127.0.0.1 keycloak' to your hosts file
71
- - SPRING_SECURITY_OAUTH2_CLIENT_PROVIDER_OIDC_ISSUER_URI=http://keycloak:9080/auth/realms/jhipster
71
+ - SPRING_SECURITY_OAUTH2_CLIENT_PROVIDER_OIDC_ISSUER_URI=http://keycloak:9080/realms/jhipster
72
72
  - SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_OIDC_CLIENT_ID=jhipster-control-center
73
73
  - SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_OIDC_CLIENT_SECRET=jhipster-control-center
74
74
  <%_ } _%>
@@ -39,7 +39,7 @@ services:
39
39
  # - SPRING_CLOUD_CONFIG_SERVER_COMPOSITE_0_SEARCH_PATHS=central-config
40
40
  <%_ if (authenticationTypeOauth2) { _%>
41
41
  # For keycloak to work, you need to add '127.0.0.1 keycloak' to your hosts file
42
- - SPRING_SECURITY_OAUTH2_CLIENT_PROVIDER_OIDC_ISSUER_URI=http://keycloak:9080/auth/realms/jhipster
42
+ - SPRING_SECURITY_OAUTH2_CLIENT_PROVIDER_OIDC_ISSUER_URI=http://keycloak:9080/realms/jhipster
43
43
  - SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_OIDC_CLIENT_ID=jhipster-registry
44
44
  - SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_OIDC_CLIENT_SECRET=jhipster-registry
45
45
  <%_ } _%>
@@ -1,4 +1,39 @@
1
- #!/bin/sh
1
+ #!/bin/bash
2
2
 
3
3
  echo "The application will start in ${JHIPSTER_SLEEP}s..." && sleep ${JHIPSTER_SLEEP}
4
+
5
+ # usage: file_env VAR [DEFAULT]
6
+ # ie: file_env 'XYZ_DB_PASSWORD' 'example'
7
+ # (will allow for "$XYZ_DB_PASSWORD_FILE" to fill in the value of
8
+ # "$XYZ_DB_PASSWORD" from a file, especially for Docker's secrets feature)
9
+ file_env() {
10
+ local var="$1"
11
+ local fileVar="${var}_FILE"
12
+ local def="${2:-}"
13
+ if [[ ${!var:-} && ${!fileVar:-} ]]; then
14
+ echo >&2 "error: both $var and $fileVar are set (but are exclusive)"
15
+ exit 1
16
+ fi
17
+ local val="$def"
18
+ if [[ ${!var:-} ]]; then
19
+ val="${!var}"
20
+ elif [[ ${!fileVar:-} ]]; then
21
+ val="$(< "${!fileVar}")"
22
+ fi
23
+
24
+ if [[ -n $val ]]; then
25
+ export "$var"="$val"
26
+ fi
27
+
28
+ unset "$fileVar"
29
+ }
30
+
31
+ file_env 'SPRING_DATASOURCE_URL'
32
+ file_env 'SPRING_DATASOURCE_USERNAME'
33
+ file_env 'SPRING_DATASOURCE_PASSWORD'
34
+ file_env 'SPRING_LIQUIBASE_URL'
35
+ file_env 'SPRING_LIQUIBASE_USER'
36
+ file_env 'SPRING_LIQUIBASE_PASSWORD'
37
+ file_env 'JHIPSTER_REGISTRY_PASSWORD'
38
+
4
39
  exec java ${JAVA_OPTS} -noverify -XX:+AlwaysPreTouch -Djava.security.egd=file:/dev/./urandom -cp /app/resources/:/app/classes/:/app/libs/* "<%= packageName %>.<%= mainClass %>" "$@"
@@ -21,16 +21,18 @@ version: '<%= DOCKER_COMPOSE_FORMAT_VERSION %>'
21
21
  services:
22
22
  keycloak:
23
23
  image: <%= DOCKER_KEYCLOAK %>
24
- command: ["-b", "0.0.0.0", "-Dkeycloak.migration.action=import", "-Dkeycloak.migration.provider=dir", "-Dkeycloak.migration.dir=/opt/jboss/keycloak/realm-config", "-Dkeycloak.migration.strategy=OVERWRITE_EXISTING", "-Djboss.socket.binding.port-offset=1000", "-Dkeycloak.profile.feature.upload_scripts=enabled"]
24
+ command: ['start-dev --import-realm']
25
25
  volumes:
26
- - ./realm-config:/opt/jboss/keycloak/realm-config
26
+ - ./realm-config:/opt/keycloak/data/import
27
27
  environment:
28
- - KEYCLOAK_USER=admin
29
- - KEYCLOAK_PASSWORD=admin
30
- - DB_VENDOR=h2
28
+ - KC_DB=dev-file
29
+ - KEYCLOAK_ADMIN=admin
30
+ - KEYCLOAK_ADMIN_PASSWORD=admin
31
+ - KC_FEATURES=scripts
32
+ - KC_HTTP_PORT=9080
33
+ - KC_HTTPS_PORT=9443
31
34
  # If you want to expose these ports outside your dev PC,
32
35
  # remove the "127.0.0.1:" prefix
33
36
  ports:
34
37
  - 127.0.0.1:9080:9080
35
38
  - 127.0.0.1:9443:9443
36
- - 127.0.0.1:10990:10990
@@ -28,4 +28,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
28
28
  */
29
29
  @ConfigurationProperties(prefix = "application", ignoreUnknownFields = false)
30
30
  public class ApplicationProperties {
31
+ // jhipster-needle-application-properties-property
32
+ // jhipster-needle-application-properties-property-getter
33
+ // jhipster-needle-application-properties-property-class
31
34
  }
@@ -24,11 +24,9 @@ import org.slf4j.LoggerFactory;
24
24
  import org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler;
25
25
  import org.springframework.aop.interceptor.SimpleAsyncUncaughtExceptionHandler;
26
26
  import org.springframework.boot.autoconfigure.task.TaskExecutionProperties;
27
- <%_ if (messageBrokerKafka) { _%>
28
- import org.springframework.cloud.stream.annotation.EnableBinding;
29
- <%_ } _%>
30
27
  import org.springframework.context.annotation.Bean;
31
28
  import org.springframework.context.annotation.Configuration;
29
+ import org.springframework.context.annotation.Profile;
32
30
  import org.springframework.scheduling.annotation.AsyncConfigurer;
33
31
  import org.springframework.scheduling.annotation.EnableAsync;
34
32
  import org.springframework.scheduling.annotation.EnableScheduling;
@@ -39,9 +37,7 @@ import java.util.concurrent.Executor;
39
37
  @Configuration
40
38
  @EnableAsync
41
39
  @EnableScheduling
42
- <%_ if (messageBrokerKafka) { _%>
43
- @EnableBinding({KafkaSseConsumer.class, KafkaSseProducer.class})
44
- <%_ } _%>
40
+ @Profile("!testdev & !testprod")
45
41
  public class AsyncConfiguration implements AsyncConfigurer {
46
42
 
47
43
  private final Logger log = LoggerFactory.getLogger(AsyncConfiguration.class);
@@ -179,7 +179,7 @@ public class DatabaseConfiguration extends AbstractCouchbaseConfiguration {
179
179
  @Bean
180
180
  @Profile({JHipsterConstants.SPRING_PROFILE_TEST, JHipsterConstants.SPRING_PROFILE_E2E})
181
181
  public Couchmove waitForIndexes(Couchmove couchmove) {
182
- couchmove.waitForN1qlIndexes(getScopeName(), Duration.ofSeconds(60));
182
+ couchmove.waitForN1qlIndexes(getScopeName(), Duration.ofMinutes(15));
183
183
  return couchmove;
184
184
  }
185
185