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
@@ -19,44 +19,32 @@
19
19
  package <%= packageName %>.repository;
20
20
 
21
21
  import com.couchbase.client.java.query.QueryScanConsistency;
22
- import org.springframework.data.couchbase.repository.<% if (reactive) { %>Reactive<% } %>CouchbaseRepository;
23
- import org.springframework.data.couchbase.repository.ScanConsistency;
24
- import org.springframework.data.domain.Pageable;
25
- import org.springframework.data.domain.Sort;
22
+ import org.springframework.data.couchbase.repository.*;
23
+ import org.springframework.data.domain.*;
26
24
  import org.springframework.data.repository.NoRepositoryBean;
27
- <%_ if (searchEngineCouchbase) { _%>
28
- import com.couchbase.client.java.search.SearchQuery;
29
- import com.couchbase.client.java.search.queries.DocIdQuery;
30
- import com.couchbase.client.java.search.queries.QueryStringQuery;
31
- import java.util.LinkedList;
32
- <%_ } _%>
33
25
 
34
26
  <%_ if (reactive) { _%>
35
27
  import reactor.core.publisher.Flux;
36
28
  import reactor.core.publisher.Mono;
37
29
  <%_ } else { _%>
38
- import org.springframework.data.domain.Page;
39
- <%_ } _%>
40
-
41
30
  import java.util.List;
31
+ <%_ } _%>
42
32
  import java.util.stream.Collectors;
43
- import org.springframework.data.couchbase.core.query.Query;
44
33
 
45
34
  import static java.lang.String.format;
46
35
 
47
36
  /**
48
- * Couchbase specific {@link org.springframework.data.repository.Repository} interface uses N1QL for all requests.
37
+ * Couchbase specific {@link org.springframework.data.repository.Repository} interface that use KV first approach to optimize requests.
49
38
  */
50
39
  <%_
51
40
  let listOrFlux = reactive ? 'Flux' : 'List';
52
41
  let pageOrFlux = reactive ? 'Flux' : 'Page';
53
42
  _%>
54
43
  @NoRepositoryBean
44
+ @ScanConsistency(query = QueryScanConsistency.REQUEST_PLUS)
55
45
  public interface JHipsterCouchbaseRepository<T, ID> extends <% if (reactive) { %>Reactive<% } %>CouchbaseRepository<T, ID> {
56
46
 
57
- static String pageableStatement(Pageable pageable) {
58
- return pageableStatement(pageable, "");
59
- }
47
+ String FIND_IDS_QUERY = "SELECT meta().id as __id, 0 as __cas FROM #{#n1ql.bucket} WHERE #{#n1ql.filter}";
60
48
 
61
49
  static String pageableStatement(Pageable pageable, String prefix) {
62
50
  Sort sort = Sort.by(
@@ -72,43 +60,57 @@ public interface JHipsterCouchbaseRepository<T, ID> extends <% if (reactive) { %
72
60
  return order.withProperty(format("%s.%s", prefix, property));
73
61
  })
74
62
  .collect(Collectors.toList()));
75
- return new Query()
63
+ return new org.springframework.data.couchbase.core.query.Query()
76
64
  .limit(pageable.getPageSize())
77
65
  .skip(pageable.getOffset())
78
66
  .with(sort)
79
67
  .export();
80
68
  }
81
69
 
82
- <%_ if (searchEngineCouchbase) { _%>
83
- static SearchQuery searchQuery(String queryString) {
84
- List<String> ids = new LinkedList<>();
85
- for (String r : queryString.split(" ")) {
86
- if (r.indexOf("id:") == 0) {
87
- ids.add(r.substring(3));
88
- queryString = queryString.replace(r, "").replaceAll("[ ]+", " ").trim();
89
- }
90
- }
91
- QueryStringQuery query = SearchQuery.queryString(queryString);
92
- if (ids.size() != 0) {
93
- DocIdQuery docIdQuery = SearchQuery.docId(ids.toArray(new String[0]));
94
- if (!queryString.isEmpty()) {
95
- return SearchQuery.conjuncts(query, docIdQuery);
96
- }
97
- return docIdQuery;
98
- }
99
- return query;
70
+ default <%= listOrFlux %><T> findAll() {
71
+ return findAllById(toIds(findAllIds()));
72
+ }
73
+
74
+ default <%= pageOrFlux %><T> findAll<% if (reactive) { %>By<% } %>(Pageable pageable) {
75
+ <%_ if (reactive) { _%>
76
+ return findAllById(toIds(findAllIds(pageable)));
77
+ <%_ } else { _%>
78
+ Page<T> page = findAllIds(pageable);
79
+ return new PageImpl<>(findAllById(toIds(page.getContent())), pageable, page.getTotalElements());
80
+ <%_ } _%>
81
+ }
82
+
83
+ default <%= listOrFlux %><T> findAll(Sort sort) {
84
+ return findAllById(toIds(findAllIds(sort)));
100
85
  }
86
+
87
+ default <% if (reactive) { %>Mono<Void><% } else { %>void<% } %> deleteAll() {
88
+ <%_ if (reactive) { _%>
89
+ return toIds(findAllIds())
90
+ .collectList()
91
+ .flatMap(this::deleteAllById);
92
+ <%_ } else { _%>
93
+ deleteAllById(toIds(findAllIds()));
101
94
  <%_ } _%>
95
+ }
102
96
 
103
- @ScanConsistency(query = QueryScanConsistency.REQUEST_PLUS)
104
- <%= listOrFlux %><T> findAll();
97
+ @Query(FIND_IDS_QUERY)
98
+ <%= listOrFlux %><T> findAllIds();
105
99
 
106
- @ScanConsistency(query = QueryScanConsistency.REQUEST_PLUS)
107
- <%= listOrFlux %><T> findAll(Sort sort);
100
+ @Query(FIND_IDS_QUERY)
101
+ <%= pageOrFlux %><T> findAllIds(Pageable pageable);
108
102
 
109
- @ScanConsistency(query = QueryScanConsistency.REQUEST_PLUS)
110
- <%= pageOrFlux %><T> findAll<% if (reactive) { %>By<% } %>(Pageable pageable);
103
+ @Query(FIND_IDS_QUERY)
104
+ <%= listOrFlux %><T> findAllIds(Sort sort);
111
105
 
112
- @ScanConsistency(query = QueryScanConsistency.REQUEST_PLUS)
113
- <% if (reactive) { %>Mono<Void><% } else { %>void<% } %> deleteAll();
106
+ @SuppressWarnings("unchecked")
107
+ default <%= listOrFlux %><ID> toIds(<%= listOrFlux %><T> entities) {
108
+ <%_ if (reactive) { _%>
109
+ return entities.mapNotNull(entity -> (ID) getEntityInformation().getId(entity));
110
+ <%_ } else { _%>
111
+ return entities.stream()
112
+ .map(entity -> (ID) getEntityInformation().getId(entity))
113
+ .collect(Collectors.toList());
114
+ <%_ } _%>
115
+ }
114
116
  }
@@ -31,11 +31,11 @@ import static <%= packageName %>.config.Constants.ID_DELIMITER;
31
31
  public interface PersistentTokenRepository extends CouchbaseRepository<PersistentToken, String> {
32
32
 
33
33
  default Optional<PersistentToken> findBySeries(String series) {
34
- return findById(PersistentToken.PREFIX + ID_DELIMITER + series);
34
+ return findById(series);
35
35
  }
36
36
 
37
37
  default void deleteBySeries(String series) {
38
- deleteById(PersistentToken.PREFIX + ID_DELIMITER + series);
38
+ deleteById(series);
39
39
  }
40
40
 
41
41
  default List<PersistentToken> findByUser(<%= asEntity('User') %> user) {
@@ -2,7 +2,7 @@
2
2
  "login": "admin",
3
3
  <%_ if (!authenticationTypeOauth2) { _%>
4
4
  "password": "$2a$10$gSAhZrxMllrbgj/kkK9UceBPpChGWJA7SYIb1Mqo.n5aNLq1/oRrC",
5
- <% } %>
5
+ <%_ } _%>
6
6
  "firstName": "Administrator",
7
7
  "lastName": "Administrator",
8
8
  "email": "admin@localhost",
@@ -14,5 +14,5 @@
14
14
  "ROLE_USER",
15
15
  "ROLE_ADMIN"
16
16
  ],
17
- "_class": "<%= packageName %>.domain.<%= asEntity('User') %>"
17
+ "type": "user"
18
18
  }
@@ -2,7 +2,7 @@
2
2
  "login": "user",
3
3
  <%_ if (!authenticationTypeOauth2) { _%>
4
4
  "password": "$2a$10$VEjxo0jq2YG9Rbk2HmX9S.k1uZBGYUHdUcid3g/vfiEl7lwWgOH/K",
5
- <% } %>
5
+ <%_ } _%>
6
6
  "firstName": "User",
7
7
  "lastName": "User",
8
8
  "email": "user@localhost",
@@ -13,5 +13,5 @@
13
13
  "authorities": [
14
14
  "ROLE_USER"
15
15
  ],
16
- "_class": "<%= packageName %>.domain.<%= asEntity('User') %>"
16
+ "type": "user"
17
17
  }
@@ -0,0 +1,34 @@
1
+ CREATE INDEX user_mail ON `${bucket}`.`${scope}`.`user`(type, LOWER(email))
2
+ WHERE `type` = "user"
3
+ WITH { "defer_build" : true };
4
+
5
+ CREATE INDEX user_activationKey ON `${bucket}`.`${scope}`.`user`(activationKey)
6
+ WHERE `type` = "user"
7
+ WITH { "defer_build" : true };
8
+
9
+ CREATE INDEX user_resetKey ON `${bucket}`.`${scope}`.`user`(resetKey)
10
+ WHERE `type` = "user"
11
+ WITH { "defer_build" : true };
12
+
13
+ CREATE INDEX user_activated ON `${bucket}`.`${scope}`.`user`(activated)
14
+ WHERE `type` = "user"
15
+ AND activated = true
16
+ WITH { "defer_build" : true };
17
+
18
+ CREATE INDEX user_non_activated ON `${bucket}`.`${scope}`.`user`(createdDate)
19
+ WHERE `type` = "user"
20
+ AND activated = false
21
+ AND activationKey IS NOT NULL
22
+ WITH { "defer_build" : true };
23
+
24
+ <%_ if (isUsingBuiltInAuthority()) { _%>
25
+ CREATE INDEX authority_type ON `${bucket}`.`${scope}`.`authority`(type)
26
+ WHERE `type` = "authority"
27
+ WITH { "defer_build" : true };
28
+ <%_ } _%>
29
+
30
+ <%_ if (authenticationTypeSession) { _%>
31
+ CREATE INDEX token_date ON `${bucket}`.`${scope}`.`persistentToken` %>(tokenDate)
32
+ WHERE `type` = "persistentToken"
33
+ WITH { "defer_build" : true };
34
+ <%_ } _%>
@@ -0,0 +1,8 @@
1
+ CREATE COLLECTION `${bucket}`.`${scope}`.`user`;
2
+
3
+ <%_ if (isUsingBuiltInAuthority()) { _%>
4
+ CREATE COLLECTION `${bucket}`.`${scope}`.`authority`;
5
+ <%_ } _%>
6
+ <%_ if (authenticationTypeSession) { _%>
7
+ CREATE COLLECTION `${bucket}`.`${scope}`.`persistentToken`;
8
+ <%_ } _%>
@@ -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://www.jhipster.tech/
5
5
  for more information.
@@ -20,8 +20,7 @@ package <%= packageName %>;
20
20
 
21
21
  import org.junit.jupiter.api.extension.BeforeAllCallback;
22
22
  import org.junit.jupiter.api.extension.ExtensionContext;
23
- import org.testcontainers.couchbase.BucketDefinition;
24
- import org.testcontainers.couchbase.CouchbaseContainer;
23
+ import org.testcontainers.couchbase.*;
25
24
  import org.testcontainers.utility.DockerImageName;
26
25
 
27
26
  import java.util.concurrent.atomic.AtomicBoolean;
@@ -43,12 +42,14 @@ public class CouchbaseTestContainerExtension implements BeforeAllCallback {
43
42
  .asCompatibleSubstituteFor("couchbase/server");
44
43
  couchbase = new CouchbaseContainer(dockerImage)
45
44
  .withBucket(new BucketDefinition(getBucketName()).withQuota(100))
45
+ .withServiceQuota(CouchbaseService.SEARCH, 1024)
46
46
  .withCredentials("user", "secret");
47
47
  couchbase.start();
48
48
  System.setProperty("spring.couchbase.connection-string", couchbase.getConnectionString());
49
49
  System.setProperty("spring.couchbase.username", couchbase.getUsername());
50
50
  System.setProperty("spring.couchbase.password", couchbase.getPassword());
51
51
  System.setProperty("jhipster.database.couchbase.bucket-name", getBucketName());
52
+ System.setProperty("jhipster.database.couchbase.scope-name", "testScope");
52
53
  started.set(true);
53
54
  }
54
55
  }
@@ -27,12 +27,12 @@ import java.util.stream.Stream;
27
27
 
28
28
  import static org.assertj.core.api.Assertions.assertThat;
29
29
 
30
- class JHipsterCouchbaseRepositoryTest {
30
+ class CouchbaseSearchRepositoryTest {
31
31
 
32
32
  @MethodSource
33
33
  @ParameterizedTest
34
34
  void queryString(String query, SearchQuery ftsQuery) {
35
- assertThat(JHipsterCouchbaseRepository.searchQuery(query).toString()).isEqualTo(ftsQuery.toString());
35
+ assertThat(CouchbaseSearchRepository.searchQuery(query).toString()).isEqualTo(ftsQuery.toString());
36
36
  }
37
37
 
38
38
  @SuppressWarnings("unused")
@@ -0,0 +1,25 @@
1
+ # See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.209.6/containers/java/.devcontainer/base.Dockerfile
2
+
3
+ # [Choice] Java version (use -bullseye variants on local arm64/Apple Silicon): 11, 17, 11-bullseye, 17-bullseye, 11-buster, 17-buster
4
+ ARG VARIANT="11"
5
+ FROM mcr.microsoft.com/vscode/devcontainers/java:0-${VARIANT}
6
+
7
+ # [Option] Install Maven
8
+ ARG INSTALL_MAVEN="false"
9
+ ARG MAVEN_VERSION=""
10
+ # [Option] Install Gradle
11
+ ARG INSTALL_GRADLE="false"
12
+ ARG GRADLE_VERSION=""
13
+ RUN if [ "${INSTALL_MAVEN}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/sdkman/bin/sdkman-init.sh && sdk install maven \"${MAVEN_VERSION}\""; fi \
14
+ && if [ "${INSTALL_GRADLE}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/sdkman/bin/sdkman-init.sh && sdk install gradle \"${GRADLE_VERSION}\""; fi
15
+
16
+ # [Choice] Node.js version: none, lts/*, 16, 14, 12, 10
17
+ ARG NODE_VERSION="none"
18
+ RUN if [ "${NODE_VERSION}" != "none" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
19
+
20
+ # [Optional] Uncomment this section to install additional OS packages.
21
+ # RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
22
+ # && apt-get -y install --no-install-recommends <your-package-list-here>
23
+
24
+ # [Optional] Uncomment this line to install global node packages.
25
+ # RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g <your-package-here>" 2>&1
@@ -0,0 +1,64 @@
1
+ // For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
2
+ // https://github.com/microsoft/vscode-dev-containers/tree/v0.209.6/containers/java
3
+ {
4
+ "name": "<%= capitalizedBaseName %>",
5
+ "build": {
6
+ "dockerfile": "Dockerfile",
7
+ "args": {
8
+ // Update the VARIANT arg to pick a Java version: 11, 17
9
+ // Append -bullseye or -buster to pin to an OS version.
10
+ // Use the -bullseye variants on local arm64/Apple Silicon.
11
+ "VARIANT": "11",
12
+ // Options
13
+ "INSTALL_MAVEN": "<%= buildToolMaven %>",
14
+ "INSTALL_GRADLE": "<%= buildToolGradle %>",
15
+ "NODE_VERSION": "lts/*"
16
+ }
17
+ },
18
+
19
+ // Set *default* container specific settings.json values on container create.
20
+ "settings": {
21
+ "java.home": "/docker-java-home"
22
+ },
23
+
24
+ // Add the IDs of extensions you want installed when the container is created.
25
+ "extensions": [
26
+ <%_ if(clientFrameworkAngular) { _%>
27
+ "angular.ng-template",
28
+ <%_ } _%>
29
+ <%_ if(!skipClient) { _%>
30
+ "christian-kohler.npm-intellisense",
31
+ "firsttris.vscode-jest-runner",
32
+ "ms-vscode.vscode-typescript-tslint-plugin",
33
+ "dbaeumer.vscode-eslint",
34
+ <%_ } _%>
35
+ "vscjava.vscode-java-pack",
36
+ "pivotal.vscode-boot-dev-pack",
37
+ "esbenp.prettier-vscode"
38
+ ],
39
+
40
+ // Use 'forwardPorts' to make a list of ports inside the container available locally.
41
+ "forwardPorts": [
42
+ <%_ if(clientFrameworkAngular) { _%>
43
+ 4200,
44
+ <%_ } _%>
45
+ <%_ if(clientFrameworkReact || clientFrameworkVue) { _%>
46
+ 9060,
47
+ <%_ } _%>
48
+ <%_ if(!skipClient) { _%>
49
+ 3001,
50
+ 9000,
51
+ <%_ } _%>
52
+ <%= serverPort %>
53
+ ],
54
+
55
+ // Use 'postCreateCommand' to run commands after the container is created.
56
+ // "postCreateCommand": "java -version",
57
+
58
+ // Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
59
+ "remoteUser": "vscode",
60
+ "features": {
61
+ "docker-in-docker": "latest",
62
+ "docker-from-docker": "latest"
63
+ }
64
+ }
@@ -31,6 +31,10 @@ if (project.hasProperty("api-docs")) {
31
31
  profiles += ",api-docs"
32
32
  }
33
33
 
34
+ if (project.hasProperty("e2e")) {
35
+ profiles += ",e2e"
36
+ }
37
+
34
38
  springBoot {
35
39
  buildInfo()
36
40
  }
@@ -33,8 +33,8 @@ archunitJunit5Version=0.22.0
33
33
  jacksonDatabindNullableVersion=<%= JACKSON_DATABIND_NULLABLE_VERSION %>
34
34
  <%_ } _%>
35
35
  <%_ if (cacheProviderCaffeine) { _%>
36
- caffeineVersion=3.0.5
37
- typesafeConfigVersion=1.4.1
36
+ caffeineVersion=3.0.6
37
+ typesafeConfigVersion=1.4.2
38
38
  <%_ } _%>
39
39
  <%_ if (databaseTypeSql && !reactive) { _%>
40
40
  liquibaseHibernate5Version=<%= LIQUIBASE_VERSION %>
@@ -61,23 +61,23 @@ cassandraDriverVersion=4.13.0
61
61
 
62
62
  # gradle plugin version
63
63
  jibPluginVersion=<%= JIB_VERSION %>
64
- gitPropertiesPluginVersion=2.3.2
64
+ gitPropertiesPluginVersion=2.4.0
65
65
  <%_ if (!skipClient) { _%>
66
- gradleNodePluginVersion=3.1.1
66
+ gradleNodePluginVersion=3.2.1
67
67
  <%_ } _%>
68
68
  <%_ if (databaseTypeSql && !reactive) { _%>
69
69
  liquibasePluginVersion=2.1.1
70
70
  <%_ } _%>
71
71
  sonarqubePluginVersion=3.3
72
72
  <%_ if (enableSwaggerCodegen) { _%>
73
- openapiPluginVersion=5.3.1
73
+ openapiPluginVersion=5.4.0
74
74
  <%_ } _%>
75
75
  noHttpCheckstyleVersion=0.0.10
76
- checkstyleVersion=9.2.1
76
+ checkstyleVersion=10.1
77
77
  modernizerPluginVersion=1.6.2
78
78
  <%_ if (enableGradleEnterprise) { _%>
79
- gradleEnterprisePluginVersion=3.8.1
80
- gradleCommonCustomUserDataPluginVersion=1.6.2
79
+ gradleEnterprisePluginVersion=3.9
80
+ gradleCommonCustomUserDataPluginVersion=1.6.5
81
81
  <%_ } _%>
82
82
  # jhipster-needle-gradle-property - JHipster will add additional properties here
83
83
 
@@ -8,7 +8,7 @@
8
8
  # "License"); you may not use this file except in compliance
9
9
  # with the License. You may obtain a copy of the License at
10
10
  #
11
- # https://www.apache.org/licenses/LICENSE-2.0
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
12
  #
13
13
  # Unless required by applicable law or agreed to in writing,
14
14
  # software distributed under the License is distributed on an
@@ -36,6 +36,10 @@
36
36
 
37
37
  if [ -z "$MAVEN_SKIP_RC" ] ; then
38
38
 
39
+ if [ -f /usr/local/etc/mavenrc ] ; then
40
+ . /usr/local/etc/mavenrc
41
+ fi
42
+
39
43
  if [ -f /etc/mavenrc ] ; then
40
44
  . /etc/mavenrc
41
45
  fi
@@ -145,7 +149,7 @@ if [ -z "$JAVACMD" ] ; then
145
149
  JAVACMD="$JAVA_HOME/bin/java"
146
150
  fi
147
151
  else
148
- JAVACMD="`which java`"
152
+ JAVACMD="`\\unset -f command; \\command -v java`"
149
153
  fi
150
154
  fi
151
155
 
@@ -212,9 +216,9 @@ else
212
216
  echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
213
217
  fi
214
218
  if [ -n "$MVNW_REPOURL" ]; then
215
- jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
219
+ jarUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
216
220
  else
217
- jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
221
+ jarUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
218
222
  fi
219
223
  while IFS="=" read key value; do
220
224
  case "$key" in (wrapperUrl) jarUrl="$value"; break ;;
@@ -233,9 +237,9 @@ else
233
237
  echo "Found wget ... using wget"
234
238
  fi
235
239
  if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
236
- wget "$jarUrl" -O "$wrapperJarPath"
240
+ wget "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath"
237
241
  else
238
- wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath"
242
+ wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath"
239
243
  fi
240
244
  elif command -v curl > /dev/null; then
241
245
  if [ "$MVNW_VERBOSE" = true ]; then
@@ -305,6 +309,8 @@ WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
305
309
 
306
310
  exec "$JAVACMD" \
307
311
  $MAVEN_OPTS \
312
+ $MAVEN_DEBUG_OPTS \
308
313
  -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
309
- "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
314
+ "-Dmaven.home=${M2_HOME}" \
315
+ "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
310
316
  ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"
@@ -7,7 +7,7 @@
7
7
  @REM "License"); you may not use this file except in compliance
8
8
  @REM with the License. You may obtain a copy of the License at
9
9
  @REM
10
- @REM https://www.apache.org/licenses/LICENSE-2.0
10
+ @REM http://www.apache.org/licenses/LICENSE-2.0
11
11
  @REM
12
12
  @REM Unless required by applicable law or agreed to in writing,
13
13
  @REM software distributed under the License is distributed on an
@@ -46,8 +46,8 @@ if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
46
46
  @REM Execute a user defined script before this one
47
47
  if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
48
48
  @REM check for pre script, once with legacy .bat ending and once with .cmd ending
49
- if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
50
- if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd"
49
+ if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %*
50
+ if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %*
51
51
  :skipRcPre
52
52
 
53
53
  @setlocal
@@ -120,9 +120,9 @@ SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
120
120
  set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
121
121
  set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
122
122
 
123
- set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
123
+ set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
124
124
 
125
- FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
125
+ FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
126
126
  IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B
127
127
  )
128
128
 
@@ -134,7 +134,7 @@ if exist %WRAPPER_JAR% (
134
134
  )
135
135
  ) else (
136
136
  if not "%MVNW_REPOURL%" == "" (
137
- SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
137
+ SET DOWNLOAD_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
138
138
  )
139
139
  if "%MVNW_VERBOSE%" == "true" (
140
140
  echo Couldn't find %WRAPPER_JAR%, downloading it ...
@@ -158,7 +158,13 @@ if exist %WRAPPER_JAR% (
158
158
  @REM work with both Windows and non-Windows executions.
159
159
  set MAVEN_CMD_LINE_ARGS=%*
160
160
 
161
- %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
161
+ %MAVEN_JAVA_EXE% ^
162
+ %JVM_CONFIG_MAVEN_PROPS% ^
163
+ %MAVEN_OPTS% ^
164
+ %MAVEN_DEBUG_OPTS% ^
165
+ -classpath %WRAPPER_JAR% ^
166
+ "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^
167
+ %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
162
168
  if ERRORLEVEL 1 goto error
163
169
  goto end
164
170
 
@@ -168,15 +174,15 @@ set ERROR_CODE=1
168
174
  :end
169
175
  @endlocal & set ERROR_CODE=%ERROR_CODE%
170
176
 
171
- if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost
177
+ if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost
172
178
  @REM check for post script, once with legacy .bat ending and once with .cmd ending
173
- if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
174
- if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd"
179
+ if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat"
180
+ if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd"
175
181
  :skipRcPost
176
182
 
177
183
  @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
178
- if "%MAVEN_BATCH_PAUSE%" == "on" pause
184
+ if "%MAVEN_BATCH_PAUSE%"=="on" pause
179
185
 
180
- if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
186
+ if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE%
181
187
 
182
- exit /B %ERROR_CODE%
188
+ cmd /C exit /B %ERROR_CODE%
@@ -10,22 +10,31 @@ if [ -f "$basedir/mvnw" ]; then
10
10
  PATH="$basedir/$builddir/:$PATH"
11
11
  NPM_EXE="$basedir/$builddir/node_modules/npm/bin/npm-cli.js"
12
12
  NODE_EXE="$basedir/$builddir/node"
13
- else
13
+ elif [ -f "$basedir/gradlew" ]; then
14
14
  bindir="$basedir/build/node/bin"
15
15
  repodir="$basedir/build/node/lib/node_modules"
16
16
  installCommand="$basedir/gradlew npmSetup"
17
+ else
18
+ echo "Using npm installed globally"
19
+ exec npm "$@"
17
20
  fi
18
21
 
19
- PATH="$bindir:$PATH"
20
22
  NPM_EXE="$repodir/npm/bin/npm-cli.js"
21
23
  NODE_EXE="$bindir/node"
22
24
 
23
- if ! [ -x "$NPM_EXE" ]; then
25
+ if [ ! -x "$NPM_EXE" ] || [ ! -x "$NODE_EXE" ]; then
24
26
  $installCommand || true
25
27
  fi
26
28
 
27
- if ! [ -x "$NPM_EXE" ]; then
28
- echo "Using npm installed globally"
29
+ if [ -x "$NODE_EXE" ]; then
30
+ echo "Using node installed locally $($NODE_EXE --version)"
31
+ PATH="$bindir:$PATH"
32
+ else
33
+ NODE_EXE='node'
34
+ fi
35
+
36
+ if [ ! -x "$NPM_EXE" ]; then
37
+ echo "Local npm not found, using npm installed globally"
29
38
  npm "$@"
30
39
  else
31
40
  echo "Using npm installed locally $($NODE_EXE $NPM_EXE --version)"