generator-jhipster 7.1.0 → 7.4.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.
Files changed (917) hide show
  1. package/README.md +1 -1
  2. package/cli/commands.js +21 -0
  3. package/cli/environment-builder.js +10 -2
  4. package/cli/import-jdl.js +7 -10
  5. package/cli/jdl.js +1 -0
  6. package/cli/jhipster-command.js +14 -28
  7. package/cli/program.js +37 -29
  8. package/generators/add/index.cjs +78 -0
  9. package/generators/app/esm.mjs +21 -0
  10. package/generators/app/generator.spec.mjs +47 -0
  11. package/generators/app/index.js +38 -34
  12. package/generators/app/prompts.js +1 -1
  13. package/generators/aws/esm.mjs +21 -0
  14. package/generators/aws/generator.spec.mjs +47 -0
  15. package/generators/aws/index.js +8 -8
  16. package/generators/aws/lib/eb.js +1 -1
  17. package/generators/azure-app-service/esm.mjs +21 -0
  18. package/generators/azure-app-service/generator.spec.mjs +47 -0
  19. package/generators/azure-app-service/index.js +30 -19
  20. package/generators/azure-app-service/templates/github/workflows/azure-app-service.yml.ejs +3 -3
  21. package/generators/azure-spring-cloud/esm.mjs +21 -0
  22. package/generators/azure-spring-cloud/generator.spec.mjs +47 -0
  23. package/generators/azure-spring-cloud/index.js +68 -46
  24. package/generators/azure-spring-cloud/templates/application-azure.yml.ejs +4 -4
  25. package/generators/azure-spring-cloud/templates/github/workflows/azure-spring-cloud.yml.ejs +3 -3
  26. package/generators/base/esm.mjs +21 -0
  27. package/generators/base/generator.spec.mjs +44 -0
  28. package/generators/bootstrap/esm.mjs +21 -0
  29. package/generators/bootstrap/generator.spec.mjs +44 -0
  30. package/generators/bootstrap/index.js +55 -58
  31. package/generators/ci-cd/esm.mjs +21 -0
  32. package/generators/ci-cd/generator.spec.mjs +47 -0
  33. package/generators/ci-cd/index.js +30 -47
  34. package/generators/ci-cd/templates/github-actions.yml.ejs +5 -2
  35. package/generators/ci-cd/templates/travis.yml.ejs +9 -4
  36. package/generators/cleanup.js +5 -0
  37. package/generators/client/__workflow/devserver-angular.json +13 -0
  38. package/generators/client/__workflow/devserver-react.json +13 -0
  39. package/generators/client/__workflow/devserver-vue.json +13 -0
  40. package/generators/client/esm.mjs +21 -0
  41. package/generators/client/files-angular.js +8 -9
  42. package/generators/client/files-common.js +7 -3
  43. package/generators/client/files-react.js +11 -1
  44. package/generators/client/files-vue.js +56 -6
  45. package/generators/client/generator.spec.mjs +47 -0
  46. package/generators/client/index.js +127 -51
  47. package/generators/client/needle-api/needle-client-vue.js +5 -5
  48. package/generators/client/templates/angular/.eslintrc.json.ejs +1 -0
  49. package/generators/client/templates/angular/README.md.jhi.client.angular.ejs +48 -0
  50. package/generators/client/templates/angular/angular.json.ejs +0 -1
  51. package/generators/client/templates/angular/package.json +28 -25
  52. package/generators/client/templates/angular/package.json.ejs +18 -18
  53. package/generators/client/templates/angular/src/main/webapp/app/account/activate/activate.component.spec.ts.ejs +52 -54
  54. package/generators/client/templates/angular/src/main/webapp/app/account/activate/activate.service.spec.ts.ejs +65 -0
  55. package/generators/client/templates/angular/src/main/webapp/app/account/password/password-strength-bar/password-strength-bar.component.spec.ts.ejs +35 -37
  56. package/generators/client/templates/angular/src/main/webapp/app/account/password/password.component.spec.ts.ejs +78 -80
  57. package/generators/client/templates/angular/src/main/webapp/app/account/password/password.service.spec.ts.ejs +41 -0
  58. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.spec.ts.ejs +73 -75
  59. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/finish/password-reset-finish.service.spec.ts.ejs +62 -0
  60. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/init/password-reset-init.component.spec.ts.ejs +44 -46
  61. package/generators/client/templates/angular/src/main/webapp/app/account/password-reset/init/password-reset-init.service.spec.ts.ejs +61 -0
  62. package/generators/client/templates/angular/src/main/webapp/app/account/register/register.component.spec.ts.ejs +116 -118
  63. package/generators/client/templates/angular/src/main/webapp/app/account/register/register.service.spec.ts.ejs +66 -0
  64. package/generators/client/templates/angular/src/main/webapp/app/account/sessions/sessions.component.spec.ts.ejs +75 -77
  65. package/generators/client/templates/angular/src/main/webapp/app/account/settings/settings.component.spec.ts.ejs +74 -76
  66. package/generators/client/templates/angular/src/main/webapp/app/admin/configuration/configuration.component.html.ejs +1 -1
  67. package/generators/client/templates/angular/src/main/webapp/app/admin/configuration/configuration.component.spec.ts.ejs +48 -50
  68. package/generators/client/templates/angular/src/main/webapp/app/admin/configuration/configuration.service.spec.ts.ejs +50 -52
  69. package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.component.spec.ts.ejs +45 -47
  70. package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.component.ts.ejs +1 -2
  71. package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.service.spec.ts.ejs +66 -0
  72. package/generators/client/templates/angular/src/main/webapp/app/admin/health/modal/health-modal.component.spec.ts.ejs +99 -101
  73. package/generators/client/templates/angular/src/main/webapp/app/admin/health/modal/health-modal.component.ts.ejs +3 -5
  74. package/generators/client/templates/angular/src/main/webapp/app/admin/logs/logs.component.html.ejs +1 -1
  75. package/generators/client/templates/angular/src/main/webapp/app/admin/logs/logs.component.spec.ts.ejs +61 -63
  76. package/generators/client/templates/angular/src/main/webapp/app/admin/logs/logs.service.spec.ts.ejs +19 -21
  77. package/generators/client/templates/angular/src/main/webapp/app/admin/logs/logs.service.ts.ejs +1 -1
  78. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/jvm-memory/jvm-memory.component.html.ejs +2 -2
  79. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/blocks/metrics-system/metrics-system.component.ts.ejs +1 -1
  80. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/metrics.component.spec.ts.ejs +28 -30
  81. package/generators/client/templates/angular/src/main/webapp/app/admin/metrics/metrics.service.spec.ts.ejs +62 -64
  82. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.spec.ts.ejs +35 -37
  83. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.spec.ts.ejs +40 -42
  84. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/list/user-management.component.html.ejs +1 -1
  85. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/list/user-management.component.spec.ts.ejs +87 -89
  86. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/list/user-management.component.ts.ejs +3 -3
  87. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/service/user-management.service.spec.ts.ejs +41 -43
  88. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/update/user-management-update.component.spec.ts.ejs +81 -83
  89. package/generators/client/templates/angular/src/main/webapp/app/app.constants.ts.ejs +0 -4
  90. package/generators/client/templates/angular/src/main/webapp/app/app.module.ts.ejs +3 -1
  91. package/generators/client/templates/angular/src/main/webapp/app/config/error.constants.ts.ejs +2 -2
  92. package/generators/client/templates/angular/src/main/webapp/app/config/translation.config.ts.ejs +1 -2
  93. package/generators/client/templates/angular/src/main/webapp/app/core/auth/account.service.spec.ts.ejs +179 -172
  94. package/generators/client/templates/angular/src/main/webapp/app/core/auth/account.service.ts.ejs +9 -9
  95. package/generators/client/templates/angular/src/main/webapp/app/core/config/application-config.service.ts.ejs +9 -0
  96. package/generators/client/templates/angular/src/main/webapp/app/core/util/data-util.service.spec.ts.ejs +2 -1
  97. package/generators/client/templates/angular/src/main/webapp/app/core/util/data-util.service.ts.ejs +14 -22
  98. package/generators/client/templates/angular/src/main/webapp/app/entities/user/user.service.spec.ts.ejs +87 -89
  99. package/generators/client/templates/angular/src/main/webapp/app/home/home.component.spec.ts.ejs +93 -95
  100. package/generators/client/templates/angular/src/main/webapp/app/layouts/main/main.component.spec.ts.ejs +166 -168
  101. package/generators/client/templates/angular/src/main/webapp/app/layouts/main/main.component.ts.ejs +2 -2
  102. package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.spec.ts.ejs +66 -68
  103. package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.ts.ejs +1 -1
  104. package/generators/client/templates/angular/src/main/webapp/app/layouts/profiles/page-ribbon.component.spec.ts.ejs +27 -29
  105. package/generators/client/templates/angular/src/main/webapp/app/login/login.component.spec.ts.ejs +112 -114
  106. package/generators/client/templates/angular/src/main/webapp/app/login/login.service.ts.ejs +1 -11
  107. package/generators/client/templates/angular/src/main/webapp/app/login/logout.model.ts.ejs +1 -1
  108. package/generators/client/templates/angular/src/main/webapp/app/shared/alert/alert-error.component.spec.ts.ejs +132 -134
  109. package/generators/client/templates/angular/src/main/webapp/app/shared/alert/alert.component.spec.ts.ejs +29 -31
  110. package/generators/client/templates/angular/src/main/webapp/app/shared/sort/sort-by.directive.spec.ts.ejs +24 -37
  111. package/generators/client/templates/angular/src/main/webapp/app/shared/sort/sort-by.directive.ts.ejs +5 -3
  112. package/generators/client/templates/angular/src/main/webapp/app/shared/sort/sort.directive.spec.ts.ejs +7 -5
  113. package/generators/client/templates/angular/src/main/webapp/app/shared/sort/sort.directive.ts.ejs +7 -10
  114. package/generators/client/templates/angular/src/main/webapp/declarations.d.ts.ejs +8 -1
  115. package/generators/client/templates/angular/webpack/environment.js.ejs +2 -2
  116. package/generators/client/templates/angular/webpack/logo-jhipster.png +0 -0
  117. package/generators/client/templates/angular/webpack/proxy.conf.js.ejs +2 -3
  118. package/generators/client/templates/angular/webpack/webpack.custom.js.ejs +23 -7
  119. package/generators/client/templates/angular/webpack/webpack.microfrontend.js.ejs +3 -3
  120. package/generators/client/templates/common/README.md.jhi.client.ejs +224 -0
  121. package/generators/client/templates/common/package.json +9 -10
  122. package/generators/client/templates/common/webpack/webpack.microfrontend.js.jhi.ejs +56 -0
  123. package/generators/client/templates/react/.eslintrc.json.ejs +1 -0
  124. package/generators/client/templates/react/jest.conf.js.ejs +7 -1
  125. package/generators/client/templates/react/package.json +61 -64
  126. package/generators/client/templates/react/package.json.ejs +22 -31
  127. package/generators/client/templates/react/src/main/webapp/app/app.scss.ejs +0 -3
  128. package/generators/client/templates/react/src/main/webapp/app/app.tsx.ejs +1 -2
  129. package/generators/client/templates/react/src/main/webapp/app/config/axios-interceptor.spec.ts.ejs +0 -3
  130. package/generators/client/templates/react/src/main/webapp/app/config/axios-interceptor.ts.ejs +0 -2
  131. package/generators/client/templates/react/src/main/webapp/app/config/constants.ts.ejs +0 -9
  132. package/generators/client/templates/react/src/main/webapp/app/config/error-middleware.ts.ejs +2 -2
  133. package/generators/client/templates/react/src/main/webapp/app/config/logger-middleware.ts.ejs +1 -1
  134. package/generators/client/templates/react/src/main/webapp/app/config/notification-middleware.ts.ejs +1 -3
  135. package/generators/client/templates/react/src/main/webapp/app/config/store.ts.ejs +1 -3
  136. package/generators/client/templates/react/src/main/webapp/app/modules/account/password/password.tsx.ejs +2 -2
  137. package/generators/client/templates/react/src/main/webapp/app/modules/account/settings/settings.reducer.spec.ts.ejs +0 -4
  138. package/generators/client/templates/react/src/main/webapp/app/modules/account/settings/settings.reducer.ts.ejs +1 -1
  139. package/generators/client/templates/react/src/main/webapp/app/modules/administration/administration.reducer.spec.ts.ejs +1 -2
  140. package/generators/client/templates/react/src/main/webapp/app/modules/administration/configuration/configuration.tsx.ejs +4 -4
  141. package/generators/client/templates/react/src/main/webapp/app/modules/administration/gateway/gateway.tsx.ejs +2 -2
  142. package/generators/client/templates/react/src/main/webapp/app/modules/administration/health/health-modal.tsx.ejs +1 -2
  143. package/generators/client/templates/react/src/main/webapp/app/modules/administration/health/health.tsx.ejs +3 -1
  144. package/generators/client/templates/react/src/main/webapp/app/modules/administration/metrics/metrics.tsx.ejs +6 -6
  145. package/generators/client/templates/react/src/main/webapp/app/modules/administration/user-management/user-management.tsx.ejs +8 -8
  146. package/generators/client/templates/react/src/main/webapp/app/modules/home/home.tsx.ejs +5 -1
  147. package/generators/client/templates/react/src/main/webapp/app/modules/login/logout.tsx.ejs +1 -6
  148. package/generators/client/templates/react/src/main/webapp/app/shared/auth/private-route.spec.tsx.ejs +0 -3
  149. package/generators/client/templates/react/src/main/webapp/app/shared/error/error-boundary-route.spec.tsx.ejs +0 -3
  150. package/generators/client/templates/react/src/main/webapp/app/shared/error/error-boundary.spec.tsx.ejs +0 -3
  151. package/generators/client/templates/react/src/main/webapp/app/shared/error/error-boundary.tsx.ejs +1 -2
  152. package/generators/client/templates/react/src/main/webapp/app/shared/layout/footer/footer.tsx.ejs +1 -1
  153. package/generators/client/templates/react/src/main/webapp/app/shared/layout/header/header-components.tsx.ejs +3 -5
  154. package/generators/client/templates/react/src/main/webapp/app/shared/layout/header/header.spec.tsx.ejs +0 -3
  155. package/generators/client/templates/react/src/main/webapp/app/shared/layout/header/header.tsx.ejs +1 -1
  156. package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/account.spec.tsx.ejs +0 -3
  157. package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/account.tsx.ejs +3 -3
  158. package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/admin.tsx.ejs +7 -7
  159. package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/menu-components.tsx.ejs +1 -1
  160. package/generators/client/templates/react/src/main/webapp/app/shared/reducers/authentication.spec.ts.ejs +1 -5
  161. package/generators/client/templates/react/src/main/webapp/app/shared/reducers/authentication.ts.ejs +0 -2
  162. package/generators/client/templates/react/src/main/webapp/app/shared/reducers/index.ts.ejs +12 -12
  163. package/generators/client/templates/react/src/main/webapp/app/shared/reducers/locale.ts.ejs +1 -1
  164. package/generators/client/templates/react/src/main/webapp/app/shared/reducers/reducer.utils.ts.ejs +0 -1
  165. package/generators/client/templates/react/src/main/webapp/app/shared/util/date-utils.ts.ejs +1 -1
  166. package/generators/client/templates/react/src/main/webapp/app/typings.d.ts.ejs +6 -0
  167. package/generators/client/templates/react/webpack/environment.js.ejs +35 -0
  168. package/generators/client/templates/react/webpack/webpack.common.js.ejs +31 -37
  169. package/generators/client/templates/react/webpack/webpack.dev.js.ejs +21 -7
  170. package/generators/client/templates/react/webpack/webpack.prod.js.ejs +14 -7
  171. package/generators/client/templates/vue/.eslintrc.js.ejs +8 -5
  172. package/generators/client/templates/vue/package.json +47 -55
  173. package/generators/client/templates/vue/package.json.ejs +33 -40
  174. package/generators/client/templates/vue/src/main/webapp/app/account/account.service.ts.ejs +4 -5
  175. package/generators/client/templates/vue/src/main/webapp/app/account/activate/activate.component.ts.ejs +2 -2
  176. package/generators/client/templates/vue/src/main/webapp/app/account/change-password/change-password.component.ts.ejs +1 -1
  177. package/generators/client/templates/vue/src/main/webapp/app/account/reset-password/finish/reset-password-finish.component.ts.ejs +1 -1
  178. package/generators/client/templates/vue/src/main/webapp/app/account/reset-password/init/reset-password-init.component.ts.ejs +1 -1
  179. package/generators/client/templates/vue/src/main/webapp/app/account/settings/settings.component.ts.ejs +1 -1
  180. package/generators/client/templates/vue/src/main/webapp/app/account/settings/settings.vue.ejs +7 -1
  181. package/generators/client/templates/vue/src/main/webapp/app/admin/configuration/configuration.component.ts.ejs +1 -1
  182. package/generators/client/templates/vue/src/main/webapp/app/admin/configuration/configuration.service.ts.ejs +1 -1
  183. package/generators/client/templates/vue/src/main/webapp/app/admin/configuration/configuration.vue.ejs +1 -1
  184. package/generators/client/templates/vue/src/main/webapp/app/admin/health/health-modal.component.ts.ejs +2 -4
  185. package/generators/client/templates/vue/src/main/webapp/app/admin/health/health.component.ts.ejs +1 -2
  186. package/generators/client/templates/vue/src/main/webapp/app/admin/health/health.service.ts.ejs +5 -9
  187. package/generators/client/templates/vue/src/main/webapp/app/admin/logs/logs.component.ts.ejs +2 -2
  188. package/generators/client/templates/vue/src/main/webapp/app/admin/logs/logs.service.ts.ejs +1 -1
  189. package/generators/client/templates/vue/src/main/webapp/app/admin/metrics/metrics.component.ts.ejs +1 -1
  190. package/generators/client/templates/vue/src/main/webapp/app/admin/metrics/metrics.service.ts.ejs +1 -6
  191. package/generators/client/templates/vue/src/main/webapp/app/admin/tracker/tracker.service.ts.ejs +5 -4
  192. package/generators/client/templates/vue/src/main/webapp/app/admin/user-management/user-management-edit.component.ts.ejs +9 -0
  193. package/generators/client/templates/vue/src/main/webapp/app/admin/user-management/user-management-view.component.ts.ejs +5 -0
  194. package/generators/client/templates/vue/src/main/webapp/app/admin/user-management/user-management.component.ts.ejs +6 -1
  195. package/generators/client/templates/vue/src/main/webapp/app/admin/user-management/user-management.service.ts.ejs +3 -2
  196. package/generators/client/templates/vue/src/main/webapp/app/constants.ts.ejs +18 -9
  197. package/generators/client/templates/vue/src/main/webapp/app/core/home/home.component.ts.ejs +1 -1
  198. package/generators/client/templates/vue/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.ts.ejs +16 -16
  199. package/generators/client/templates/vue/src/main/webapp/app/core/jhi-navbar/jhi-navbar.vue.ejs +6 -0
  200. package/generators/client/templates/vue/src/main/webapp/app/declarations.d.ts.ejs +41 -0
  201. package/generators/client/templates/vue/src/main/webapp/app/entities/entities-menu.component.ts.ejs +34 -0
  202. package/generators/client/templates/vue/src/main/webapp/app/entities/entities-menu.vue.ejs +13 -0
  203. package/generators/client/templates/vue/src/main/webapp/app/entities/entities.component.ts.ejs +12 -0
  204. package/generators/client/templates/vue/src/main/webapp/app/entities/entities.vue.ejs +5 -0
  205. package/generators/{common/templates/.huskyrc.ejs → client/templates/vue/src/main/webapp/app/index.ts.ejs} +1 -5
  206. package/generators/client/templates/vue/src/main/webapp/app/locale/translation.service.ts.ejs +26 -10
  207. package/generators/client/templates/vue/src/main/webapp/app/main.ts.ejs +12 -5
  208. package/generators/client/templates/vue/src/main/webapp/app/router/admin.ts.ejs +4 -4
  209. package/generators/client/templates/vue/src/main/webapp/app/router/entities.ts.ejs +44 -1
  210. package/generators/client/templates/vue/src/main/webapp/app/router/index.ts.ejs +11 -0
  211. package/generators/client/templates/vue/src/main/webapp/app/shared/alert/alert.service.ts.ejs +61 -0
  212. package/generators/client/templates/vue/src/main/webapp/app/shared/config/axios-interceptor.ts.ejs +5 -3
  213. package/generators/client/templates/vue/src/main/webapp/app/shared/config/config.ts.ejs +3 -1
  214. package/generators/client/templates/vue/src/main/webapp/app/shared/data/data-utils.service.ts.ejs +13 -18
  215. package/generators/client/templates/vue/src/main/webapp/app/shims-vue.d.ts.ejs +18 -0
  216. package/generators/client/templates/vue/src/test/javascript/jest.conf.js.ejs +28 -8
  217. package/generators/client/templates/vue/src/test/javascript/spec/app/account/account.service.spec.ts.ejs +2 -2
  218. package/generators/client/templates/vue/src/test/javascript/spec/app/account/login-form/login-form.component.spec.ts.ejs +1 -1
  219. package/generators/client/templates/vue/src/test/javascript/spec/app/admin/tracker/tracker.component.spec.ts.ejs +12 -12
  220. package/generators/client/templates/vue/src/test/javascript/spec/app/admin/tracker/tracker.service.spec.ts.ejs +2 -1
  221. package/generators/client/templates/vue/src/test/javascript/spec/app/admin/user-management/user-management-edit.component.spec.ts.ejs +3 -1
  222. package/generators/client/templates/vue/src/test/javascript/spec/app/admin/user-management/user-management-view.component.spec.ts.ejs +2 -1
  223. package/generators/client/templates/vue/src/test/javascript/spec/app/admin/user-management/user-management.component.spec.ts.ejs +3 -1
  224. package/generators/client/templates/vue/src/test/javascript/spec/app/entities/entities-menu.spec.ts.ejs +52 -0
  225. package/generators/client/templates/vue/src/test/javascript/spec/app/microfrontends/entities-menu.component.ts.ejs +4 -0
  226. package/generators/client/templates/vue/src/test/javascript/spec/app/microfrontends/entities-menu.vue.ejs +7 -0
  227. package/generators/client/templates/vue/src/test/javascript/spec/app/microfrontends/entities-router.ts.ejs +1 -0
  228. package/generators/client/templates/vue/src/test/javascript/spec/app/shared/alert/alert.service.spec.ts.ejs +124 -0
  229. package/generators/client/templates/vue/src/test/javascript/spec/app/shared/config/axios-interceptor.spec.ts.ejs +33 -1
  230. package/generators/client/templates/vue/src/test/javascript/spec/app/shared/data/data-utils.service.spec.ts.ejs +6 -6
  231. package/generators/client/templates/vue/tsconfig.json.ejs +5 -9
  232. package/generators/{server/templates/src/main/java/package/repository/search/SearchCouchbaseRepository.java.ejs → client/templates/vue/tsconfig.spec.json.ejs} +17 -21
  233. package/generators/client/templates/vue/webpack/config.js.ejs +50 -0
  234. package/generators/client/templates/vue/webpack/vue.utils.js.ejs +33 -32
  235. package/generators/client/templates/vue/webpack/webpack.common.js.ejs +164 -119
  236. package/generators/client/templates/vue/webpack/webpack.dev.js.ejs +19 -80
  237. package/generators/client/templates/vue/webpack/webpack.microfrontend.js.jhi.vue.ejs +77 -0
  238. package/generators/client/templates/vue/webpack/webpack.prod.js.ejs +5 -46
  239. package/generators/cloudfoundry/esm.mjs +21 -0
  240. package/generators/cloudfoundry/generator.spec.mjs +47 -0
  241. package/generators/cloudfoundry/index.js +38 -24
  242. package/generators/common/esm.mjs +21 -0
  243. package/generators/common/files.js +9 -2
  244. package/generators/common/generator.spec.mjs +47 -0
  245. package/generators/common/index.js +66 -11
  246. package/generators/common/templates/.husky/pre-commit +4 -0
  247. package/generators/common/templates/.prettierrc.ejs +1 -1
  248. package/generators/common/templates/{README.md.ejs → README.md.jhi.ejs} +85 -171
  249. package/generators/common/templates/package.json +5 -5
  250. package/generators/cypress/esm.mjs +21 -0
  251. package/generators/cypress/generator.spec.mjs +47 -0
  252. package/generators/cypress/index.js +17 -14
  253. package/generators/cypress/templates/cypress.json.ejs +8 -1
  254. package/generators/cypress/templates/src/test/javascript/cypress/integration/account/login-page.spec.ts.ejs +4 -4
  255. package/generators/cypress/templates/src/test/javascript/cypress/integration/account/password-page.spec.ts.ejs +2 -2
  256. package/generators/cypress/templates/src/test/javascript/cypress/integration/account/register-page.spec.ts.ejs +1 -1
  257. package/generators/cypress/templates/src/test/javascript/cypress/integration/account/reset-password-page.spec.ts.ejs +1 -1
  258. package/generators/cypress/templates/src/test/javascript/cypress/integration/account/settings-page.spec.ts.ejs +4 -4
  259. package/generators/cypress/templates/src/test/javascript/cypress/integration/administration/administration.spec.ts.ejs +1 -3
  260. package/generators/cypress/templates/src/test/javascript/cypress/integration/lighthouse.audits.ts.ejs +3 -3
  261. package/generators/cypress/templates/src/test/javascript/cypress/plugins/index.ts.ejs +6 -44
  262. package/generators/cypress/templates/src/test/javascript/cypress/support/commands.ts.ejs +30 -2
  263. package/generators/cypress/templates/src/test/javascript/cypress/support/entity.ts.ejs +4 -4
  264. package/generators/cypress/templates/src/test/javascript/cypress/support/index.ts.ejs +1 -1
  265. package/generators/cypress/templates/src/test/javascript/cypress/support/management.ts.ejs +1 -1
  266. package/generators/cypress/templates/src/test/javascript/cypress/support/navbar.ts.ejs +1 -1
  267. package/generators/cypress/templates/src/test/javascript/cypress/support/oauth2.ts.ejs +104 -79
  268. package/generators/database-changelog/esm.mjs +21 -0
  269. package/generators/database-changelog/generator.spec.mjs +47 -0
  270. package/generators/database-changelog/index.js +35 -24
  271. package/generators/database-changelog-liquibase/esm.mjs +21 -0
  272. package/generators/database-changelog-liquibase/generator.spec.mjs +47 -0
  273. package/generators/database-changelog-liquibase/index.js +17 -11
  274. package/generators/database-changelog-liquibase/templates/src/main/resources/config/liquibase/changelog/added_entity.xml.ejs +2 -1
  275. package/generators/database-changelog-liquibase/templates/src/main/resources/config/liquibase/changelog/updated_entity.xml.ejs +3 -3
  276. package/generators/database-changelog-liquibase/templates/src/main/resources/config/liquibase/changelog/updated_entity_constraints.xml.ejs +4 -4
  277. package/generators/docker-base.js +3 -3
  278. package/generators/docker-compose/esm.mjs +21 -0
  279. package/generators/docker-compose/generator.spec.mjs +44 -0
  280. package/generators/docker-compose/index.js +23 -11
  281. package/generators/docker-compose/templates/README-DOCKER-COMPOSE.md.ejs +1 -1
  282. package/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +113 -39
  283. package/generators/docker-prompts.js +3 -3
  284. package/generators/entities/esm.mjs +21 -0
  285. package/generators/entities/generator.spec.mjs +47 -0
  286. package/generators/entities/index.js +37 -28
  287. package/generators/entities-client/esm.mjs +21 -0
  288. package/generators/entities-client/generator.spec.mjs +47 -0
  289. package/generators/entities-client/index.js +12 -9
  290. package/generators/entity/esm.mjs +21 -0
  291. package/generators/entity/generator.spec.mjs +47 -0
  292. package/generators/entity/index.js +54 -36
  293. package/generators/entity-client/esm.mjs +21 -0
  294. package/generators/entity-client/files.js +6 -11
  295. package/generators/entity-client/generator.spec.mjs +47 -0
  296. package/generators/entity-client/index.js +77 -10
  297. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/delete/entity-management-delete-dialog.component.spec.ts.ejs +42 -44
  298. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/detail/entity-management-detail.component.spec.ts.ejs +57 -54
  299. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management.module.ts.ejs +2 -2
  300. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.html.ejs +2 -2
  301. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.spec.ts.ejs +105 -107
  302. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.ts.ejs +17 -4
  303. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/infinite-scroll-template.ejs +3 -4
  304. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/pagination-template.ejs +6 -0
  305. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/route/entity-management-routing-resolve.service.spec.ts.ejs +52 -54
  306. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/route/entity-management-routing.module.ts.ejs +1 -1
  307. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/service/entity.service.spec.ts.ejs +173 -175
  308. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.html.ejs +2 -4
  309. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.spec.ts.ejs +193 -195
  310. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-management-update.component.ts.ejs +7 -0
  311. package/generators/entity-client/templates/common/src/test/javascript/cypress/integration/entity/entity.spec.ts.ejs +262 -110
  312. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-delete-dialog.tsx.ejs +5 -2
  313. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity-update.tsx.ejs +26 -23
  314. package/generators/entity-client/templates/react/src/main/webapp/app/entities/entity.tsx.ejs +7 -7
  315. package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity-details.component.ts.ejs +5 -0
  316. package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity-update.component.ts.ejs +22 -3
  317. package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity-update.vue.ejs +6 -9
  318. package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity.component.ts.ejs +9 -1
  319. package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity.model.ts.ejs +1 -1
  320. package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity.service.ts.ejs +2 -6
  321. package/generators/entity-client/templates/vue/src/test/javascript/spec/app/entities/entity-details.component.spec.ts.ejs +2 -1
  322. package/generators/entity-client/templates/vue/src/test/javascript/spec/app/entities/entity-update.component.spec.ts.ejs +2 -0
  323. package/generators/entity-client/templates/vue/src/test/javascript/spec/app/entities/entity.component.spec.ts.ejs +3 -1
  324. package/generators/entity-client/templates/vue/src/test/javascript/spec/app/entities/entity.service.spec.ts.ejs +1 -1
  325. package/generators/entity-i18n/esm.mjs +21 -0
  326. package/generators/entity-i18n/files.js +61 -26
  327. package/generators/entity-i18n/generator.spec.mjs +47 -0
  328. package/generators/entity-i18n/index.js +12 -9
  329. package/generators/entity-i18n/templates/i18n/entity_hr.json.ejs +0 -0
  330. package/generators/entity-i18n/templates/i18n/entity_pa.json.ejs +69 -0
  331. package/generators/entity-server/esm.mjs +21 -0
  332. package/generators/entity-server/files-couchbase.js +73 -0
  333. package/generators/entity-server/files.js +102 -31
  334. package/generators/entity-server/generator.spec.mjs +47 -0
  335. package/generators/entity-server/index.js +29 -13
  336. package/generators/entity-server/templates/couchbase/src/main/java/package/domain/Entity.java.jhi.spring_data_couchbase.ejs +212 -0
  337. package/generators/entity-server/templates/couchbase/src/main/java/package/repository/EntityRepository.java.ejs +138 -0
  338. package/generators/entity-server/templates/{src → couchbase/src}/main/resources/config/couchmove/changelog/entity.fts.ejs +6 -3
  339. package/generators/entity-server/templates/partials/save_template.ejs +2 -2
  340. package/generators/entity-server/templates/src/main/java/package/common/search_stream_template.ejs +3 -3
  341. package/generators/entity-server/templates/src/main/java/package/common/search_template.ejs +2 -2
  342. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.ejs +375 -0
  343. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.elastic_search.ejs +25 -0
  344. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.hibernate_cache.ejs +41 -0
  345. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.javax_persistence.ejs +130 -0
  346. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.javax_validation.ejs +51 -0
  347. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.spring_data_cassandra.ejs +48 -0
  348. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.spring_data_mongodb.ejs +82 -0
  349. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.spring_data_neo4j.ejs +97 -0
  350. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.spring_data_reactive.ejs +114 -0
  351. package/generators/entity-server/templates/src/main/java/package/domain/enumeration/Enum.java.ejs +11 -4
  352. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepository.java.ejs +10 -15
  353. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryInternalImpl_reactive.java.ejs +17 -30
  354. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepository_reactive.java.ejs +6 -9
  355. package/generators/entity-server/templates/src/main/java/package/repository/EntitySqlHelper_reactive.java.ejs +46 -0
  356. package/generators/entity-server/templates/src/main/java/package/repository/rowmapper/EntityRowMapper.java.ejs +3 -3
  357. package/generators/entity-server/templates/src/main/java/package/repository/search/EntitySearchRepository.java.ejs +61 -10
  358. package/generators/entity-server/templates/src/main/java/package/service/EntityQueryService.java.ejs +12 -8
  359. package/generators/entity-server/templates/src/main/java/package/service/EntityService.java.ejs +4 -4
  360. package/generators/entity-server/templates/src/main/java/package/service/criteria/EntityCriteria.java.ejs +18 -13
  361. package/generators/entity-server/templates/src/main/java/package/service/dto/EntityDTO.java.ejs +8 -4
  362. package/generators/entity-server/templates/src/main/java/package/service/impl/EntityServiceImpl.java.ejs +9 -9
  363. package/generators/entity-server/templates/src/main/java/package/service/mapper/BaseEntityMapper.java.ejs +1 -1
  364. package/generators/entity-server/templates/src/main/java/package/service/mapper/EntityMapper.java.ejs +7 -3
  365. package/generators/entity-server/templates/src/main/java/package/web/rest/EntityResource.java.ejs +52 -54
  366. package/generators/entity-server/templates/src/test/java/package/domain/EntityTest.java.ejs +1 -1
  367. package/generators/entity-server/templates/src/test/java/package/repository/search/EntitySearchRepositoryMockConfiguration.java.ejs +1 -1
  368. package/generators/entity-server/templates/src/test/java/package/service/dto/EntityDTOTest.java.ejs +1 -1
  369. package/generators/entity-server/templates/src/test/java/package/service/mapper/EntityMapperTest.java.ejs +1 -1
  370. package/generators/entity-server/templates/src/test/java/package/web/rest/EntityResourceIT.java.ejs +36 -22
  371. package/generators/export-jdl/esm.mjs +21 -0
  372. package/generators/export-jdl/generator.spec.mjs +44 -0
  373. package/generators/export-jdl/index.js +2 -2
  374. package/generators/gae/esm.mjs +21 -0
  375. package/generators/gae/generator.spec.mjs +47 -0
  376. package/generators/gae/index.js +60 -41
  377. package/generators/gae/templates/dispatch.yaml.ejs +2 -2
  378. package/generators/generator-base-blueprint.js +35 -37
  379. package/generators/generator-base-docker.js +4 -24
  380. package/generators/generator-base-private.js +59 -116
  381. package/generators/generator-base.js +544 -91
  382. package/generators/generator-constants.js +43 -29
  383. package/generators/generator-defaults.js +1 -0
  384. package/generators/generator-list.js +27 -2
  385. package/generators/generator-transforms.js +31 -24
  386. package/generators/gradle/__snapshots__/generator.spec.cjs.snap +59 -0
  387. package/generators/gradle/constants.cjs +29 -0
  388. package/generators/gradle/files.cjs +37 -0
  389. package/generators/gradle/generator.spec.cjs +71 -0
  390. package/generators/gradle/index.cjs +136 -0
  391. package/generators/gradle/templates/.eslintignore.jhi.gradle.ejs +19 -0
  392. package/generators/gradle/templates/.gitignore.jhi.gradle.ejs +28 -0
  393. package/generators/gradle/templates/.prettierignore.jhi.gradle.ejs +22 -0
  394. package/generators/gradle/templates/build.gradle.jhi.ejs +48 -0
  395. package/generators/gradle/templates/gradle.properties.jhi.ejs +57 -0
  396. package/generators/gradle/templates/settings.gradle.jhi.ejs +20 -0
  397. package/generators/heroku/esm.mjs +21 -0
  398. package/generators/heroku/generator.spec.mjs +47 -0
  399. package/generators/heroku/index.js +92 -80
  400. package/generators/heroku/templates/Procfile.ejs +1 -1
  401. package/generators/heroku/templates/application-heroku.yml.ejs +9 -9
  402. package/generators/heroku/templates/bootstrap-heroku.yml.ejs +2 -2
  403. package/generators/heroku/templates/pom-profile.xml.ejs +1 -1
  404. package/generators/info/esm.mjs +21 -0
  405. package/generators/info/generator.spec.mjs +44 -0
  406. package/generators/info/index.js +4 -2
  407. package/generators/init/__snapshots__/generator.spec.cjs.snap +65 -0
  408. package/generators/init/config.cjs +36 -0
  409. package/generators/init/constants.cjs +35 -0
  410. package/generators/init/files.cjs +51 -0
  411. package/generators/init/generator.spec.cjs +112 -0
  412. package/generators/init/index.cjs +283 -0
  413. package/generators/init/mixin.cjs +76 -0
  414. package/generators/init/options.cjs +27 -0
  415. package/generators/init/templates/.editorconfig.jhi.ejs +40 -0
  416. package/generators/init/templates/.eslintignore.jhi.ejs +21 -0
  417. package/generators/init/templates/.gitattributes.jhi.ejs +170 -0
  418. package/generators/init/templates/.gitignore.jhi.ejs +128 -0
  419. package/generators/init/templates/.husky/pre-commit +4 -0
  420. package/generators/{client/templates/vue/webpack/utils.js.ejs → init/templates/.lintstagedrc.js.ejs} +1 -10
  421. package/generators/init/templates/.prettierignore.jhi.ejs +23 -0
  422. package/generators/init/templates/.prettierrc.yml.jhi.ejs +29 -0
  423. package/generators/init/templates/README.md.ejs +19 -0
  424. package/generators/init/templates/package.json +6 -0
  425. package/generators/init/templates/package.json.ejs +41 -0
  426. package/generators/java/__snapshots__/generator.spec.cjs.snap +118 -0
  427. package/generators/java/config.cjs +43 -0
  428. package/generators/java/constants.cjs +69 -0
  429. package/generators/java/files.cjs +26 -0
  430. package/generators/java/generator.spec.cjs +87 -0
  431. package/generators/java/index.cjs +226 -0
  432. package/generators/java/mixin.cjs +120 -0
  433. package/generators/java/options.cjs +32 -0
  434. package/generators/java/templates/.editorconfig.jhi.java.ejs +23 -0
  435. package/generators/java/templates/.gitignore.jhi.java.ejs +34 -0
  436. package/generators/java/templates/.prettierrc.yml.jhi.java.ejs +25 -0
  437. package/generators/kubernetes/esm.mjs +21 -0
  438. package/generators/kubernetes/files.js +20 -8
  439. package/generators/kubernetes/generator.spec.mjs +44 -0
  440. package/generators/kubernetes/index.js +126 -64
  441. package/generators/kubernetes/kubernetes-constants.js +50 -0
  442. package/generators/kubernetes/prompts.js +25 -16
  443. package/generators/kubernetes/templates/README-KUBERNETES.md.ejs +12 -13
  444. package/generators/kubernetes/templates/db/couchbase.yml.ejs +3 -3
  445. package/generators/kubernetes/templates/db/elasticsearch.yml.ejs +5 -5
  446. package/generators/kubernetes/templates/db/mariadb.yml.ejs +5 -5
  447. package/generators/kubernetes/templates/db/mongodb.yml.ejs +2 -2
  448. package/generators/kubernetes/templates/db/mssql.yml.ejs +5 -5
  449. package/generators/kubernetes/templates/db/mysql.yml.ejs +5 -5
  450. package/generators/kubernetes/templates/db/neo4j.yml.ejs +5 -5
  451. package/generators/kubernetes/templates/db/postgresql.yml.ejs +5 -5
  452. package/generators/kubernetes/templates/deployment.yml.ejs +61 -56
  453. package/generators/kubernetes/templates/ingress.yml.ejs +2 -2
  454. package/generators/kubernetes/templates/istio/destination-rule.yml.ejs +1 -1
  455. package/generators/kubernetes/templates/istio/gateway/grafana-gateway.yml.ejs +5 -2
  456. package/generators/kubernetes/templates/istio/gateway/jhipster-grafana-gateway.yml.ejs +5 -2
  457. package/generators/kubernetes/templates/istio/gateway/kiali-gateway.yml.ejs +10 -8
  458. package/generators/kubernetes/templates/istio/gateway/zipkin-gateway.yml.ejs +5 -2
  459. package/generators/kubernetes/templates/istio/gateway.yml.ejs +11 -9
  460. package/generators/kubernetes/templates/kubectl-apply.sh.ejs +24 -23
  461. package/generators/kubernetes/templates/kustomize/kustomization.yml.ejs +27 -27
  462. package/generators/kubernetes/templates/messagebroker/kafka.yml.ejs +4 -4
  463. package/generators/kubernetes/templates/monitoring/jhipster-grafana-dashboard.yml.ejs +2 -2
  464. package/generators/kubernetes/templates/monitoring/jhipster-grafana.yml.ejs +6 -6
  465. package/generators/kubernetes/templates/monitoring/jhipster-prometheus-crd.yml.ejs +2 -2
  466. package/generators/kubernetes/templates/registry/application-configmap.yml.ejs +6 -6
  467. package/generators/kubernetes/templates/registry/consul.yml.ejs +2 -2
  468. package/generators/kubernetes/templates/registry/jhipster-registry.yml.ejs +4 -4
  469. package/generators/kubernetes/templates/secret/couchbase-secret.yml.ejs +9 -0
  470. package/generators/kubernetes/templates/service.yml.ejs +8 -8
  471. package/generators/kubernetes-base.js +44 -18
  472. package/generators/kubernetes-helm/esm.mjs +21 -0
  473. package/generators/kubernetes-helm/files.js +20 -21
  474. package/generators/kubernetes-helm/generator.spec.mjs +44 -0
  475. package/generators/kubernetes-helm/index.js +106 -46
  476. package/generators/kubernetes-helm/templates/README-KUBERNETES-HELM.md.ejs +2 -3
  477. package/generators/kubernetes-helm/templates/app/Chart.yml.ejs +27 -0
  478. package/generators/kubernetes-helm/templates/app/helpers.tpl.ejs +4 -15
  479. package/generators/kubernetes-helm/templates/app/requirements.yml.ejs +11 -6
  480. package/generators/kubernetes-helm/templates/app/values.yml.ejs +73 -10
  481. package/generators/kubernetes-helm/templates/csvc/Chart.yml.ejs +17 -0
  482. package/generators/kubernetes-helm/templates/csvc/helpers.tpl.ejs +1 -1
  483. package/generators/kubernetes-helm/templates/csvc/requirements.yml.ejs +3 -3
  484. package/generators/kubernetes-helm/templates/csvc/values.yml.ejs +6 -6
  485. package/generators/kubernetes-helm/templates/helm-apply.sh.ejs +2 -2
  486. package/generators/kubernetes-helm/templates/helm-upgrade.sh.ejs +1 -1
  487. package/generators/kubernetes-knative/esm.mjs +21 -0
  488. package/generators/kubernetes-knative/files.js +30 -19
  489. package/generators/kubernetes-knative/generator.spec.mjs +44 -0
  490. package/generators/kubernetes-knative/index.js +134 -72
  491. package/generators/kubernetes-knative/prompts.js +7 -3
  492. package/generators/kubernetes-knative/templates/README-KUBERNETES-KNATIVE.md.ejs +5 -5
  493. package/generators/kubernetes-knative/templates/helm-apply.sh.ejs +1 -1
  494. package/generators/kubernetes-knative/templates/istio/gateway.yml.ejs +10 -8
  495. package/generators/kubernetes-knative/templates/kubectl-apply.sh.ejs +24 -19
  496. package/generators/kubernetes-knative/templates/service.yml.ejs +32 -32
  497. package/generators/languages/esm.mjs +21 -0
  498. package/generators/languages/files.js +73 -0
  499. package/generators/languages/generator.spec.mjs +47 -0
  500. package/generators/languages/index.js +45 -22
  501. package/generators/languages/prompts.js +1 -1
  502. package/generators/languages/templates/src/main/resources/i18n/messages_hr.properties.ejs +0 -0
  503. package/generators/languages/templates/src/main/resources/i18n/messages_pa.properties.ejs +41 -0
  504. package/generators/languages/templates/src/main/webapp/i18n/al/global.json.ejs +2 -2
  505. package/generators/languages/templates/src/main/webapp/i18n/al/health.json.ejs +17 -15
  506. package/generators/languages/templates/src/main/webapp/i18n/ar-ly/global.json.ejs +2 -2
  507. package/generators/languages/templates/src/main/webapp/i18n/ar-ly/health.json.ejs +17 -15
  508. package/generators/languages/templates/src/main/webapp/i18n/bg/global.json.ejs +2 -2
  509. package/generators/languages/templates/src/main/webapp/i18n/bg/health.json.ejs +19 -16
  510. package/generators/languages/templates/src/main/webapp/i18n/bn/global.json.ejs +2 -2
  511. package/generators/languages/templates/src/main/webapp/i18n/bn/health.json.ejs +17 -15
  512. package/generators/languages/templates/src/main/webapp/i18n/by/global.json.ejs +2 -2
  513. package/generators/languages/templates/src/main/webapp/i18n/by/health.json.ejs +17 -15
  514. package/generators/languages/templates/src/main/webapp/i18n/ca/global.json.ejs +2 -2
  515. package/generators/languages/templates/src/main/webapp/i18n/ca/health.json.ejs +17 -15
  516. package/generators/languages/templates/src/main/webapp/i18n/cs/global.json.ejs +2 -2
  517. package/generators/languages/templates/src/main/webapp/i18n/cs/health.json.ejs +17 -15
  518. package/generators/languages/templates/src/main/webapp/i18n/da/global.json.ejs +2 -2
  519. package/generators/languages/templates/src/main/webapp/i18n/da/health.json.ejs +17 -15
  520. package/generators/languages/templates/src/main/webapp/i18n/de/global.json.ejs +2 -2
  521. package/generators/languages/templates/src/main/webapp/i18n/de/health.json.ejs +17 -15
  522. package/generators/languages/templates/src/main/webapp/i18n/el/global.json.ejs +2 -2
  523. package/generators/languages/templates/src/main/webapp/i18n/el/health.json.ejs +17 -15
  524. package/generators/languages/templates/src/main/webapp/i18n/en/global.json.ejs +2 -2
  525. package/generators/languages/templates/src/main/webapp/i18n/en/health.json.ejs +17 -15
  526. package/generators/languages/templates/src/main/webapp/i18n/es/global.json.ejs +2 -2
  527. package/generators/languages/templates/src/main/webapp/i18n/es/health.json.ejs +17 -15
  528. package/generators/languages/templates/src/main/webapp/i18n/et/global.json.ejs +2 -2
  529. package/generators/languages/templates/src/main/webapp/i18n/et/health.json.ejs +17 -15
  530. package/generators/languages/templates/src/main/webapp/i18n/fa/global.json.ejs +2 -2
  531. package/generators/languages/templates/src/main/webapp/i18n/fa/health.json.ejs +17 -15
  532. package/generators/languages/templates/src/main/webapp/i18n/fi/global.json.ejs +2 -2
  533. package/generators/languages/templates/src/main/webapp/i18n/fi/health.json.ejs +17 -15
  534. package/generators/languages/templates/src/main/webapp/i18n/fr/global.json.ejs +2 -2
  535. package/generators/languages/templates/src/main/webapp/i18n/fr/health.json.ejs +17 -15
  536. package/generators/languages/templates/src/main/webapp/i18n/gl/global.json.ejs +2 -2
  537. package/generators/languages/templates/src/main/webapp/i18n/gl/health.json.ejs +17 -15
  538. package/generators/languages/templates/src/main/webapp/i18n/hi/global.json.ejs +2 -2
  539. package/generators/languages/templates/src/main/webapp/i18n/hi/health.json.ejs +17 -15
  540. package/generators/languages/templates/src/main/webapp/i18n/hr/activate.json.ejs +0 -0
  541. package/generators/languages/templates/src/main/webapp/i18n/hr/configuration.json +0 -0
  542. package/generators/languages/templates/src/main/webapp/i18n/hr/error.json +0 -0
  543. package/generators/languages/templates/src/main/webapp/i18n/hr/gateway.json +0 -0
  544. package/generators/languages/templates/src/main/webapp/i18n/hr/global.json.ejs +2 -2
  545. package/generators/languages/templates/src/main/webapp/i18n/hr/health.json.ejs +15 -13
  546. package/generators/languages/templates/src/main/webapp/i18n/hr/home.json +0 -0
  547. package/generators/languages/templates/src/main/webapp/i18n/hr/login.json +0 -0
  548. package/generators/languages/templates/src/main/webapp/i18n/hr/logs.json +0 -0
  549. package/generators/languages/templates/src/main/webapp/i18n/hr/metrics.json +0 -0
  550. package/generators/languages/templates/src/main/webapp/i18n/hr/password.json +0 -0
  551. package/generators/languages/templates/src/main/webapp/i18n/hr/register.json +0 -0
  552. package/generators/languages/templates/src/main/webapp/i18n/hr/reset.json.ejs +1 -2
  553. package/generators/languages/templates/src/main/webapp/i18n/hr/sessions.json +0 -0
  554. package/generators/languages/templates/src/main/webapp/i18n/hr/settings.json +0 -0
  555. package/generators/languages/templates/src/main/webapp/i18n/hr/tracker.json +0 -0
  556. package/generators/languages/templates/src/main/webapp/i18n/hr/user-management.json +0 -0
  557. package/generators/languages/templates/src/main/webapp/i18n/hu/global.json.ejs +2 -2
  558. package/generators/languages/templates/src/main/webapp/i18n/hu/health.json.ejs +17 -15
  559. package/generators/languages/templates/src/main/webapp/i18n/hy/global.json.ejs +2 -2
  560. package/generators/languages/templates/src/main/webapp/i18n/hy/health.json.ejs +17 -15
  561. package/generators/languages/templates/src/main/webapp/i18n/in/global.json.ejs +2 -2
  562. package/generators/languages/templates/src/main/webapp/i18n/in/health.json.ejs +17 -15
  563. package/generators/languages/templates/src/main/webapp/i18n/it/global.json.ejs +2 -2
  564. package/generators/languages/templates/src/main/webapp/i18n/it/health.json.ejs +17 -15
  565. package/generators/languages/templates/src/main/webapp/i18n/ja/global.json.ejs +2 -2
  566. package/generators/languages/templates/src/main/webapp/i18n/ja/health.json.ejs +17 -15
  567. package/generators/languages/templates/src/main/webapp/i18n/ko/global.json.ejs +2 -2
  568. package/generators/languages/templates/src/main/webapp/i18n/ko/health.json.ejs +17 -15
  569. package/generators/languages/templates/src/main/webapp/i18n/mr/global.json.ejs +2 -2
  570. package/generators/languages/templates/src/main/webapp/i18n/mr/health.json.ejs +17 -15
  571. package/generators/languages/templates/src/main/webapp/i18n/my/global.json.ejs +2 -2
  572. package/generators/languages/templates/src/main/webapp/i18n/my/health.json.ejs +17 -15
  573. package/generators/languages/templates/src/main/webapp/i18n/nl/global.json.ejs +2 -2
  574. package/generators/languages/templates/src/main/webapp/i18n/nl/health.json.ejs +17 -15
  575. package/generators/languages/templates/src/main/webapp/i18n/pa/activate.json.ejs +27 -0
  576. package/generators/languages/templates/src/main/webapp/i18n/pa/configuration.json +10 -0
  577. package/generators/languages/templates/src/main/webapp/i18n/pa/error.json +14 -0
  578. package/generators/languages/templates/src/main/webapp/i18n/pa/gateway.json +15 -0
  579. package/generators/languages/templates/src/main/webapp/i18n/pa/global.json.ejs +162 -0
  580. package/generators/languages/templates/src/main/webapp/i18n/pa/health.json.ejs +71 -0
  581. package/generators/languages/templates/src/main/webapp/i18n/pa/home.json +19 -0
  582. package/generators/languages/templates/src/main/webapp/i18n/pa/login.json +19 -0
  583. package/generators/languages/templates/src/main/webapp/i18n/pa/logs.json +11 -0
  584. package/generators/languages/templates/src/main/webapp/i18n/pa/metrics.json +102 -0
  585. package/generators/languages/templates/src/main/webapp/i18n/pa/password.json +12 -0
  586. package/generators/languages/templates/src/main/webapp/i18n/pa/register.json +24 -0
  587. package/generators/languages/templates/src/main/webapp/i18n/pa/reset.json.ejs +44 -0
  588. package/generators/languages/templates/src/main/webapp/i18n/pa/sessions.json +15 -0
  589. package/generators/languages/templates/src/main/webapp/i18n/pa/settings.json +32 -0
  590. package/generators/languages/templates/src/main/webapp/i18n/pa/tracker.json +12 -0
  591. package/generators/languages/templates/src/main/webapp/i18n/pa/user-management.json +31 -0
  592. package/generators/languages/templates/src/main/webapp/i18n/pl/global.json.ejs +2 -2
  593. package/generators/languages/templates/src/main/webapp/i18n/pl/health.json.ejs +17 -15
  594. package/generators/languages/templates/src/main/webapp/i18n/pt-br/global.json.ejs +2 -2
  595. package/generators/languages/templates/src/main/webapp/i18n/pt-br/health.json.ejs +17 -15
  596. package/generators/languages/templates/src/main/webapp/i18n/pt-pt/global.json.ejs +2 -2
  597. package/generators/languages/templates/src/main/webapp/i18n/pt-pt/health.json.ejs +17 -15
  598. package/generators/languages/templates/src/main/webapp/i18n/ro/global.json.ejs +2 -2
  599. package/generators/languages/templates/src/main/webapp/i18n/ro/health.json.ejs +17 -15
  600. package/generators/languages/templates/src/main/webapp/i18n/ru/global.json.ejs +2 -2
  601. package/generators/languages/templates/src/main/webapp/i18n/ru/health.json.ejs +17 -15
  602. package/generators/languages/templates/src/main/webapp/i18n/si/global.json.ejs +2 -2
  603. package/generators/languages/templates/src/main/webapp/i18n/si/health.json.ejs +17 -15
  604. package/generators/languages/templates/src/main/webapp/i18n/sk/global.json.ejs +2 -2
  605. package/generators/languages/templates/src/main/webapp/i18n/sk/health.json.ejs +17 -15
  606. package/generators/languages/templates/src/main/webapp/i18n/sr/global.json.ejs +2 -2
  607. package/generators/languages/templates/src/main/webapp/i18n/sr/health.json.ejs +16 -14
  608. package/generators/languages/templates/src/main/webapp/i18n/sv/global.json.ejs +2 -2
  609. package/generators/languages/templates/src/main/webapp/i18n/sv/health.json.ejs +17 -15
  610. package/generators/languages/templates/src/main/webapp/i18n/ta/global.json.ejs +2 -2
  611. package/generators/languages/templates/src/main/webapp/i18n/ta/health.json.ejs +17 -15
  612. package/generators/languages/templates/src/main/webapp/i18n/te/global.json.ejs +2 -2
  613. package/generators/languages/templates/src/main/webapp/i18n/te/health.json.ejs +17 -15
  614. package/generators/languages/templates/src/main/webapp/i18n/th/global.json.ejs +2 -2
  615. package/generators/languages/templates/src/main/webapp/i18n/th/health.json.ejs +17 -15
  616. package/generators/languages/templates/src/main/webapp/i18n/tr/global.json.ejs +2 -2
  617. package/generators/languages/templates/src/main/webapp/i18n/tr/health.json.ejs +17 -15
  618. package/generators/languages/templates/src/main/webapp/i18n/ua/global.json.ejs +2 -2
  619. package/generators/languages/templates/src/main/webapp/i18n/ua/health.json.ejs +17 -15
  620. package/generators/languages/templates/src/main/webapp/i18n/uz-Cyrl-uz/global.json.ejs +2 -2
  621. package/generators/languages/templates/src/main/webapp/i18n/uz-Cyrl-uz/health.json.ejs +16 -14
  622. package/generators/languages/templates/src/main/webapp/i18n/uz-Latn-uz/global.json.ejs +2 -2
  623. package/generators/languages/templates/src/main/webapp/i18n/uz-Latn-uz/health.json.ejs +17 -15
  624. package/generators/languages/templates/src/main/webapp/i18n/vi/global.json.ejs +2 -2
  625. package/generators/languages/templates/src/main/webapp/i18n/vi/health.json.ejs +17 -15
  626. package/generators/languages/templates/src/main/webapp/i18n/zh-cn/global.json.ejs +2 -2
  627. package/generators/languages/templates/src/main/webapp/i18n/zh-cn/health.json.ejs +17 -15
  628. package/generators/languages/templates/src/main/webapp/i18n/zh-tw/global.json.ejs +2 -2
  629. package/generators/languages/templates/src/main/webapp/i18n/zh-tw/health.json.ejs +17 -15
  630. package/generators/languages/templates/src/test/resources/i18n/messages_hr.properties.ejs +0 -0
  631. package/generators/languages/templates/src/test/resources/i18n/messages_pa.properties.ejs +4 -0
  632. package/generators/maven/__snapshots__/generator.spec.cjs.snap +53 -0
  633. package/generators/maven/constants.cjs +27 -0
  634. package/generators/maven/files.cjs +36 -0
  635. package/generators/maven/generator.spec.cjs +78 -0
  636. package/generators/maven/index.cjs +131 -0
  637. package/generators/maven/templates/.eslintignore.jhi.maven.ejs +19 -0
  638. package/generators/maven/templates/.gitignore.jhi.maven.ejs +9 -0
  639. package/generators/maven/templates/.mvn/wrapper/MavenWrapperDownloader.java +117 -0
  640. package/generators/maven/templates/.mvn/wrapper/maven-wrapper.jar +0 -0
  641. package/generators/maven/templates/.mvn/wrapper/maven-wrapper.properties +2 -0
  642. package/generators/maven/templates/.prettierignore.jhi.maven.ejs +3 -0
  643. package/generators/maven/templates/mvnw +310 -0
  644. package/generators/maven/templates/mvnw.cmd +182 -0
  645. package/generators/maven/templates/pom.xml.jhi.ejs +98 -0
  646. package/generators/openapi-client/esm.mjs +21 -0
  647. package/generators/openapi-client/files.js +21 -15
  648. package/generators/openapi-client/generator.spec.mjs +47 -0
  649. package/generators/openapi-client/index.js +80 -28
  650. package/generators/openapi-client/prompts.js +6 -2
  651. package/generators/openshift/esm.mjs +21 -0
  652. package/generators/openshift/files.js +12 -5
  653. package/generators/openshift/generator.spec.mjs +44 -0
  654. package/generators/openshift/index.js +136 -64
  655. package/generators/openshift/prompts.js +12 -4
  656. package/generators/openshift/templates/apply.sh.ejs +6 -6
  657. package/generators/openshift/templates/db/cassandra.yml.ejs +8 -9
  658. package/generators/openshift/templates/db/couchbase.yml.ejs +8 -9
  659. package/generators/openshift/templates/db/elasticsearch.yml.ejs +8 -9
  660. package/generators/openshift/templates/db/mariadb.yml.ejs +8 -9
  661. package/generators/openshift/templates/db/mongodb.yml.ejs +8 -9
  662. package/generators/openshift/templates/db/mysql.yml.ejs +8 -9
  663. package/generators/openshift/templates/db/postgresql.yml.ejs +8 -9
  664. package/generators/openshift/templates/deployment.yml.ejs +46 -46
  665. package/generators/openshift/templates/messagebroker/kafka.yml.ejs +13 -14
  666. package/generators/openshift/templates/monitoring/jhipster-metrics.yml.ejs +17 -17
  667. package/generators/openshift/templates/registry/application-configmap.yml.ejs +6 -6
  668. package/generators/options.js +63 -0
  669. package/generators/page/esm.mjs +21 -0
  670. package/generators/page/generator.spec.mjs +47 -0
  671. package/generators/page/index.js +17 -13
  672. package/generators/project-name/config.cjs +40 -0
  673. package/generators/project-name/constants.cjs +37 -0
  674. package/generators/project-name/generator.spec.cjs +43 -0
  675. package/generators/project-name/index.cjs +194 -0
  676. package/generators/project-name/mixin.cjs +82 -0
  677. package/generators/project-name/options.cjs +33 -0
  678. package/generators/server/__snapshots__/generator.spec.mjs.snap +1848 -0
  679. package/generators/server/esm.mjs +21 -0
  680. package/generators/server/files-couchbase.js +155 -0
  681. package/generators/server/files-sql.js +52 -0
  682. package/generators/server/files.js +302 -286
  683. package/generators/server/generator.spec.mjs +52 -0
  684. package/generators/server/index.js +193 -97
  685. package/generators/server/needle-api/needle-server-cache.js +7 -8
  686. package/generators/server/prompts.js +104 -62
  687. package/generators/server/templates/.mvn/wrapper/MavenWrapperDownloader.java +1 -1
  688. package/generators/server/templates/.mvn/wrapper/maven-wrapper.properties +1 -1
  689. package/generators/server/templates/build.gradle.ejs +43 -9
  690. package/generators/server/templates/checkstyle.xml.ejs +2 -2
  691. package/generators/server/templates/{src → couchbase/src}/main/docker/couchbase/Couchbase.Dockerfile.ejs +0 -0
  692. package/generators/server/templates/{src → couchbase/src}/main/docker/couchbase/scripts/configure-node.sh.ejs +4 -4
  693. package/generators/server/templates/{src → couchbase/src}/main/docker/couchbase-cluster.yml.ejs +0 -0
  694. package/generators/server/templates/{src → couchbase/src}/main/docker/couchbase.yml.ejs +0 -0
  695. package/generators/server/templates/couchbase/src/main/java/package/config/couchbase/CustomCouchbaseRepositoryFactory.java.ejs +83 -0
  696. package/generators/server/templates/couchbase/src/main/java/package/config/couchbase/CustomCouchbaseRepositoryFactoryBean.java.ejs +40 -0
  697. package/generators/server/templates/couchbase/src/main/java/package/config/couchbase/CustomCouchbaseRepositoryQuery.java.ejs +44 -0
  698. package/generators/server/templates/couchbase/src/main/java/package/config/couchbase/CustomN1qlQueryCreator.java.ejs +162 -0
  699. package/generators/server/templates/couchbase/src/main/java/package/config/couchbase/CustomN1qlRepositoryQueryExecutor.java.ejs +104 -0
  700. package/generators/server/templates/couchbase/src/main/java/package/config/couchbase/package-info.java.ejs +25 -0
  701. package/generators/server/templates/couchbase/src/main/java/package/repository/JHipsterCouchbaseRepository.java.ejs +114 -0
  702. package/generators/server/templates/couchbase/src/main/java/package/repository/PersistentTokenRepository_couchbase.java.ejs +49 -0
  703. package/generators/server/templates/{src → couchbase/src}/main/resources/config/couchmove/changelog/V0.1__initial_setup/ROLE_ADMIN.json.ejs +0 -0
  704. package/generators/server/templates/{src → couchbase/src}/main/resources/config/couchmove/changelog/V0.1__initial_setup/ROLE_USER.json.ejs +0 -0
  705. package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.1__initial_setup/user__admin.json.ejs +18 -0
  706. package/generators/server/templates/couchbase/src/main/resources/config/couchmove/changelog/V0.1__initial_setup/user__user.json.ejs +17 -0
  707. package/generators/server/templates/{src → couchbase/src}/main/resources/config/couchmove/changelog/V0__create_indexes.n1ql.ejs +3 -6
  708. package/generators/server/templates/couchbase/src/test/java/package/CouchbaseTestContainerExtension.java.ejs +55 -0
  709. package/generators/server/templates/{src/test/java/package/repository/CustomN1qlCouchbaseRepositoryTest.java.ejs → couchbase/src/test/java/package/repository/JHipsterCouchbaseRepositoryTest.java.ejs} +3 -4
  710. package/generators/server/templates/gradle/docker.gradle.ejs +3 -3
  711. package/generators/server/templates/gradle/profile_dev.gradle.ejs +36 -12
  712. package/generators/server/templates/gradle/profile_prod.gradle.ejs +7 -7
  713. package/generators/server/templates/gradle/war.gradle.ejs +4 -4
  714. package/generators/server/templates/gradle.properties.ejs +21 -17
  715. package/generators/server/templates/mvnw +1 -1
  716. package/generators/server/templates/mvnw.cmd +1 -1
  717. package/generators/server/templates/npmw +1 -1
  718. package/generators/server/templates/npmw.cmd +1 -1
  719. package/generators/server/templates/package.json.ejs +4 -8
  720. package/generators/server/templates/pom.xml.ejs +352 -160
  721. package/generators/server/templates/settings.gradle.ejs +38 -9
  722. package/generators/server/templates/sql/reactive/src/main/java/package/repository/UserSqlHelper.java.ejs +48 -0
  723. package/generators/server/templates/src/main/docker/app.yml.ejs +80 -75
  724. package/generators/server/templates/src/main/docker/config/README.md.ejs +2 -2
  725. package/generators/server/templates/src/main/docker/config/realm-config/jhipster-realm.json.ejs +117 -41
  726. package/generators/server/templates/src/main/docker/elasticsearch.yml.ejs +12 -1
  727. package/generators/server/templates/src/main/docker/jhipster-control-center.yml.ejs +8 -8
  728. package/generators/server/templates/src/main/docker/jhipster-registry.yml.ejs +3 -3
  729. package/generators/server/templates/src/main/docker/prometheus/prometheus.yml.ejs +1 -1
  730. package/generators/server/templates/src/main/java/package/Application.java.ejs +6 -5
  731. package/generators/server/templates/src/main/java/package/aop/logging/LoggingAspect.java.ejs +1 -1
  732. package/generators/server/templates/src/main/java/package/client/OAuth2InterceptedFeignConfiguration.java.ejs +1 -1
  733. package/generators/server/templates/src/main/java/package/config/CacheConfiguration.java.ejs +94 -96
  734. package/generators/server/templates/src/main/java/package/config/Constants.java.ejs +8 -8
  735. package/generators/server/templates/src/main/java/package/config/DatabaseConfiguration_cassandra.java.ejs +2 -8
  736. package/generators/server/templates/src/main/java/package/config/DatabaseConfiguration_couchbase.java.ejs +116 -33
  737. package/generators/server/templates/src/main/java/package/config/DatabaseConfiguration_mongodb.java.ejs +4 -6
  738. package/generators/server/templates/src/main/java/package/config/DatabaseConfiguration_neo4j.java.ejs +4 -6
  739. package/generators/server/templates/src/main/java/package/config/DatabaseConfiguration_sql.java.ejs +13 -13
  740. package/generators/server/templates/src/main/java/package/config/ElasticsearchConfiguration.java.ejs +5 -4
  741. package/generators/server/templates/src/main/java/package/config/FeignConfiguration.java.ejs +6 -1
  742. package/generators/server/templates/src/main/java/package/config/JacksonConfiguration.java.ejs +3 -3
  743. package/generators/server/templates/src/main/java/package/config/LiquibaseConfiguration.java.ejs +5 -5
  744. package/generators/server/templates/src/main/java/package/config/LocaleConfiguration.java.ejs +1 -4
  745. package/generators/server/templates/src/main/java/package/config/LoggingConfiguration.java.ejs +13 -13
  746. package/generators/server/templates/src/main/java/package/config/OAuth2Configuration.java.ejs +38 -0
  747. package/generators/server/templates/src/main/java/package/config/SecurityConfiguration.java.ejs +99 -102
  748. package/generators/server/templates/src/main/java/package/config/SecurityConfiguration_reactive.java.ejs +114 -66
  749. package/generators/server/templates/src/main/java/package/config/WebConfigurer.java.ejs +31 -32
  750. package/generators/server/templates/src/main/java/package/config/WebsocketSecurityConfiguration.java.ejs +4 -2
  751. package/generators/server/templates/src/main/java/package/config/apidocs/GatewaySwaggerResourcesProvider.java.ejs +5 -5
  752. package/generators/server/templates/src/main/java/package/config/dbmigrations/InitialSetupMigration.java.ejs +2 -6
  753. package/generators/server/templates/src/main/java/package/domain/AbstractAuditingEntity.java.ejs +48 -36
  754. package/generators/server/templates/src/main/java/package/domain/Authority.java.ejs +20 -20
  755. package/generators/server/templates/src/main/java/package/domain/PersistentToken.java.ejs +55 -55
  756. package/generators/server/templates/src/main/java/package/domain/User.java.ejs +185 -160
  757. package/generators/server/templates/src/main/java/package/management/SecurityMetersService.java.ejs +68 -0
  758. package/generators/server/templates/src/main/java/package/repository/AuthorityRepository.java.ejs +40 -15
  759. package/generators/server/templates/src/main/java/package/repository/PersistentTokenRepository.java.ejs +14 -36
  760. package/generators/server/templates/src/main/java/package/repository/UserRepository.java.ejs +209 -163
  761. package/generators/server/templates/src/main/java/package/repository/rowmapper/UserRowMapper.java.ejs +4 -4
  762. package/generators/server/templates/src/main/java/package/repository/search/UserSearchRepository.java.ejs +33 -7
  763. package/generators/server/templates/src/main/java/package/repository/search/package-info.java.ejs +2 -2
  764. package/generators/server/templates/src/main/java/package/security/DomainUserDetailsService.java.ejs +11 -11
  765. package/generators/server/templates/src/main/java/package/security/PersistentTokenRememberMeServices.java.ejs +43 -45
  766. package/generators/server/templates/src/main/java/package/security/SecurityUtils.java.ejs +62 -29
  767. package/generators/server/templates/src/main/java/package/security/jwt/JWTFilter.java.ejs +10 -10
  768. package/generators/server/templates/src/main/java/package/security/jwt/TokenProvider.java.ejs +31 -6
  769. package/generators/server/templates/src/main/java/package/security/oauth2/CustomClaimConverter.java.ejs +29 -4
  770. package/generators/server/templates/src/main/java/package/service/MailService.java.ejs +2 -2
  771. package/generators/server/templates/src/main/java/package/service/UserService.java.ejs +326 -304
  772. package/generators/server/templates/src/main/java/package/service/dto/AdminUserDTO.java.ejs +24 -24
  773. package/generators/server/templates/src/main/java/package/service/dto/UserDTO.java.ejs +7 -7
  774. package/generators/server/templates/src/main/java/package/service/mapper/UserMapper.java.ejs +11 -11
  775. package/generators/server/templates/src/main/java/package/web/filter/OAuth2ReactiveRefreshTokensWebFilter.java.ejs +71 -0
  776. package/generators/server/templates/src/main/java/package/web/filter/OAuth2RefreshTokensWebFilter.java.ejs +103 -0
  777. package/generators/server/templates/src/main/java/package/web/filter/SpaWebFilter.java.ejs +3 -3
  778. package/generators/server/templates/src/main/java/package/web/rest/AccountResource.java.ejs +77 -76
  779. package/generators/server/templates/src/main/java/package/web/rest/ClientForwardController.java.ejs +3 -3
  780. package/generators/server/templates/src/main/java/package/web/rest/KafkaResource.java.ejs +12 -12
  781. package/generators/server/templates/src/main/java/package/web/rest/LogoutResource.java.ejs +58 -22
  782. package/generators/server/templates/src/main/java/package/web/rest/PublicUserResource.java.ejs +62 -39
  783. package/generators/server/templates/src/main/java/package/web/rest/UserJWTController.java.ejs +3 -3
  784. package/generators/server/templates/src/main/java/package/web/rest/UserResource.java.ejs +51 -51
  785. package/generators/server/templates/src/main/java/package/web/rest/errors/ErrorConstants.java.ejs +4 -4
  786. package/generators/server/templates/src/main/java/package/web/rest/errors/ExceptionTranslator.java.ejs +19 -19
  787. package/generators/server/templates/src/main/java/package/web/rest/vm/ManagedUserVM.java.ejs +4 -4
  788. package/generators/server/templates/src/main/resources/config/application-dev.yml.ejs +105 -102
  789. package/generators/server/templates/src/main/resources/config/application-prod.yml.ejs +78 -78
  790. package/generators/server/templates/src/main/resources/config/application-tls.yml.ejs +1 -1
  791. package/generators/server/templates/src/main/resources/config/application.yml.ejs +42 -55
  792. package/generators/server/templates/src/main/resources/config/bootstrap-prod.yml.ejs +7 -7
  793. package/generators/server/templates/src/main/resources/config/bootstrap.yml.ejs +6 -6
  794. package/generators/server/templates/src/main/resources/config/cql/changelog/create-tables.cql.ejs +1 -1
  795. package/generators/server/templates/src/main/resources/config/liquibase/changelog/initial_schema.xml.ejs +26 -34
  796. package/generators/server/templates/src/main/resources/config/liquibase/data/user.csv.ejs +2 -2
  797. package/generators/server/templates/src/main/resources/config/liquibase/data/user_authority.csv.ejs +1 -1
  798. package/generators/server/templates/src/main/resources/config/liquibase/master.xml.ejs +14 -14
  799. package/generators/server/templates/src/main/resources/config/{couchmove/changelog/V0.1__initial_setup → neo4j/migrations}/user__admin.json.ejs +2 -2
  800. package/generators/server/templates/src/main/resources/config/{couchmove/changelog/V0.1__initial_setup → neo4j/migrations}/user__user.json.ejs +2 -2
  801. package/generators/server/templates/src/main/resources/h2.server.properties.ejs +2 -2
  802. package/generators/server/templates/src/main/resources/logback-spring.xml.ejs +55 -55
  803. package/generators/server/templates/src/main/resources/static/microservices_index.html.ejs +1 -1
  804. package/generators/server/templates/src/main/resources/swagger/api.yml.ejs +6 -6
  805. package/generators/server/templates/src/test/java/package/IntegrationTest.java.ejs +13 -7
  806. package/generators/server/templates/src/test/java/package/ReactiveSqlTestContainerExtension.java.ejs +9 -9
  807. package/generators/server/templates/src/test/java/package/config/JHipsterBlockHoundIntegration.java.ejs +3 -0
  808. package/generators/server/templates/src/test/java/package/config/TestSecurityConfiguration.java.ejs +27 -28
  809. package/generators/server/templates/src/test/java/package/config/WebConfigurerTest.java.ejs +5 -7
  810. package/generators/server/templates/src/test/java/package/cucumber/CucumberIT.java.ejs +6 -4
  811. package/generators/server/templates/src/test/java/package/management/SecurityMetersServiceTests.java.ejs +113 -0
  812. package/generators/server/templates/src/test/java/package/repository/timezone/DateTimeWrapper.java.ejs +3 -3
  813. package/generators/server/templates/src/test/java/package/security/DomainUserDetailsServiceIT.java.ejs +24 -24
  814. package/generators/server/templates/src/test/java/package/security/SecurityUtilsUnitTest.java.ejs +97 -10
  815. package/generators/server/templates/src/test/java/package/security/jwt/JWTFilterTest.java.ejs +23 -18
  816. package/generators/server/templates/src/test/java/package/security/jwt/TokenProviderSecurityMetersTests.java.ejs +198 -0
  817. package/generators/server/templates/src/test/java/package/security/jwt/TokenProviderTest.java.ejs +13 -3
  818. package/generators/server/templates/src/test/java/package/security/oauth2/AuthorizationHeaderUtilTest.java.ejs +16 -2
  819. package/generators/server/templates/src/test/java/package/security/oauth2/CustomClaimConverterIT.java.ejs +108 -4
  820. package/generators/server/templates/src/test/java/package/service/MailServiceIT.java.ejs +4 -4
  821. package/generators/server/templates/src/test/java/package/service/UserServiceIT.java.ejs +133 -133
  822. package/generators/server/templates/src/test/java/package/service/mapper/UserMapperTest.java.ejs +17 -17
  823. package/generators/server/templates/src/test/java/package/test/util/OAuth2TestUtil.java.ejs +104 -0
  824. package/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT.java.ejs +397 -338
  825. package/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT_oauth2.java.ejs +67 -70
  826. package/generators/server/templates/src/test/java/package/web/rest/AccountResourceIT_skipUserManagement.java.ejs +20 -20
  827. package/generators/server/templates/src/test/java/package/web/rest/ClientForwardControllerTest.java.ejs +2 -2
  828. package/generators/server/templates/src/test/java/package/web/rest/KafkaResourceIT.java.ejs +14 -14
  829. package/generators/server/templates/src/test/java/package/web/rest/LogoutResourceIT.java.ejs +41 -34
  830. package/generators/server/templates/src/test/java/package/web/rest/PublicUserResourceIT.java.ejs +59 -59
  831. package/generators/server/templates/src/test/java/package/web/rest/TestUtil.java.ejs +25 -55
  832. package/generators/server/templates/src/test/java/package/web/rest/UserJWTControllerIT.java.ejs +35 -35
  833. package/generators/server/templates/src/test/java/package/web/rest/UserResourceIT.java.ejs +263 -261
  834. package/generators/server/templates/src/test/java/package/web/rest/errors/ExceptionTranslatorIT.java.ejs +13 -13
  835. package/generators/server/templates/src/test/java/package/web/rest/errors/ExceptionTranslatorTestController.java.ejs +3 -3
  836. package/generators/server/templates/src/test/resources/config/application-testcontainers.yml.ejs +17 -17
  837. package/generators/server/templates/src/test/resources/config/application.yml.ejs +34 -36
  838. package/generators/server/templates/src/test/resources/config/bootstrap.yml.ejs +4 -4
  839. package/generators/server/templates/src/test/resources/logback.xml.ejs +54 -52
  840. package/generators/spring-boot/__snapshots__/generator.spec.cjs.snap +80 -0
  841. package/generators/spring-boot/config.cjs +30 -0
  842. package/generators/spring-boot/constants.cjs +28 -0
  843. package/generators/spring-boot/files.cjs +46 -0
  844. package/generators/spring-boot/generator.spec.cjs +64 -0
  845. package/generators/spring-boot/index.cjs +162 -0
  846. package/generators/spring-boot/mixin.cjs +82 -0
  847. package/generators/spring-boot/options.cjs +19 -0
  848. package/generators/spring-boot/templates/build.gradle.jhi.spring-boot.ejs +29 -0
  849. package/generators/spring-boot/templates/pom.xml.jhi.spring-boot.ejs +45 -0
  850. package/generators/spring-boot/templates/src/main/java/package/Application.java.jhi.ejs +31 -0
  851. package/generators/spring-boot/templates/src/main/resources/application.properties.jhi.ejs +19 -0
  852. package/generators/spring-boot/templates/src/test/java/package/ApplicationTests.java.jhi.ejs +31 -0
  853. package/generators/spring-controller/esm.mjs +21 -0
  854. package/generators/spring-controller/generator.spec.mjs +47 -0
  855. package/generators/spring-controller/index.js +39 -19
  856. package/generators/spring-controller/templates/src/main/java/package/web/rest/Resource.java.ejs +5 -5
  857. package/generators/spring-controller/templates/src/test/java/package/web/rest/ResourceIT.java.ejs +2 -2
  858. package/generators/spring-service/esm.mjs +21 -0
  859. package/generators/spring-service/generator.spec.mjs +47 -0
  860. package/generators/spring-service/index.js +33 -13
  861. package/generators/spring-service/templates/src/main/java/package/service/Service.java.ejs +16 -8
  862. package/generators/spring-service/templates/src/main/java/package/service/impl/ServiceImpl.java.ejs +9 -5
  863. package/generators/statistics.js +3 -1
  864. package/generators/upgrade/esm.mjs +21 -0
  865. package/generators/upgrade/generator.spec.mjs +44 -0
  866. package/generators/upgrade/index.js +5 -6
  867. package/generators/upgrade-config/esm.mjs +21 -0
  868. package/generators/upgrade-config/generator.spec.mjs +44 -0
  869. package/generators/upgrade-config/index.js +2 -2
  870. package/generators/utils.js +78 -11
  871. package/generators/workspaces/esm.mjs +21 -0
  872. package/generators/workspaces/generator.spec.mjs +47 -0
  873. package/generators/workspaces/index.js +20 -12
  874. package/jdl/converters/jdl-to-json/jdl-to-json-field-converter.js +8 -0
  875. package/jdl/converters/json-to-jdl-entity-converter.js +1 -0
  876. package/jdl/jhipster/application-options.js +18 -3
  877. package/jdl/jhipster/default-application-options.js +13 -7
  878. package/jdl/jhipster/deployment-options.js +25 -12
  879. package/jdl/jhipster/kubernetes-platform-types.js +40 -0
  880. package/jdl/jhipster/message-broker-types.js +1 -0
  881. package/jdl/jhipster/openapi-options.js +21 -0
  882. package/jdl/jhipster/openshift-platform-types.js +27 -0
  883. package/jdl/models/jdl-enum-value.js +2 -1
  884. package/jdl/models/jdl-enum.js +11 -1
  885. package/jdl/parsing/jdl-ast-builder-visitor.js +10 -2
  886. package/jdl/parsing/jdl-parser.js +3 -0
  887. package/jdl/parsing/lexer/application-tokens.js +4 -0
  888. package/jdl/parsing/validator.js +7 -1
  889. package/jdl/validators/application-validator.js +1 -0
  890. package/lib/constants/generators.mjs +20 -0
  891. package/lib/constants/priorities.cjs +131 -0
  892. package/lib/constants/priorities.mjs +19 -0
  893. package/lib/support/index.cjs +21 -0
  894. package/lib/support/mixin.cjs +199 -0
  895. package/lib/support/shared-data.cjs +74 -0
  896. package/package.json +55 -36
  897. package/utils/entity.js +21 -4
  898. package/utils/field.js +27 -3
  899. package/utils/liquibase.js +31 -20
  900. package/utils/multi-step-transform/index.js +52 -0
  901. package/utils/multi-step-transform/template-data.js +60 -0
  902. package/utils/multi-step-transform/template-file-fs.js +43 -0
  903. package/utils/multi-step-transform/template-file.js +84 -0
  904. package/NOTICE +0 -4
  905. package/generators/client/templates/angular/.npmrc.ejs +0 -1
  906. package/generators/client/templates/vue/webpack/dev.env.js.ejs +0 -18
  907. package/generators/client/templates/vue/webpack/env.js.ejs +0 -67
  908. package/generators/client/templates/vue/webpack/loader.conf.js.ejs +0 -20
  909. package/generators/client/templates/vue/webpack/prod.env.js.ejs +0 -16
  910. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.ejs +0 -769
  911. package/generators/server/templates/src/main/java/package/config/OAuth2SsoConfiguration.java.ejs +0 -94
  912. package/generators/server/templates/src/main/java/package/config/OAuth2TokenServicesConfiguration.java.ejs +0 -68
  913. package/generators/server/templates/src/main/java/package/repository/CustomN1qlCouchbaseRepository.java.ejs +0 -135
  914. package/generators/server/templates/src/main/java/package/repository/CustomReactiveN1qlCouchbaseRepository.java.ejs +0 -157
  915. package/generators/server/templates/src/main/java/package/repository/N1qlCouchbaseRepository.java.ejs +0 -46
  916. package/generators/server/templates/src/main/java/package/repository/ReactiveN1qlCouchbaseRepository.java.ejs +0 -47
  917. package/generators/server/templates/src/test/java/package/config/DatabaseConfigurationIT.java.ejs +0 -112
@@ -18,29 +18,29 @@
18
18
  -%>
19
19
  package <%= packageName %>.repository;
20
20
 
21
- <%_ if (databaseType === 'sql' && reactive) { _%>
21
+ <%_ if (databaseTypeSql && reactive) { _%>
22
22
  import <%= packageName %>.domain.Authority;
23
23
  <%_ } _%>
24
24
  import <%= packageName %>.domain.<%= asEntity('User') %>;
25
25
 
26
- <%_ if (databaseType === 'cassandra') { _%>
26
+ <%_ if (databaseTypeCassandra) { _%>
27
27
  import com.datastax.oss.driver.api.core.CqlIdentifier;
28
- <%_ if (!reactive) { _%>
28
+ <%_ if (!reactive) { _%>
29
29
  import com.datastax.oss.driver.api.core.CqlSession;
30
30
  import com.datastax.oss.driver.api.core.PagingIterable;
31
- <%_ } _%>
31
+ <%_ } _%>
32
32
  import com.datastax.oss.driver.api.core.cql.BatchStatement;
33
33
  import com.datastax.oss.driver.api.core.cql.BatchStatementBuilder;
34
34
  import com.datastax.oss.driver.api.core.cql.BoundStatement;
35
- <%_ if (!reactive) { _%>
35
+ <%_ if (!reactive) { _%>
36
36
  import com.datastax.oss.driver.api.core.cql.BoundStatementBuilder;
37
- <%_ } _%>
37
+ <%_ } _%>
38
38
  import com.datastax.oss.driver.api.core.cql.DefaultBatchType;
39
39
  import com.datastax.oss.driver.api.core.cql.PreparedStatement;
40
- <%_ if (reactive) { _%>
40
+ <%_ if (reactive) { _%>
41
41
  import com.datastax.oss.driver.api.core.cql.SimpleStatement;
42
- <%_ } _%>
43
- <%_ if (!reactive) { _%>
42
+ <%_ } _%>
43
+ <%_ if (!reactive) { _%>
44
44
  import com.datastax.oss.driver.api.core.cql.ResultSet;
45
45
  import com.datastax.oss.driver.api.mapper.annotations.Dao;
46
46
  import com.datastax.oss.driver.api.mapper.annotations.DaoFactory;
@@ -49,32 +49,29 @@ import com.datastax.oss.driver.api.mapper.annotations.Delete;
49
49
  import com.datastax.oss.driver.api.mapper.annotations.Insert;
50
50
  import com.datastax.oss.driver.api.mapper.annotations.Mapper;
51
51
  import com.datastax.oss.driver.api.mapper.annotations.Select;
52
- <%_ } _%>
53
- <%_ if (reactive) { _%>
52
+ <%_ } _%>
53
+ <%_ if (reactive) { _%>
54
54
  import com.datastax.oss.driver.api.querybuilder.QueryBuilder;
55
55
  import com.datastax.oss.driver.api.querybuilder.insert.RegularInsert;
56
- <%_ } _%>
56
+ <%_ } _%>
57
57
  <%_ } _%>
58
- <%_ if (searchEngine === 'couchbase') { _%>
59
- import <%= packageName %>.repository.search.SearchCouchbaseRepository;
58
+ <%_ if (databaseTypeSql && reactive) { _%>
59
+ import org.apache.commons.beanutils.BeanComparator;
60
60
  <%_ } _%>
61
- <%_ if (databaseType === 'sql' && reactive) { _%>
62
- import org.apache.commons.beanutils.BeanComparator;
63
- <%_ } _%>
64
- <%_ if (cacheManagerIsAvailable === true) { _%>
61
+ <%_ if (cacheManagerIsAvailable) { _%>
65
62
  import org.springframework.cache.annotation.Cacheable;
66
63
  <%_ } _%>
67
- <%_ if (['sql', 'couchbase', 'mongodb', 'neo4j'].includes(databaseType)) { _%>
68
- <%_ if (!reactive) { _%>
64
+ <%_ if (databaseTypeSql || databaseTypeCouchbase || databaseTypeMongodb || databaseTypeNeo4j) { _%>
65
+ <%_ if (!reactive) { _%>
69
66
  import org.springframework.data.domain.Page;
70
- <%_ } _%>
67
+ <%_ } _%>
71
68
  import org.springframework.data.domain.Pageable;
72
69
  <%_ } _%>
73
- <%_ if (databaseType === 'sql') { _%>
74
- <%_ if (!reactive) { _%>
70
+ <%_ if (databaseTypeSql) { _%>
71
+ <%_ if (!reactive) { _%>
75
72
  import org.springframework.data.jpa.repository.EntityGraph;
76
73
  import org.springframework.data.jpa.repository.JpaRepository;
77
- <%_ } else { _%>
74
+ <%_ } else { _%>
78
75
  import org.springframework.data.domain.Sort;
79
76
  import org.springframework.r2dbc.core.DatabaseClient;
80
77
  import org.springframework.data.r2dbc.convert.R2dbcConverter;
@@ -87,15 +84,23 @@ import org.springframework.data.relational.core.sql.Table;
87
84
 
88
85
  import static org.springframework.data.relational.core.query.Criteria.where;
89
86
  import static org.springframework.data.relational.core.query.Query.query;
90
- <%_ } _%>
87
+ <%_ } _%>
91
88
  <%_ } _%>
92
- <%_ if (databaseType === 'mongodb') { _%>
89
+ <%_ if (databaseTypeMongodb) { _%>
93
90
  import org.springframework.data.mongodb.repository.<% if (reactive) { %>Reactive<% } %>MongoRepository;
94
91
  <%_ } _%>
95
- <%_ if (databaseType === 'neo4j') { _%>
92
+ <%_ if (databaseTypeNeo4j) { _%>
96
93
  import org.springframework.data.neo4j.repository.<% if (reactive) { %>Reactive<% } %>Neo4jRepository;
97
94
  <%_ } _%>
98
- <%_ if (reactive && databaseType === 'cassandra') { _%>
95
+ <%_ if (databaseTypeCouchbase) { _%>
96
+ import com.couchbase.client.java.query.QueryScanConsistency;
97
+ import org.springframework.data.couchbase.repository.Query;
98
+ import org.springframework.data.couchbase.repository.ScanConsistency;
99
+ <%_ if (!reactive) { _%>
100
+ import org.springframework.data.domain.PageImpl;
101
+ <%_ } _%>
102
+ <%_ } _%>
103
+ <%_ if (reactive && databaseTypeCassandra) { _%>
99
104
  import org.springframework.data.cassandra.ReactiveResultSet;
100
105
  import org.springframework.data.cassandra.ReactiveSession;
101
106
  import org.springframework.data.cassandra.core.ReactiveCassandraTemplate;
@@ -103,22 +108,22 @@ import org.springframework.data.cassandra.core.convert.CassandraConverter;
103
108
  import org.springframework.data.cassandra.core.mapping.CassandraPersistentEntity;
104
109
  <%_ } _%>
105
110
  import org.springframework.stereotype.Repository;
106
- <%_ if (databaseType === 'cassandra') { _%>
107
- <%_ if (!reactive) { _%>
111
+ <%_ if (databaseTypeCassandra) { _%>
112
+ <%_ if (!reactive) { _%>
108
113
  import org.springframework.boot.autoconfigure.cassandra.CassandraProperties;
109
- <%_ } _%>
114
+ <%_ } _%>
110
115
  import org.springframework.util.StringUtils;
111
116
  <%_ } _%>
112
117
  <%_ if (reactive) { _%>
113
118
  import reactor.core.publisher.Flux;
114
119
  import reactor.core.publisher.Mono;
115
- <%_ if (databaseType === 'sql') { _%>
120
+ <%_ if (databaseTypeSql) { _%>
116
121
  import reactor.util.function.Tuple2;
117
122
  import reactor.util.function.Tuples;
118
- <%_ } _%>
123
+ <%_ } _%>
119
124
  <%_ } _%>
120
125
 
121
- <%_ if (databaseType === 'cassandra') { _%>
126
+ <%_ if (databaseTypeCassandra) { _%>
122
127
  import javax.validation.ConstraintViolation;
123
128
  import javax.validation.ConstraintViolationException;
124
129
  import javax.validation.Validator;
@@ -129,124 +134,189 @@ import java.util.List;
129
134
  <%_ if (!reactive) { _%>
130
135
  import java.util.Optional;
131
136
  <%_ } _%>
132
- <%_ if (databaseType === 'sql' && reactive) { _%>
133
- <%_ if (authenticationType !== 'oauth2') { _%>
137
+ <%_ if (databaseTypeSql && reactive) { _%>
138
+ <%_ if (!authenticationTypeOauth2) { _%>
134
139
  import java.time.LocalDateTime;
135
- <%_ } _%>
140
+ <%_ } _%>
136
141
  import java.util.ArrayList;
137
142
  import java.util.List;
138
143
  import java.util.Optional;
139
144
  import java.util.stream.Collectors;
140
145
  <%_ } _%>
141
- <%_ if (databaseType === 'cassandra') { _%>
142
- <%_ if (reactive) { _%>
146
+ <%_ if (databaseTypeCassandra) { _%>
147
+ <%_ if (reactive) { _%>
143
148
  import java.util.HashSet;
144
149
  import java.util.LinkedHashMap;
145
150
  import java.util.Map;
146
- <%_ } _%>
151
+ <%_ } _%>
147
152
  import java.util.Set;
148
153
  <%_ } _%>
149
- <%_ if (user.primaryKey.type === 'UUID') { _%>
154
+ <%_ if (user.primaryKey.hasUUID) { _%>
150
155
  import java.util.UUID;
151
156
  <%_ } _%>
152
- <%_ if (databaseType !== 'cassandra' && !(databaseType === 'sql' && reactive) && authenticationType !== 'oauth2') { _%>
157
+ <%_ if (!databaseTypeCassandra && !(databaseTypeSql && reactive) && !authenticationTypeOauth2) { _%>
153
158
  import java.time.Instant;
154
159
  <%_ } _%>
155
- <% if (databaseType === 'couchbase') { %>
160
+ <% if (databaseTypeCouchbase) { %>
156
161
  import static <%= packageName %>.config.Constants.ID_DELIMITER;
157
162
  <% } %>
163
+ <%_ if (searchEngineCouchbase) { _%>
164
+ import static <%= packageName %>.repository.JHipsterCouchbaseRepository.pageableStatement;
165
+ import static <%= packageName %>.repository.JHipsterCouchbaseRepository.searchQuery;
166
+ <%_ } _%>
158
167
  /**
159
- * Spring Data <% if (databaseType === 'sql' && !reactive) { %>JPA<% } else if (databaseType === 'sql' && reactive) { %>R2DBC<% } else if (databaseType === 'mongodb') { %>MongoDB<% } else if (databaseType === 'couchbase') { %>Couchbase<% } else if (databaseType === 'cassandra') { %>Cassandra<% } else if (databaseType === 'neo4j') { %>Neo4j<% } %> repository for the {@link <%= asEntity('User') %>} entity.
168
+ * Spring Data <% if (databaseTypeSql && !reactive) { %>JPA<% } else if (databaseTypeSql && reactive) { %>R2DBC<% } else if (databaseTypeMongodb) { %>MongoDB<% } else if (databaseTypeCouchbase) { %>Couchbase<% } else if (databaseTypeCassandra) { %>Cassandra<% } else if (databaseTypeNeo4j) { %>Neo4j<% } %> repository for the {@link <%= asEntity('User') %>} entity.
160
169
  */
161
170
  <%_
162
171
  let optionalOrMono = reactive ? 'Mono' : 'Optional';
163
172
  let listOrFlux = reactive ? 'Flux' : 'List';
173
+ let pageOrFlux = (reactive) ? 'Flux' : 'Page';
164
174
  _%>
165
- <%_ if ((databaseType === 'sql' && !reactive) || databaseType === 'mongodb' || databaseType === 'neo4j' || databaseType === 'couchbase') { _%>
175
+ <%_ if ((databaseTypeSql && !reactive) || databaseTypeMongodb || databaseTypeNeo4j || databaseTypeCouchbase) { _%>
166
176
  @Repository
167
- public interface UserRepository extends <% if (databaseType === 'sql') { %>JpaRepository<<%= asEntity('User') %>, <%= user.primaryKey.type %>><% } %><% if (reactive) { %>Reactive<% } %><% if (databaseType === 'mongodb') { %>MongoRepository<<%= asEntity('User') %>, String><% } %><% if (databaseType === 'neo4j') { %>Neo4jRepository<<%= asEntity('User') %>, String><% } %><% if (databaseType === 'couchbase') { %>N1qlCouchbaseRepository<<%= asEntity('User') %>, String><%if (searchEngine === 'couchbase') { %>, SearchCouchbaseRepository<<%= asEntity('User') %>, String><% } } %> {
168
- <%_ if (cacheManagerIsAvailable === true) { _%>
177
+ public interface UserRepository extends <% if (databaseTypeSql) { %>JpaRepository<<%= asEntity('User') %>, <%= user.primaryKey.type %>><% } %><% if (reactive && !databaseTypeCouchbase) { %>Reactive<% } %><% if (databaseTypeMongodb) { %>MongoRepository<<%= asEntity('User') %>, String><% } %><% if (databaseTypeNeo4j) { %>Neo4jRepository<<%= asEntity('User') %>, String><% } %><% if (databaseTypeCouchbase) { %>JHipsterCouchbaseRepository<<%= asEntity('User') %>, String><% } %> {
178
+ <%_ if (cacheManagerIsAvailable) { _%>
169
179
 
170
180
  String USERS_BY_LOGIN_CACHE = "usersByLogin";
171
181
 
172
182
  String USERS_BY_EMAIL_CACHE = "usersByEmail";
173
- <%_ } _%>
174
- <%_ if (authenticationType !== 'oauth2') { _%>
183
+ <%_ } _%>
184
+ <%_ if (databaseTypeCouchbase) { _%>
185
+ // @ScanConsistency is to fix index issues with Spring Data Couchbase
186
+ // https://github.com/spring-projects/spring-data-couchbase/issues/897
187
+ <%_ } _%>
188
+ <%_ if (!authenticationTypeOauth2) { _%>
175
189
 
176
- <%= optionalOrMono %><<%= asEntity('User') %>> findOneByActivationKey(String activationKey);
190
+ <%_ if (databaseTypeCouchbase) { _%>
191
+ @ScanConsistency(query = QueryScanConsistency.REQUEST_PLUS)
177
192
  <%_ } _%>
178
- <%_ if (authenticationType !== 'oauth2') { _%>
193
+ <%= optionalOrMono %><<%= asEntity('User') %>> findOneByActivationKey(String activationKey);
194
+ <%_ } _%>
195
+ <%_ if (!authenticationTypeOauth2) { _%>
179
196
 
180
- <%= listOrFlux %><<%= asEntity('User') %>> findAllByActivatedIsFalseAndActivationKeyIsNotNullAndCreatedDateBefore(Instant dateTime);
197
+ <%_ if (databaseTypeCouchbase) { _%>
198
+ @ScanConsistency(query = QueryScanConsistency.REQUEST_PLUS)
181
199
  <%_ } _%>
200
+ <%= listOrFlux %><<%= asEntity('User') %>> findAllByActivatedIsFalseAndActivationKeyIsNotNullAndCreatedDateBefore(Instant dateTime);
201
+ <%_ } _%>
182
202
 
183
- <%_ if (authenticationType !== 'oauth2') { _%>
184
-
185
- <%= optionalOrMono %><<%= asEntity('User') %>> findOneByResetKey(String resetKey);
203
+ <%_ if (!authenticationTypeOauth2) { _%>
204
+ <%_ if (databaseTypeCouchbase) { _%>
205
+ @ScanConsistency(query = QueryScanConsistency.REQUEST_PLUS)
186
206
  <%_ } _%>
207
+ <%= optionalOrMono %><<%= asEntity('User') %>> findOneByResetKey(String resetKey);
208
+ <%_ } _%>
187
209
 
188
- <%_ if (authenticationType !== 'oauth2') { _%>
189
- <%_ if (['couchbase', 'mongodb', 'neo4j'].includes(databaseType)) { _%>
190
- <%_ if (cacheManagerIsAvailable === true) { _%>
210
+ <%_ if (!authenticationTypeOauth2) { _%>
211
+ <%_ if (databaseTypeCouchbase || databaseTypeMongodb || databaseTypeNeo4j) { _%>
212
+ <%_ if (cacheManagerIsAvailable) { _%>
191
213
  @Cacheable(cacheNames = USERS_BY_EMAIL_CACHE)
192
- <%_ } _%>
214
+ <%_ } _%>
215
+ <%_ } _%>
216
+ <%_ if (databaseTypeCouchbase) { _%>
217
+ @ScanConsistency(query = QueryScanConsistency.REQUEST_PLUS)
218
+ @Query("#{#n1ql.selectEntity} WHERE LOWER(email) = LOWER($1) AND #{#n1ql.filter}")
193
219
  <%_ } _%>
194
220
  <%= optionalOrMono %><<%= asEntity('User') %>> findOneByEmailIgnoreCase(String email);
195
221
 
196
- <%_ } _%>
197
- <%_ if (databaseType === 'couchbase') { _%>
198
- <%_ if (cacheManagerIsAvailable === true) { _%>
222
+ <%_ } _%>
223
+ <%_ if (databaseTypeCouchbase) { _%>
224
+ <%_ if (cacheManagerIsAvailable) { _%>
199
225
  @Cacheable(cacheNames = USERS_BY_LOGIN_CACHE)
200
- <%_ } _%>
226
+ <%_ } _%>
227
+ <%_ if (databaseTypeCouchbase) { _%>
228
+ @ScanConsistency(query = QueryScanConsistency.REQUEST_PLUS)
229
+ <%_ } _%>
201
230
  default <%= optionalOrMono %><<%= asEntity('User') %>> findOneByLogin(String login) {
202
231
  return findById(<%= asEntity('User') %>.PREFIX + ID_DELIMITER + login);
203
232
  }
204
- <%_ } else if (databaseType === 'mongodb' || databaseType === 'neo4j') { _%>
205
- <%_ if (cacheManagerIsAvailable === true) { _%>
233
+ <%_ } else if (databaseTypeMongodb || databaseTypeNeo4j) { _%>
234
+ <%_ if (cacheManagerIsAvailable) { _%>
206
235
  @Cacheable(cacheNames = USERS_BY_LOGIN_CACHE)
207
- <%_ } _%>
236
+ <%_ } _%>
208
237
  <%= optionalOrMono %><<%= asEntity('User') %>> findOneByLogin(String login);
209
- <%_ } else { _%>
238
+ <%_ } else { _%>
210
239
  <%= optionalOrMono %><<%= asEntity('User') %>> findOneByLogin(String login);
211
- <%_ } _%>
240
+ <%_ } _%>
212
241
 
213
- <%_ if (databaseType === 'neo4j') { _%>
242
+ <%_ if (databaseTypeNeo4j) { _%>
214
243
  <% if (!reactive) { %>// See https://github.com/neo4j/sdn-rx/issues/51<% } %>
215
244
  <%= listOrFlux %><<%= asEntity('User') %>> findAll();
216
245
 
217
- <%_ } _%>
218
- <%_ if (databaseType === 'sql') { _%>
246
+ <%_ } _%>
247
+ <%_ if (databaseTypeSql) { _%>
219
248
  @EntityGraph(attributePaths = "authorities")
220
- <%_ if (cacheManagerIsAvailable === true) { _%>
249
+ <%_ if (cacheManagerIsAvailable) { _%>
221
250
  @Cacheable(cacheNames = USERS_BY_LOGIN_CACHE)
222
- <%_ } _%>
251
+ <%_ } _%>
223
252
  Optional<<%= asEntity('User') %>> findOneWithAuthoritiesByLogin(String login);
224
253
 
225
- <%_ if (authenticationType !== 'oauth2') { _%>
254
+ <%_ if (!authenticationTypeOauth2) { _%>
226
255
  @EntityGraph(attributePaths = "authorities")
227
- <%_ if (cacheManagerIsAvailable === true) { _%>
256
+ <%_ if (cacheManagerIsAvailable) { _%>
228
257
  @Cacheable(cacheNames = USERS_BY_EMAIL_CACHE)
229
- <%_ } _%>
258
+ <%_ } _%>
230
259
  Optional<<%= asEntity('User') %>> findOneWithAuthoritiesByEmailIgnoreCase(String email);
231
260
 
232
- <%_ } _%>
233
261
  <%_ } _%>
262
+ <%_ } _%>
234
263
 
235
- <% if (reactive) { %>
264
+ <% if (reactive) { %>
265
+ <%_ if (databaseTypeCouchbase) { _%>
266
+ @ScanConsistency(query = QueryScanConsistency.REQUEST_PLUS)
267
+ <%_ } _%>
236
268
  Flux<<%= asEntity('User') %>>findAllByIdNotNull(Pageable pageable);
237
269
 
238
- Flux<<%= asEntity('User') %>>findAllByIdNotNullAndActivatedIsTrue(Pageable pageable);
270
+ <%_ if (databaseTypeCouchbase) { _%>
271
+ @ScanConsistency(query = QueryScanConsistency.REQUEST_PLUS)
272
+ <%_ } _%>
273
+ Flux<<%= asEntity('User') %>>findAllBy<% if (!databaseTypeCouchbase) { %>IdNotNullAnd<% } %>ActivatedIsTrue(Pageable pageable);
239
274
 
275
+ <%_ if (databaseTypeCouchbase) { _%>
276
+ @ScanConsistency(query = QueryScanConsistency.REQUEST_PLUS)
277
+ <%_ } _%>
240
278
  Mono<Long> count();
241
- <% } else { %>
279
+ <% } else { %>
280
+ <%_ if (databaseTypeCouchbase) { _%>
281
+ default Page<<%= asEntity('User') %>> findAllByActivatedIsTrue(Pageable pageable) {
282
+ return new PageImpl<>(findAllByActivatedIsTrue(JHipsterCouchbaseRepository.pageableStatement(pageable)), pageable, countAllByActivatedIsTrue());
283
+ }
284
+ <%_ } else { _%>
242
285
  Page<<%= asEntity('User') %>> findAllByIdNotNullAndActivatedIsTrue(Pageable pageable);
243
- <% } %>
286
+ <%_ } _%>
287
+ <% } %>
288
+
289
+ <%_ if (databaseTypeCouchbase && !reactive) { _%>
290
+ @Query("#{#n1ql.selectEntity} WHERE #{#n1ql.filter} AND activated = true #{[0]}")
291
+ @ScanConsistency(query = QueryScanConsistency.REQUEST_PLUS)
292
+ List<<%= asEntity('User') %>> findAllByActivatedIsTrue(String pageableStatement);
293
+
294
+ @Query("SELECT COUNT(*) as count FROM #{#n1ql.bucket} WHERE #{#n1ql.filter} AND activated = true")
295
+ @ScanConsistency(query = QueryScanConsistency.REQUEST_PLUS)
296
+ Long countAllByActivatedIsTrue();
297
+ <%_ } _%>
298
+
299
+ <%_ if (searchEngineCouchbase) { _%>
300
+ @Query("#{#n1ql.selectEntity} WHERE #{#n1ql.filter} AND SEARCH(#{n1ql.bucket}, #{[0]) #{[1]}")
301
+ <%= listOrFlux %><User> search(String queryString, String pageableStatement);
302
+
303
+ default <%= listOrFlux %><User> search(String queryString) {
304
+ return search(searchQuery(queryString).toString(), "");
305
+ }
306
+
307
+ default <%= pageOrFlux %><User> search(String queryString, Pageable pageable) {
308
+ return
309
+ <% if (!reactive) { %>new PageImpl<>(<% } %>
310
+ search(searchQuery(queryString).toString(), pageableStatement(pageable))
311
+ <% if (!reactive) { %>)<% } %>;
312
+ }
313
+ <%_ } _%>
244
314
  }
245
- <%_ } else if (databaseType === 'sql' && reactive) { _%>
315
+ <%_ } else if (databaseTypeSql && reactive) { _%>
246
316
  @Repository
247
- public interface UserRepository extends R2dbcRepository<<%= asEntity('User') %>, <% if (authenticationType === 'oauth2') { %>String<% } else { %>Long<% } %>>, UserRepositoryInternal {
317
+ public interface UserRepository extends R2dbcRepository<<%= asEntity('User') %>, <% if (authenticationTypeOauth2) { %>String<% } else { %>Long<% } %>>, UserRepositoryInternal {
248
318
 
249
- <%_ if (authenticationType !== 'oauth2') { _%>
319
+ <%_ if (!authenticationTypeOauth2) { _%>
250
320
  Mono<<%= asEntity('User') %>> findOneByActivationKey(String activationKey);
251
321
 
252
322
  Flux<<%= asEntity('User') %>> findAllByActivatedIsFalseAndActivationKeyIsNotNullAndCreatedDateBefore(LocalDateTime dateTime);
@@ -255,7 +325,7 @@ public interface UserRepository extends R2dbcRepository<<%= asEntity('User') %>,
255
325
 
256
326
  Mono<<%= asEntity('User') %>> findOneByEmailIgnoreCase(String email);
257
327
 
258
- <%_ } _%>
328
+ <%_ } _%>
259
329
  Mono<<%= asEntity('User') %>> findOneByLogin(String login);
260
330
 
261
331
  Flux<<%= asEntity('User') %>> findAllByIdNotNull(Pageable pageable);
@@ -272,27 +342,27 @@ public interface UserRepository extends R2dbcRepository<<%= asEntity('User') %>,
272
342
 
273
343
  @Query("DELETE FROM <%= jhiTablePrefix %>_user_authority WHERE user_id = :userId")
274
344
  Mono<Void> deleteUserAuthorities(Long userId);
275
-
345
+
276
346
  }
277
347
 
278
- <%_ if (authenticationType !== 'oauth2') { _%>
348
+ <%_ if (!authenticationTypeOauth2) { _%>
279
349
  interface DeleteExtended<T> {
280
350
  Mono<Void> delete(T user);
281
351
  }
282
352
 
283
- <%_ } _%>
284
- interface UserRepositoryInternal<% if (authenticationType !== 'oauth2') { %> extends DeleteExtended<<%= asEntity('User') %>><% } %> {
353
+ <%_ } _%>
354
+ interface UserRepositoryInternal<% if (!authenticationTypeOauth2) { %> extends DeleteExtended<<%= asEntity('User') %>><% } %> {
285
355
 
286
356
  Mono<<%= asEntity('User') %>> findOneWithAuthoritiesByLogin(String login);
287
357
 
288
- <%_ if (authenticationType !== 'oauth2') { _%>
358
+ <%_ if (!authenticationTypeOauth2) { _%>
289
359
  Mono<<%= asEntity('User') %>> findOneWithAuthoritiesByEmailIgnoreCase(String email);
290
360
 
291
- <%_ } _%>
292
- <%_ if (authenticationType == 'oauth2') { _%>
361
+ <%_ } _%>
362
+ <%_ if (authenticationTypeOauth2) { _%>
293
363
 
294
364
  Mono<<%= asEntity('User') %>> create(<%= asEntity('User') %> user);
295
- <%_ } _%>
365
+ <%_ } _%>
296
366
 
297
367
  Flux<<%= asEntity('User') %>> findAllWithAuthorities(Pageable pageable);
298
368
  }
@@ -314,17 +384,17 @@ class UserRepositoryInternalImpl implements UserRepositoryInternal {
314
384
  return findOneWithAuthoritiesBy("login", login);
315
385
  }
316
386
 
317
- <%_ if (authenticationType !== 'oauth2') { _%>
387
+ <%_ if (!authenticationTypeOauth2) { _%>
318
388
  @Override
319
389
  public Mono<<%= asEntity('User') %>> findOneWithAuthoritiesByEmailIgnoreCase(String email) {
320
390
  return findOneWithAuthoritiesBy("email", email.toLowerCase());
321
391
  }
322
392
 
323
- <%_ } _%>
393
+ <%_ } _%>
324
394
  @Override
325
395
  public Flux<<%= asEntity('User') %>> findAllWithAuthorities(Pageable pageable) {
326
- String property = pageable.getSort().stream().map(Sort.Order::getProperty).findFirst().get();
327
- String direction = String.valueOf(pageable.getSort().stream().map(Sort.Order::getDirection).findFirst().get());
396
+ String property = pageable.getSort().stream().map(Sort.Order::getProperty).findFirst().orElse("id");
397
+ String direction = String.valueOf(pageable.getSort().stream().map(Sort.Order::getDirection).findFirst().orElse(Sort.DEFAULT_DIRECTION));
328
398
  long page = pageable.getPageNumber();
329
399
  long size = pageable.getPageSize();
330
400
 
@@ -342,7 +412,7 @@ class UserRepositoryInternalImpl implements UserRepositoryInternal {
342
412
  .take(size);
343
413
  }
344
414
 
345
- <%_ if (authenticationType !== 'oauth2') { _%>
415
+ <%_ if (!authenticationTypeOauth2) { _%>
346
416
  @Override
347
417
  public Mono<Void> delete(<%= asEntity('User') %> user) {
348
418
  return db.sql("DELETE FROM <%= jhiTablePrefix %>_user_authority WHERE user_id = :userId")
@@ -353,14 +423,13 @@ class UserRepositoryInternalImpl implements UserRepositoryInternal {
353
423
  .then());
354
424
  }
355
425
 
356
- <%_ } _%>
357
- <%_ if (authenticationType === 'oauth2') { _%>
426
+ <%_ } else { _%>
358
427
  @Override
359
428
  public Mono<<%= asEntity('User') %>> create(<%= asEntity('User') %> user) {
360
429
  return r2dbcEntityTemplate.insert(<%= asEntity('User') %>.class).using(user).defaultIfEmpty(user);
361
430
  }
362
431
 
363
- <%_ } _%>
432
+ <%_ } _%>
364
433
  private Mono<<%= asEntity('User') %>> findOneWithAuthoritiesBy(String fieldName, Object fieldValue) {
365
434
  return db.sql("SELECT * FROM <%= jhiTablePrefix %>_user u LEFT JOIN <%= jhiTablePrefix %>_user_authority ua ON u.id=ua.user_id WHERE u." + fieldName + " = :" + fieldName)
366
435
  .bind(fieldName, fieldValue)
@@ -395,57 +464,34 @@ class UserRepositoryInternalImpl implements UserRepositoryInternal {
395
464
  }
396
465
  }
397
466
 
398
- class UserSqlHelper {
399
- static List<Expression> getColumns(Table table, String columnPrefix) {
400
- List<Expression> columns = new ArrayList<>();
401
- columns.add(Column.aliased("id", table, columnPrefix + "_id"));
402
- columns.add(Column.aliased("login", table, columnPrefix + "_login"));
403
- <%_ if (authenticationType !== 'oauth2') { _%>
404
- columns.add(Column.aliased("password_hash", table, columnPrefix + "_password"));
405
- <%_ } _%>
406
- columns.add(Column.aliased("first_name", table, columnPrefix + "_first_name"));
407
- columns.add(Column.aliased("last_name", table, columnPrefix + "_last_name"));
408
- columns.add(Column.aliased("email", table, columnPrefix + "_email"));
409
- columns.add(Column.aliased("activated", table, columnPrefix + "_activated"));
410
- columns.add(Column.aliased("lang_key", table, columnPrefix + "_lang_key"));
411
- columns.add(Column.aliased("image_url", table, columnPrefix + "_image_url"));
412
- <%_ if (authenticationType !== 'oauth2') { _%>
413
- columns.add(Column.aliased("activation_key", table, columnPrefix + "_activation_key"));
414
- columns.add(Column.aliased("reset_key", table, columnPrefix + "_reset_key"));
415
- columns.add(Column.aliased("reset_date", table, columnPrefix + "_reset_date"));
416
- <%_ } _%>
417
- return columns;
418
- }
419
- }
420
-
421
- <%_ } else if (databaseType === 'cassandra') { _%>
467
+ <%_ } else if (databaseTypeCassandra) { _%>
422
468
  @Repository
423
469
  public class UserRepository {
424
- <%_ if (cacheManagerIsAvailable) { _%>
470
+ <%_ if (cacheManagerIsAvailable) { _%>
425
471
 
426
472
  public static final String USERS_BY_LOGIN_CACHE = "usersByLogin";
427
473
 
428
474
  public static final String USERS_BY_EMAIL_CACHE = "usersByEmail";
429
- <%_ } _%>
475
+ <%_ } _%>
430
476
 
431
- <%_ if (!reactive) { _%>
477
+ <%_ if (!reactive) { _%>
432
478
  private final CqlSession session;
433
- <%_ } else { _%>
479
+ <%_ } else { _%>
434
480
  private final ReactiveSession session;
435
- <%_ } _%>
481
+ <%_ } _%>
436
482
 
437
483
  private final Validator validator;
438
484
 
439
- <%_ if (!reactive) { _%>
485
+ <%_ if (!reactive) { _%>
440
486
  private UserDao userDao;
441
- <%_ } else { _%>
487
+ <%_ } else { _%>
442
488
  private final ReactiveCassandraTemplate cqlTemplate;
443
- <%_ } _%>
489
+ <%_ } _%>
444
490
 
445
- <%_ if (reactive) { _%>
491
+ <%_ if (reactive) { _%>
446
492
  private PreparedStatement findAllStmt;
447
493
 
448
- <%_ } _%>
494
+ <%_ } _%>
449
495
  private PreparedStatement findOneByActivationKeyStmt;
450
496
 
451
497
  private PreparedStatement findOneByResetKeyStmt;
@@ -454,10 +500,10 @@ public class UserRepository {
454
500
 
455
501
  private PreparedStatement insertByResetKeyStmt;
456
502
 
457
- <%_ if (reactive) { _%>
503
+ <%_ if (reactive) { _%>
458
504
  private PreparedStatement deleteByIdStmt;
459
505
 
460
- <%_ } _%>
506
+ <%_ } _%>
461
507
  private PreparedStatement deleteByActivationKeyStmt;
462
508
 
463
509
  private PreparedStatement deleteByResetKeyStmt;
@@ -485,14 +531,14 @@ public class UserRepository {
485
531
  public UserRepository(<% if (reactive) { %>ReactiveCassandraTemplate cqlTemplate, Reactive<% } else { %>Cql<% } %>Session session, Validator validator<% if (!reactive) { %>, CassandraProperties cassandraProperties<% } %>) {
486
532
  this.session = session;
487
533
  this.validator = validator;
488
- <%_ if (!reactive) { _%>
534
+ <%_ if (!reactive) { _%>
489
535
  UserTokenMapper userTokenMapper = new UserTokenMapperBuilder(session).build();
490
536
  userDao = userTokenMapper.userTokenDao(CqlIdentifier.fromCql(cassandraProperties.getKeyspaceName()));
491
- <%_ } else { _%>
537
+ <%_ } else { _%>
492
538
  this.cqlTemplate = cqlTemplate;
493
539
 
494
540
  findAllStmt = session.prepare("SELECT * FROM user")<% if (reactive) { %>.block()<% } %>;
495
- <%_ } _%>
541
+ <%_ } _%>
496
542
 
497
543
  findOneByActivationKeyStmt = session.prepare(
498
544
  "SELECT id " +
@@ -512,12 +558,12 @@ public class UserRepository {
512
558
  "INSERT INTO user_by_reset_key (reset_key, id) " +
513
559
  "VALUES (:reset_key, :id)")<% if (reactive) { %>.block()<% } %>;
514
560
 
515
- <%_ if (reactive) { _%>
561
+ <%_ if (reactive) { _%>
516
562
  deleteByIdStmt = session.prepare(
517
563
  "DELETE FROM user " +
518
564
  "WHERE id = :id").block();
519
565
 
520
- <%_ } _%>
566
+ <%_ } _%>
521
567
  deleteByActivationKeyStmt = session.prepare(
522
568
  "DELETE FROM user_by_activation_key " +
523
569
  "WHERE activation_key = :activation_key")<% if (reactive) { %>.block()<% } %>;
@@ -562,9 +608,9 @@ public class UserRepository {
562
608
  }
563
609
 
564
610
  public <%= optionalOrMono %><<%= asEntity('User') %>> findById(String id) {
565
- <%_ if (!reactive) { _%>
611
+ <%_ if (!reactive) { _%>
566
612
  return userDao.get(id);
567
- <%_ } else { _%>
613
+ <%_ } else { _%>
568
614
  return cqlTemplate.selectOneById(id, <%= asEntity('User') %>.class)
569
615
  .map(user -> {
570
616
  if (user.getAuthorities() == null) {
@@ -572,7 +618,7 @@ public class UserRepository {
572
618
  }
573
619
  return user;
574
620
  });
575
- <%_ } _%>
621
+ <%_ } _%>
576
622
  }
577
623
 
578
624
  public <%= optionalOrMono %><<%= asEntity('User') %>> findOneByActivationKey(String activationKey) {
@@ -585,26 +631,26 @@ public class UserRepository {
585
631
  return findOneFromIndex(stmt);
586
632
  }
587
633
 
588
- <%_ if (cacheManagerIsAvailable === true) { _%>
634
+ <%_ if (cacheManagerIsAvailable) { _%>
589
635
  @Cacheable(cacheNames = USERS_BY_EMAIL_CACHE)
590
- <%_ } _%>
636
+ <%_ } _%>
591
637
  public <%= optionalOrMono %><<%= asEntity('User') %>> findOneByEmailIgnoreCase(String email) {
592
638
  BoundStatement stmt = findOneByEmailStmt.bind().setString("email", email.toLowerCase());
593
639
  return findOneFromIndex(stmt);
594
640
  }
595
641
 
596
- <%_ if (cacheManagerIsAvailable === true) { _%>
642
+ <%_ if (cacheManagerIsAvailable) { _%>
597
643
  @Cacheable(cacheNames = USERS_BY_LOGIN_CACHE)
598
- <%_ } _%>
644
+ <%_ } _%>
599
645
  public <%= optionalOrMono %><<%= asEntity('User') %>> findOneByLogin(String login) {
600
646
  BoundStatement stmt = findOneByLoginStmt.bind().setString("login", login);
601
647
  return findOneFromIndex(stmt);
602
648
  }
603
649
 
604
650
  public <%= listOrFlux %><<%= asEntity('User') %>> findAll() {
605
- <%_ if (!reactive) { _%>
651
+ <%_ if (!reactive) { _%>
606
652
  return userDao.findAll().all();
607
- <%_ } else { _%>
653
+ <%_ } else { _%>
608
654
  return cqlTemplate.select(findAllStmt.bind(), <%= asEntity('User') %>.class)
609
655
  .map(user -> {
610
656
  if (user.getAuthorities() == null) {
@@ -612,7 +658,7 @@ public class UserRepository {
612
658
  }
613
659
  return user;
614
660
  });
615
- <%_ } _%>
661
+ <%_ } _%>
616
662
  }
617
663
 
618
664
  public <% if (reactive) { %>Mono<<% } %><%= asEntity('User') %><% if (reactive) { %>><% } %> save(<%= asEntity('User') %> user) {
@@ -620,7 +666,7 @@ public class UserRepository {
620
666
  if (violations != null && !violations.isEmpty()) {
621
667
  throw new ConstraintViolationException(violations);
622
668
  }
623
- <%_ if (!reactive) { _%>
669
+ <%_ if (!reactive) { _%>
624
670
  <%= asEntity('User') %> oldUser = userDao.get(user.getId()).orElse(null);
625
671
  if (oldUser != null) {
626
672
  if (!StringUtils.isEmpty(oldUser.getActivationKey()) && !oldUser.getActivationKey().equals(user.getActivationKey())) {
@@ -657,7 +703,7 @@ public class UserRepository {
657
703
  session.execute(batch.build());
658
704
  return user;
659
705
  }
660
- <%_ } else { // reactive _%>
706
+ <%_ } else { /* reactive */ _%>
661
707
  return this.findById(user.getId())
662
708
  .flatMapMany(oldUser -> {
663
709
  Flux<ReactiveResultSet> deleteOps = Flux.empty();
@@ -712,7 +758,7 @@ public class UserRepository {
712
758
  }
713
759
  return insert.build();
714
760
  }
715
- <%_ } _%>
761
+ <%_ } _%>
716
762
 
717
763
  public <% if (reactive) { %>Mono<Void><% } else { %>void<% } %> delete(<%= asEntity('User') %> user) {
718
764
  BatchStatementBuilder batch = BatchStatement.builder(DefaultBatchType.LOGGED);
@@ -725,14 +771,14 @@ public class UserRepository {
725
771
  }
726
772
  batch.addStatement(deleteByLoginStmt.bind().setString("login", user.getLogin()));
727
773
  batch.addStatement(deleteByEmailStmt.bind().setString("email", user.getEmail().toLowerCase()));
728
- <%_ if (!reactive) { _%>
774
+ <%_ if (!reactive) { _%>
729
775
  session.execute(batch.build());
730
- <%_ } else { _%>
776
+ <%_ } else { _%>
731
777
  return session.execute(batch.build()).then();
732
- <%_ } _%>
778
+ <%_ } _%>
733
779
  }
734
780
 
735
- <%_ if (!reactive) { _%>
781
+ <%_ if (!reactive) { _%>
736
782
  private Optional<<%= asEntity('User') %>> findOneFromIndex(BoundStatement stmt) {
737
783
  ResultSet rs = session.execute(stmt);
738
784
  return Optional
@@ -754,7 +800,7 @@ public class UserRepository {
754
800
  BoundStatement truncateByResetKey = truncateByResetKeyStmt.bind();
755
801
  session.execute(truncateByResetKey);
756
802
  }
757
- <%_ } else { _%>
803
+ <%_ } else { _%>
758
804
  private Mono<<%= asEntity('User') %>> findOneFromIndex(BoundStatement stmt) {
759
805
  return session.execute(stmt).flatMap(rs -> rs.rows().next())
760
806
  .map(row -> row.getString("id"))
@@ -767,9 +813,9 @@ public class UserRepository {
767
813
  .flatMap(session::execute)
768
814
  .then();
769
815
  }
770
- <%_ } _%>
816
+ <%_ } _%>
771
817
  }
772
- <%_ if (!reactive) { _%>
818
+ <%_ if (!reactive) { _%>
773
819
  @Dao
774
820
  interface UserDao {
775
821
 
@@ -791,5 +837,5 @@ interface UserTokenMapper {
791
837
  @DaoFactory
792
838
  UserDao userTokenDao(@DaoKeyspace CqlIdentifier keyspace);
793
839
  }
794
- <%_ } _%>
840
+ <%_ } _%>
795
841
  <%_ } _%>