generator-jhipster 7.9.2 → 7.9.3

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 (214) hide show
  1. package/cli/environment-builder.js +15 -1
  2. package/generators/app/index.js +12 -1
  3. package/generators/bootstrap/index.js +33 -1
  4. package/generators/ci-cd/templates/circle.yml.ejs +3 -13
  5. package/generators/client/files-angular.js +1 -1
  6. package/generators/client/files-react.js +5 -2
  7. package/generators/client/files-vue.js +3 -2
  8. package/generators/client/templates/angular/jest.conf.js.ejs +6 -3
  9. package/generators/client/templates/angular/package.json +18 -18
  10. package/generators/client/templates/angular/package.json.ejs +3 -7
  11. package/generators/client/templates/angular/src/main/webapp/app/admin/admin-routing.module.ts.ejs +1 -1
  12. package/generators/client/templates/angular/src/main/webapp/app/admin/health/health.model.ts.ejs +1 -1
  13. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/update/user-management-update.component.ts.ejs +17 -15
  14. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/user-management.model.ts.ejs +2 -2
  15. package/generators/client/templates/angular/src/main/webapp/app/admin/user-management/user-management.route.ts.ejs +4 -4
  16. package/generators/client/templates/angular/src/main/webapp/app/core/request/request-util.ts.ejs +4 -2
  17. package/generators/client/templates/angular/src/main/webapp/app/core/util/data-util.service.ts.ejs +1 -1
  18. package/generators/client/templates/angular/src/main/webapp/app/core/util/parse-links.service.ts.ejs +1 -1
  19. package/generators/client/templates/angular/src/main/webapp/app/layouts/navbar/navbar.component.html.ejs +1 -1
  20. package/generators/client/templates/angular/src/main/webapp/app/shared/filter/filter.component.html.ejs +8 -6
  21. package/generators/client/templates/angular/src/main/webapp/app/shared/filter/filter.component.ts.ejs +6 -11
  22. package/generators/client/templates/angular/src/main/webapp/app/shared/filter/filter.model.spec.ts.ejs +227 -25
  23. package/generators/client/templates/angular/src/main/webapp/app/shared/filter/filter.model.ts.ejs +104 -43
  24. package/generators/client/templates/angular/src/main/webapp/content/scss/global.scss.ejs +8 -0
  25. package/generators/client/templates/angular/tsconfig.json.ejs +0 -1
  26. package/generators/client/templates/angular/tsconfig.spec.json.ejs +2 -3
  27. package/generators/client/templates/angular/webpack/webpack.microfrontend.js.ejs +0 -3
  28. package/generators/client/templates/common/package.json +4 -4
  29. package/generators/client/templates/common/src/main/webapp/swagger-ui/index.html.ejs +1 -1
  30. package/generators/client/templates/react/jest.conf.js.ejs +2 -2
  31. package/generators/client/templates/react/package.json +23 -23
  32. package/generators/client/templates/react/package.json.ejs +3 -7
  33. package/generators/client/templates/react/src/main/webapp/app/config/store.ts.ejs +0 -6
  34. package/generators/client/templates/react/src/main/webapp/app/modules/administration/administration.reducer.spec.ts.ejs +7 -7
  35. package/generators/client/templates/react/src/main/webapp/app/modules/administration/administration.reducer.ts.ejs +6 -6
  36. package/generators/client/templates/react/src/main/webapp/app/modules/administration/index.tsx.ejs +2 -2
  37. package/generators/client/templates/react/src/main/webapp/app/shared/layout/menus/admin.tsx.ejs +1 -1
  38. package/generators/client/templates/react/src/main/webapp/app/shared/reducers/authentication.spec.ts.ejs +17 -8
  39. package/generators/client/templates/react/src/main/webapp/app/shared/reducers/authentication.ts.ejs +1 -1
  40. package/generators/client/templates/react/src/main/webapp/app/shared/reducers/locale.spec.ts.ejs +176 -19
  41. package/generators/client/templates/react/src/main/webapp/app/shared/reducers/locale.ts.ejs +46 -13
  42. package/generators/client/templates/react/webpack/webpack.microfrontend.js.jhi.react.ejs +1 -1
  43. package/generators/client/templates/vue/package.json +17 -17
  44. package/generators/client/templates/vue/package.json.ejs +3 -7
  45. package/generators/client/templates/vue/src/main/webapp/app/core/jhi-navbar/jhi-navbar.component.ts.ejs +2 -1
  46. package/generators/client/templates/vue/src/main/webapp/app/core/jhi-navbar/jhi-navbar.vue.ejs +1 -1
  47. package/generators/client/templates/vue/src/main/webapp/app/main.ts.ejs +2 -2
  48. package/generators/client/templates/vue/src/main/webapp/app/router/admin.ts.ejs +2 -2
  49. package/generators/client/templates/vue/src/test/javascript/e2e/modules/administration/administration.spec.ts.ejs +1 -1
  50. package/generators/client/templates/vue/src/test/javascript/e2e/page-objects/administration-page.ts.ejs +1 -1
  51. package/generators/client/templates/vue/src/test/javascript/e2e/page-objects/navbar-page.ts.ejs +2 -2
  52. package/generators/client/templates/vue/src/test/javascript/jest.conf.js.ejs +5 -6
  53. package/generators/client/templates/vue/src/test/javascript/spec/app/account/account.service.spec.ts.ejs +4 -0
  54. package/generators/client/templates/vue/src/test/javascript/spec/app/shared/alert/alert.service.spec.ts.ejs +106 -3
  55. package/generators/client/templates/vue/src/test/javascript/spec/app/shared/config/axios-interceptor.spec.ts.ejs +12 -0
  56. package/generators/client/templates/vue/src/test/javascript/spec/app/shared/config/formatter.spec.ts.ejs +6 -0
  57. package/generators/client/templates/vue/src/test/javascript/spec/app/shared/sort/sorts.spec.ts.ejs +10 -0
  58. package/generators/client/templates/vue/webpack/webpack.common.js.ejs +1 -1
  59. package/generators/client/templates/vue/webpack/webpack.dev.js.ejs +2 -2
  60. package/generators/common/files.js +5 -4
  61. package/generators/common/templates/package.json +1 -1
  62. package/generators/common/templates/sonar-project.properties.ejs +19 -11
  63. package/generators/cypress/index.js +1 -1
  64. package/generators/docker-compose/templates/README-DOCKER-COMPOSE.md.ejs +3 -3
  65. package/generators/docker-compose/templates/docker-compose.yml.ejs +1 -1
  66. package/generators/docker-compose/templates/realm-config/jhipster-realm.json.ejs +32 -14
  67. package/generators/entity/index.js +4 -3
  68. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/detail/entity-management-detail.component.html.ejs +1 -1
  69. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.html.ejs +18 -6
  70. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.spec.ts.ejs +1 -1
  71. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/list/entity-management.component.ts.ejs +23 -19
  72. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/service/entity.service.spec.ts.ejs +3 -1
  73. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/service/entity.service.ts.ejs +1 -1
  74. package/generators/entity-client/templates/angular/src/main/webapp/app/entities/update/entity-form.service.ts.ejs +1 -1
  75. package/generators/entity-client/templates/vue/src/main/webapp/app/entities/entity.component.ts.ejs +2 -2
  76. package/generators/entity-server/templates/src/main/java/package/common/delete_template.ejs +7 -3
  77. package/generators/entity-server/templates/src/main/java/package/common/get_all_template.ejs +2 -2
  78. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.ejs +15 -5
  79. package/generators/entity-server/templates/src/main/java/package/domain/Entity.java.jhi.spring_data_persistable.ejs +8 -1
  80. package/generators/entity-server/templates/src/main/java/package/repository/EntityRepositoryInternalImpl_reactive.java.ejs +5 -0
  81. package/generators/entity-server/templates/src/main/java/package/service/EntityQueryService.java.ejs +4 -4
  82. package/generators/entity-server/templates/src/main/java/package/service/EntityService.java.ejs +6 -4
  83. package/generators/entity-server/templates/src/main/java/package/service/criteria/EntityCriteria.java.ejs +3 -26
  84. package/generators/entity-server/templates/src/main/java/package/service/dto/EntityDTO.java.ejs +1 -0
  85. package/generators/entity-server/templates/src/main/java/package/service/impl/EntityServiceImpl.java.ejs +1 -1
  86. package/generators/entity-server/templates/src/test/java/package/web/rest/EntityResourceIT.java.ejs +33 -28
  87. package/generators/generate-blueprint/constants.mjs +46 -6
  88. package/generators/generate-blueprint/files.mjs +7 -5
  89. package/generators/generate-blueprint/generator.mjs +73 -19
  90. package/generators/generate-blueprint/templates/generators/generator/generator.spec.mjs.ejs +1 -1
  91. package/generators/generator-base-blueprint.js +23 -1
  92. package/generators/generator-base-entities.cjs +5 -1
  93. package/generators/generator-base.js +82 -15
  94. package/generators/generator-constants.js +17 -23
  95. package/generators/kubernetes/templates/deployment.yml.ejs +1 -1
  96. package/generators/kubernetes/templates/ingress.yml.ejs +1 -1
  97. package/generators/kubernetes/templates/istio/gateway.yml.ejs +1 -1
  98. package/generators/kubernetes/templates/kustomize/kustomization.yml.ejs +1 -1
  99. package/generators/kubernetes/templates/service.yml.ejs +1 -1
  100. package/generators/kubernetes-knative/templates/istio/gateway.yml.ejs +1 -1
  101. package/generators/kubernetes-knative/templates/service.yml.ejs +3 -3
  102. package/generators/languages/templates/src/main/webapp/i18n/al/health.json.ejs +1 -1
  103. package/generators/languages/templates/src/main/webapp/i18n/ar-ly/health.json.ejs +1 -1
  104. package/generators/languages/templates/src/main/webapp/i18n/bg/health.json.ejs +1 -1
  105. package/generators/languages/templates/src/main/webapp/i18n/bn/health.json.ejs +1 -1
  106. package/generators/languages/templates/src/main/webapp/i18n/by/health.json.ejs +1 -1
  107. package/generators/languages/templates/src/main/webapp/i18n/ca/health.json.ejs +1 -1
  108. package/generators/languages/templates/src/main/webapp/i18n/cs/health.json.ejs +1 -1
  109. package/generators/languages/templates/src/main/webapp/i18n/da/health.json.ejs +1 -1
  110. package/generators/languages/templates/src/main/webapp/i18n/de/health.json.ejs +1 -1
  111. package/generators/languages/templates/src/main/webapp/i18n/el/activate.json.ejs +1 -1
  112. package/generators/languages/templates/src/main/webapp/i18n/el/health.json.ejs +1 -1
  113. package/generators/languages/templates/src/main/webapp/i18n/el/password.json +1 -1
  114. package/generators/languages/templates/src/main/webapp/i18n/el/register.json +3 -3
  115. package/generators/languages/templates/src/main/webapp/i18n/el/tracker.json +1 -1
  116. package/generators/languages/templates/src/main/webapp/i18n/el/user-management.json +9 -9
  117. package/generators/languages/templates/src/main/webapp/i18n/en/health.json.ejs +1 -1
  118. package/generators/languages/templates/src/main/webapp/i18n/es/health.json.ejs +1 -1
  119. package/generators/languages/templates/src/main/webapp/i18n/et/health.json.ejs +1 -1
  120. package/generators/languages/templates/src/main/webapp/i18n/fa/health.json.ejs +1 -1
  121. package/generators/languages/templates/src/main/webapp/i18n/fi/health.json.ejs +1 -1
  122. package/generators/languages/templates/src/main/webapp/i18n/fr/health.json.ejs +1 -1
  123. package/generators/languages/templates/src/main/webapp/i18n/gl/health.json.ejs +1 -1
  124. package/generators/languages/templates/src/main/webapp/i18n/hi/health.json.ejs +1 -1
  125. package/generators/languages/templates/src/main/webapp/i18n/hr/health.json.ejs +1 -1
  126. package/generators/languages/templates/src/main/webapp/i18n/hu/health.json.ejs +1 -1
  127. package/generators/languages/templates/src/main/webapp/i18n/hy/health.json.ejs +1 -1
  128. package/generators/languages/templates/src/main/webapp/i18n/in/health.json.ejs +1 -1
  129. package/generators/languages/templates/src/main/webapp/i18n/it/health.json.ejs +1 -1
  130. package/generators/languages/templates/src/main/webapp/i18n/ja/health.json.ejs +1 -1
  131. package/generators/languages/templates/src/main/webapp/i18n/ko/health.json.ejs +1 -1
  132. package/generators/languages/templates/src/main/webapp/i18n/mr/health.json.ejs +1 -1
  133. package/generators/languages/templates/src/main/webapp/i18n/my/health.json.ejs +1 -1
  134. package/generators/languages/templates/src/main/webapp/i18n/nl/health.json.ejs +1 -1
  135. package/generators/languages/templates/src/main/webapp/i18n/pa/health.json.ejs +1 -1
  136. package/generators/languages/templates/src/main/webapp/i18n/pl/health.json.ejs +1 -1
  137. package/generators/languages/templates/src/main/webapp/i18n/pt-br/health.json.ejs +1 -1
  138. package/generators/languages/templates/src/main/webapp/i18n/pt-pt/health.json.ejs +1 -1
  139. package/generators/languages/templates/src/main/webapp/i18n/ro/health.json.ejs +1 -1
  140. package/generators/languages/templates/src/main/webapp/i18n/ru/health.json.ejs +1 -1
  141. package/generators/languages/templates/src/main/webapp/i18n/si/health.json.ejs +1 -1
  142. package/generators/languages/templates/src/main/webapp/i18n/sk/health.json.ejs +1 -1
  143. package/generators/languages/templates/src/main/webapp/i18n/sr/health.json.ejs +1 -1
  144. package/generators/languages/templates/src/main/webapp/i18n/sv/health.json.ejs +1 -1
  145. package/generators/languages/templates/src/main/webapp/i18n/ta/health.json.ejs +1 -1
  146. package/generators/languages/templates/src/main/webapp/i18n/te/health.json.ejs +1 -1
  147. package/generators/languages/templates/src/main/webapp/i18n/th/health.json.ejs +1 -1
  148. package/generators/languages/templates/src/main/webapp/i18n/tr/health.json.ejs +1 -1
  149. package/generators/languages/templates/src/main/webapp/i18n/ua/health.json.ejs +1 -1
  150. package/generators/languages/templates/src/main/webapp/i18n/uz-Latn-uz/health.json.ejs +1 -1
  151. package/generators/languages/templates/src/main/webapp/i18n/vi/health.json.ejs +1 -1
  152. package/generators/languages/templates/src/main/webapp/i18n/zh-cn/health.json.ejs +1 -1
  153. package/generators/languages/templates/src/main/webapp/i18n/zh-tw/health.json.ejs +1 -1
  154. package/generators/openshift/templates/deployment.yml.ejs +2 -2
  155. package/generators/server/cleanup-elasticsearch.js +5 -0
  156. package/generators/server/files.js +17 -8
  157. package/generators/server/index.js +0 -2
  158. package/generators/server/templates/build.gradle.ejs +6 -14
  159. package/generators/server/templates/gradle/profile_dev.gradle.ejs +1 -1
  160. package/generators/server/templates/gradle/profile_prod.gradle.ejs +1 -1
  161. package/generators/server/templates/gradle.properties.ejs +6 -4
  162. package/generators/server/templates/npmw.cmd +31 -29
  163. package/generators/server/templates/package.json.ejs +2 -2
  164. package/generators/server/templates/pom.xml.ejs +12 -23
  165. package/generators/server/templates/sql/common/src/test/java/package/config/MsSqlTestContainer.java.ejs +2 -3
  166. package/generators/server/templates/src/main/docker/app.yml.ejs +7 -1
  167. package/generators/server/templates/src/main/docker/config/realm-config/jhipster-realm.json.ejs +32 -14
  168. package/generators/server/templates/src/main/docker/jhipster-control-center.yml.ejs +1 -1
  169. package/generators/server/templates/src/main/docker/prometheus/prometheus.yml.ejs +1 -1
  170. package/generators/server/templates/src/main/java/package/Application.java.ejs +11 -4
  171. package/generators/server/templates/src/main/java/package/config/CRLFLogConverter.java.ejs +57 -0
  172. package/generators/server/templates/src/main/java/package/config/EurekaWorkaroundConfiguration.java.ejs +49 -0
  173. package/generators/server/templates/src/main/java/package/config/LoggingConfiguration.java.ejs +4 -4
  174. package/generators/server/templates/src/main/java/package/config/SecurityConfiguration.java.ejs +17 -18
  175. package/generators/server/templates/src/main/java/package/config/SecurityConfiguration_reactive.java.ejs +13 -5
  176. package/generators/server/templates/src/main/java/package/domain/AbstractAuditingEntity.java.ejs +5 -6
  177. package/generators/server/templates/src/main/java/package/domain/User.java.ejs +1 -1
  178. package/generators/server/templates/src/main/java/package/repository/UserRepository.java.ejs +1 -1
  179. package/generators/server/templates/src/main/java/package/security/oauth2/CustomClaimConverter.java.ejs +13 -6
  180. package/generators/server/templates/src/main/java/package/service/dto/AdminUserDTO.java.ejs +3 -1
  181. package/generators/server/templates/src/main/java/package/service/dto/PasswordChangeDTO.java.ejs +5 -1
  182. package/generators/server/templates/src/main/java/package/service/dto/UserDTO.java.ejs +3 -1
  183. package/generators/server/templates/src/main/java/package/web/rest/UserResource.java.ejs +15 -42
  184. package/generators/server/templates/src/main/java/package/web/rest/errors/BadRequestAlertException.java.ejs +1 -0
  185. package/generators/server/templates/src/main/java/package/web/rest/errors/EmailAlreadyUsedException.java.ejs +1 -0
  186. package/generators/server/templates/src/main/java/package/web/rest/errors/InvalidPasswordException.java.ejs +1 -0
  187. package/generators/server/templates/src/main/java/package/web/rest/errors/LoginAlreadyUsedException.java.ejs +1 -0
  188. package/generators/server/templates/src/main/resources/config/application-dev.yml.ejs +1 -1
  189. package/generators/server/templates/src/main/resources/config/application-prod.yml.ejs +2 -2
  190. package/generators/server/templates/src/main/resources/config/application.yml.ejs +4 -2
  191. package/generators/server/templates/src/main/resources/config/liquibase/master.xml.ejs +3 -8
  192. package/generators/server/templates/src/main/resources/logback-spring.xml.ejs +5 -0
  193. package/generators/server/templates/src/test/java/package/config/{ElasticsearchReactiveTestConfiguration.java.ejs → ElasticsearchTestConfiguration.java.ejs} +3 -3
  194. package/generators/server/templates/src/test/java/package/config/ElasticsearchTestContainer.java.ejs +1 -0
  195. package/generators/server/templates/src/test/java/package/config/JHipsterBlockHoundIntegration.java.ejs +3 -0
  196. package/generators/server/templates/src/test/java/package/config/TestContainersSpringContextCustomizerFactory.java.ejs +2 -2
  197. package/generators/sql-constants.js +5 -2
  198. package/generators/utils.js +43 -3
  199. package/generators/workspaces/index.js +2 -1
  200. package/jdl/exporters/jdl-exporter.js +6 -1
  201. package/jdl/jhipster/application-options.js +2 -1
  202. package/jdl/jhipster/binary-options.js +2 -2
  203. package/jdl/jhipster/default-application-options.js +11 -8
  204. package/jdl/jhipster/entity-options.js +1 -0
  205. package/jdl/jhipster/search-engine-types.js +1 -0
  206. package/lib/constants/priorities.cjs +16 -0
  207. package/lib/constants/priorities.mjs +1 -0
  208. package/lib/index.js +2 -0
  209. package/lib/support/base.cjs +2 -1
  210. package/package.json +7 -6
  211. package/utils/blueprint.js +10 -0
  212. package/utils/field.js +3 -1
  213. package/generators/client/templates/react/src/main/webapp/app/config/translation-middleware.ts.ejs +0 -58
  214. package/generators/server/templates/.npmrc.ejs +0 -1
@@ -92,7 +92,7 @@
92
92
  "jest-environment-jsdom": "<%= dependabotPackageJson.devDependencies['jest-environment-jsdom'] %>",
93
93
  "jest-junit": "<%= dependabotPackageJson.devDependencies['jest-junit'] %>",
94
94
  "jest-serializer-vue": "<%= dependabotPackageJson.devDependencies['jest-serializer-vue'] %>",
95
- "jest-sonar-reporter": "<%= dependabotPackageJson.devDependencies['jest-sonar-reporter'] %>",
95
+ "jest-sonar": "<%= dependabotPackageJson.devDependencies['jest-sonar'] %>",
96
96
  <%_ if (enableTranslation) { _%>
97
97
  "folder-hash": "<%= dependabotPackageJson.devDependencies['folder-hash'] %>",
98
98
  "merge-jsons-webpack-plugin": "<%= dependabotPackageJson.devDependencies['merge-jsons-webpack-plugin'] %>",
@@ -144,8 +144,8 @@
144
144
  "default_environment": "prod"
145
145
  },
146
146
  "scripts": {
147
- "prettier:check": "prettier --check \"{,src/**/,webpack/}*.{<%= getPrettierExtensions() %>}\"",
148
- "prettier:format": "prettier --write \"{,src/**/,webpack/}*.{<%= getPrettierExtensions() %>}\"",
147
+ "prettier:check": "prettier --check \"{,src/**/,webpack/,.blueprint/**/}*.{<%= getPrettierExtensions() %>}\"",
148
+ "prettier:format": "prettier --write \"{,src/**/,webpack/,.blueprint/**/}*.{<%= getPrettierExtensions() %>}\"",
149
149
  "lint": "eslint . --ext .ts,.vue ",
150
150
  "lint:fix": "eslint . --ext .ts,.vue --fix",
151
151
  "cleanup": "rimraf <%= DIST_DIR %>",
@@ -191,10 +191,6 @@
191
191
  "webpack-dev-server": "webpack serve --config webpack/webpack.common.js",
192
192
  "webpack": "webpack --config webpack/webpack.common.js"
193
193
  },
194
- "jestSonar": {
195
- "reportPath": "<%= BUILD_DIR %>test-results/jest",
196
- "reportFile": "TESTS-results-sonar.xml"
197
- },
198
194
  "browserslist": [
199
195
  "> 1%",
200
196
  "last 2 versions",
@@ -31,7 +31,8 @@ export default class JhiNavbar extends Vue {
31
31
 
32
32
  created() {
33
33
  <%_ if (enableTranslation) { _%>
34
- this.translationService().refreshTranslation(this.currentLanguage);
34
+ const currentLanguage = Object.keys(this.languages).includes(navigator.language) ? navigator.language : this.currentLanguage;
35
+ this.translationService().refreshTranslation(currentLanguage);
35
36
  <%_ } _%>
36
37
  }
37
38
 
@@ -53,7 +53,7 @@
53
53
  <font-awesome-icon icon="users-cog" />
54
54
  <span class="no-bold" v-text="$t('global.menu.admin.main')">Administration</span>
55
55
  </span>
56
- <%_ if (applicationTypeGateway && serviceDiscoveryType) { _%>
56
+ <%_ if (applicationTypeGateway && serviceDiscoveryAny) { _%>
57
57
  <b-dropdown-item to="/admin/gateway" active-class="active">
58
58
  <font-awesome-icon icon="road" />
59
59
  <span v-text="$t('global.menu.admin.gateway')">Gateway</span>
@@ -33,7 +33,7 @@ import '../content/scss/vendor.scss';
33
33
  <%_ if (enableTranslation) { _%>
34
34
  import TranslationService from '@/locale/translation.service';
35
35
  <%_ } _%>
36
- <%_ if (applicationTypeGateway && serviceDiscoveryType) { %>
36
+ <%_ if (applicationTypeGateway && serviceDiscoveryAny) { %>
37
37
  import GatewayService from '@/admin/gateway/gateway.service';
38
38
  <%_ } _%>
39
39
  <%_ if (communicationSpringWebsocket) { _%>
@@ -107,7 +107,7 @@ router.beforeEach(async (to, from, next) => {
107
107
  registerService: () => new RegisterService(),
108
108
  userManagementService: () => new UserManagementService(),
109
109
  <%_ } _%>
110
- <%_ if (applicationTypeGateway && serviceDiscoveryType) { %>
110
+ <%_ if (applicationTypeGateway && serviceDiscoveryAny) { %>
111
111
  gatewayService: () => new GatewayService(),
112
112
  <%_ } _%>
113
113
  <%_ if (withAdminUi) { _%>
@@ -12,7 +12,7 @@ import {Authority} from "@/shared/security/authority";
12
12
  const <%= jhiPrefixCapitalized %>LogsComponent = () => import('@/admin/logs/logs.vue');
13
13
  const <%= jhiPrefixCapitalized %>MetricsComponent = () => import('@/admin/metrics/metrics.vue');
14
14
  <%_ } _%>
15
- <%_ if (applicationTypeGateway && serviceDiscoveryType) { _%>
15
+ <%_ if (applicationTypeGateway && serviceDiscoveryAny) { _%>
16
16
  const <%= jhiPrefixCapitalized %>GatewayComponent = () => import('@/admin/gateway/gateway.vue');
17
17
  <%_ } _%>
18
18
  <%_ if (communicationSpringWebsocket) { _%>
@@ -78,7 +78,7 @@ export default [
78
78
  meta: { authorities: [Authority.ADMIN] }
79
79
  },
80
80
  <%_ } _%>
81
- <%_ if (applicationTypeGateway && serviceDiscoveryType) { _%>
81
+ <%_ if (applicationTypeGateway && serviceDiscoveryAny) { _%>
82
82
  {
83
83
  path: '/admin/gateway',
84
84
  name: '<%= jhiPrefixCapitalized %>GatewayComponent',
@@ -30,7 +30,7 @@ describe('Administration', () => {
30
30
  });
31
31
  <%_ } _%>
32
32
 
33
- <%_ if (applicationTypeGateway && serviceDiscoveryType) { _%>
33
+ <%_ if (applicationTypeGateway && serviceDiscoveryAny) { _%>
34
34
  it('should load gateway', async () => {
35
35
  const gatewayPage = await navBarPage.getGatewayPage();
36
36
  expect(await gatewayPage.title.isDisplayed()).to.be.true;
@@ -88,7 +88,7 @@ export class UserManagementDeletePage {
88
88
  okButton: ElementFinder = element(by.id('confirm-delete-user'));
89
89
  }
90
90
 
91
- <%_ if (applicationTypeGateway && serviceDiscoveryType) { _%>
91
+ <%_ if (applicationTypeGateway && serviceDiscoveryAny) { _%>
92
92
  export class GatewayPage {
93
93
  title: ElementFinder = element(by.id('gateway-page-heading'));
94
94
  }
@@ -8,7 +8,7 @@ import SettingsPage from './settings-page';
8
8
  <%_ } _%>
9
9
  import {
10
10
  ConfigurationsPage,
11
- <%_ if (applicationTypeGateway && serviceDiscoveryType) { _%>
11
+ <%_ if (applicationTypeGateway && serviceDiscoveryAny) { _%>
12
12
  GatewayPage,
13
13
  <%_ } _%>
14
14
  HealthPage,
@@ -155,7 +155,7 @@ async getRegisterPage() {
155
155
  await waitUntilDisplayed(logsPage.title);
156
156
  return logsPage;
157
157
  }
158
- <%_ if (applicationTypeGateway && serviceDiscoveryType) { _%>
158
+ <%_ if (applicationTypeGateway && serviceDiscoveryAny) { _%>
159
159
 
160
160
  async getGatewayPage() {
161
161
  await this.clickOnAdminMenuItem('gateway');
@@ -24,10 +24,13 @@ module.exports = {
24
24
  },
25
25
  reporters: [
26
26
  'default',
27
- [ 'jest-junit', { outputDirectory: './<%= BUILD_DIR %>test-results/', outputName: 'TESTS-results-jest.xml' } ],
27
+ ['jest-junit', { outputDirectory: './<%= BUILD_DIR %>test-results/', outputName: 'TESTS-results-jest.xml' }],
28
+ ['jest-sonar', { outputDirectory: './<%= BUILD_DIR %>test-results/jest', outputName: 'TESTS-results-sonar.xml' }],
28
29
  ],
29
- testResultsProcessor: 'jest-sonar-reporter',
30
30
  testMatch: ['<rootDir>/<%= CLIENT_TEST_SRC_DIR %>spec/**/@(*.)@(spec.ts)'],
31
+ testEnvironmentOptions: {
32
+ url: 'https://jhipster.tech',
33
+ },
31
34
  snapshotSerializers: ['jest-serializer-vue'],
32
35
  globals: {
33
36
  <%_ if (enableTranslation) { _%>
@@ -42,11 +45,7 @@ module.exports = {
42
45
  coverageThreshold: {
43
46
  global: {
44
47
  statements: 80,
45
- <%_ if (microfrontend) { _%>
46
- branches: 57,
47
- <%_ } else { _%>
48
48
  branches: 60,
49
- <%_ } _%>
50
49
  functions: 70,
51
50
  lines: 80,
52
51
  },
@@ -88,6 +88,8 @@ describe('Account Service test suite', () => {
88
88
  });
89
89
 
90
90
  it('should init service and check for authority after retrieving account', async () => {
91
+ const reqUrl = 'requrl';
92
+ sessionStorage.setItem('requested-url', reqUrl);
91
93
  <%_ if (authenticationTypeJwt) { _%>
92
94
  localStorage.setItem('<%=jhiPrefixDashed %>-authenticationToken', 'token');
93
95
  <%_ } %>
@@ -95,6 +97,8 @@ describe('Account Service test suite', () => {
95
97
  accountService = await new AccountService(store, <%_ if (enableTranslation) { _%>new TranslationService(store, i18n),<%_ } %><%_ if (authenticationTypeSession || authenticationTypeOauth2) { _%>mockedCookie,<%_ } %> router);
96
98
 
97
99
  return accountService.hasAnyAuthorityAndCheckAuth('USER').then((value: boolean) => {
100
+ expect((<any>router).history.current.fullPath).toBe(`/${reqUrl}`);
101
+ expect(sessionStorage.getItem('requested-url')).toBe(null);
98
102
  expect(value).toBe(true);
99
103
  });
100
104
  });
@@ -40,7 +40,7 @@ describe('Alert Service test suite', () => {
40
40
  // WHEN
41
41
  alertService.showError((<any>vueInstance) as Vue, <% if (enableTranslation) { %>translationKey<%} else {%>message<% } %>);
42
42
 
43
- //THEN
43
+ // THEN
44
44
  <%_ if (enableTranslation) { _%>
45
45
  expect(translationStub.withArgs(translationKey).callCount).toEqual(1);
46
46
  <%_ } _%>
@@ -71,7 +71,7 @@ describe('Alert Service test suite', () => {
71
71
  // WHEN
72
72
  alertService.showHttpError((<any>vueInstance) as Vue, httpErrorResponse);
73
73
 
74
- //THEN
74
+ // THEN
75
75
  <%_ if (enableTranslation) { _%>
76
76
  expect(translationStub.withArgs(translationKey).callCount).toEqual(1);
77
77
  <%_ } _%>
@@ -107,7 +107,7 @@ describe('Alert Service test suite', () => {
107
107
  // WHEN
108
108
  alertService.showHttpError((<any>vueInstance) as Vue, httpErrorResponse);
109
109
 
110
- //THEN
110
+ // THEN
111
111
  <%_ if (enableTranslation) { _%>
112
112
  expect(translationStub.withArgs(translationKey, { entityName: 'DummyEntity' }).callCount).toEqual(1);
113
113
  <%_ } _%>
@@ -121,4 +121,107 @@ describe('Alert Service test suite', () => {
121
121
  })
122
122
  ).toBeTruthy();
123
123
  });
124
+
125
+ it('should show error toast with data.message when http status = 400 and entity headers', async () => {
126
+ const message = 'Validation error';
127
+ const httpErrorResponse = {
128
+ status: 400,
129
+ headers: {
130
+ 'x-jhipsterapp-error400': 'error',
131
+ 'x-jhipsterapp-params400': 'dummyEntity',
132
+ },
133
+ data: {
134
+ message,
135
+ fieldErrors: {
136
+ 'field1': 'error1',
137
+ },
138
+ },
139
+ };
140
+
141
+ <%_ if (enableTranslation) { _%>
142
+ // GIVEN
143
+ translationStub.withArgs(message).returns(message);
144
+ <%_ } _%>
145
+
146
+ // WHEN
147
+ alertService.showHttpError((<any>vueInstance) as Vue, httpErrorResponse);
148
+
149
+ // THEN
150
+ <%_ if (enableTranslation) { _%>
151
+ expect(translationStub.withArgs(message).callCount).toEqual(1);
152
+ <%_ } _%>
153
+ expect(
154
+ toastStub.calledOnceWith(message, {
155
+ toaster: 'b-toaster-top-center',
156
+ title: 'Error',
157
+ variant: 'danger',
158
+ solid: true,
159
+ autoHideDelay: 5000,
160
+ })
161
+ ).toBeTruthy();
162
+ });
163
+
164
+ it('should show error toast when http status = 404', async () => {
165
+ <%_ if (enableTranslation) { _%>
166
+ const translationKey = 'error.http.404';
167
+ <%_ } _%>
168
+ const message = 'Not found';
169
+ const httpErrorResponse = {
170
+ status: 404,
171
+ };
172
+
173
+ <%_ if (enableTranslation) { _%>
174
+ // GIVEN
175
+ translationStub.withArgs(translationKey).returns(message);
176
+ <%_ } _%>
177
+
178
+ // WHEN
179
+ alertService.showHttpError((<any>vueInstance) as Vue, httpErrorResponse);
180
+
181
+ // THEN
182
+ <%_ if (enableTranslation) { _%>
183
+ expect(translationStub.withArgs(translationKey).callCount).toEqual(1);
184
+ <%_ } _%>
185
+ expect(
186
+ toastStub.calledOnceWith(message, {
187
+ toaster: 'b-toaster-top-center',
188
+ title: 'Error',
189
+ variant: 'danger',
190
+ solid: true,
191
+ autoHideDelay: 5000,
192
+ })
193
+ ).toBeTruthy();
194
+ });
195
+
196
+ it('should show error toast when http status != 400,404', async () => {
197
+ const message = 'Error 500';
198
+ const httpErrorResponse = {
199
+ status: 500,
200
+ data: {
201
+ message,
202
+ }
203
+ };
204
+
205
+ <%_ if (enableTranslation) { _%>
206
+ // GIVEN
207
+ translationStub.withArgs(message).returns(message);
208
+ <%_ } _%>
209
+
210
+ // WHEN
211
+ alertService.showHttpError((<any>vueInstance) as Vue, httpErrorResponse);
212
+
213
+ // THEN
214
+ <%_ if (enableTranslation) { _%>
215
+ expect(translationStub.withArgs(message).callCount).toEqual(1);
216
+ <%_ } _%>
217
+ expect(
218
+ toastStub.calledOnceWith(message, {
219
+ toaster: 'b-toaster-top-center',
220
+ title: 'Error',
221
+ variant: 'danger',
222
+ solid: true,
223
+ autoHideDelay: 5000,
224
+ })
225
+ ).toBeTruthy();
226
+ });
124
227
  });
@@ -56,5 +56,17 @@ describe('Axios errors interceptor', () => {
56
56
  expect(callback.called).toBeTruthy();
57
57
  }
58
58
  });
59
+ it('should not use callback for errors different 50x, 401, 403', async () => {
60
+ const callback = sinon.spy();
61
+
62
+ setupAxiosConfig.setupAxiosInterceptors(() => {}, callback);
63
+
64
+ try {
65
+ mock.onGet().reply(402);
66
+ await axios('/api/test');
67
+ } catch {
68
+ expect(callback.called).toBeFalsy();
69
+ }
70
+ });
59
71
  });
60
72
 
@@ -12,4 +12,10 @@ describe('Formatter i18n', () => {
12
12
 
13
13
  expect(result[0]).toBe('val1');
14
14
  });
15
+
16
+ it('should not interpolate message without values', () => {
17
+ const result = formatter.interpolate('this is a text', undefined);
18
+
19
+ expect(result[0]).toBe('this is a text');
20
+ });
15
21
  });
@@ -0,0 +1,10 @@
1
+ import buildPaginationQueryOpts from '@/shared/sort/sorts';
2
+
3
+ describe('Sort', () => {
4
+
5
+ it('should return an empty string if there is no pagination', () => {
6
+ const result = buildPaginationQueryOpts(undefined);
7
+
8
+ expect(result).toBe('');
9
+ });
10
+ });
@@ -156,7 +156,7 @@ module.exports = async (env, options) => {
156
156
  globOptions: { ignore: ['**/index.html'] },
157
157
  },
158
158
  {
159
- from: require.resolve('axios/dist/axios.min.js'),
159
+ from: require.resolve('axios/dist/axios.min.js'),
160
160
  to: 'swagger-ui/',
161
161
  },
162
162
  { from: './<%= CLIENT_MAIN_SRC_DIR %>swagger-ui/', to: 'swagger-ui/' },
@@ -31,8 +31,8 @@ module.exports = (env, options) => {
31
31
  // cheap-module-eval-source-map is faster for development
32
32
  devtool: config.dev.devtool,
33
33
  output: {
34
- filename: 'app/[contenthash].bundle.js',
35
- chunkFilename: 'app/[id].chunk.js'
34
+ filename: 'app/[name].[contenthash].bundle.js',
35
+ chunkFilename: 'app/[id].[chunkhash].chunk.js'
36
36
  },
37
37
  optimization: {
38
38
  moduleIds: 'named',
@@ -46,13 +46,14 @@ const commonFiles = {
46
46
  file: 'editorconfig',
47
47
  renameTo: () => '.editorconfig',
48
48
  },
49
- {
50
- file: 'sonar-project.properties',
51
- renameTo: () => 'sonar-project.properties',
52
- },
53
49
  ],
54
50
  },
55
51
  ],
52
+ sonar: [
53
+ {
54
+ templates: ['sonar-project.properties'],
55
+ },
56
+ ],
56
57
  commitHooks: [
57
58
  {
58
59
  condition: generator => !generator.skipCommitHook,
@@ -3,7 +3,7 @@
3
3
  "concurrently": "7.3.0",
4
4
  "husky": "7.0.4",
5
5
  "lint-staged": "13.0.3",
6
- "npm": "8.15.1",
6
+ "npm": "8.19.1",
7
7
  "wait-on": "6.0.1"
8
8
  }
9
9
  }
@@ -1,16 +1,21 @@
1
1
  sonar.projectKey=<%= baseName %>
2
2
  sonar.projectName=<%= baseName %> generated by jhipster
3
- sonar.projectVersion=1.0
4
3
 
5
- sonar.sources=<%= MAIN_DIR %>
4
+ # Typescript tests files must be inside sources and tests, othewise `INFO: Test execution data ignored for 80 unknown files, including:` is shown.
5
+ sonar.sources=src
6
+ sonar.tests=src
6
7
  sonar.host.url=http://localhost:9001
7
8
 
8
- <%_ if (!skipClient && clientFrameworkAngular) { _%>
9
+ <%_ if (clientFrameworkAny) { _%>
10
+ <%_ if (clientFrameworkAngular) { _%>
9
11
  sonar.test.inclusions=<%= TEST_DIR %>**/*.*, <%= CLIENT_MAIN_SRC_DIR %>app/**/*.spec.ts
10
- <%_ } else if (!skipClient && clientFrameworkReact) { _%>
12
+ <%_ } else if (clientFrameworkReact) { _%>
11
13
  sonar.test.inclusions=<%= TEST_DIR %>**/*.*, <%= CLIENT_MAIN_SRC_DIR %>app/**/*.spec.ts, <%= CLIENT_MAIN_SRC_DIR %>app/**/*.spec.tsx
14
+ <%_ } else { _%>
15
+ sonar.test.inclusions=<%= TEST_DIR %>**/*.*
16
+ <%_ } _%>
12
17
  <%_ } else { _%>
13
- sonar.tests=<%= TEST_DIR %>
18
+ sonar.test.inclusions=<%= TEST_DIR %>**/*.*
14
19
  <%_ } _%>
15
20
  <%_ if (!skipServer) { _%>
16
21
  <%_ if (buildToolMaven) { _%>
@@ -33,21 +38,24 @@ sonar.javascript.lcov.reportPaths=<%_ if (buildToolMaven) { _%>target<%_ } else
33
38
  sonar.sourceEncoding=UTF-8
34
39
  sonar.exclusions=<%= CLIENT_MAIN_SRC_DIR %>content/**/*.*, <%= CLIENT_MAIN_SRC_DIR %>i18n/*.js, <%= CLIENT_DIST_DIR %>**/*.*
35
40
 
36
- sonar.issue.ignore.multicriteria=<%_ if (!skipServer) { _%>S3437,<% if (authenticationTypeJwt) { %>S4502,<% } %>S4684,UndocumentedApi<%_ } _%>
41
+ sonar.issue.ignore.multicriteria=<%_ if (!skipServer) { _%>S3437,<% if (authenticationTypeJwt) { %>S4502,<% } %>S4684,S5145,UndocumentedApi<%_ } _%>
37
42
 
38
43
  <%_ if (!skipServer) { _%>
39
44
  # Rule https://rules.sonarsource.com/java/RSPEC-3437 is ignored, as a JPA-managed field cannot be transient
40
45
  sonar.issue.ignore.multicriteria.S3437.resourceKey=<%= MAIN_DIR %>java/**/*
41
46
  sonar.issue.ignore.multicriteria.S3437.ruleKey=squid:S3437
42
- # Rule https://rules.sonarsource.com/java/RSPEC-1176 is ignored, as we want to follow "clean code" guidelines and classes, methods and arguments names should be self-explanatory
43
- sonar.issue.ignore.multicriteria.UndocumentedApi.resourceKey=<%= MAIN_DIR %>java/**/*
44
- sonar.issue.ignore.multicriteria.UndocumentedApi.ruleKey=squid:UndocumentedApi
45
- <%_ if (authenticationTypeJwt) { _%>
47
+ <%_ if (authenticationTypeJwt) { _%>
46
48
  # Rule https://rules.sonarsource.com/java/RSPEC-4502 is ignored, as for JWT tokens we are not subject to CSRF attack
47
49
  sonar.issue.ignore.multicriteria.S4502.resourceKey=<%= MAIN_DIR %>java/**/*
48
50
  sonar.issue.ignore.multicriteria.S4502.ruleKey=java:S4502
49
- <%_ } _%>
51
+ <%_ } _%>
50
52
  # Rule https://rules.sonarsource.com/java/RSPEC-4684
51
53
  sonar.issue.ignore.multicriteria.S4684.resourceKey=<%= MAIN_DIR %>java/**/*
52
54
  sonar.issue.ignore.multicriteria.S4684.ruleKey=java:S4684
55
+ # Rule https://rules.sonarsource.com/java/RSPEC-5145 log filter is applied
56
+ sonar.issue.ignore.multicriteria.S5145.resourceKey=<%= MAIN_DIR %>java/**/*
57
+ sonar.issue.ignore.multicriteria.S5145.ruleKey=javasecurity:S5145
58
+ # Rule https://rules.sonarsource.com/java/RSPEC-1176 is ignored, as we want to follow "clean code" guidelines and classes, methods and arguments names should be self-explanatory
59
+ sonar.issue.ignore.multicriteria.UndocumentedApi.resourceKey=<%= MAIN_DIR %>java/**/*
60
+ sonar.issue.ignore.multicriteria.UndocumentedApi.ruleKey=squid:UndocumentedApi
53
61
  <%_ } _%>
@@ -69,7 +69,7 @@ module.exports = class extends BaseBlueprintGenerator {
69
69
  _prompting() {
70
70
  return {
71
71
  async askForCypressOptions() {
72
- if (this.options.existingProject || !this.jhipsterConfig.testFrameworks.includes(CYPRESS)) {
72
+ if (this.options.existingProject || !(this.jhipsterConfig.testFrameworks || []).includes(CYPRESS)) {
73
73
  return;
74
74
  }
75
75
  await this.prompt(
@@ -5,14 +5,14 @@
5
5
  Launch all your infrastructure by running: `docker-compose up -d`.
6
6
 
7
7
  ## Configured Docker services
8
- <%_ if (serviceDiscoveryType) { _%>
8
+ <%_ if (serviceDiscoveryAny) { _%>
9
9
 
10
10
  ### Service registry and configuration server:
11
11
  <%_ } _%>
12
- <%_ if (serviceDiscoveryType === 'eureka') { _%>
12
+ <%_ if (serviceDiscoveryEureka) { _%>
13
13
  - [JHipster Registry](http://localhost:8761)
14
14
  <%_ } _%>
15
- <%_ if (serviceDiscoveryType === 'consul') { _%>
15
+ <%_ if (serviceDiscoveryConsul) { _%>
16
16
  - [Consul](http://localhost:8500)
17
17
  <%_ } _%>
18
18
 
@@ -49,7 +49,7 @@ services:
49
49
  environment:
50
50
  - _JAVA_OPTIONS=-Xmx512m -Xms256m
51
51
  <%_ if (usesOauth2) { _%>
52
- - JHIPSTER_SLEEP=30
52
+ - JHIPSTER_SLEEP=80
53
53
  <%_ } _%>
54
54
  - SPRING_PROFILES_ACTIVE=dev<% if (usesOauth2) { %>,oauth2<% } %>
55
55
  - SPRING_SECURITY_USER_PASSWORD=<%= adminPassword %>
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "id": "jhipster",
3
3
  "realm": "jhipster",
4
+ "displayName": "JHipster",
4
5
  "notBefore": 0,
5
6
  "defaultSignatureAlgorithm": "RS256",
6
7
  "revokeRefreshToken": false,
@@ -496,15 +497,8 @@
496
497
  "disableableCredentialTypes": [],
497
498
  "requiredActions": [],
498
499
  "realmRoles": [
499
- "offline_access",
500
- "uma_authorization"
500
+ "default-roles-jhipster"
501
501
  ],
502
- "clientRoles": {
503
- "account": [
504
- "view-profile",
505
- "manage-account"
506
- ]
507
- },
508
502
  "notBefore": 0,
509
503
  "groups": []
510
504
  }
@@ -553,7 +547,9 @@
553
547
  "publicClient": false,
554
548
  "frontchannelLogout": false,
555
549
  "protocol": "openid-connect",
556
- "attributes": {},
550
+ "attributes": {
551
+ "post.logout.redirect.uris": "+"
552
+ },
557
553
  "authenticationFlowBindingOverrides": {},
558
554
  "fullScopeAllowed": false,
559
555
  "nodeReRegistrationTimeout": 0,
@@ -596,6 +592,7 @@
596
592
  "frontchannelLogout": false,
597
593
  "protocol": "openid-connect",
598
594
  "attributes": {
595
+ "post.logout.redirect.uris": "+",
599
596
  "pkce.code.challenge.method": "S256"
600
597
  },
601
598
  "authenticationFlowBindingOverrides": {},
@@ -645,7 +642,9 @@
645
642
  "publicClient": true,
646
643
  "frontchannelLogout": false,
647
644
  "protocol": "openid-connect",
648
- "attributes": {},
645
+ "attributes": {
646
+ "post.logout.redirect.uris": "+"
647
+ },
649
648
  "authenticationFlowBindingOverrides": {},
650
649
  "fullScopeAllowed": false,
651
650
  "nodeReRegistrationTimeout": 0,
@@ -683,7 +682,9 @@
683
682
  "publicClient": false,
684
683
  "frontchannelLogout": false,
685
684
  "protocol": "openid-connect",
686
- "attributes": {},
685
+ "attributes": {
686
+ "post.logout.redirect.uris": "+"
687
+ },
687
688
  "authenticationFlowBindingOverrides": {},
688
689
  "fullScopeAllowed": false,
689
690
  "nodeReRegistrationTimeout": 0,
@@ -725,6 +726,7 @@
725
726
  "saml.force.post.binding": "false",
726
727
  "saml.multivalued.roles": "false",
727
728
  "saml.encrypt": "false",
729
+ "post.logout.redirect.uris": "+",
728
730
  "saml.server.signature": "false",
729
731
  "saml.server.signature.keyinfo.ext": "false",
730
732
  "exclude.session.state.from.auth.response": "false",
@@ -833,6 +835,7 @@
833
835
  "saml.force.post.binding": "false",
834
836
  "saml.multivalued.roles": "false",
835
837
  "saml.encrypt": "false",
838
+ "post.logout.redirect.uris": "+",
836
839
  "saml.server.signature": "false",
837
840
  "saml.server.signature.keyinfo.ext": "false",
838
841
  "exclude.session.state.from.auth.response": "false",
@@ -893,6 +896,7 @@
893
896
  "saml.force.post.binding": "false",
894
897
  "saml.multivalued.roles": "false",
895
898
  "saml.encrypt": "false",
899
+ "post.logout.redirect.uris": "+",
896
900
  "saml.server.signature": "false",
897
901
  "saml.server.signature.keyinfo.ext": "false",
898
902
  "exclude.session.state.from.auth.response": "false",
@@ -941,7 +945,9 @@
941
945
  "publicClient": false,
942
946
  "frontchannelLogout": false,
943
947
  "protocol": "openid-connect",
944
- "attributes": {},
948
+ "attributes": {
949
+ "post.logout.redirect.uris": "+"
950
+ },
945
951
  "authenticationFlowBindingOverrides": {},
946
952
  "fullScopeAllowed": false,
947
953
  "nodeReRegistrationTimeout": 0,
@@ -986,6 +992,7 @@
986
992
  "frontchannelLogout": false,
987
993
  "protocol": "openid-connect",
988
994
  "attributes": {
995
+ "post.logout.redirect.uris": "+",
989
996
  "pkce.code.challenge.method": "S256"
990
997
  },
991
998
  "authenticationFlowBindingOverrides": {},
@@ -1059,6 +1066,7 @@
1059
1066
  "saml.force.post.binding": "false",
1060
1067
  "saml.multivalued.roles": "false",
1061
1068
  "saml.encrypt": "false",
1069
+ "post.logout.redirect.uris": "+",
1062
1070
  "saml.server.signature": "false",
1063
1071
  "saml.server.signature.keyinfo.ext": "false",
1064
1072
  "exclude.session.state.from.auth.response": "false",
@@ -1770,6 +1778,14 @@
1770
1778
  "config": {}
1771
1779
  }
1772
1780
  ],
1781
+ "org.keycloak.userprofile.UserProfileProvider": [
1782
+ {
1783
+ "id": "b05ccf0d-d8ac-4695-bd60-37018f8f94b4",
1784
+ "providerId": "declarative-user-profile",
1785
+ "subComponents": {},
1786
+ "config": {}
1787
+ }
1788
+ ],
1773
1789
  "org.keycloak.keys.KeyProvider": [
1774
1790
  {
1775
1791
  "id": "62707fae-58f9-4fc2-89fb-0c5d212dc3dc",
@@ -2490,9 +2506,11 @@
2490
2506
  "clientSessionMaxLifespan": "0",
2491
2507
  "parRequestUriLifespan": "60",
2492
2508
  "clientOfflineSessionIdleTimeout": "0",
2493
- "cibaInterval": "5"
2509
+ "cibaInterval": "5",
2510
+ "frontendUrl": "",
2511
+ "acr.loa.map": "[]"
2494
2512
  },
2495
- "keycloakVersion": "18.0.0",
2513
+ "keycloakVersion": "19.0.1",
2496
2514
  "userManagedAccessAllowed": false,
2497
2515
  "clientProfiles": {
2498
2516
  "profiles": []