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
@@ -1,769 +0,0 @@
1
- <%#
2
- Copyright 2013-2021 the original author or authors from the JHipster project.
3
-
4
- This file is part of the JHipster project, see https://www.jhipster.tech/
5
- for more information.
6
-
7
- Licensed under the Apache License, Version 2.0 (the "License");
8
- you may not use this file except in compliance with the License.
9
- You may obtain a copy of the License at
10
-
11
- https://www.apache.org/licenses/LICENSE-2.0
12
-
13
- Unless required by applicable law or agreed to in writing, software
14
- distributed under the License is distributed on an "AS IS" BASIS,
15
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- See the License for the specific language governing permissions and
17
- limitations under the License.
18
- -%>
19
- package <%= packageName %>.domain;
20
-
21
- <%_
22
-
23
- let hasDto = dtoMapstruct;
24
- let hasTextBlob = false;
25
- let hasRelationship = relationships.length !== 0;
26
- _%>
27
- <%_
28
- for (const field of fields.filter(field => !field.transient)) {
29
- if (databaseTypePostgres && field.blobContentTypeText) {
30
- hasTextBlob = true;
31
- break;
32
- }
33
- }
34
- _%>
35
- <%_ if (databaseTypeCassandra) { _%>
36
- import org.springframework.data.annotation.Id;
37
- <%_ if (fieldsContainBlob) { _%>
38
- import org.springframework.data.cassandra.core.mapping.Column;
39
- <%_ } _%>
40
- import org.springframework.data.cassandra.core.mapping.Table;
41
- <%_ } _%>
42
- <%_ if (relationshipsContainOtherSideIgnore) { _%>
43
- import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
44
- <%_ } _%>
45
- <%_ if (!hasDto && typeof javadoc != 'undefined') { _%>
46
- import io.swagger.annotations.ApiModel;
47
- <%_ } _%>
48
- <%_ if (!hasDto && importApiModelProperty) { _%>
49
- import io.swagger.annotations.ApiModelProperty;
50
- <%_ } _%>
51
- <%_ if (enableHibernateCache) { _%>
52
- import org.hibernate.annotations.Cache;
53
- import org.hibernate.annotations.CacheConcurrencyStrategy;
54
- <%_ } _%>
55
- <%_ if (!reactive && (hasTextBlob || (fieldsContainUUID && (databaseTypeMysql || databaseTypeMariadb)))) { _%>
56
- import org.hibernate.annotations.Type;
57
- <%_ } _%>
58
- <%_ if (databaseTypeMongodb) {
59
- if (!embedded) { _%>
60
- import org.springframework.data.annotation.Id;
61
- import org.springframework.data.mongodb.core.mapping.Document;
62
- <%_ } _%>
63
- import org.springframework.data.mongodb.core.mapping.Field;
64
- <%_ if (hasRelationship) { _%>
65
- import org.springframework.data.mongodb.core.mapping.DBRef;
66
- <%_ } _%>
67
- <%_ } else if (databaseTypeCouchbase) {
68
- if (!embedded) { _%>
69
- import org.springframework.data.annotation.Id;
70
- import org.springframework.data.couchbase.core.mapping.Document;
71
- import org.springframework.data.couchbase.core.mapping.id.GeneratedValue;
72
- import org.springframework.data.couchbase.core.mapping.id.IdPrefix;
73
- <%_ } _%>
74
- import com.couchbase.client.java.repository.annotation.Field;
75
- <%_ if (hasRelationship) { _%>
76
- import org.springframework.data.couchbase.core.query.FetchType;
77
- import org.springframework.data.couchbase.core.query.N1qlJoin;
78
- <%_ } _%>
79
- <%_ } else if (databaseTypeNeo4j) { _%>
80
- import org.springframework.data.neo4j.core.schema.GeneratedValue;
81
- import org.springframework.data.neo4j.core.schema.Id;
82
- import org.springframework.data.neo4j.core.schema.Node;
83
- import org.springframework.data.neo4j.core.schema.Property;
84
- import org.springframework.data.neo4j.core.support.UUIDStringGenerator;
85
- <%_ if (hasRelationship) { _%>
86
- import org.springframework.data.neo4j.core.schema.Relationship;
87
- <%_ } _%>
88
- <%_ } if (databaseTypeSql) { _%>
89
- <%_ if (reactive) { _%>
90
-
91
- import org.springframework.data.annotation.Id;
92
- import org.springframework.data.annotation.Transient;
93
- import org.springframework.data.relational.core.mapping.Column;
94
- import org.springframework.data.relational.core.mapping.Table;
95
- <%_ } else { _%>
96
-
97
- import javax.persistence.*;
98
- <%_ } _%>
99
- <%_ } if (validation) { _%>
100
- import javax.validation.constraints.*;
101
- <%_ } _%>
102
-
103
- <%_ if (searchEngineElasticsearch) { _%>
104
- import org.springframework.data.elasticsearch.annotations.FieldType;
105
- <%_ } _%>
106
- import java.io.Serializable;
107
- <%_ if (fieldsContainBigDecimal) { _%>
108
- import java.math.BigDecimal;
109
- <%_ } if (fieldsContainBlob && databaseTypeCassandra) { _%>
110
- import java.nio.ByteBuffer;
111
- <%_ } if (fieldsContainInstant) { _%>
112
- import java.time.Instant;
113
- <%_ } if (fieldsContainLocalDate) { _%>
114
- import java.time.LocalDate;
115
- <%_ } if (fieldsContainZonedDateTime) { _%>
116
- import java.time.ZonedDateTime;
117
- <%_ } if (fieldsContainDuration) { _%>
118
- import java.time.Duration;
119
- <%_ } if (entityContainsCollectionField) { _%>
120
- import java.util.HashSet;
121
- import java.util.Set;
122
- <%_ } if (databaseTypeCouchbase && hasRelationship) { _%>
123
- import java.util.stream.Collectors;
124
- <%_ } _%>
125
- <%_ if (fieldsContainUUID) { _%>
126
- import java.util.UUID;
127
- <%_ }
128
- Object.keys(uniqueEnums).forEach(function(element) { _%>
129
-
130
- import <%= packageName %>.domain.enumeration.<%= element %>;
131
- <%_ }); _%>
132
-
133
- <%_ if (databaseTypeCouchbase && !embedded) { _%>
134
- import static <%= packageName %>.config.Constants.ID_DELIMITER;
135
- import static org.springframework.data.couchbase.core.mapping.id.GenerationStrategy.UNIQUE;
136
-
137
- <%_ } _%>
138
- <%_ if (typeof javadoc == 'undefined') { _%>
139
- /**
140
- * A <%= persistClass %>.
141
- */
142
- <%_ } else { _%>
143
- <%- formatAsClassJavadoc(javadoc) %>
144
- <%_ if (!hasDto) { _%>
145
- @ApiModel(description = "<%- formatAsApiDescription(javadoc) %>")
146
- <%_ } _%>
147
- <%_ } _%>
148
- <%_ if (databaseTypeSql) { _%>
149
- <%_ if (reactive) { _%>
150
- @Table("<%= entityTableName %>")
151
- <%_ } else { _%>
152
- @Entity
153
- @Table(name = "<%= entityTableName %>")
154
- <%_ if (enableHibernateCache) { _%>
155
- @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
156
- <%_ } _%>
157
- <%_ } _%>
158
- <%_ } _%>
159
- <%_ if (!embedded) { _%>
160
- <%_ if (databaseTypeMongodb) { _%>
161
- @Document(collection = "<%= entityTableName %>")
162
- <%_ } else if (databaseTypeNeo4j) { _%>
163
- @Node
164
- <%_ } else if (databaseTypeCouchbase) { _%>
165
- @Document
166
- <%_ } else if (databaseTypeCassandra) { _%>
167
- @Table("<%= entityInstance %>")
168
- <%_ } _%>
169
- <%_ } _%>
170
- <%_ if (searchEngineElasticsearch) { _%>
171
- @org.springframework.data.elasticsearch.annotations.Document(indexName = "<%= entityInstance.toLowerCase() %>")
172
- <%_ } _%>
173
- public class <%= persistClass %> implements Serializable {
174
-
175
- private static final long serialVersionUID = 1L;
176
- <%_ if (databaseTypeCouchbase && !embedded) { _%>
177
- public static final String PREFIX = "<%= entityInstance.toLowerCase() %>";
178
-
179
- @SuppressWarnings("unused")
180
- @IdPrefix
181
- private String prefix = PREFIX;
182
- <%_ } _%>
183
-
184
- <%_ if (!embedded) { _%>
185
- @Id
186
- <%_ if (databaseTypeSql && !isUsingMapsId && !reactive && !primaryKey.composite) { _%>
187
- <%_ if (primaryKey.fields[0].jpaGeneratedValue === 'identity') { _%>
188
- @GeneratedValue(strategy = GenerationType.IDENTITY)
189
- <%_ } else if (primaryKey.fields[0].jpaGeneratedValue === 'sequence') { _%>
190
- @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator")
191
- @SequenceGenerator(name = "sequenceGenerator")
192
- <%_ } else if (primaryKey.fields[0].jpaGeneratedValue) { _%>
193
- @GeneratedValue
194
- <%_ } _%>
195
- <%_ } else if (databaseTypeCouchbase && !embedded) { _%>
196
- @GeneratedValue(strategy = UNIQUE, delimiter = ID_DELIMITER)
197
- <%_ } else if (databaseTypeNeo4j) { _%>
198
- @GeneratedValue(UUIDStringGenerator.class)
199
- <%_ } _%>
200
- private <%= primaryKey.type %> <%= primaryKey.name %>;
201
-
202
- <%_ } _%>
203
- <%_ for (const field of fields.filter(field => !field.id && !field.transient)) {
204
- if (typeof field.javadoc !== 'undefined') { _%>
205
- <%- formatAsFieldJavadoc(field.javadoc) %>
206
- <%_ }
207
- let required = false;
208
- let unique = false;
209
- const fieldValidate = field.fieldValidate;
210
- const fieldValidateRulesMaxlength = field.fieldValidateRulesMaxlength;
211
- const fieldType = field.fieldType;
212
- const fieldName = field.fieldName;
213
- const fieldNameUnderscored = field.fieldNameUnderscored;
214
- const fieldNameAsDatabaseColumn = field.fieldNameAsDatabaseColumn;
215
- if (fieldValidate === true) {
216
- if (field.fieldValidationRequired) {
217
- required = true;
218
- }
219
- if (field.fieldValidationUnique) {
220
- unique = true;
221
- } _%>
222
- <%- include('../common/field_validators', {field, reactive}); -%>
223
- <%_ } _%>
224
- <%_ if (!hasDto && typeof field.javadoc != 'undefined') { _%>
225
- @ApiModelProperty(value = "<%- formatAsApiDescription(field.javadoc) %>"<% if (required) { %>, required = true<% } %>)
226
- <%_ } _%>
227
- <%_ if (databaseTypeSql && reactive) { _%>
228
- @Column("<%- fieldNameAsDatabaseColumn %>")
229
- <%_ } _%>
230
- <%_ if (databaseTypeSql && !reactive) {
231
- if (field.fieldIsEnum) { _%>
232
- @Enumerated(EnumType.STRING)
233
- <%_ } _%>
234
- <%_ if (field.fieldTypeBytes) { _%>
235
- @Lob
236
- <%_ if (databaseTypePostgres && field.blobContentTypeText) { _%>
237
- @Type(type = "org.hibernate.type.TextType")
238
- <%_ } _%>
239
- <%_ } _%>
240
- <%_ if (field.fieldTypeTemporal || field.fieldTypeDuration) { _%>
241
- @Column(name = "<%- fieldNameAsDatabaseColumn %>"<% if (required) { %>, nullable = false<% } %><% if (unique) { %>, unique = true<% } %>)
242
- <%_ } else if (field.fieldTypeBigDecimal) { _%>
243
- @Column(name = "<%- fieldNameAsDatabaseColumn %>", precision = 21, scale = 2<% if (required) { %>, nullable = false<% } %><% if (unique) { %>, unique = true<% } %>)
244
- <%_ } else if (field.fieldTypeUUID && (databaseTypeMysql || databaseTypeMariadb)) { _%>
245
- @Type(type = "uuid-char")
246
- @Column(name = "<%- fieldNameAsDatabaseColumn %>", length = 36<% if (required) { %>, nullable = false<% } %><% if (unique) { %>, unique = true<% } %>)
247
- <%_ } else { _%>
248
- @Column(name = "<%- fieldNameAsDatabaseColumn %>"<% if (fieldValidate === true) { %><% if (field.fieldValidationMaxLength) { %>, length = <%= fieldValidateRulesMaxlength %><% } %><% if (required) { %>, nullable = false<% } %><% if (unique) { %>, unique = true<% } %><% } %>)
249
- <%_ } _%>
250
- <%_ } _%>
251
- <%_ if (databaseTypeMongodb || databaseTypeCouchbase) { _%>
252
- @Field("<%= fieldNameUnderscored %>")
253
- <%_ } _%>
254
- <%_ if (databaseTypeNeo4j) { _%>
255
- @Property("<%=fieldNameUnderscored %>")
256
- <%_ } _%>
257
- <%_ if (!field.blobContentTypeText) { _%>
258
- private <%= fieldType %> <%= fieldName %>;
259
- <%_ } else { _%>
260
- private String <%= fieldName %>;
261
- <%_ } _%>
262
-
263
- <%_ if (field.fieldWithContentType) { _%>
264
- <%_ if ((databaseTypeSql && !reactive) || databaseTypeCassandra) { _%>
265
- @Column(<% if (!databaseTypeCassandra) { %>name = <% } %>"<%- fieldNameAsDatabaseColumn %>_content_type"<% if (required && !databaseTypeCassandra) { %>, nullable = false<% } %>)
266
- <%_ if (required && databaseTypeCassandra) { _%>
267
- @NotNull
268
- <%_ } _%>
269
- <%_ } _%>
270
- <%_ if (databaseTypeSql && reactive) { _%>
271
- @Column("<%- fieldNameAsDatabaseColumn %>_content_type")
272
- <%_ if (required) { _%>
273
- @NotNull
274
- <%_ } _%>
275
- <%_ } _%>
276
- <%_ if (databaseTypeMongodb || databaseTypeCouchbase) { _%>
277
- @Field("<%= fieldNameUnderscored %>_content_type")
278
- <%_ } _%>
279
- <%_ if (databaseTypeNeo4j) { _%>
280
- @Property("<%=fieldNameUnderscored %>_content_type")
281
- <%_ } _%>
282
- private String <%= fieldName %>ContentType;
283
-
284
- <%_ } _%>
285
- <%_ } _%>
286
-
287
- <%_ relationships.forEach((relationship, idx) => {
288
- const otherEntityRelationshipName =
289
- databaseTypeNeo4j
290
- ? "HAS_" + _.toUpper(_.snakeCase(relationship.otherEntityRelationshipName))
291
- : relationship.otherEntityRelationshipName;
292
- const otherEntityRelationshipNamePlural = relationship.otherEntityRelationshipNamePlural;
293
- const otherEntityIsEmbedded = relationship.otherEntityIsEmbedded;
294
- const relationshipName =
295
- databaseTypeNeo4j
296
- ? "HAS_" + _.toUpper(_.snakeCase(relationship.relationshipName))
297
- : relationship.relationshipName;
298
- const relationshipFieldName = relationship.relationshipFieldName;
299
- const relationshipFieldNamePlural = relationship.relationshipFieldNamePlural;
300
- const relationshipValidate = relationship.relationshipValidate;
301
- const relationshipRequired = relationship.relationshipRequired;
302
- const otherEntityNameCapitalized = relationship.otherEntityNameCapitalized;
303
- const ownerSide = relationship.ownerSide || false;
304
- const isUsingMapsId = relationship.id;
305
- if (otherEntityRelationshipName) {
306
- mappedBy = otherEntityRelationshipName.charAt(0).toLowerCase() + otherEntityRelationshipName.slice(1)
307
- }
308
-
309
- // An embedded entity should not reference entities that embeds it, unless the other entity is also embedded
310
- if (embedded && !otherEntityIsEmbedded && ownerSide === false) {
311
- return;
312
- }
313
-
314
- if (typeof relationship.javadoc != 'undefined') { _%>
315
- <%- formatAsFieldJavadoc(relationship.javadoc) %>
316
- <%_ if (!hasDto) { _%>
317
- @ApiModelProperty(value = "<%- formatAsApiDescription(relationship.javadoc) %>")
318
- <%_ } _%>
319
- <%_ } _%>
320
- <%_ if (relationship.relationshipOneToMany) { _%>
321
- <%_ if (databaseTypeSql && !reactive) { _%>
322
- @OneToMany(mappedBy = "<%= otherEntityRelationshipName %>")
323
- <%_ if (enableHibernateCache) { _%>
324
- @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
325
- <%_ } _%>
326
- <%_ } else if (databaseTypeMongodb || databaseTypeCouchbase) {
327
- if (databaseTypeMongodb && !otherEntityIsEmbedded) { _%>
328
- @DBRef
329
- <%_ } _%>
330
- @Field("<%= relationshipFieldName %>")
331
- <%_ if (databaseTypeCouchbase && !otherEntityIsEmbedded) { _%>
332
- private Set<String> <%= relationshipFieldName %>Ids = new HashSet<>();
333
-
334
- @N1qlJoin(on = "lks.<%= relationshipFieldName %>=meta(rks).id", fetchType = FetchType.IMMEDIATE)
335
- <%_ } _%>
336
- <%_ } else if (databaseTypeNeo4j) { _%>
337
- @Relationship("<%= relationshipName %>")
338
- <%_ } else if (databaseTypeSql && reactive) { _%>
339
- @Transient
340
- <%_ } _%>
341
- <%_ if (relationship.ignoreOtherSideProperty) { _%>
342
- @JsonIgnoreProperties(value = {
343
- <%_ relationship.otherEntity.relationships.forEach(otherRelationship => { _%>
344
- "<%= otherRelationship.relationshipReferenceField %>",
345
- <%_ }); _%>
346
- }, allowSetters = true)
347
- <%_ } _%>
348
- private Set<<%= asEntity(otherEntityNameCapitalized) %>> <%= relationshipFieldNamePlural %> = new HashSet<>();
349
-
350
- <%_ } else if (relationship.relationshipManyToOne) {
351
- if (databaseTypeSql && !reactive) { _%>
352
- @ManyToOne<% if (relationshipRequired) { %>(optional = false)<% } %>
353
- <%_ if (relationshipValidate) { _%>
354
- <%- include('relationship_validators', { relationship }); -%>
355
- <%_ } _%>
356
- <%_ } else if ((databaseTypeMongodb || databaseTypeCouchbase) && !otherEntityIsEmbedded) {
357
- if (databaseTypeMongodb) { _%>
358
- @DBRef
359
- <%_ } _%>
360
- @Field("<%= relationshipFieldName %>")
361
- <%_ if (databaseTypeCouchbase) { _%>
362
- private String <%= relationshipFieldName %>Id;
363
-
364
- @N1qlJoin(on = "lks.<%= relationshipFieldName %>=meta(rks).id", fetchType = FetchType.IMMEDIATE)
365
- <%_ } _%>
366
- <%_ } else if (databaseTypeNeo4j) { _%>
367
- <%_ if (relationship.ignoreOtherSideProperty) { _%>
368
- @Relationship(value = "<%= otherEntityRelationshipName %>", direction = Relationship.Direction.INCOMING)
369
- <%_ } else {_%>
370
- @Relationship("<%= relationshipName %>")
371
- <%_ } _%>
372
- <%_ } _%>
373
- <%_ if (relationship.ignoreOtherSideProperty) { _%>
374
- @JsonIgnoreProperties(value = {
375
- <%_ relationship.otherEntity.relationships.forEach(otherRelationship => { _%>
376
- "<%= otherRelationship.relationshipReferenceField %>",
377
- <%_ }); _%>
378
- }, allowSetters = true)
379
- <%_ } _%>
380
- <%_ if (databaseTypeSql && reactive) { _%>
381
- @Transient
382
- <%_ } _%>
383
- private <%= asEntity(otherEntityNameCapitalized) %> <%= relationshipFieldName %>;
384
-
385
- <%_ if (databaseTypeSql && reactive) { _%>
386
- @Column("<%= getColumnName(relationshipName) %>_id")
387
- private <%= relationship.otherEntity.primaryKey.type %> <%= relationshipFieldName %>Id;
388
- <%_ } _%>
389
-
390
- <%_ } else if (relationship.relationshipManyToMany) { _%>
391
- <%_ if (databaseTypeSql && !reactive) { _%>
392
- @ManyToMany<% if (!ownerSide) { %>(mappedBy = "<%= otherEntityRelationshipNamePlural %>")<% } %>
393
- <%_ if (enableHibernateCache) {_%>
394
- @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
395
- <%_ } if (ownerSide) { _%>
396
- <%_ if (relationshipValidate) { _%>
397
- <%- include('relationship_validators', { relationship }); -%>
398
- <%_ } _%>
399
- @JoinTable(name = "<%= relationship.joinTable.name %>",
400
- joinColumns = <%= entity.primaryKey.fields.length > 1 ? '{' : '' %>
401
- <%_ entity.primaryKey.fields.forEach((field, idx) => { _%>
402
- <%= idx === 0 ? '' : ',' %>@JoinColumn(name = "<%= `${entityTableName}_${field.columnName}` %>")
403
- <%_ }); _%>
404
- <%= entity.primaryKey.fields.length > 1 ? '}' : '' %>,
405
- inverseJoinColumns = <%= relationship.otherEntity.primaryKey.fields.length > 1 ? '{' : '' %>
406
- <%_ relationship.otherEntity.primaryKey.fields.forEach((field, idx) => { _%>
407
- <%= idx === 0 ? '' : ',' %>@JoinColumn(name = "<%= `${relationship.columnName}_${field.columnName}` %>"))
408
- <%_ }); _%>
409
- <%= relationship.otherEntity.primaryKey.fields.length > 1 ? '}' : '' %>
410
- <%_ } _%>
411
- <%_ } else if ((databaseTypeMongodb || databaseTypeCouchbase) && !otherEntityIsEmbedded) { _%>
412
- <%_ if (databaseTypeMongodb) { _%>
413
- @DBRef
414
- <%_ } _%>
415
- @Field("<%= relationshipFieldNamePlural %>")
416
- <%_ if (databaseTypeCouchbase) { _%>
417
- private Set<String> <%= relationshipFieldName %>Ids = new HashSet<>();
418
-
419
- @N1qlJoin(on = "lks.<%= relationshipFieldNamePlural %>=meta(rks).id", fetchType = FetchType.IMMEDIATE)
420
- <%_ } _%>
421
- <%_ } else if (databaseTypeNeo4j) { _%>
422
- @Relationship(<%_
423
- if (ownerSide) { _%>"<%= relationshipName %>"<%_
424
- } else { _%>value = "<%= otherEntityRelationshipName %>", direction = Relationship.Direction.INCOMING<%_ } _%>)
425
- <%_ } _%>
426
- <%_ if (relationship.ignoreOtherSideProperty) { _%>
427
- @JsonIgnoreProperties(value = {
428
- <%_ relationship.otherEntity.relationships.forEach(otherRelationship => { _%>
429
- "<%= otherRelationship.relationshipReferenceField %>",
430
- <%_ }); _%>
431
- }, allowSetters = true)
432
- <%_ } _%>
433
- <%_ if (databaseTypeSql && reactive) { _%>
434
- @Transient
435
- <%_ } _%>
436
- private Set<<%= asEntity(otherEntityNameCapitalized) %>> <%= relationshipFieldNamePlural %> = new HashSet<>();
437
-
438
- <%_ } else {
439
- if (databaseTypeSql && !reactive) {
440
- if (relationship.ignoreOtherSideProperty) { _%>
441
- @JsonIgnoreProperties(value = {
442
- <%_ relationship.otherEntity.relationships.forEach(otherRelationship => { _%>
443
- "<%= otherRelationship.relationshipReferenceField %>",
444
- <%_ }); _%>
445
- }, allowSetters = true)
446
- <%_ } _%>
447
- <%_ if (ownerSide) { _%>
448
- @OneToOne<% if (relationshipRequired) { %>(optional = false)<% } %>
449
- <%_ if (relationshipValidate) { _%>
450
- <%- include('relationship_validators', { relationship }); -%>
451
- <%_ } _%>
452
- <%_ if (isUsingMapsId) { %>
453
- @MapsId
454
- @JoinColumn(name = "<%= relationship.otherEntity.primaryKey.fields[0].columnName %>")
455
- <%_ } else { _%>
456
- @JoinColumn(unique = true)
457
- <%_ } _%>
458
- <%_ } else { _%>
459
- @OneToOne(mappedBy = "<%= otherEntityRelationshipName %>")
460
- <%_ } _%>
461
- <%_ } else if ((databaseTypeMongodb || databaseTypeCouchbase) && !otherEntityIsEmbedded) { _%>
462
- <%_ if (databaseTypeMongodb) { _%>
463
- @DBRef
464
- <%_ } _%>
465
- @Field("<%= relationshipFieldName %>")
466
- <%_ if (databaseTypeCouchbase) { _%>
467
- private String <%= relationshipFieldName %>Id;
468
-
469
- @N1qlJoin(on = "lks.<%= relationshipFieldName %>=meta(rks).id", fetchType = FetchType.IMMEDIATE)
470
- <%_ } _%>
471
- <%_ } else if (databaseTypeSql && reactive) { _%>
472
- <%_ if (ownerSide && !isUsingMapsId) { _%>
473
- private <%= relationship.otherEntity.primaryKey.type %> <%= relationshipFieldName %>Id;
474
-
475
- <%_ } _%>
476
- @Transient
477
- <%_ } else if (databaseTypeNeo4j) { _%>
478
- @Relationship("<%= relationshipName %>")
479
- <%_ } _%>
480
- private <%= asEntity(otherEntityNameCapitalized) %> <%= relationshipFieldName %>;
481
-
482
- <%_ } _%>
483
- <%_ }); _%>
484
- // jhipster-needle-entity-add-field - JHipster will add fields here
485
- <%_ if (!embedded) { _%>
486
- public <%= primaryKey.type %> get<%= primaryKey.nameCapitalized %>() {
487
- return <%= primaryKey.name %>;
488
- }
489
-
490
- public void set<%= primaryKey.nameCapitalized %>(<%= primaryKey.type %> <%= primaryKey.name %>) {
491
- this.<%= primaryKey.name %> = <%= primaryKey.name %>;
492
- }
493
-
494
- <%_ if (fluentMethods) { _%>
495
- public <%= persistClass %> <%= primaryKey.name %>(<%= primaryKey.type %> <%= primaryKey.name %>) {
496
- this.<%= primaryKey.name %> = <%= primaryKey.name %>;
497
- return this;
498
- }
499
- <%_ } _%>
500
- <%_ } _%>
501
- <%_ for (const field of fields.filter(field => !field.id && !field.transient)) {
502
- const fieldType = field.fieldType;
503
- const fieldName = field.fieldName;
504
- const fieldInJavaBeanMethod = field.fieldInJavaBeanMethod; _%>
505
-
506
- <%_ if (!field.blobContentTypeText) { _%>
507
- public <%= fieldType %> get<%= fieldInJavaBeanMethod %>() {
508
- <%_ } else { _%>
509
- public String get<%= fieldInJavaBeanMethod %>() {
510
- <%_ } _%>
511
- return this.<%= fieldName %>;
512
- }
513
- <%_ if (fluentMethods) { _%>
514
-
515
- <%_ if (!field.blobContentTypeText) { _%>
516
- public <%= persistClass %> <%= fieldName %>(<%= fieldType %> <%= fieldName %>) {
517
- <%_ } else { _%>
518
- public <%= persistClass %> <%= fieldName %>(String <%= fieldName %>) {
519
- <%_ } _%>
520
- <%_ if (field.fieldTypeBigDecimal && databaseTypeSql && reactive) { _%>
521
- this.<%= fieldName %> = <%= fieldName %> != null ? <%= fieldName %>.stripTrailingZeros() : null;
522
- <%_ } else { _%>
523
- this.<%= fieldName %> = <%= fieldName %>;
524
- <%_ } _%>
525
- return this;
526
- }
527
- <%_ } _%>
528
-
529
- <%_ if (!field.blobContentTypeText) { _%>
530
- public void set<%= fieldInJavaBeanMethod %>(<%= fieldType %> <%= fieldName %>) {
531
- <%_ } else { _%>
532
- public void set<%= fieldInJavaBeanMethod %>(String <%= fieldName %>) {
533
- <%_ } _%>
534
- <%_ if (field.fieldTypeBigDecimal && databaseTypeSql && reactive) { _%>
535
- this.<%= fieldName %> = <%= fieldName %> != null ? <%= fieldName %>.stripTrailingZeros() : null;
536
- <%_ } else { _%>
537
- this.<%= fieldName %> = <%= fieldName %>;
538
- <%_ } _%>
539
- }
540
- <%_ if (field.fieldWithContentType) { _%>
541
-
542
- public String get<%= fieldInJavaBeanMethod %>ContentType() {
543
- return this.<%= fieldName %>ContentType;
544
- }
545
- <%_ if (fluentMethods) { _%>
546
-
547
- public <%= persistClass %> <%= fieldName %>ContentType(String <%= fieldName %>ContentType) {
548
- this.<%= fieldName %>ContentType = <%= fieldName %>ContentType;
549
- return this;
550
- }
551
- <%_ } _%>
552
-
553
- public void set<%= fieldInJavaBeanMethod %>ContentType(String <%= fieldName %>ContentType) {
554
- this.<%= fieldName %>ContentType = <%= fieldName %>ContentType;
555
- }
556
- <%_ } _%>
557
- <%_ } _%>
558
- <%_
559
- for (const relationship of relationships) {
560
- const relationshipFieldName = relationship.relationshipFieldName;
561
- const relationshipFieldNamePlural = relationship.relationshipFieldNamePlural;
562
- const otherEntityNameCapitalized = relationship.otherEntityNameCapitalized;
563
- const relationshipNameCapitalized = relationship.relationshipNameCapitalized;
564
- const relationshipNameCapitalizedPlural = relationship.relationshipNameCapitalizedPlural;
565
- const otherEntityName = relationship.otherEntityName;
566
- const otherEntityNamePlural = relationship.otherEntityNamePlural;
567
- const otherEntityRelationshipNameCapitalized = relationship.otherEntityRelationshipNameCapitalized;
568
- const otherEntityRelationshipNameCapitalizedPlural = relationship.otherEntityRelationshipNameCapitalizedPlural;
569
- const otherEntityIsEmbedded = relationship.otherEntityIsEmbedded;
570
- const ownerSide = relationship.ownerSide || false;
571
-
572
- // An embedded entity should not reference entities that embeds it, unless the other entity is also embedded
573
- if (embedded && !otherEntityIsEmbedded && !ownerSide) {
574
- continue;
575
- }
576
-
577
- const id = relationship.id;
578
- const reactiveRelationshipWithId = (databaseTypeSql && reactive && !(relationship.relationshipOneToOne &&
579
- (!ownerSide || (ownerSide && id))));
580
- _%>
581
- <%_ if (relationship.relationshipOneToMany || relationship.relationshipManyToMany) { _%>
582
-
583
- public Set<<%= asEntity(otherEntityNameCapitalized) %>> get<%= relationshipNameCapitalizedPlural %>() {
584
- return this.<%= relationshipFieldNamePlural %>;
585
- }
586
- <%_ if (fluentMethods) { _%>
587
-
588
- public <%= persistClass %> <%= relationshipFieldNamePlural %>(Set<<%= asEntity(otherEntityNameCapitalized) %>> <%= otherEntityNamePlural %>) {
589
- this.set<%= relationshipNameCapitalizedPlural %>(<%= otherEntityNamePlural %>);
590
- <%_ if (databaseTypeCouchbase && !otherEntityIsEmbedded) { _%>
591
- this.<%= relationshipFieldName %>Ids = <%= otherEntityNamePlural %>.stream()
592
- .map(<%= asEntity(otherEntityNameCapitalized) %>::getId)
593
- .collect(Collectors.toSet());
594
- <%_ } _%>
595
- return this;
596
- }
597
-
598
- public <%= persistClass %> add<%= relationshipNameCapitalized %>(<%= asEntity(otherEntityNameCapitalized) %> <%= otherEntityName %>) {
599
- this.<%= relationshipFieldNamePlural %>.add(<%= otherEntityName %>);
600
- <%_ if (!otherEntityIsEmbedded || embedded && ownerSide) { _%>
601
- <%_ if (databaseTypeCouchbase && !otherEntityIsEmbedded) { _%>
602
- this.<%= relationshipFieldName %>Ids.add(<%= otherEntityName %>.get<%= primaryKey.nameCapitalized %>());
603
- <%_ } _%>
604
- <%_ if (relationship.otherRelationship) { _%>
605
- <%_ if (relationship.relationshipOneToMany) { _%>
606
- <%_ if (!databaseTypeNeo4j) { _%>
607
- <%= otherEntityName %>.set<%= otherEntityRelationshipNameCapitalized %>(this);
608
- <%_ } _%>
609
- <%_ } else if (otherEntityRelationshipNameCapitalizedPlural && !relationship.otherEntityUser && relationship.relationshipManyToMany) {
610
- /* JHipster version < 3.6.0 didn't ask for this relationship name */ _%>
611
- <%= otherEntityName %>.get<%= otherEntityRelationshipNameCapitalizedPlural %>().add(this);
612
- <%_ } _%>
613
- <%_ } _%>
614
- <%_ } _%>
615
- return this;
616
- }
617
-
618
- public <%= persistClass %> remove<%= relationshipNameCapitalized %>(<%= asEntity(otherEntityNameCapitalized) %> <%= otherEntityName %>) {
619
- this.<%= relationshipFieldNamePlural %>.remove(<%= otherEntityName %>);
620
- <%_ if (!otherEntityIsEmbedded || (embedded && ownerSide)) { _%>
621
- <%_ if (databaseTypeCouchbase && !otherEntityIsEmbedded) { _%>
622
- this.<%= relationshipFieldName %>Ids.remove(<%= otherEntityName %>.get<%= primaryKey.nameCapitalized %>());
623
- <%_ } _%>
624
- <%_ if (relationship.otherRelationship) { _%>
625
- <%_ if (relationship.relationshipOneToMany) { _%>
626
- <%_ if (!databaseTypeNeo4j) { _%>
627
- <%= otherEntityName %>.set<%= otherEntityRelationshipNameCapitalized %>(null);
628
- <%_ } _%>
629
- <%_ } else if (otherEntityRelationshipNameCapitalizedPlural && !relationship.otherEntityUser && relationship.relationshipManyToMany) {
630
- /* JHipster version < 3.6.0 didn't ask for this relationship name */ _%>
631
- <%= otherEntityName %>.get<%= otherEntityRelationshipNameCapitalizedPlural %>().remove(this);
632
- <%_ } _%>
633
- <%_ } _%>
634
- <%_ } _%>
635
- return this;
636
- }
637
- <%_ } _%>
638
-
639
- public void set<%= relationshipNameCapitalizedPlural %>(Set<<%= asEntity(otherEntityNameCapitalized) %>> <%= otherEntityNamePlural %>) {
640
- <%_ if (relationship.otherRelationship && !relationship.reference.owned) { _%>
641
- if (this.<%= relationshipFieldNamePlural %> != null) {
642
- <%_ if (relationship.otherRelationship.reference.collection) { _%>
643
- this.<%= relationshipFieldNamePlural %>.forEach(i -> i.remove<%= otherEntityRelationshipNameCapitalized %>(this));
644
- <%_ } else { _%>
645
- this.<%= relationshipFieldNamePlural %>.forEach(i -> i.set<%= otherEntityRelationshipNameCapitalized %>(null));
646
- <%_ } _%>
647
- }
648
- if (<%= otherEntityNamePlural %> != null) {
649
- <%_ if (relationship.otherRelationship.reference.collection) { _%>
650
- <%= otherEntityNamePlural %>.forEach(i -> i.add<%= otherEntityRelationshipNameCapitalized %>(this));
651
- <%_ } else { _%>
652
- <%= otherEntityNamePlural %>.forEach(i -> i.set<%= otherEntityRelationshipNameCapitalized %>(this));
653
- <%_ } _%>
654
- }
655
- <%_ } _%>
656
- this.<%= relationshipFieldNamePlural %> = <%= otherEntityNamePlural %>;
657
- <%_ if (databaseTypeCouchbase && !otherEntityIsEmbedded) { _%>
658
- this.<%= relationshipFieldName %>Ids = <%= otherEntityNamePlural %>.stream()
659
- .map(<%= asEntity(otherEntityNameCapitalized) %>::getId)
660
- .collect(Collectors.toSet());
661
- <%_ } _%>
662
- }
663
- <%_ } else { _%>
664
-
665
- public <%= asEntity(otherEntityNameCapitalized) %> get<%= relationshipNameCapitalized %>() {
666
- return this.<%= relationshipFieldName %>;
667
- }
668
- <%_ if (fluentMethods) { _%>
669
-
670
- public <%= persistClass %> <%= relationshipFieldName %>(<%= asEntity(otherEntityNameCapitalized) %> <%= otherEntityName %>) {
671
- this.set<%= relationshipNameCapitalized %>(<%= otherEntityName %>);
672
- <%_ if ((databaseTypeCouchbase && !otherEntityIsEmbedded) || reactiveRelationshipWithId) { _%>
673
- this.<%= relationshipFieldName %>Id = <%= otherEntityName %> != null ? <%= otherEntityName %>.get<%= relationship.otherEntity.primaryKey.nameCapitalized %>() : null;
674
- <%_ } _%>
675
- return this;
676
- }
677
- <%_ } _%>
678
-
679
- public void set<%= relationshipNameCapitalized %>(<%= asEntity(otherEntityNameCapitalized) %> <%= otherEntityName %>) {
680
- <%_ if (relationship.otherRelationship && !relationship.reference.owned) { _%>
681
- if (this.<%= relationshipFieldName %> != null) {
682
- <%_ if (relationship.otherRelationship.reference.collection) { _%>
683
- this.<%= relationshipFieldName %>.remove<%= otherEntityRelationshipNameCapitalized %>(this);
684
- <%_ } else { _%>
685
- this.<%= relationshipFieldName %>.set<%= otherEntityRelationshipNameCapitalized %>(null);
686
- <%_ } _%>
687
- }
688
- if (<%= otherEntityName %> != null) {
689
- <%_ if (relationship.otherRelationship.reference.collection) { _%>
690
- <%= otherEntityName %>.add<%= otherEntityRelationshipNameCapitalized %>(this);
691
- <%_ } else { _%>
692
- <%= otherEntityName %>.set<%= otherEntityRelationshipNameCapitalized %>(this);
693
- <%_ } _%>
694
- }
695
- <%_ } _%>
696
- this.<%= relationshipFieldName %> = <%= otherEntityName %>;
697
- <%_ if ((databaseTypeCouchbase && !otherEntityIsEmbedded) || reactiveRelationshipWithId) { _%>
698
- this.<%= relationshipFieldName %>Id = <%= otherEntityName %> != null ? <%= otherEntityName %>.get<%= relationship.otherEntity.primaryKey.nameCapitalized %>() : null;
699
- <%_ } _%>
700
- }
701
- <%_ if (reactiveRelationshipWithId) { _%>
702
-
703
- public <%= relationship.otherEntity.primaryKey.type %> get<%= relationshipNameCapitalized %>Id() {
704
- return this.<%= relationshipFieldName %>Id;
705
- }
706
-
707
- public void set<%= relationshipNameCapitalized %>Id(<%= relationship.otherEntity.primaryKey.type %> <%= otherEntityName %>) {
708
- this.<%= relationshipFieldName %>Id = <%= otherEntityName %>;
709
- }
710
- <%_ } _%>
711
- <%_ } _%>
712
- <%_ } _%>
713
- // jhipster-needle-entity-add-getters-setters - JHipster will add getters and setters here
714
-
715
- @Override
716
- public boolean equals(Object o) {
717
- if (this == o) {
718
- return true;
719
- }
720
- if (!(o instanceof <%= persistClass %>)) {
721
- return false;
722
- }
723
- <%_ if (!embedded) { _%>
724
- return <%= primaryKey.name %> != null && <%= primaryKey.name %>.equals(((<%= persistClass %>) o).<%= primaryKey.name %>);
725
- <%_ } else { _%>
726
- return false;
727
- <%_ } _%>
728
- }
729
-
730
- @Override
731
- public int hashCode() {
732
- // see https://vladmihalcea.com/how-to-implement-equals-and-hashcode-using-the-jpa-entity-identifier/
733
- return getClass().hashCode();
734
- }
735
-
736
- // prettier-ignore
737
- @Override
738
- public String toString() {
739
- return "<%= persistClass %>{" +
740
- <%_ if (!embedded) { _%>
741
- "<%= primaryKey.name %>=" + get<%= primaryKey.nameCapitalized %>() +
742
- <%_ } _%>
743
- <%_ for (const field of fields.filter(field => !field.id && !field.transient)) {
744
- const fieldName = field.fieldName;
745
- const fieldInJavaBeanMethod = field.fieldInJavaBeanMethod;
746
- const isNumeric = field.fieldTypeNumeric; _%>
747
- ", <%= fieldName %>=<% if (! isNumeric) { %>'<% } %>" + get<%= fieldInJavaBeanMethod %>() <% if (! isNumeric) { %>+ "'" <% } %>+
748
- <%_ if (field.fieldWithContentType) { _%>
749
- ", <%= fieldName %>ContentType='" + get<%= fieldInJavaBeanMethod %>ContentType() + "'" +
750
- <%_ } _%>
751
- <%_ } _%>
752
- <%_ for (const relationship of relationships) {
753
- const otherEntityIsEmbedded = relationship.otherEntityIsEmbedded;
754
- const relationshipFieldName = relationship.relationshipFieldName;
755
- const relationshipNameCapitalized = relationship.relationshipNameCapitalized;
756
- const relationshipFieldNamePlural = relationship.relationshipFieldNamePlural;
757
- const relationshipNameCapitalizedPlural = relationship.relationshipNameCapitalizedPlural;
758
- const ownerSide = relationship.ownerSide; _%>
759
- <%_ if (otherEntityIsEmbedded) {
760
- if (relationship.relationshipManyToOne) { _%>
761
- ", <%= relationshipFieldNamePlural %>='" + get<%= relationshipNameCapitalizedPlural %>() + "'" +
762
- <%_ } else if (relationship.relationshipOneToOne && ownerSide) { _%>
763
- ", <%= relationshipFieldName %>='" + get<%= relationshipNameCapitalized %>() + "'" +
764
- <%_ } _%>
765
- <%_ } _%>
766
- <%_ } _%>
767
- "}";
768
- }
769
- }