generator-jhipster 7.6.0 → 7.8.1

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