generator-jhipster 8.9.0 → 8.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (312) hide show
  1. package/README.md +1 -1
  2. package/dist/cli/cli.mjs +0 -13
  3. package/dist/cli/download.mjs +2 -3
  4. package/dist/cli/environment-builder.mjs +5 -3
  5. package/dist/generators/angular/generator.d.ts +10 -1
  6. package/dist/generators/angular/resources/package.json +27 -27
  7. package/dist/generators/angular/templates/README.md.jhi.client.angular.ejs +1 -1
  8. package/dist/generators/angular/templates/eslint.config.js.jhi.angular.ejs +4 -6
  9. package/dist/generators/angular/templates/src/main/webapp/app/account/activate/activate.component.spec.ts.ejs +1 -1
  10. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.html.ejs +3 -3
  11. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.spec.ts.ejs +1 -1
  12. package/dist/generators/angular/templates/src/main/webapp/app/account/password/password.component.ts.ejs +6 -4
  13. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.html.ejs +1 -1
  14. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.spec.ts.ejs +1 -1
  15. package/dist/generators/angular/templates/src/main/webapp/app/account/password-reset/init/password-reset-init.component.html.ejs +1 -1
  16. package/dist/generators/angular/templates/src/main/webapp/app/account/register/register.component.html.ejs +1 -1
  17. package/dist/generators/angular/templates/src/main/webapp/app/account/sessions/sessions.component.spec.ts.ejs +1 -1
  18. package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.html.ejs +1 -1
  19. package/dist/generators/angular/templates/src/main/webapp/app/account/settings/settings.component.spec.ts.ejs +1 -1
  20. package/dist/generators/angular/templates/src/main/webapp/app/admin/configuration/configuration.component.spec.ts.ejs +1 -1
  21. package/dist/generators/angular/templates/src/main/webapp/app/admin/health/modal/health-modal.component.ts.ejs +1 -1
  22. package/dist/generators/angular/templates/src/main/webapp/app/admin/logs/logs.component.spec.ts.ejs +1 -1
  23. package/dist/generators/angular/templates/src/main/webapp/app/admin/metrics/metrics.component.html.ejs +8 -13
  24. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.html.ejs +1 -1
  25. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/delete/user-management-delete-dialog.component.spec.ts.ejs +1 -1
  26. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/detail/user-management-detail.component.spec.ts.ejs +1 -1
  27. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.html.ejs +3 -3
  28. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/list/user-management.component.spec.ts.ejs +2 -2
  29. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/update/user-management-update.component.html.ejs +1 -1
  30. package/dist/generators/angular/templates/src/main/webapp/app/admin/user-management/update/user-management-update.component.spec.ts.ejs +3 -3
  31. package/dist/generators/angular/templates/src/main/webapp/app/app-page-title-strategy.ts.ejs +1 -3
  32. package/dist/generators/angular/templates/src/main/webapp/app/app.component.ts.ejs +1 -1
  33. package/dist/generators/angular/templates/src/main/webapp/app/core/tracker/tracker.service.ts.ejs +1 -1
  34. package/dist/generators/angular/templates/src/main/webapp/app/core/util/alert.service.ts.ejs +1 -2
  35. package/dist/generators/angular/templates/src/main/webapp/app/core/util/data-util.service.spec.ts.ejs +0 -1
  36. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.html.ejs +1 -1
  37. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/delete/_entityFile_-delete-dialog.component.spec.ts.ejs +2 -2
  38. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.html.ejs +2 -2
  39. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/detail/_entityFile_-detail.component.spec.ts.ejs +4 -5
  40. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.html.ejs +4 -4
  41. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/list/_entityFile_.component.spec.ts.ejs +2 -2
  42. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/service/_entityFile_.service.spec.ts.ejs +4 -4
  43. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.html.ejs +2 -2
  44. package/dist/generators/angular/templates/src/main/webapp/app/entities/_entityFolder_/update/_entityFile_-update.component.spec.ts.ejs +7 -7
  45. package/dist/generators/angular/templates/src/main/webapp/app/home/home.component.spec.ts.ejs +4 -4
  46. package/dist/generators/angular/templates/src/main/webapp/app/layouts/main/main.component.html.ejs +4 -4
  47. package/dist/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.spec.ts.ejs +3 -3
  48. package/dist/generators/angular/templates/src/main/webapp/app/layouts/profiles/page-ribbon.component.spec.ts.ejs +1 -1
  49. package/dist/generators/angular/templates/src/main/webapp/app/layouts/profiles/page-ribbon.component.ts.ejs +8 -6
  50. package/dist/generators/angular/templates/src/main/webapp/app/login/login.component.spec.ts.ejs +3 -3
  51. package/dist/generators/angular/templates/src/main/webapp/app/shared/alert/alert-error.component.spec.ts.ejs +8 -8
  52. package/dist/generators/angular/templates/src/main/webapp/app/shared/alert/alert.component.spec.ts.ejs +2 -2
  53. package/dist/generators/angular/templates/src/main/webapp/app/shared/pagination/item-count.component.ts.ejs +1 -1
  54. package/dist/generators/angular/templates/src/main/webapp/app/shared/sort/sort.service.ts.ejs +3 -3
  55. package/dist/generators/app/generator.d.ts +4 -1
  56. package/dist/generators/base/api.d.ts +3 -1
  57. package/dist/generators/base/shared-data.js +1 -0
  58. package/dist/generators/base/support/contents.d.ts +10 -1
  59. package/dist/generators/base/support/contents.js +9 -0
  60. package/dist/generators/base/support/index.d.ts +1 -0
  61. package/dist/generators/base/support/index.js +1 -0
  62. package/dist/generators/base/support/needles.d.ts +14 -5
  63. package/dist/generators/base/support/needles.js +21 -17
  64. package/dist/generators/base/support/os.d.ts +1 -0
  65. package/dist/generators/base/support/os.js +20 -0
  66. package/dist/generators/base/support/write-files.d.ts +18 -0
  67. package/dist/generators/base/support/write-files.js +0 -26
  68. package/dist/generators/base-application/support/prepare-entity.js +14 -26
  69. package/dist/generators/base-application/support/update-application-entities-transform.js +3 -2
  70. package/dist/generators/base-application/types.d.ts +5 -0
  71. package/dist/generators/base-core/generator.js +7 -4
  72. package/dist/generators/bootstrap/generator.d.ts +6 -1
  73. package/dist/generators/bootstrap/generator.js +31 -2
  74. package/dist/generators/bootstrap/support/auto-crlf-transform.js +2 -2
  75. package/dist/generators/bootstrap/support/eslint-worker.js +5 -2
  76. package/dist/generators/bootstrap-application/generator.d.ts +4 -1
  77. package/dist/generators/bootstrap-application-base/generator.d.ts +12 -2
  78. package/dist/generators/bootstrap-application-base/generator.js +4 -3
  79. package/dist/generators/bootstrap-application-client/generator.d.ts +3 -1
  80. package/dist/generators/bootstrap-application-server/generator.d.ts +8 -1
  81. package/dist/generators/bootstrap-workspaces/generator.d.ts +9 -1
  82. package/dist/generators/ci-cd/generator.d.ts +6 -1
  83. package/dist/generators/client/generator.d.ts +13 -1
  84. package/dist/generators/client/generators/common/generator.d.ts +1 -1
  85. package/dist/generators/client/resources/package.json +5 -5
  86. package/dist/generators/client/templates/src/main/webapp/swagger-ui/index.html.ejs +8 -6
  87. package/dist/generators/common/generator.d.ts +8 -1
  88. package/dist/generators/common/resources/package.json +2 -2
  89. package/dist/generators/cucumber/generator.d.ts +2 -1
  90. package/dist/generators/cypress/generator.d.ts +7 -1
  91. package/dist/generators/cypress/templates/src/test/javascript/cypress/e2e/account/logout.cy.ts.ejs +11 -3
  92. package/dist/generators/cypress/templates/src/test/javascript/cypress/support/oauth2.ts.ejs +4 -4
  93. package/dist/generators/docker/generator.d.ts +4 -1
  94. package/dist/generators/docker-compose/generator.d.ts +23 -1
  95. package/dist/generators/entities/generator.d.ts +4 -1
  96. package/dist/generators/entity/generator.d.ts +5 -1
  97. package/dist/generators/export-jdl/generator.d.ts +3 -1
  98. package/dist/generators/feign-client/generator.d.ts +2 -1
  99. package/dist/generators/feign-client/templates/src/test/java/_package_/client/AuthorizationHeaderUtilTest.java.ejs +1 -1
  100. package/dist/generators/gatling/generator.d.ts +3 -1
  101. package/dist/generators/generate-blueprint/constants.d.ts +1 -1
  102. package/dist/generators/generate-blueprint/constants.js +1 -1
  103. package/dist/generators/generate-blueprint/files.js +2 -2
  104. package/dist/generators/generate-blueprint/generator.d.ts +10 -1
  105. package/dist/generators/generate-blueprint/generator.js +16 -16
  106. package/dist/generators/generate-blueprint/resources/package.json +3 -3
  107. package/dist/generators/generate-blueprint/templates/.blueprint/generate-sample/command.mjs.ejs +1 -1
  108. package/dist/generators/generate-blueprint/templates/generators/generator/generator.mjs.jhi.ejs +1 -0
  109. package/dist/generators/generator-constants.d.ts +1 -1
  110. package/dist/generators/generator-constants.js +2 -2
  111. package/dist/generators/git/generator.d.ts +5 -1
  112. package/dist/generators/gradle/generator.d.ts +5 -1
  113. package/dist/generators/gradle/generators/code-quality/generator.d.ts +2 -1
  114. package/dist/generators/gradle/generators/jib/generator.d.ts +2 -1
  115. package/dist/generators/gradle/generators/node-gradle/generator.d.ts +2 -1
  116. package/dist/generators/gradle/templates/gradle/wrapper/gradle-wrapper.properties +1 -1
  117. package/dist/generators/heroku/generator.d.ts +6 -1
  118. package/dist/generators/info/generator.d.ts +1 -1
  119. package/dist/generators/init/generator.d.ts +2 -1
  120. package/dist/generators/init/resources/.node-version +1 -1
  121. package/dist/generators/java/generators/bootstrap/generator.d.ts +8 -2
  122. package/dist/generators/java/generators/bootstrap/generator.js +17 -3
  123. package/dist/generators/java/generators/build-tool/generator.d.ts +2 -1
  124. package/dist/generators/java/generators/code-quality/generator.d.ts +2 -1
  125. package/dist/generators/java/generators/domain/generator.d.ts +6 -1
  126. package/dist/generators/java/generators/graalvm/generator.d.ts +6 -1
  127. package/dist/generators/java/generators/graalvm/internal/constants.d.ts +1 -1
  128. package/dist/generators/java/generators/graalvm/internal/constants.js +2 -2
  129. package/dist/generators/java/generators/graalvm/resources/gradle/libs.versions.toml +1 -1
  130. package/dist/generators/java/generators/jib/generator.d.ts +2 -1
  131. package/dist/generators/java/generators/node/generator.d.ts +4 -1
  132. package/dist/generators/java/generators/node/generator.js +2 -1
  133. package/dist/generators/java/generators/openapi-generator/generator.d.ts +2 -1
  134. package/dist/generators/java/generators/server/generator.d.ts +1 -1
  135. package/dist/generators/java/support/index.d.ts +2 -0
  136. package/dist/generators/java/support/index.js +2 -0
  137. package/dist/generators/java/support/java-enum.d.ts +8 -0
  138. package/dist/generators/java/support/java-enum.js +20 -0
  139. package/dist/generators/java/support/java-file-edit.d.ts +18 -0
  140. package/dist/generators/java/support/java-file-edit.js +94 -0
  141. package/dist/generators/java/types.d.ts +37 -1
  142. package/dist/generators/javascript/generators/bootstrap/generator.d.ts +4 -1
  143. package/dist/generators/javascript/generators/eslint/generator.d.ts +4 -1
  144. package/dist/generators/javascript/generators/eslint/templates/eslint.config.js.jhi.ejs +8 -0
  145. package/dist/generators/javascript/generators/husky/generator.d.ts +3 -1
  146. package/dist/generators/javascript/generators/prettier/generator.d.ts +4 -1
  147. package/dist/generators/javascript/resources/package.json +3 -3
  148. package/dist/generators/jdl/generator.d.ts +3 -1
  149. package/dist/generators/kubernetes/generator.d.ts +25 -19
  150. package/dist/generators/kubernetes-helm/generator.d.ts +18 -12
  151. package/dist/generators/kubernetes-knative/generator.d.ts +14 -8
  152. package/dist/generators/languages/generator.d.ts +9 -1
  153. package/dist/generators/languages/support/languages.js +1 -0
  154. package/dist/generators/languages/templates/entity/i18n/entity_he.json.ejs +78 -0
  155. package/dist/generators/languages/templates/src/main/resources/i18n/messages_he.properties.ejs +41 -0
  156. package/dist/generators/languages/templates/src/main/webapp/i18n/he/activate.json.ejs +27 -0
  157. package/dist/generators/languages/templates/src/main/webapp/i18n/he/configuration.json +11 -0
  158. package/dist/generators/languages/templates/src/main/webapp/i18n/he/error.json +15 -0
  159. package/dist/generators/languages/templates/src/main/webapp/i18n/he/gateway.json +16 -0
  160. package/dist/generators/languages/templates/src/main/webapp/i18n/he/global.json.ejs +172 -0
  161. package/dist/generators/languages/templates/src/main/webapp/i18n/he/health.json.ejs +75 -0
  162. package/dist/generators/languages/templates/src/main/webapp/i18n/he/home.json.ejs +20 -0
  163. package/dist/generators/languages/templates/src/main/webapp/i18n/he/login.json +20 -0
  164. package/dist/generators/languages/templates/src/main/webapp/i18n/he/logs.json +12 -0
  165. package/dist/generators/languages/templates/src/main/webapp/i18n/he/metrics.json +103 -0
  166. package/dist/generators/languages/templates/src/main/webapp/i18n/he/password.json +13 -0
  167. package/dist/generators/languages/templates/src/main/webapp/i18n/he/register.json +25 -0
  168. package/dist/generators/languages/templates/src/main/webapp/i18n/he/reset.json.ejs +45 -0
  169. package/dist/generators/languages/templates/src/main/webapp/i18n/he/sessions.json +16 -0
  170. package/dist/generators/languages/templates/src/main/webapp/i18n/he/settings.json +33 -0
  171. package/dist/generators/languages/templates/src/main/webapp/i18n/he/tracker.json +13 -0
  172. package/dist/generators/languages/templates/src/main/webapp/i18n/he/user-management.json +32 -0
  173. package/dist/generators/languages/templates/src/test/resources/i18n/messages_he.properties.ejs +4 -0
  174. package/dist/generators/liquibase/generator.d.ts +9 -1
  175. package/dist/generators/liquibase/generator.js +3 -19
  176. package/dist/generators/maven/generator.d.ts +6 -1
  177. package/dist/generators/maven/generators/code-quality/generator.d.ts +1 -1
  178. package/dist/generators/maven/generators/frontend-plugin/generator.d.ts +1 -1
  179. package/dist/generators/maven/generators/jib/generator.d.ts +1 -1
  180. package/dist/generators/project-name/generator.d.ts +3 -1
  181. package/dist/generators/react/generator.d.ts +15 -1
  182. package/dist/generators/react/resources/package.json +34 -34
  183. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_-delete-dialog.tsx.ejs +2 -1
  184. package/dist/generators/react/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.reducer.ts.ejs +4 -4
  185. package/dist/generators/react/templates/src/main/webapp/app/entities/menu.tsx.ejs +2 -2
  186. package/dist/generators/react/templates/src/main/webapp/app/entities/routes.tsx.ejs +1 -1
  187. package/dist/generators/react/templates/src/main/webapp/app/modules/administration/administration.reducer.spec.ts.ejs +0 -6
  188. package/dist/generators/react/templates/src/main/webapp/app/shared/reducers/application-profile.spec.ts.ejs +0 -6
  189. package/dist/generators/react/templates/src/main/webapp/app/shared/reducers/locale.spec.ts.ejs +0 -47
  190. package/dist/generators/react/templates/src/main/webapp/app/shared/reducers/reducer.utils.ts.ejs +1 -1
  191. package/dist/generators/react/templates/src/main/webapp/app/shared/util/entity-utils.ts.ejs +1 -1
  192. package/dist/generators/server/generator.d.ts +7 -1
  193. package/dist/generators/server/resources/Dockerfile +17 -17
  194. package/dist/generators/server/resources/gradle/libs.versions.toml +15 -15
  195. package/dist/generators/server/resources/pom.xml +16 -16
  196. package/dist/generators/server/types.d.ts +22 -0
  197. package/dist/generators/spring-boot/generator.d.ts +14 -2
  198. package/dist/generators/spring-boot/generator.js +35 -4
  199. package/dist/generators/spring-boot/resources/spring-boot-dependencies.pom +158 -148
  200. package/dist/generators/spring-boot/templates/src/main/java/_package_/Application.java.ejs +11 -0
  201. package/dist/generators/spring-boot/templates/src/main/java/_package_/_entityPackage_/service/_entityClass_QueryService.java.ejs +12 -23
  202. package/dist/generators/spring-boot/templates/src/main/java/_package_/config/SecurityJwtConfiguration.java.ejs +0 -1
  203. package/dist/generators/spring-boot/templates/src/main/java/_package_/security/DomainUserDetailsService.java.ejs +61 -5
  204. package/dist/generators/spring-boot/templates/src/main/java/_package_/security/SecurityUtils.java.ejs +29 -1
  205. package/dist/generators/spring-boot/templates/src/main/java/_package_/web/rest/AccountResource.java.ejs +7 -6
  206. package/dist/generators/spring-boot/templates/src/main/java/_package_/web/rest/AccountResource_oauth2.java.ejs +8 -6
  207. package/dist/generators/spring-boot/templates/src/main/java/_package_/web/rest/AccountResource_skipUserManagement.java.ejs +8 -6
  208. package/dist/generators/spring-boot/templates/src/main/java/_package_/web/rest/AuthenticateController.java.ejs +17 -11
  209. package/dist/generators/spring-boot/templates/src/main/java/_package_/web/rest/errors/ExceptionTranslator.java.ejs +8 -3
  210. package/dist/generators/spring-boot/templates/src/main/resources/config/application.yml.ejs +3 -0
  211. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/service/UserServiceIT.java.ejs +3 -3
  212. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/PublicUserResourceIT.java.ejs +4 -4
  213. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/UserResourceIT.java.ejs +4 -4
  214. package/dist/generators/spring-boot/templates/src/test/java/_package_/_entityPackage_/web/rest/_entityClass_ResourceIT.java.ejs +3 -3
  215. package/dist/generators/spring-boot/templates/src/test/java/_package_/config/JHipsterBlockHoundIntegration.java.ejs +0 -2
  216. package/dist/generators/spring-boot/templates/src/test/java/_package_/config/WebConfigurerTest.java.ejs +1 -1
  217. package/dist/generators/spring-boot/templates/src/test/java/_package_/management/SecurityMetersServiceTests.java.ejs +1 -1
  218. package/dist/generators/spring-boot/templates/src/test/java/_package_/security/DomainUserDetailsServiceIT.java.ejs +2 -2
  219. package/dist/generators/spring-boot/templates/src/test/java/_package_/security/SecurityUtilsUnitTest_imperative.java.ejs +35 -11
  220. package/dist/generators/spring-boot/templates/src/test/java/_package_/security/SecurityUtilsUnitTest_reactive.java.ejs +35 -6
  221. package/dist/generators/spring-boot/templates/src/test/java/_package_/security/jwt/JwtAuthenticationTestUtils.java.ejs +3 -2
  222. package/dist/generators/spring-boot/templates/src/test/java/_package_/security/jwt/TestAuthenticationResource.java.ejs +5 -5
  223. package/dist/generators/spring-boot/templates/src/test/java/_package_/security/jwt/TokenAuthenticationIT.java.ejs +2 -2
  224. package/dist/generators/spring-boot/templates/src/test/java/_package_/security/jwt/TokenAuthenticationSecurityMetersIT.java.ejs +1 -4
  225. package/dist/generators/spring-boot/templates/src/test/java/_package_/security/oauth2/CustomClaimConverterIT.java.ejs +1 -1
  226. package/dist/generators/spring-boot/templates/src/test/java/_package_/service/MailServiceIT.java.ejs +1 -1
  227. package/dist/generators/spring-boot/templates/src/test/java/_package_/service/mapper/UserMapperTest.java.ejs +1 -1
  228. package/dist/generators/spring-boot/templates/src/test/java/_package_/web/filter/SpaWebFilterIT_imperative.java.ejs +1 -1
  229. package/dist/generators/spring-boot/templates/src/test/java/_package_/web/filter/SpaWebFilterIT_reactive.java.ejs +1 -2
  230. package/dist/generators/spring-boot/templates/src/test/java/_package_/web/rest/AccountResourceIT.java.ejs +9 -15
  231. package/dist/generators/spring-boot/templates/src/test/java/_package_/web/rest/AccountResourceIT_oauth2.java.ejs +8 -17
  232. package/dist/generators/spring-boot/templates/src/test/java/_package_/web/rest/AccountResourceIT_skipUserManagement.java.ejs +6 -15
  233. package/dist/generators/spring-boot/templates/src/test/java/_package_/web/rest/LogoutResourceIT.java.ejs +1 -1
  234. package/dist/generators/spring-boot/templates/src/test/java/_package_/web/rest/errors/ExceptionTranslatorIT_reactive.java.ejs +1 -1
  235. package/dist/generators/spring-cache/cleanup.d.ts +2 -20
  236. package/dist/generators/spring-cache/cleanup.js +24 -2
  237. package/dist/generators/spring-cache/files.js +0 -6
  238. package/dist/generators/spring-cache/generator.d.ts +5 -1
  239. package/dist/generators/spring-cache/resources/gradle/libs.versions.toml +1 -1
  240. package/dist/generators/spring-cache/templates/src/main/java/_package_/config/CacheConfiguration.java.ejs +0 -14
  241. package/dist/generators/spring-cloud/generators/gateway/generator.d.ts +5 -1
  242. package/dist/generators/spring-cloud-stream/generator.d.ts +2 -1
  243. package/dist/generators/spring-cloud-stream/generators/kafka/generator.d.ts +2 -1
  244. package/dist/generators/spring-cloud-stream/generators/kafka/templates/src/test/java/_package_/web/rest/KafkaResourceIT_reactive.java.ejs +1 -1
  245. package/dist/generators/spring-cloud-stream/generators/pulsar/generator.d.ts +2 -1
  246. package/dist/generators/spring-data-cassandra/generator.d.ts +4 -1
  247. package/dist/generators/spring-data-couchbase/generator.d.ts +9 -1
  248. package/dist/generators/spring-data-elasticsearch/generator.d.ts +10 -1
  249. package/dist/generators/spring-data-mongodb/generator.d.ts +9 -1
  250. package/dist/generators/spring-data-neo4j/generator.d.ts +11 -1
  251. package/dist/generators/spring-data-relational/generator.d.ts +11 -1
  252. package/dist/generators/spring-data-relational/templates/src/test/java/_package_/config/timezone/HibernateTimeZoneIT.java.ejs +2 -2
  253. package/dist/generators/spring-websocket/generator.d.ts +2 -1
  254. package/dist/generators/upgrade/generator.d.ts +3 -1
  255. package/dist/generators/vue/cleanup.js +7 -1
  256. package/dist/generators/vue/files-vue.js +3 -8
  257. package/dist/generators/vue/generator.d.ts +9 -1
  258. package/dist/generators/vue/resources/package.json +31 -31
  259. package/dist/generators/vue/templates/src/main/webapp/app/account/account.service.ts.ejs +9 -9
  260. package/dist/generators/vue/templates/src/main/webapp/app/account/activate/activate.component.spec.ts.ejs +21 -7
  261. package/dist/generators/vue/templates/src/main/webapp/app/account/activate/activate.component.ts.ejs +23 -9
  262. package/dist/generators/vue/templates/src/main/webapp/app/account/activate/activate.service.ts.ejs +1 -1
  263. package/dist/generators/vue/templates/src/main/webapp/app/account/activate/activate.vue.ejs +1 -1
  264. package/dist/generators/vue/templates/src/main/webapp/app/account/change-password/change-password.vue.ejs +1 -1
  265. package/dist/generators/vue/templates/src/main/webapp/app/account/login-form/login-form.component.spec.ts.ejs +22 -10
  266. package/dist/generators/vue/templates/src/main/webapp/app/account/login-form/login-form.component.ts.ejs +24 -5
  267. package/dist/generators/vue/templates/src/main/webapp/app/account/login-modal.ts.ejs +38 -0
  268. package/dist/generators/vue/templates/src/main/webapp/app/account/login.service.spec.ts.ejs +0 -4
  269. package/dist/generators/vue/templates/src/main/webapp/app/account/login.service.ts.ejs +3 -25
  270. package/dist/generators/vue/templates/src/main/webapp/app/account/register/register.component.spec.ts.ejs +24 -8
  271. package/dist/generators/vue/templates/src/main/webapp/app/account/register/register.component.ts.ejs +23 -9
  272. package/dist/generators/vue/templates/src/main/webapp/app/account/register/register.service.ts.ejs +1 -1
  273. package/dist/generators/vue/templates/src/main/webapp/app/account/register/register.vue.ejs +1 -1
  274. package/dist/generators/vue/templates/src/main/webapp/app/account/reset-password/finish/reset-password-finish.component.spec.ts.ejs +20 -4
  275. package/dist/generators/vue/templates/src/main/webapp/app/account/reset-password/finish/reset-password-finish.component.ts.ejs +23 -13
  276. package/dist/generators/vue/templates/src/main/webapp/app/account/reset-password/finish/reset-password-finish.vue.ejs +1 -1
  277. package/dist/generators/vue/templates/src/main/webapp/app/account/settings/settings.vue.ejs +1 -1
  278. package/dist/generators/vue/templates/src/main/webapp/app/admin/configuration/configuration.service.ts.ejs +2 -2
  279. package/dist/generators/vue/templates/src/main/webapp/app/admin/gateway/gateway.service.ts.ejs +1 -1
  280. package/dist/generators/vue/templates/src/main/webapp/app/admin/health/health.service.ts.ejs +10 -10
  281. package/dist/generators/vue/templates/src/main/webapp/app/admin/logs/logs.service.ts.ejs +2 -2
  282. package/dist/generators/vue/templates/src/main/webapp/app/admin/metrics/metrics-modal.vue.ejs +2 -2
  283. package/dist/generators/vue/templates/src/main/webapp/app/admin/metrics/metrics.service.ts.ejs +2 -2
  284. package/dist/generators/vue/templates/src/main/webapp/app/admin/tracker/tracker.service.ts.ejs +5 -5
  285. package/dist/generators/vue/templates/src/main/webapp/app/admin/user-management/user-management.service.ts.ejs +6 -6
  286. package/dist/generators/vue/templates/src/main/webapp/app/app.component.ts.ejs +29 -7
  287. package/dist/generators/vue/templates/src/main/webapp/app/app.vue.ejs +19 -1
  288. package/dist/generators/vue/templates/src/main/webapp/app/core/error/error.component.spec.ts.ejs +66 -51
  289. package/dist/generators/vue/templates/src/main/webapp/app/core/error/error.component.ts.ejs +30 -8
  290. package/dist/generators/vue/templates/src/main/webapp/app/core/home/home.component.spec.ts.ejs +41 -11
  291. package/dist/generators/vue/templates/src/main/webapp/app/core/home/home.component.ts.ejs +10 -11
  292. package/dist/generators/vue/templates/src/main/webapp/app/core/home/home.vue.ejs +2 -2
  293. package/dist/generators/vue/templates/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.spec.ts.ejs +43 -16
  294. package/dist/generators/vue/templates/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.ts.ejs +14 -9
  295. package/dist/generators/vue/templates/src/main/webapp/app/core/jhi-navbar/jhi-navbar.vue.ejs +1 -1
  296. package/dist/generators/vue/templates/src/main/webapp/app/entities/_entityFolder_/_entityFile_.service.ts.ejs +7 -7
  297. package/dist/generators/vue/templates/src/main/webapp/app/entities/user/user.service.ts.ejs +1 -1
  298. package/dist/generators/vue/templates/src/main/webapp/app/locale/translation.service.ts.ejs +5 -5
  299. package/dist/generators/vue/templates/src/main/webapp/app/main.ts.ejs +18 -14
  300. package/dist/generators/vue/templates/src/main/webapp/app/shared/alert/alert.service.ts.ejs +4 -4
  301. package/dist/generators/workspaces/generator.d.ts +7 -1
  302. package/dist/generators/workspaces/support/applications-lookup.js +2 -2
  303. package/dist/lib/jdl/converters/parsed-jdl-to-jdl-object/parsed-jdl-to-jdl-object-converter.js +1 -1
  304. package/dist/lib/jdl/core/built-in-options/binary-options.d.ts +12 -1
  305. package/dist/lib/testing/apply-patch-to-template.d.ts +13 -0
  306. package/dist/lib/testing/apply-patch-to-template.js +90 -0
  307. package/dist/lib/testing/github.js +6 -3
  308. package/dist/lib/testing/helpers.d.ts +1 -0
  309. package/dist/lib/testing/helpers.js +15 -0
  310. package/dist/lib/utils/yo-rc.d.ts +3 -219
  311. package/package.json +36 -37
  312. package/dist/generators/spring-cache/templates/src/main/java/_package_/config/CacheFactoryConfiguration.java.ejs +0 -49
@@ -18,6 +18,10 @@
18
18
  -%>
19
19
  package <%= packageName %>.security;
20
20
 
21
+ <%_ if (authenticationTypeJwt) { _%>
22
+ import static <%= packageName %>.security.SecurityUtils.USER_ID_CLAIM;
23
+ <%_ } _%>
24
+
21
25
  import org.junit.jupiter.api.AfterEach;
22
26
  import org.junit.jupiter.api.BeforeEach;
23
27
  import org.junit.jupiter.api.Test;
@@ -26,6 +30,10 @@ import org.springframework.security.core.GrantedAuthority;
26
30
  import org.springframework.security.core.authority.SimpleGrantedAuthority;
27
31
  import org.springframework.security.core.context.SecurityContext;
28
32
  import org.springframework.security.core.context.SecurityContextHolder;
33
+ <%_ if (authenticationTypeJwt) { _%>
34
+ import java.time.Instant;
35
+ import org.springframework.security.oauth2.jwt.Jwt;
36
+ <%_ } _%>
29
37
  <%_ if (authenticationTypeOauth2) { _%>
30
38
  import org.springframework.security.oauth2.client.authentication.OAuth2AuthenticationToken;
31
39
  import org.springframework.security.oauth2.core.oidc.OidcIdToken;
@@ -39,6 +47,7 @@ import java.util.ArrayList;
39
47
  import java.util.Collection;
40
48
  import java.util.Optional;
41
49
  <%_ } _%>
50
+ import java.util.Collections;
42
51
 
43
52
  import static org.assertj.core.api.Assertions.assertThat;
44
53
  <%_ if (authenticationTypeOauth2) { _%>
@@ -128,6 +137,25 @@ class SecurityUtilsUnitTest {
128
137
  Optional<String> jwt = SecurityUtils.getCurrentUserJWT();
129
138
  assertThat(jwt).contains("token");
130
139
  }
140
+ <%_ if (user) { _%>
141
+
142
+ @Test
143
+ void testGetCurrentUserId() {
144
+ var userId = <%- user.primaryKey.javaSampleValues[0] %>;
145
+ var securityContext = SecurityContextHolder.createEmptyContext();
146
+ var now = Instant.now();
147
+ var jwt = Jwt.withTokenValue("token")
148
+ .issuedAt(now)
149
+ .expiresAt(now.plusSeconds(60))
150
+ .claim(USER_ID_CLAIM, userId)
151
+ .header("Test", "test")
152
+ .build();
153
+ securityContext.setAuthentication(new UsernamePasswordAuthenticationToken(jwt, "token"));
154
+ SecurityContextHolder.setContext(securityContext);
155
+ var contextUserId = SecurityUtils.getCurrentUserId();
156
+ assertThat(contextUserId.orElse(null)).isEqualTo(userId);
157
+ }
158
+ <%_ } _%>
131
159
  <%_ } _%>
132
160
 
133
161
  @Test
@@ -142,8 +170,7 @@ class SecurityUtilsUnitTest {
142
170
  @Test
143
171
  void testAnonymousIsNotAuthenticated() {
144
172
  SecurityContext securityContext = SecurityContextHolder.createEmptyContext();
145
- Collection<GrantedAuthority> authorities = new ArrayList<>();
146
- authorities.add(new SimpleGrantedAuthority(AuthoritiesConstants.ANONYMOUS));
173
+ var authorities = Collections.singletonList(new SimpleGrantedAuthority(AuthoritiesConstants.ANONYMOUS));
147
174
  securityContext.setAuthentication(new UsernamePasswordAuthenticationToken("anonymous", "anonymous", authorities));
148
175
  SecurityContextHolder.setContext(securityContext);
149
176
  boolean isAuthenticated = SecurityUtils.isAuthenticated();
@@ -153,9 +180,8 @@ class SecurityUtilsUnitTest {
153
180
  @Test
154
181
  void testHasCurrentUserThisAuthority() {
155
182
  SecurityContext securityContext = SecurityContextHolder.createEmptyContext();
156
- Collection<GrantedAuthority> authorities = new ArrayList<>();
157
- authorities.add(new SimpleGrantedAuthority(AuthoritiesConstants.USER));
158
- securityContext.setAuthentication(new UsernamePasswordAuthenticationToken("user", "user", authorities));
183
+ var authorities = Collections.singletonList(new SimpleGrantedAuthority(AuthoritiesConstants.USER));
184
+ securityContext.setAuthentication(new UsernamePasswordAuthenticationToken("anonymous", "anonymous", authorities));
159
185
  SecurityContextHolder.setContext(securityContext);
160
186
 
161
187
  assertThat(SecurityUtils.hasCurrentUserThisAuthority(AuthoritiesConstants.USER)).isTrue();
@@ -165,9 +191,8 @@ class SecurityUtilsUnitTest {
165
191
  @Test
166
192
  void testHasCurrentUserAnyOfAuthorities() {
167
193
  SecurityContext securityContext = SecurityContextHolder.createEmptyContext();
168
- Collection<GrantedAuthority> authorities = new ArrayList<>();
169
- authorities.add(new SimpleGrantedAuthority(AuthoritiesConstants.USER));
170
- securityContext.setAuthentication(new UsernamePasswordAuthenticationToken("user", "user", authorities));
194
+ var authorities = Collections.singletonList(new SimpleGrantedAuthority(AuthoritiesConstants.USER));
195
+ securityContext.setAuthentication(new UsernamePasswordAuthenticationToken("anonymous", "anonymous", authorities));
171
196
  SecurityContextHolder.setContext(securityContext);
172
197
 
173
198
  assertThat(SecurityUtils.hasCurrentUserAnyOfAuthorities(AuthoritiesConstants.USER, AuthoritiesConstants.ADMIN)).isTrue();
@@ -177,9 +202,8 @@ class SecurityUtilsUnitTest {
177
202
  @Test
178
203
  void testHasCurrentUserNoneOfAuthorities() {
179
204
  SecurityContext securityContext = SecurityContextHolder.createEmptyContext();
180
- Collection<GrantedAuthority> authorities = new ArrayList<>();
181
- authorities.add(new SimpleGrantedAuthority(AuthoritiesConstants.USER));
182
- securityContext.setAuthentication(new UsernamePasswordAuthenticationToken("user", "user", authorities));
205
+ var authorities = Collections.singletonList(new SimpleGrantedAuthority(AuthoritiesConstants.USER));
206
+ securityContext.setAuthentication(new UsernamePasswordAuthenticationToken("anonymous", "anonymous", authorities));
183
207
  SecurityContextHolder.setContext(securityContext);
184
208
 
185
209
  assertThat(SecurityUtils.hasCurrentUserNoneOfAuthorities(AuthoritiesConstants.USER, AuthoritiesConstants.ADMIN)).isFalse();
@@ -18,6 +18,14 @@
18
18
  -%>
19
19
  package <%= packageName %>.security;
20
20
 
21
+ import static org.assertj.core.api.Assertions.assertThat;
22
+ <%_ if (authenticationTypeOauth2) { _%>
23
+ import static org.springframework.security.oauth2.core.oidc.endpoint.OidcParameterNames.ID_TOKEN;
24
+ <%_ } _%>
25
+ <%_ if (authenticationTypeJwt) { _%>
26
+ import static <%= packageName %>.security.SecurityUtils.USER_ID_CLAIM;
27
+ <%_ } _%>
28
+
21
29
  import org.junit.jupiter.api.AfterEach;
22
30
  import org.junit.jupiter.api.BeforeEach;
23
31
  import org.junit.jupiter.api.Test;
@@ -27,6 +35,11 @@ import org.springframework.security.core.authority.SimpleGrantedAuthority;
27
35
  import org.springframework.security.core.context.ReactiveSecurityContextHolder;
28
36
  import reactor.util.context.Context;
29
37
 
38
+ <%_ if (authenticationTypeJwt) { _%>
39
+ import java.time.Instant;
40
+ import org.springframework.security.oauth2.jwt.Jwt;
41
+ import reactor.core.publisher.Mono;
42
+ <%_ } _%>
30
43
  <%_ if (authenticationTypeOauth2) { _%>
31
44
  import java.time.Instant;
32
45
  import java.util.*;
@@ -35,11 +48,6 @@ import java.util.ArrayList;
35
48
  import java.util.Collection;
36
49
  <%_ } _%>
37
50
 
38
- import static org.assertj.core.api.Assertions.assertThat;
39
- <%_ if (authenticationTypeOauth2) { _%>
40
- import static org.springframework.security.oauth2.core.oidc.endpoint.OidcParameterNames.ID_TOKEN;
41
- <%_ } _%>
42
-
43
51
  /**
44
52
  * Test class for the {@link SecurityUtils} utility class.
45
53
  */
@@ -52,7 +60,7 @@ class SecurityUtilsUnitTest {
52
60
  .block();
53
61
  assertThat(login).isEqualTo("admin");
54
62
  }
55
- <%_ if (authenticationTypeJwt) { _%>
63
+ <%_ if (authenticationTypeJwt) { _%>
56
64
 
57
65
  @Test
58
66
  void testgetCurrentUserJWT() {
@@ -61,7 +69,28 @@ class SecurityUtilsUnitTest {
61
69
  .block();
62
70
  assertThat(jwt).isEqualTo("token");
63
71
  }
72
+
73
+ <%_ if (user) { _%>
74
+ @Test
75
+ void testGetCurrentUserId() {
76
+ var userId = <%- user.primaryKey.javaSampleValues[0] %>;
77
+ var now = Instant.now();
78
+ var jwt = Jwt.withTokenValue("token")
79
+ .issuedAt(now)
80
+ .expiresAt(now.plusSeconds(60))
81
+ .claim(USER_ID_CLAIM, userId)
82
+ .header("Test", "test")
83
+ .build();
84
+
85
+ var authentication = new UsernamePasswordAuthenticationToken(jwt, "token");
86
+ var contextUserId = SecurityUtils.getCurrentUserId()
87
+ .contextWrite(ReactiveSecurityContextHolder.withAuthentication(authentication))
88
+ .block();
89
+
90
+ assertThat(contextUserId).isEqualTo(userId);
91
+ }
64
92
  <%_ } _%>
93
+ <%_ } _%>
65
94
 
66
95
  @Test
67
96
  void testIsAuthenticated() {
@@ -1,7 +1,8 @@
1
1
  package <%= packageName %>.security.jwt;
2
2
 
3
- import static <%= packageName %>.security.SecurityUtils.AUTHORITIES_KEY;
3
+ import static <%= packageName %>.security.SecurityUtils.AUTHORITIES_CLAIM;
4
4
  import static <%= packageName %>.security.SecurityUtils.JWT_ALGORITHM;
5
+ import static <%= packageName %>.security.AuthoritiesConstants.ADMIN;
5
6
 
6
7
  import com.nimbusds.jose.jwk.source.ImmutableSecret;
7
8
  import com.nimbusds.jose.util.Base64;
@@ -77,7 +78,7 @@ public class JwtAuthenticationTestUtils {
77
78
  .issuedAt(now)
78
79
  .expiresAt(now.plusSeconds(60))
79
80
  .subject(user)
80
- .claims(customClaim -> customClaim.put(AUTHORITIES_KEY, Collections.singletonList("ROLE_ADMIN")))
81
+ .claims(customClaim -> customClaim.put(AUTHORITIES_CLAIM, Collections.singletonList(ADMIN)))
81
82
  .build();
82
83
 
83
84
  JwsHeader jwsHeader = JwsHeader.with(JWT_ALGORITHM).build();
@@ -1,6 +1,8 @@
1
1
  package <%= packageName %>.security.jwt;
2
2
 
3
+ import org.springframework.http.HttpStatus;
3
4
  import org.springframework.http.MediaType;
5
+ import org.springframework.http.ResponseEntity;
4
6
  import org.springframework.web.bind.annotation.*;
5
7
 
6
8
  /**
@@ -12,11 +14,9 @@ public class TestAuthenticationResource {
12
14
 
13
15
  /**
14
16
  * {@code GET /authenticate} : check if the authentication token correctly validates
15
- *
16
- * @return ok.
17
17
  */
18
- @GetMapping(value = "/authenticate", produces = MediaType.TEXT_PLAIN_VALUE)
19
- public String isAuthenticated() {
20
- return "ok";
18
+ @GetMapping("/authenticate")
19
+ public ResponseEntity<Void> isAuthenticated() {
20
+ return ResponseEntity.status(HttpStatus.NO_CONTENT).build();
21
21
  }
22
22
  }
@@ -57,7 +57,7 @@ class TokenAuthenticationIT {
57
57
  <%_ if (reactive) { %>
58
58
 
59
59
  private void expectOk(String token) {
60
- webTestClient.get().uri("/api/authenticate").headers(headers -> headers.setBearerAuth(token)).exchange().expectStatus().isOk();
60
+ webTestClient.get().uri("/api/authenticate").headers(headers -> headers.setBearerAuth(token)).exchange().expectStatus().isNoContent();
61
61
  }
62
62
 
63
63
  private void expectUnauthorized(String token) {
@@ -72,7 +72,7 @@ class TokenAuthenticationIT {
72
72
  <%_ } else { _%>
73
73
 
74
74
  private void expectOk(String token) throws Exception {
75
- mvc.perform(MockMvcRequestBuilders.get("/api/authenticate").header(AUTHORIZATION, BEARER + token)).andExpect(status().isOk());
75
+ mvc.perform(MockMvcRequestBuilders.get("/api/authenticate").header(AUTHORIZATION, BEARER + token)).andExpect(status().isNoContent());
76
76
  }
77
77
 
78
78
  private void expectUnauthorized(String token) throws Exception {
@@ -97,10 +97,7 @@ class TokenAuthenticationSecurityMetersIT {
97
97
  .get()
98
98
  .uri("/api/authenticate")
99
99
  .headers(headers -> headers.setBearerAuth(token))
100
- .exchange()
101
- .returnResult(String.class)
102
- .getResponseBody()
103
- .blockLast();
100
+ .exchange();
104
101
  }
105
102
  <%_ } else { _%>
106
103
 
@@ -65,7 +65,7 @@ class CustomClaimConverterIT {
65
65
  private CustomClaimConverter customClaimConverter;
66
66
 
67
67
  @BeforeEach
68
- public void initTest() {
68
+ void initTest() {
69
69
  customClaimConverter = new CustomClaimConverter(clientRegistrationRepository.findByRegistrationId("oidc"), restTemplate);
70
70
  }
71
71
 
@@ -75,7 +75,7 @@ class MailServiceIT {
75
75
  private MailService mailService;
76
76
 
77
77
  @BeforeEach
78
- public void setup() {
78
+ void setup() {
79
79
  doNothing().when(javaMailSender).send(any(MimeMessage.class));
80
80
  when(javaMailSender.createMimeMessage()).thenReturn(new MimeMessage((Session) null));
81
81
  }
@@ -64,7 +64,7 @@ class UserMapperTest {
64
64
  private <%= user.adminUserDto %> userDto;
65
65
 
66
66
  @BeforeEach
67
- public void init() {
67
+ void init() {
68
68
  userMapper = new UserMapper();
69
69
  user = new <%= user.persistClass %>();
70
70
  user.setLogin(DEFAULT_LOGIN);
@@ -31,7 +31,7 @@ class SpaWebFilterIT {
31
31
  @Test
32
32
  void testFilterDoesNotForwardToIndexForApi() throws Exception {
33
33
  mockMvc.perform(get("/api/<% if (!applicationTypeMicroservice) { %>authenticate<% } else { %>users<% } %>"))
34
- .andExpect(status().isOk())
34
+ .andExpect(status().is2xxSuccessful())
35
35
  .andExpect(forwardedUrl(null));
36
36
  }
37
37
  <%_ } _%>
@@ -37,8 +37,7 @@ class SpaWebFilterIT {
37
37
  .get()
38
38
  .uri("/api/<% if (!applicationTypeMicroservice) { %>authenticate<% } else { %>users<% } %>")
39
39
  .exchange()
40
- .expectStatus().isOk()
41
- .expectBody(String.class).isEqualTo("user");
40
+ .expectStatus().is2xxSuccessful();
42
41
  }
43
42
  <%_ } _%>
44
43
 
@@ -147,20 +147,20 @@ class AccountResourceIT {
147
147
  private Long numberOfUsers;
148
148
 
149
149
  @BeforeEach
150
- public void countUsers() {
150
+ void countUsers() {
151
151
  numberOfUsers = userRepository.count()<%- reactorBlock %>;
152
152
  }
153
153
 
154
154
  <%_ } _%>
155
155
  <%_ if (reactive && authenticationUsesCsrf) { _%>
156
156
  @BeforeEach
157
- public void setupCsrf() {
157
+ void setupCsrf() {
158
158
  accountWebTestClient = accountWebTestClient.mutateWith(csrf());
159
159
  }
160
160
 
161
161
  <%_ } _%>
162
162
  @AfterEach
163
- public void cleanupAndCheck() {
163
+ void cleanupAndCheck() {
164
164
  <%_ if (requiresDeleteAllUsers) { _%>
165
165
  userRepository.deleteAll()<%- reactorBlock %>;
166
166
  <%_ } else if (!databaseTypeCassandra) { _%>
@@ -174,16 +174,13 @@ class AccountResourceIT {
174
174
  <%_ if (reactive) { _%>
175
175
  void testNonAuthenticatedUser() {
176
176
  accountWebTestClient.get().uri("/api/authenticate")
177
- .accept(MediaType.TEXT_PLAIN)
178
177
  .exchange()
179
- .expectStatus().isOk()
180
- .expectBody().isEmpty();
178
+ .expectStatus().isUnauthorized();
181
179
  <%_ } else { _%>
182
180
  void testNonAuthenticatedUser() throws Exception {
183
181
  restAccountMockMvc
184
- .perform(get("/api/authenticate").accept(MediaType.TEXT_PLAIN))
185
- .andExpect(status().isOk())
186
- .andExpect(content().string(""));
182
+ .perform(get("/api/authenticate"))
183
+ .andExpect(status().isUnauthorized());
187
184
  <%_ } _%>
188
185
  }
189
186
 
@@ -193,16 +190,13 @@ class AccountResourceIT {
193
190
  void testAuthenticatedUser() {
194
191
  accountWebTestClient
195
192
  .get().uri("/api/authenticate")
196
- .accept(MediaType.TEXT_PLAIN)
197
193
  .exchange()
198
- .expectStatus().isOk()
199
- .expectBody(String.class).isEqualTo(TEST_USER_LOGIN);
194
+ .expectStatus().isNoContent();
200
195
  <%_ } else { _%>
201
196
  void testAuthenticatedUser() throws Exception {
202
197
  restAccountMockMvc
203
- .perform(get("/api/authenticate").with(request -> request).accept(MediaType.TEXT_PLAIN))
204
- .andExpect(status().isOk())
205
- .andExpect(content().string(TEST_USER_LOGIN));
198
+ .perform(get("/api/authenticate").with(request -> request))
199
+ .andExpect(status().isNoContent());
206
200
  <%_ } _%>
207
201
  }
208
202
 
@@ -110,7 +110,7 @@ class AccountResourceIT {
110
110
 
111
111
  <%_ if (reactive) { _%>
112
112
  @BeforeEach
113
- public void setup() {
113
+ void setup() {
114
114
  claims = new HashMap<>();
115
115
  claims.put("groups", Collections.singletonList(AuthoritiesConstants.ADMIN));
116
116
  claims.put("sub", "jane");
@@ -120,7 +120,7 @@ class AccountResourceIT {
120
120
  <%_ } _%>
121
121
  <%_ if (syncUserWithIdp) { _%>
122
122
  @AfterEach
123
- public void cleanup() {
123
+ void cleanup() {
124
124
  // Remove syncUserWithIdp users
125
125
  <%_ if (databaseTypeSql && reactive) { _%>
126
126
  userRepository.deleteAllUserAuthorities()<%- reactorBlock %>;
@@ -185,15 +185,11 @@ class AccountResourceIT {
185
185
  void testNonAuthenticatedUser() <% if (!reactive) { %>throws Exception <% } %>{
186
186
  <%_ if (reactive) { _%>
187
187
  webTestClient.get().uri("/api/authenticate")
188
- .accept(MediaType.TEXT_PLAIN)
189
188
  .exchange()
190
- .expectStatus().isOk()
191
- .expectBody().isEmpty();
189
+ .expectStatus().isUnauthorized();
192
190
  <%_ } else { _%>
193
- restAccountMockMvc.perform(get("/api/authenticate")
194
- .accept(MediaType.TEXT_PLAIN))
195
- .andExpect(status().isOk())
196
- .andExpect(content().string(""));
191
+ restAccountMockMvc.perform(get("/api/authenticate"))
192
+ .andExpect(status().isUnauthorized());
197
193
  <%_ } _%>
198
194
  }
199
195
 
@@ -203,16 +199,11 @@ class AccountResourceIT {
203
199
  <%_ if (reactive) { _%>
204
200
  webTestClient
205
201
  .get().uri("/api/authenticate")
206
- .accept(MediaType.TEXT_PLAIN)
207
202
  .exchange()
208
- .expectStatus().isOk()
209
- .expectBody(String.class).isEqualTo(TEST_USER_LOGIN);
203
+ .expectStatus().isNoContent();
210
204
  <%_ } else { _%>
211
- restAccountMockMvc.perform(get("/api/authenticate")
212
- .with(request -> request)
213
- .accept(MediaType.TEXT_PLAIN))
214
- .andExpect(status().isOk())
215
- .andExpect(content().string(TEST_USER_LOGIN));
205
+ restAccountMockMvc.perform(get("/api/authenticate").with(request -> request))
206
+ .andExpect(status().isNoContent());
216
207
  <%_ } _%>
217
208
  }
218
209
  }
@@ -116,15 +116,11 @@ class AccountResourceIT {
116
116
  void testNonAuthenticatedUser() <% if (!reactive) { %>throws Exception <% } %>{
117
117
  <%_ if (reactive) { _%>
118
118
  accountWebTestClient.get().uri("/api/authenticate")
119
- .accept(MediaType.TEXT_PLAIN)
120
119
  .exchange()
121
- .expectStatus().isOk()
122
- .expectBody().isEmpty();
120
+ .expectStatus().isUnauthorized();
123
121
  <%_ } else { _%>
124
- restAccountMockMvc.perform(get("/api/authenticate")
125
- .accept(MediaType.TEXT_PLAIN))
126
- .andExpect(status().isOk())
127
- .andExpect(content().string(""));
122
+ restAccountMockMvc.perform(get("/api/authenticate"))
123
+ .andExpect(status().isUnauthorized());
128
124
  <%_ } _%>
129
125
  }
130
126
 
@@ -134,16 +130,11 @@ class AccountResourceIT {
134
130
  <%_ if (reactive) { _%>
135
131
  accountWebTestClient
136
132
  .get().uri("/api/authenticate")
137
- .accept(MediaType.TEXT_PLAIN)
138
133
  .exchange()
139
- .expectStatus().isOk()
140
- .expectBody(String.class).isEqualTo(TEST_USER_LOGIN);
134
+ .expectStatus().isNoContent();
141
135
  <%_ } else { _%>
142
- restAccountMockMvc.perform(get("/api/authenticate")
143
- .with(request -> request)
144
- .accept(MediaType.TEXT_PLAIN))
145
- .andExpect(status().isOk())
146
- .andExpect(content().string(TEST_USER_LOGIN));
136
+ restAccountMockMvc.perform(get("/api/authenticate").with(request -> request))
137
+ .andExpect(status().isNoContent());
147
138
  <%_ } _%>
148
139
  }
149
140
  }
@@ -81,7 +81,7 @@ class LogoutResourceIT {
81
81
  private Map<String, Object> claims;
82
82
 
83
83
  @BeforeEach
84
- public void before() <% if (!reactive) { %>throws Exception <% } %>{
84
+ void before() <% if (!reactive) { %>throws Exception <% } %>{
85
85
  claims = new HashMap<>();
86
86
  claims.put("groups", Collections.singletonList(AuthoritiesConstants.USER));
87
87
  claims.put("sub", 123);
@@ -51,7 +51,7 @@ class ExceptionTranslatorIT {
51
51
  <%_ if (authenticationUsesCsrf) { _%>
52
52
 
53
53
  @BeforeEach
54
- public void setupCsrf() {
54
+ void setupCsrf() {
55
55
  webTestClient = webTestClient.mutateWith(csrf());
56
56
  }
57
57
  <%_ } _%>
@@ -1,24 +1,6 @@
1
- /**
2
- * Copyright 2013-2025 the original author or authors from the JHipster project.
3
- *
4
- * This file is part of the JHipster project, see https://www.jhipster.tech/
5
- * for more information.
6
- *
7
- * Licensed under the Apache License, Version 2.0 (the "License");
8
- * you may not use this file except in compliance with the License.
9
- * You may obtain a copy of the License at
10
- *
11
- * https://www.apache.org/licenses/LICENSE-2.0
12
- *
13
- * Unless required by applicable law or agreed to in writing, software
14
- * distributed under the License is distributed on an "AS IS" BASIS,
15
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- * See the License for the specific language governing permissions and
17
- * limitations under the License.
18
- */
19
- import type Generator from './generator.js';
20
1
  /**
21
2
  * Removes server files that where generated in previous JHipster versions and therefore
22
3
  * need to be removed.
23
4
  */
24
- export default function cleanupTask(this: Generator, { application }: any): void;
5
+ declare const _default: (this: import("../index.js").GeneratorBaseCore, params: import("../../lib/types/application/tasks.js").WritingTaskParam<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>>) => void;
6
+ export default _default;
@@ -1,8 +1,27 @@
1
+ /**
2
+ * Copyright 2013-2025 the original author or authors from the JHipster project.
3
+ *
4
+ * This file is part of the JHipster project, see https://www.jhipster.tech/
5
+ * for more information.
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * https://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ */
19
+ import { asWritingTask } from '../base-application/support/task-type-inference.js';
1
20
  /**
2
21
  * Removes server files that where generated in previous JHipster versions and therefore
3
22
  * need to be removed.
4
23
  */
5
- export default function cleanupTask({ application }) {
24
+ export default asWritingTask(async function cleanupTask({ application, control }) {
6
25
  if (application.cacheProviderHazelcast) {
7
26
  if (this.isJhipsterVersionLessThan('3.12.0')) {
8
27
  this.removeFile(`${application.javaPackageSrcDir}config/hazelcast/HazelcastCacheRegionFactory.java`);
@@ -19,4 +38,7 @@ export default function cleanupTask({ application }) {
19
38
  this.removeFile('gradle/cache.gradle');
20
39
  }
21
40
  }
22
- }
41
+ await control.cleanupFiles({
42
+ '8.9.1': [[application.cacheProviderInfinispan, `${application.javaPackageSrcDir}config/CacheFactoryConfiguration.java`]],
43
+ });
44
+ });
@@ -29,12 +29,6 @@ const files = {
29
29
  renameTo: moveToJavaPackageSrcDir,
30
30
  templates: ['config/CacheConfiguration.java'],
31
31
  },
32
- {
33
- condition: data => data.cacheProviderInfinispan,
34
- path: `${SERVER_MAIN_SRC_DIR}_package_/`,
35
- renameTo: moveToJavaPackageSrcDir,
36
- templates: ['config/CacheFactoryConfiguration.java'],
37
- },
38
32
  {
39
33
  condition: data => data.cacheProviderRedis,
40
34
  path: `${SERVER_TEST_SRC_DIR}_package_/`,
@@ -18,7 +18,11 @@
18
18
  */
19
19
  import BaseApplicationGenerator from '../base-application/index.js';
20
20
  export default class SpringCacheGenerator extends BaseApplicationGenerator {
21
- [x: string]: any;
21
+ [BaseApplicationGenerator.CONFIGURING]: any;
22
+ [BaseApplicationGenerator.PREPARING]: any;
23
+ [BaseApplicationGenerator.WRITING]: any;
24
+ [BaseApplicationGenerator.POST_WRITING]: any;
25
+ [BaseApplicationGenerator.POST_WRITING_ENTITIES]: any;
22
26
  beforeQueue(): Promise<void>;
23
27
  get configuring(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl, "configure">;
24
28
  get preparing(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").PreparingTaskParam<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>>, "cancel" | "addNeedles" | "loadDependabot">;
@@ -12,4 +12,4 @@ xmemcached-provider = { module = 'com.google.code.simple-spring-memcached:xmemca
12
12
 
13
13
  xmemcached = { module = 'com.googlecode.xmemcached:xmemcached', version = '2.4.8' }
14
14
 
15
- redisson = { module = 'org.redisson:redisson', version = '3.44.0' }
15
+ redisson = { module = 'org.redisson:redisson', version = '3.46.0' }
@@ -571,20 +571,6 @@ public class CacheConfiguration {
571
571
 
572
572
  };
573
573
  }
574
- <%_ if (enableHibernateCache) { _%>
575
- /**
576
- * Hibernate properties customizer.
577
- * This component ensures that Hibernate L2 cache region factory uses, as cache manager, the
578
- * same instance already configured in Spring Context with {@link CacheConfiguration}
579
- *
580
- * @param cacheFactoryConfiguration custom infinispan region factory
581
- * @return hibernate properties with custom cache region factory
582
- */
583
- @Bean
584
- public HibernatePropertiesCustomizer hibernatePropertiesCustomizer(CacheFactoryConfiguration cacheFactoryConfiguration) {
585
- return hibernateProperties -> hibernateProperties.put(AvailableSettings.CACHE_REGION_FACTORY, cacheFactoryConfiguration);
586
- }
587
- <%_ } _%>
588
574
 
589
575
  <%_ if (serviceDiscoveryAny) { _%>
590
576
  /**
@@ -18,7 +18,11 @@
18
18
  */
19
19
  import BaseApplicationGenerator from '../../../base-application/index.js';
20
20
  export default class GatewayGenerator extends BaseApplicationGenerator {
21
- [x: string]: any;
21
+ [BaseApplicationGenerator.CONFIGURING]: any;
22
+ [BaseApplicationGenerator.PREPARING]: any;
23
+ [BaseApplicationGenerator.WRITING]: any;
24
+ [BaseApplicationGenerator.POST_WRITING]: any;
25
+ [BaseApplicationGenerator.POST_WRITING_ENTITIES]: any;
22
26
  beforeQueue(): Promise<void>;
23
27
  get configuring(): import("../../../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../../../lib/types/base/tasks.js").TaskParamWithControl, "reactiveByDefault">;
24
28
  get preparing(): import("../../../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../../../lib/types/application/tasks.js").PreparingTaskParam<import("../../../base-application/index.js").Entity<import("../../../base-application/index.js").Field, never>, import("../../../../lib/types/application/application.js").ApplicationType<import("../../../base-application/index.js").Entity<import("../../../base-application/index.js").Field, never>>>, "prepareGateway">;
@@ -18,7 +18,8 @@
18
18
  */
19
19
  import BaseApplicationGenerator from '../base-application/index.js';
20
20
  export default class KafkaGenerator extends BaseApplicationGenerator {
21
- [x: string]: any;
21
+ [BaseApplicationGenerator.COMPOSING]: any;
22
+ [BaseApplicationGenerator.PREPARING]: any;
22
23
  beforeQueue(): Promise<void>;
23
24
  get composing(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/base/tasks.js").TaskParamWithControl, "compose">;
24
25
  get preparing(): import("../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../lib/types/application/tasks.js").PreparingTaskParam<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>, import("../../lib/types/application/application.js").ApplicationType<import("../base-application/index.js").Entity<import("../base-application/index.js").Field, never>>>, "preparing">;
@@ -18,7 +18,8 @@
18
18
  */
19
19
  import BaseApplicationGenerator from '../../../base-application/index.js';
20
20
  export default class KafkaGenerator extends BaseApplicationGenerator {
21
- [x: string]: any;
21
+ [BaseApplicationGenerator.WRITING]: any;
22
+ [BaseApplicationGenerator.POST_WRITING]: any;
22
23
  beforeQueue(): Promise<void>;
23
24
  get writing(): import("../../../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../../../lib/types/application/tasks.js").WritingTaskParam<import("../../../base-application/index.js").Entity<import("../../../base-application/index.js").Field, never>, import("../../../../lib/types/application/application.js").ApplicationType<import("../../../base-application/index.js").Entity<import("../../../base-application/index.js").Field, never>>>, "writing" | "cleanupKafkaFilesTask">;
24
25
  get postWriting(): import("../../../../lib/types/base/tasks.js").GenericTaskGroup<any, import("../../../../lib/types/application/tasks.js").PostWritingTaskParam<import("../../../base-application/index.js").Entity<import("../../../base-application/index.js").Field, never>, import("../../../../lib/types/application/application.js").ApplicationType<import("../../../base-application/index.js").Entity<import("../../../base-application/index.js").Field, never>>>, "customizeApplicationForKafka" | "applyKafkaGradleConventionPlugin" | "addKafkaMavenDependencies" | "addLog">;