@cerema/cadriciel 1.4.24 → 1.4.26

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 (1358) hide show
  1. package/aqtion/.cadriciel/.settings +25 -0
  2. package/aqtion/.cadriciel/bin/.settings +0 -0
  3. package/aqtion/.cadriciel/bin/build.js +106 -0
  4. package/aqtion/.cadriciel/bin/env.js +145 -0
  5. package/aqtion/.cadriciel/bin/gen/api/api.js +886 -0
  6. package/aqtion/.cadriciel/bin/gen/component/component.js +36 -0
  7. package/aqtion/.cadriciel/bin/gen/db/db.js +3 -0
  8. package/aqtion/.cadriciel/bin/gen/db/ext/create.js +124 -0
  9. package/aqtion/.cadriciel/bin/gen/db/ext/ext.js +91 -0
  10. package/aqtion/.cadriciel/bin/gen/db/ext/import.js +636 -0
  11. package/aqtion/.cadriciel/bin/gen/db/ext/models.js +843 -0
  12. package/aqtion/.cadriciel/bin/gen/db/ext/query.js +127 -0
  13. package/aqtion/.cadriciel/bin/gen/db/ext/reverse.js +201 -0
  14. package/aqtion/.cadriciel/bin/gen/db/ext/reverse_lib.js +253 -0
  15. package/aqtion/.cadriciel/bin/gen/db/ext/snapshot.js +112 -0
  16. package/aqtion/.cadriciel/bin/gen/db/ext/sql.js +380 -0
  17. package/aqtion/.cadriciel/bin/gen/page/page.js +163 -0
  18. package/aqtion/.cadriciel/bin/gen/project/project.js +220 -0
  19. package/aqtion/.cadriciel/bin/gen/service/service.js +18 -0
  20. package/aqtion/.cadriciel/bin/gen.js +19 -0
  21. package/aqtion/.cadriciel/bin/lib/cadriciel.js +91 -0
  22. package/aqtion/.cadriciel/bin/lib/convert.js +94 -0
  23. package/aqtion/.cadriciel/bin/lib/docker.js +63 -0
  24. package/aqtion/.cadriciel/bin/lib/global.js +140 -0
  25. package/aqtion/.cadriciel/bin/lib/templates.js +48 -0
  26. package/aqtion/.cadriciel/bin/lib/utils.js +268 -0
  27. package/aqtion/.cadriciel/bin/link.js +139 -0
  28. package/aqtion/.cadriciel/bin/logs.js +42 -0
  29. package/aqtion/.cadriciel/bin/project/_update.js +268 -0
  30. package/aqtion/.cadriciel/bin/project/ext/logo.js +109 -0
  31. package/aqtion/.cadriciel/bin/project/ext/version.js +267 -0
  32. package/aqtion/.cadriciel/bin/project/update.js +3 -0
  33. package/aqtion/.cadriciel/bin/project.js +12 -0
  34. package/aqtion/.cadriciel/bin/reset.js +73 -0
  35. package/aqtion/.cadriciel/bin/rm/api/api.js +244 -0
  36. package/aqtion/.cadriciel/bin/rm/component/component.js +16 -0
  37. package/aqtion/.cadriciel/bin/rm/db/db.js +3 -0
  38. package/aqtion/.cadriciel/bin/rm/db/ext/ext.js +60 -0
  39. package/aqtion/.cadriciel/bin/rm/db/ext/models.js +357 -0
  40. package/aqtion/.cadriciel/bin/rm/page/page.js +62 -0
  41. package/aqtion/.cadriciel/bin/rm/service/service.js +17 -0
  42. package/aqtion/.cadriciel/bin/rm.js +18 -0
  43. package/aqtion/.cadriciel/bin/run/backend.js +122 -0
  44. package/aqtion/.cadriciel/bin/run/frontend.js +52 -0
  45. package/aqtion/.cadriciel/bin/run/stop-backend.js +39 -0
  46. package/aqtion/.cadriciel/bin/run/stop-frontend.js +55 -0
  47. package/aqtion/.cadriciel/bin/start/docker.js +448 -0
  48. package/aqtion/.cadriciel/bin/start/update.js +120 -0
  49. package/aqtion/.cadriciel/bin/start/workspace.js +398 -0
  50. package/aqtion/.cadriciel/bin/start.js +29 -0
  51. package/aqtion/.cadriciel/bin/stop/docker.js +28 -0
  52. package/aqtion/.cadriciel/bin/stop/workspace.js +54 -0
  53. package/aqtion/.cadriciel/bin/stop.js +26 -0
  54. package/aqtion/.cadriciel/bin/templates/angular-prod/main.module.ts +43 -0
  55. package/aqtion/.cadriciel/bin/templates/angular-prod/shared.module.ts +10 -0
  56. package/aqtion/.cadriciel/bin/templates/components/{{name}}.component.html +1 -0
  57. package/aqtion/.cadriciel/bin/templates/components/{{name}}.component.scss +0 -0
  58. package/aqtion/.cadriciel/bin/templates/components/{{name}}.component.ts +15 -0
  59. package/aqtion/.cadriciel/bin/templates/environment.tpl.ts +12 -0
  60. package/aqtion/.cadriciel/bin/templates/idea/compiler.xml +28 -0
  61. package/aqtion/.cadriciel/bin/templates/idea/dataSources.local.xml +20 -0
  62. package/aqtion/.cadriciel/bin/templates/idea/dataSources.xml +12 -0
  63. package/aqtion/.cadriciel/bin/templates/idea/encodings.xml +12 -0
  64. package/aqtion/.cadriciel/bin/templates/idea/jarRepositories.xml +20 -0
  65. package/aqtion/.cadriciel/bin/templates/idea/jpa-buddy-datasource.xml +8 -0
  66. package/aqtion/.cadriciel/bin/templates/idea/jpa-buddy.xml +7 -0
  67. package/aqtion/.cadriciel/bin/templates/idea/misc.xml +16 -0
  68. package/aqtion/.cadriciel/bin/templates/idea/modules.xml +8 -0
  69. package/aqtion/.cadriciel/bin/templates/idea/vcs.xml +6 -0
  70. package/aqtion/.cadriciel/bin/templates/idea/workspace-docker.xml +114 -0
  71. package/aqtion/.cadriciel/bin/templates/idea/workspace.xml +122 -0
  72. package/aqtion/.cadriciel/bin/templates/java/config.java +59 -0
  73. package/aqtion/.cadriciel/bin/templates/jpb/jpb-settings.xml +12 -0
  74. package/aqtion/.cadriciel/bin/templates/routing.module.ts +30 -0
  75. package/aqtion/.cadriciel/bin/templates/start/backend.sh +15 -0
  76. package/aqtion/.cadriciel/bin/templates/start/frontend.sh +3 -0
  77. package/aqtion/.cadriciel/bin/templates/studio-env.tpl.ts +9 -0
  78. package/aqtion/.cadriciel/bin/templates/{{name}}.component.html +1 -0
  79. package/aqtion/.cadriciel/bin/templates/{{name}}.component.scss +0 -0
  80. package/aqtion/.cadriciel/bin/templates/{{name}}.component.ts +16 -0
  81. package/aqtion/.cadriciel/bin/templates/{{name}}.service.ts +20 -0
  82. package/aqtion/.cadriciel/bin/unlink.js +0 -0
  83. package/aqtion/.cadriciel/bin/upgrade.js +0 -0
  84. package/aqtion/.cadriciel/bin/version.json +4 -0
  85. package/aqtion/.cadriciel/cli/build.js +8 -0
  86. package/aqtion/.cadriciel/cli/env.js +9 -0
  87. package/aqtion/.cadriciel/cli/gen.js +34 -0
  88. package/aqtion/.cadriciel/cli/link.js +8 -0
  89. package/aqtion/.cadriciel/cli/logs.js +8 -0
  90. package/aqtion/.cadriciel/cli/project.js +14 -0
  91. package/aqtion/.cadriciel/cli/reset.js +8 -0
  92. package/aqtion/.cadriciel/cli/restart.js +8 -0
  93. package/aqtion/.cadriciel/cli/rm.js +34 -0
  94. package/aqtion/.cadriciel/cli/start.js +8 -0
  95. package/aqtion/.cadriciel/cli/stop.js +8 -0
  96. package/aqtion/.cadriciel/cli/unlink.js +8 -0
  97. package/aqtion/.cadriciel/cli/upgrade.js +8 -0
  98. package/aqtion/.cadriciel/routes/root.json +1 -0
  99. package/aqtion/.cadriciel/shared/.gitkeep +0 -0
  100. package/aqtion/.cadriciel/watcher/pid +1 -0
  101. package/aqtion/.dockerignore +5 -0
  102. package/aqtion/.gitlab-ci.yml +102 -0
  103. package/aqtion/.jpb/jpb-settings.xml +12 -0
  104. package/aqtion/.project +1 -0
  105. package/aqtion/.vscode/launch.json +23 -0
  106. package/aqtion/.vscode/settings.json +3 -0
  107. package/aqtion/.vscode/tasks.json +55 -0
  108. package/aqtion/Dockerfile +8 -0
  109. package/aqtion/angular.json +208 -0
  110. package/aqtion/backend/.mvn/wrapper/MavenWrapperDownloader.java +116 -0
  111. package/aqtion/backend/.mvn/wrapper/maven-wrapper.properties +4 -0
  112. package/aqtion/backend/Dockerfile +13 -0
  113. package/aqtion/backend/aqtion-data/Readme.md +27 -0
  114. package/aqtion/backend/aqtion-data/pom.xml +36 -0
  115. package/aqtion/backend/aqtion-data/src/main/resources/db/dev/Readme.md +5 -0
  116. package/aqtion/backend/aqtion-data/src/main/resources/db/dev/V2022.06.02.1513__dev-data.sql +7 -0
  117. package/aqtion/backend/aqtion-data/src/main/resources/db/migration/Readme.md +38 -0
  118. package/aqtion/backend/aqtion-data/src/main/resources/db/migration/V2021.10.14.0819__Init.sql +23 -0
  119. package/aqtion/backend/aqtion-data/target/classes/db/dev/Readme.md +5 -0
  120. package/aqtion/backend/aqtion-data/target/classes/db/dev/V2022.06.02.1513__dev-data.sql +7 -0
  121. package/aqtion/backend/aqtion-data/target/classes/db/migration/Readme.md +38 -0
  122. package/aqtion/backend/aqtion-data/target/classes/db/migration/V2021.10.14.0819__Init.sql +23 -0
  123. package/aqtion/backend/aqtion-data/target/maven-archiver/pom.properties +3 -0
  124. package/aqtion/backend/aqtion-metier/pom.xml +110 -0
  125. package/aqtion/backend/aqtion-metier/src/main/java/fr/cerema/dsi/aqtion/services/CustomUserDetailsService.java +12 -0
  126. package/aqtion/backend/aqtion-metier/src/main/java/fr/cerema/dsi/aqtion/services/ProfilService.java +24 -0
  127. package/aqtion/backend/aqtion-metier/src/main/java/fr/cerema/dsi/aqtion/services/UserService.java +36 -0
  128. package/aqtion/backend/aqtion-metier/src/main/java/fr/cerema/dsi/aqtion/services/impl/CustomUserDetailsServiceImpl.java +79 -0
  129. package/aqtion/backend/aqtion-metier/src/main/java/fr/cerema/dsi/aqtion/services/impl/ProfilServiceImpl.java +27 -0
  130. package/aqtion/backend/aqtion-metier/src/main/java/fr/cerema/dsi/aqtion/services/impl/UserServiceImpl.java +75 -0
  131. package/aqtion/backend/aqtion-metier/src/main/java/fr/cerema/dsi/commons/security/UserSecurityServiceUtil.java +30 -0
  132. package/aqtion/backend/aqtion-metier/src/main/java/fr/cerema/dsi/commons/services/GenericService.java +30 -0
  133. package/aqtion/backend/aqtion-metier/src/main/java/fr/cerema/dsi/commons/services/GenericServiceImpl.java +62 -0
  134. package/aqtion/backend/aqtion-metier/src/test/java/fr/cerema/dsi/aqtion/services/UserServiceImplTest.java +60 -0
  135. package/aqtion/backend/aqtion-metier/target/maven-archiver/pom.properties +3 -0
  136. package/aqtion/backend/aqtion-metier/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +9 -0
  137. package/aqtion/backend/aqtion-metier/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +9 -0
  138. package/aqtion/backend/aqtion-metier/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst +1 -0
  139. package/aqtion/backend/aqtion-metier/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst +1 -0
  140. package/aqtion/backend/aqtion-persistance/pom.xml +33 -0
  141. package/aqtion/backend/aqtion-persistance/src/main/java/fr/cerema/dsi/aqtion/repositories/ProfilRepository.java +18 -0
  142. package/aqtion/backend/aqtion-persistance/src/main/java/fr/cerema/dsi/aqtion/repositories/UserRepository.java +28 -0
  143. package/aqtion/backend/aqtion-persistance/src/main/java/fr/cerema/dsi/commons/repositories/AbstractDao.java +118 -0
  144. package/aqtion/backend/aqtion-persistance/src/main/java/fr/cerema/dsi/commons/repositories/GenericRepository.java +101 -0
  145. package/aqtion/backend/aqtion-persistance/src/main/java/fr/cerema/dsi/commons/repositories/IAbstractDao.java +66 -0
  146. package/aqtion/backend/aqtion-persistance/target/maven-archiver/pom.properties +3 -0
  147. package/aqtion/backend/aqtion-persistance/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +5 -0
  148. package/aqtion/backend/aqtion-persistance/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +5 -0
  149. package/aqtion/backend/aqtion-presentation/Readme.md +98 -0
  150. package/aqtion/backend/aqtion-presentation/pom.xml +185 -0
  151. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/App.java +20 -0
  152. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/config/AspectJConfiguration.java +58 -0
  153. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/config/AuthenticationTokenFilter.java +134 -0
  154. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/config/SecurityConfiguration.java +80 -0
  155. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/config/StaticResourcesWebConfiguration.java +41 -0
  156. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/config/WebConfiguration.java +59 -0
  157. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/controllers/AccountController.java +64 -0
  158. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/controllers/ApiOpenController.java +71 -0
  159. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/controllers/UserController.java +65 -0
  160. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/dto/GenericDTO.java +20 -0
  161. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/dto/ProfilDTO.java +26 -0
  162. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/dto/UserDTO.java +57 -0
  163. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/dto/UserWithCurrentAuthorityDTO.java +31 -0
  164. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/mapper/UserMapper.java +33 -0
  165. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/commons/beans/errors/ApiSubError.java +5 -0
  166. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/commons/beans/errors/ApiValidationSubError.java +13 -0
  167. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/commons/beans/errors/JsonApiError.java +308 -0
  168. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/commons/controllers/AbstractErrorHandler.java +67 -0
  169. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/commons/controllers/ClientForwardController.java +19 -0
  170. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/commons/controllers/CustomErrorController.java +57 -0
  171. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/commons/controllers/RestResponseEntityExceptionHandler.java +75 -0
  172. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/commons/security/auth/jwt/exceptions/InvalidTokenException.java +30 -0
  173. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/commons/security/filters/AppCorsFilter.java +45 -0
  174. package/aqtion/backend/aqtion-presentation/src/main/resources/META-INF/spring.factories +2 -0
  175. package/aqtion/backend/aqtion-presentation/src/main/resources/banner.txt +3 -0
  176. package/aqtion/backend/aqtion-presentation/src/main/resources/logback-spring-ci.xml +15 -0
  177. package/aqtion/backend/aqtion-presentation/src/main/resources/logback-spring.xml +15 -0
  178. package/aqtion/backend/aqtion-presentation/src/main/resources-filtered/application-prod.yml +80 -0
  179. package/aqtion/backend/aqtion-presentation/src/main/resources-filtered/application.yml +94 -0
  180. package/aqtion/backend/aqtion-presentation/src/test/java/fr/cerema/dsi/aqtion/service/IntegrationTest.java +18 -0
  181. package/aqtion/backend/aqtion-presentation/src/test/resources/application.yml +41 -0
  182. package/aqtion/backend/aqtion-presentation/src/test/resources/db.migration/Readme.md +6 -0
  183. package/aqtion/backend/aqtion-presentation/target/generated-sources/annotations/fr/cerema/dsi/aqtion/mapper/UserMapperImpl.java +134 -0
  184. package/aqtion/backend/aqtion-presentation/target/maven-archiver/pom.properties +3 -0
  185. package/aqtion/backend/aqtion-presentation/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +25 -0
  186. package/aqtion/backend/aqtion-presentation/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +23 -0
  187. package/aqtion/backend/aqtion-presentation/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst +1 -0
  188. package/aqtion/backend/aqtion-presentation/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst +1 -0
  189. package/aqtion/backend/aqtion-transverse/pom.xml +22 -0
  190. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/aqtion/entities/Profil.java +53 -0
  191. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/aqtion/entities/User.java +79 -0
  192. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/aqtion/enums/Role.java +8 -0
  193. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/aqtion/exceptions/JwtConfMalformedException.java +9 -0
  194. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/aqtion/exceptions/security/AuthenticationServiceException.java +30 -0
  195. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/aqtion/exceptions/security/NoRoleForUserServiceException.java +29 -0
  196. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/aqtion/exceptions/security/UserNotFoundServiceException.java +29 -0
  197. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/commons/entities/GenericEntity.java +43 -0
  198. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/commons/exceptions/BadRequestException.java +43 -0
  199. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/commons/exceptions/EntityNotFoundException.java +9 -0
  200. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/commons/exceptions/GenericRepositoryException.java +29 -0
  201. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/commons/exceptions/GenericServiceException.java +29 -0
  202. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/commons/exceptions/UserNotFoundException.java +11 -0
  203. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/commons/exceptions/UtilsException.java +13 -0
  204. package/aqtion/backend/aqtion-transverse/target/maven-archiver/pom.properties +3 -0
  205. package/aqtion/backend/aqtion-transverse/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +15 -0
  206. package/aqtion/backend/aqtion-transverse/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +14 -0
  207. package/aqtion/backend/mvnw +311 -0
  208. package/aqtion/backend/mvnw.cmd +182 -0
  209. package/aqtion/backend/pom.xml +144 -0
  210. package/aqtion/banner.png +0 -0
  211. package/aqtion/bun.lockb +0 -0
  212. package/aqtion/docker/config/keycloak/realms/export/realm.json +63 -0
  213. package/aqtion/docker/config/keycloak/themes/README.txt +3 -0
  214. package/aqtion/docker/config/keycloak/themes/base/account/account.ftl +70 -0
  215. package/aqtion/docker/config/keycloak/themes/base/account/applications.ftl +76 -0
  216. package/aqtion/docker/config/keycloak/themes/base/account/federatedIdentity.ftl +42 -0
  217. package/aqtion/docker/config/keycloak/themes/base/account/log.ftl +35 -0
  218. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_ca.properties +147 -0
  219. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_cs.properties +171 -0
  220. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_da.properties +339 -0
  221. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_de.properties +353 -0
  222. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_en.properties +397 -0
  223. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_es.properties +147 -0
  224. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_fi.properties +400 -0
  225. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_fr.properties +180 -0
  226. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_hu.properties +334 -0
  227. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_it.properties +336 -0
  228. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_ja.properties +335 -0
  229. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_lt.properties +154 -0
  230. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_lv.properties +197 -0
  231. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_nl.properties +133 -0
  232. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_no.properties +152 -0
  233. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_pl.properties +248 -0
  234. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_pt_BR.properties +356 -0
  235. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_ru.properties +155 -0
  236. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_sk.properties +196 -0
  237. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_sv.properties +150 -0
  238. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_tr.properties +315 -0
  239. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_zh_CN.properties +153 -0
  240. package/aqtion/docker/config/keycloak/themes/base/account/password.ftl +59 -0
  241. package/aqtion/docker/config/keycloak/themes/base/account/resource-detail.ftl +277 -0
  242. package/aqtion/docker/config/keycloak/themes/base/account/resources.ftl +403 -0
  243. package/aqtion/docker/config/keycloak/themes/base/account/sessions.ftl +44 -0
  244. package/aqtion/docker/config/keycloak/themes/base/account/template.ftl +88 -0
  245. package/aqtion/docker/config/keycloak/themes/base/account/theme.properties +1 -0
  246. package/aqtion/docker/config/keycloak/themes/base/account/totp.ftl +141 -0
  247. package/aqtion/docker/config/keycloak/themes/base/admin/index.ftl +99 -0
  248. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_ca.properties +477 -0
  249. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_de.properties +1627 -0
  250. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_en.properties +2030 -0
  251. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_es.properties +479 -0
  252. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_fi.properties +1 -0
  253. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_fr.properties +155 -0
  254. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_it.properties +0 -0
  255. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_ja.properties +1641 -0
  256. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_lt.properties +1221 -0
  257. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_lv.properties +1 -0
  258. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_nl.properties +0 -0
  259. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_no.properties +1129 -0
  260. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_pl.properties +1 -0
  261. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_pt_BR.properties +1101 -0
  262. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_ru.properties +1279 -0
  263. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_zh_CN.properties +1230 -0
  264. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_ca.properties +8 -0
  265. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_de.properties +29 -0
  266. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_en.properties +67 -0
  267. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_es.properties +8 -0
  268. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_fi.properties +1 -0
  269. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_fr.properties +8 -0
  270. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_it.properties +0 -0
  271. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_ja.properties +30 -0
  272. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_lt.properties +25 -0
  273. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_lv.properties +1 -0
  274. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_nl.properties +27 -0
  275. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_no.properties +14 -0
  276. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_pl.properties +1 -0
  277. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_pt_BR.properties +18 -0
  278. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_ru.properties +26 -0
  279. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_zh_CN.properties +26 -0
  280. package/aqtion/docker/config/keycloak/themes/base/admin/resources/js/app.js +3858 -0
  281. package/aqtion/docker/config/keycloak/themes/base/admin/resources/js/authz/authz-app.js +569 -0
  282. package/aqtion/docker/config/keycloak/themes/base/admin/resources/js/authz/authz-controller.js +2845 -0
  283. package/aqtion/docker/config/keycloak/themes/base/admin/resources/js/authz/authz-services.js +218 -0
  284. package/aqtion/docker/config/keycloak/themes/base/admin/resources/js/controllers/clients.js +4054 -0
  285. package/aqtion/docker/config/keycloak/themes/base/admin/resources/js/controllers/groups.js +625 -0
  286. package/aqtion/docker/config/keycloak/themes/base/admin/resources/js/controllers/realm.js +4552 -0
  287. package/aqtion/docker/config/keycloak/themes/base/admin/resources/js/controllers/roles.js +48 -0
  288. package/aqtion/docker/config/keycloak/themes/base/admin/resources/js/controllers/users.js +2042 -0
  289. package/aqtion/docker/config/keycloak/themes/base/admin/resources/js/loaders.js +587 -0
  290. package/aqtion/docker/config/keycloak/themes/base/admin/resources/js/services.js +2265 -0
  291. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authentication-flow-bindings.html +83 -0
  292. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authentication-flows.html +72 -0
  293. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authenticator-config.html +52 -0
  294. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/mgmt/broker-permissions.html +40 -0
  295. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/mgmt/client-permissions.html +39 -0
  296. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/mgmt/client-role-permissions.html +40 -0
  297. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/mgmt/group-permissions.html +39 -0
  298. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/mgmt/realm-role-permissions.html +39 -0
  299. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/mgmt/users-permissions.html +35 -0
  300. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/permission/provider/resource-server-policy-resource-detail.html +131 -0
  301. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/permission/provider/resource-server-policy-scope-detail.html +137 -0
  302. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/permission/resource-server-permission-list.html +118 -0
  303. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/policy/provider/resource-server-policy-aggregate-detail.html +123 -0
  304. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/policy/provider/resource-server-policy-client-detail.html +93 -0
  305. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/policy/provider/resource-server-policy-client-scope-detail.html +126 -0
  306. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/policy/provider/resource-server-policy-group-detail.html +126 -0
  307. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/policy/provider/resource-server-policy-js-detail.html +68 -0
  308. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/policy/provider/resource-server-policy-regex-detail.html +100 -0
  309. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/policy/provider/resource-server-policy-role-detail.html +169 -0
  310. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/policy/provider/resource-server-policy-time-detail.html +119 -0
  311. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/policy/provider/resource-server-policy-user-detail.html +93 -0
  312. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/policy/resource-server-policy-evaluate-result.html +72 -0
  313. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/policy/resource-server-policy-evaluate.html +267 -0
  314. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/policy/resource-server-policy-list.html +117 -0
  315. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/resource-server-detail.html +77 -0
  316. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/resource-server-export-settings.html +35 -0
  317. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/resource-server-list.html +49 -0
  318. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/resource-server-resource-detail.html +126 -0
  319. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/resource-server-resource-list.html +169 -0
  320. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/resource-server-scope-detail.html +50 -0
  321. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/resource-server-scope-list.html +102 -0
  322. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/brute-force.html +114 -0
  323. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/ciba-policy.html +63 -0
  324. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/claims.html +62 -0
  325. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-clustering-node.html +37 -0
  326. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-clustering.html +76 -0
  327. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-credentials-generic.html +14 -0
  328. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-credentials-jwt.html +26 -0
  329. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-credentials-secret-jwt.html +55 -0
  330. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-credentials-secret.html +33 -0
  331. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-credentials-x509.html +28 -0
  332. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-credentials.html +38 -0
  333. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-detail.html +1080 -0
  334. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-import.html +46 -0
  335. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-initial-access-create.html +63 -0
  336. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-initial-access.html +55 -0
  337. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-installation.html +36 -0
  338. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-keys.html +146 -0
  339. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-list.html +68 -0
  340. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-mappers-add.html +53 -0
  341. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-mappers.html +55 -0
  342. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-offline-sessions.html +59 -0
  343. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-oidc-key-export.html +57 -0
  344. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-oidc-key-import.html +62 -0
  345. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-oidc-keys.html +108 -0
  346. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-policies-json.html +60 -0
  347. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-policies-list.html +74 -0
  348. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-policies-policy-edit-condition.html +65 -0
  349. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-policies-policy-edit.html +140 -0
  350. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-policies-profiles-edit-executor.html +65 -0
  351. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-policies-profiles-edit.html +97 -0
  352. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-policies-profiles-json.html +60 -0
  353. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-policies-profiles-list.html +80 -0
  354. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-protocol-mapper-detail.html +13 -0
  355. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-reg-policies.html +106 -0
  356. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-reg-policy-detail.html +68 -0
  357. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-reg-trusted-host-create.html +55 -0
  358. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-reg-trusted-host-detail.html +64 -0
  359. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-registration-access-token.html +18 -0
  360. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-revocation.html +30 -0
  361. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-role-attributes.html +45 -0
  362. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-role-detail.html +140 -0
  363. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-role-list.html +64 -0
  364. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-role-users.html +52 -0
  365. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-saml-key-export.html +63 -0
  366. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-saml-key-import.html +62 -0
  367. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-saml-keys.html +66 -0
  368. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-scope-detail.html +102 -0
  369. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-scope-list.html +60 -0
  370. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-scope-mappers-add.html +53 -0
  371. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-scope-mappers.html +55 -0
  372. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-scope-mappings.html +127 -0
  373. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-scope-protocol-mapper-detail.html +13 -0
  374. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-scope-scope-mappings.html +116 -0
  375. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-scopes-evaluate.html +268 -0
  376. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-scopes-realm-default.html +99 -0
  377. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-scopes-setup.html +123 -0
  378. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-service-account-roles.html +140 -0
  379. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-sessions.html +57 -0
  380. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-storage-generic.html +207 -0
  381. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-storage-list.html +67 -0
  382. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/create-client.html +72 -0
  383. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/create-execution.html +31 -0
  384. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/create-flow-execution.html +55 -0
  385. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/create-flow.html +43 -0
  386. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/create-group.html +25 -0
  387. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/default-groups.html +91 -0
  388. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/defense-headers.html +71 -0
  389. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/forbidden.html +7 -0
  390. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/group-attributes.html +41 -0
  391. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/group-detail.html +28 -0
  392. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/group-list.html +50 -0
  393. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/group-members.html +48 -0
  394. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/group-role-mappings.html +111 -0
  395. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/home.html +4 -0
  396. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/identity-provider-mapper-detail.html +84 -0
  397. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/identity-provider-mappers.html +49 -0
  398. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/menu.html +26 -0
  399. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/modal/group-selector.html +50 -0
  400. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/modal/realm-events-admin-auth.html +8 -0
  401. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/modal/realm-events-admin-representation.html +3 -0
  402. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/modal/role-selector.html +39 -0
  403. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/modal/unregistered-required-action-selector.html +21 -0
  404. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/modal/user-credential-data.html +8 -0
  405. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/modal/view-key.html +18 -0
  406. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/modal/view-object.html +3 -0
  407. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/notfound.html +7 -0
  408. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/otp-policy.html +96 -0
  409. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/pagenotfound.html +7 -0
  410. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/partial-export.html +34 -0
  411. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/partial-import.html +130 -0
  412. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/password-policy.html +51 -0
  413. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/protocol-mapper-detail.html +64 -0
  414. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-cache-settings.html +30 -0
  415. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-create.html +45 -0
  416. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-default-roles.html +88 -0
  417. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-detail.html +90 -0
  418. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-events-admin.html +134 -0
  419. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-events-config.html +106 -0
  420. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-events.html +124 -0
  421. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-bitbucket.html +142 -0
  422. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-facebook-ext.html +7 -0
  423. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-facebook.html +1 -0
  424. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-github-ext.html +14 -0
  425. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-github.html +1 -0
  426. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-gitlab.html +142 -0
  427. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-google-ext.html +21 -0
  428. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-google.html +1 -0
  429. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-instagram-ext.html +0 -0
  430. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-instagram.html +1 -0
  431. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-keycloak-oidc.html +1 -0
  432. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-linkedin-ext.html +0 -0
  433. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-linkedin.html +1 -0
  434. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-microsoft-ext.html +0 -0
  435. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-microsoft.html +1 -0
  436. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-oidc.html +388 -0
  437. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-openshift-v3-ext.html +7 -0
  438. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-openshift-v3.html +164 -0
  439. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-openshift-v4-ext.html +7 -0
  440. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-openshift-v4.html +164 -0
  441. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-paypal-ext.html +7 -0
  442. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-paypal.html +1 -0
  443. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-saml.html +435 -0
  444. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-social.html +157 -0
  445. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-stackoverflow-ext.html +7 -0
  446. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-stackoverflow.html +1 -0
  447. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-twitter-ext.html +0 -0
  448. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-twitter.html +1 -0
  449. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider.html +81 -0
  450. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-keys-disabled.html +70 -0
  451. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-keys-generic.html +69 -0
  452. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-keys-passive.html +70 -0
  453. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-keys-providers.html +75 -0
  454. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-keys.html +73 -0
  455. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-list.html +20 -0
  456. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-localization-detail.html +50 -0
  457. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-localization-upload.html +37 -0
  458. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-localization.html +61 -0
  459. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-login-settings.html +107 -0
  460. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-role-users.html +50 -0
  461. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-smtp.html +96 -0
  462. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-theme-settings.html +97 -0
  463. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-tokens.html +401 -0
  464. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-user-profile.html +372 -0
  465. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/required-actions.html +38 -0
  466. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/role-attributes.html +41 -0
  467. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/role-detail.html +135 -0
  468. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/role-list.html +63 -0
  469. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/role-mappings.html +119 -0
  470. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/server-info-providers.html +55 -0
  471. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/server-info.html +135 -0
  472. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/session-realm.html +34 -0
  473. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/session-revocation.html +30 -0
  474. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-attributes.html +41 -0
  475. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-consents.html +41 -0
  476. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-credentials.html +173 -0
  477. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-detail.html +186 -0
  478. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-federated-identity-detail.html +53 -0
  479. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-federated-identity-list.html +41 -0
  480. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-federation.html +69 -0
  481. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-group-membership.html +114 -0
  482. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-list.html +69 -0
  483. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-offline-sessions.html +35 -0
  484. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-sessions.html +43 -0
  485. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-storage-generic.html +246 -0
  486. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-storage-kerberos.html +264 -0
  487. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-storage-ldap-mapper-detail.html +64 -0
  488. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-storage-ldap-mappers.html +46 -0
  489. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-storage-ldap.html +568 -0
  490. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-storage.html +45 -0
  491. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/webauthn-policy-passwordless.html +177 -0
  492. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/webauthn-policy.html +159 -0
  493. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/authz/kc-authz-modal.html +11 -0
  494. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/authz/kc-tabs-resource-server.html +14 -0
  495. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-component-config.html +67 -0
  496. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-copy.html +18 -0
  497. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-dropdown.html +12 -0
  498. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-edit.html +22 -0
  499. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-menu.html +65 -0
  500. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-modal-message.html +10 -0
  501. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-modal.html +11 -0
  502. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-paging.html +25 -0
  503. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-provider-config.html +104 -0
  504. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-switch.html +12 -0
  505. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-authentication.html +16 -0
  506. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-client-role.html +17 -0
  507. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-client-scope.html +20 -0
  508. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-client.html +65 -0
  509. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-clients.html +16 -0
  510. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-group-list.html +11 -0
  511. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-group.html +17 -0
  512. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-identity-provider.html +16 -0
  513. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-ldap.html +12 -0
  514. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-realm.html +24 -0
  515. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-role.html +16 -0
  516. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-user-storage.html +11 -0
  517. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-user.html +18 -0
  518. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-users.html +11 -0
  519. package/aqtion/docker/config/keycloak/themes/base/admin/theme.properties +1 -0
  520. package/aqtion/docker/config/keycloak/themes/base/email/html/email-test.ftl +4 -0
  521. package/aqtion/docker/config/keycloak/themes/base/email/html/email-update-confirmation.ftl +5 -0
  522. package/aqtion/docker/config/keycloak/themes/base/email/html/email-verification-with-code.ftl +4 -0
  523. package/aqtion/docker/config/keycloak/themes/base/email/html/email-verification.ftl +4 -0
  524. package/aqtion/docker/config/keycloak/themes/base/email/html/event-login_error.ftl +4 -0
  525. package/aqtion/docker/config/keycloak/themes/base/email/html/event-remove_totp.ftl +4 -0
  526. package/aqtion/docker/config/keycloak/themes/base/email/html/event-update_password.ftl +4 -0
  527. package/aqtion/docker/config/keycloak/themes/base/email/html/event-update_totp.ftl +4 -0
  528. package/aqtion/docker/config/keycloak/themes/base/email/html/executeActions.ftl +8 -0
  529. package/aqtion/docker/config/keycloak/themes/base/email/html/identity-provider-link.ftl +4 -0
  530. package/aqtion/docker/config/keycloak/themes/base/email/html/password-reset.ftl +4 -0
  531. package/aqtion/docker/config/keycloak/themes/base/email/html/template.ftl +7 -0
  532. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_ca.properties +21 -0
  533. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_cs.properties +60 -0
  534. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_da.properties +47 -0
  535. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_de.properties +43 -0
  536. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_en.properties +55 -0
  537. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_es.properties +21 -0
  538. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_fi.properties +46 -0
  539. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_fr.properties +46 -0
  540. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_hu.properties +47 -0
  541. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_it.properties +50 -0
  542. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_ja.properties +52 -0
  543. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_lt.properties +25 -0
  544. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_nl.properties +38 -0
  545. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_no.properties +24 -0
  546. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_pl.properties +56 -0
  547. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_pt_BR.properties +51 -0
  548. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_ru.properties +25 -0
  549. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_sk.properties +48 -0
  550. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_sv.properties +25 -0
  551. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_tr.properties +51 -0
  552. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_zh_CN.properties +25 -0
  553. package/aqtion/docker/config/keycloak/themes/base/email/text/email-test.ftl +2 -0
  554. package/aqtion/docker/config/keycloak/themes/base/email/text/email-update-confirmation.ftl +2 -0
  555. package/aqtion/docker/config/keycloak/themes/base/email/text/email-verification-with-code.ftl +2 -0
  556. package/aqtion/docker/config/keycloak/themes/base/email/text/email-verification.ftl +2 -0
  557. package/aqtion/docker/config/keycloak/themes/base/email/text/event-login_error.ftl +2 -0
  558. package/aqtion/docker/config/keycloak/themes/base/email/text/event-remove_totp.ftl +2 -0
  559. package/aqtion/docker/config/keycloak/themes/base/email/text/event-update_password.ftl +2 -0
  560. package/aqtion/docker/config/keycloak/themes/base/email/text/event-update_totp.ftl +2 -0
  561. package/aqtion/docker/config/keycloak/themes/base/email/text/executeActions.ftl +4 -0
  562. package/aqtion/docker/config/keycloak/themes/base/email/text/identity-provider-link.ftl +2 -0
  563. package/aqtion/docker/config/keycloak/themes/base/email/text/password-reset.ftl +2 -0
  564. package/aqtion/docker/config/keycloak/themes/base/email/theme.properties +1 -0
  565. package/aqtion/docker/config/keycloak/themes/base/login/cli_splash.ftl +7 -0
  566. package/aqtion/docker/config/keycloak/themes/base/login/code.ftl +19 -0
  567. package/aqtion/docker/config/keycloak/themes/base/login/delete-account-confirm.ftl +33 -0
  568. package/aqtion/docker/config/keycloak/themes/base/login/error.ftl +16 -0
  569. package/aqtion/docker/config/keycloak/themes/base/login/frontchannel-logout.ftl +30 -0
  570. package/aqtion/docker/config/keycloak/themes/base/login/idp-review-user-profile.ftl +23 -0
  571. package/aqtion/docker/config/keycloak/themes/base/login/info.ftl +24 -0
  572. package/aqtion/docker/config/keycloak/themes/base/login/login-config-totp.ftl +108 -0
  573. package/aqtion/docker/config/keycloak/themes/base/login/login-idp-link-confirm.ftl +13 -0
  574. package/aqtion/docker/config/keycloak/themes/base/login/login-idp-link-email.ftl +16 -0
  575. package/aqtion/docker/config/keycloak/themes/base/login/login-oauth-grant.ftl +68 -0
  576. package/aqtion/docker/config/keycloak/themes/base/login/login-oauth2-device-verify-user-code.ftl +31 -0
  577. package/aqtion/docker/config/keycloak/themes/base/login/login-otp.ftl +58 -0
  578. package/aqtion/docker/config/keycloak/themes/base/login/login-page-expired.ftl +11 -0
  579. package/aqtion/docker/config/keycloak/themes/base/login/login-password.ftl +43 -0
  580. package/aqtion/docker/config/keycloak/themes/base/login/login-recovery-authn-code-config.ftl +184 -0
  581. package/aqtion/docker/config/keycloak/themes/base/login/login-recovery-authn-code-input.ftl +32 -0
  582. package/aqtion/docker/config/keycloak/themes/base/login/login-reset-password.ftl +39 -0
  583. package/aqtion/docker/config/keycloak/themes/base/login/login-update-password.ftl +71 -0
  584. package/aqtion/docker/config/keycloak/themes/base/login/login-update-profile.ftl +99 -0
  585. package/aqtion/docker/config/keycloak/themes/base/login/login-username.ftl +87 -0
  586. package/aqtion/docker/config/keycloak/themes/base/login/login-verify-email.ftl +14 -0
  587. package/aqtion/docker/config/keycloak/themes/base/login/login-x509-info.ftl +55 -0
  588. package/aqtion/docker/config/keycloak/themes/base/login/login.ftl +105 -0
  589. package/aqtion/docker/config/keycloak/themes/base/login/logout-confirm.ftl +38 -0
  590. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_ca.properties +200 -0
  591. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_cs.properties +425 -0
  592. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_da.properties +363 -0
  593. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_de.properties +420 -0
  594. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_en.properties +501 -0
  595. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_es.properties +201 -0
  596. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_fi.properties +443 -0
  597. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_fr.properties +405 -0
  598. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_hu.properties +356 -0
  599. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_it.properties +354 -0
  600. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_ja.properties +356 -0
  601. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_lt.properties +216 -0
  602. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_lv.properties +254 -0
  603. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_nl.properties +294 -0
  604. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_no.properties +214 -0
  605. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_pl.properties +318 -0
  606. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_pt_BR.properties +381 -0
  607. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_ru.properties +217 -0
  608. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_sk.properties +265 -0
  609. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_sv.properties +214 -0
  610. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_tr.properties +296 -0
  611. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_zh_CN.properties +216 -0
  612. package/aqtion/docker/config/keycloak/themes/base/login/register-user-profile.ftl +74 -0
  613. package/aqtion/docker/config/keycloak/themes/base/login/register.ftl +141 -0
  614. package/aqtion/docker/config/keycloak/themes/base/login/resources/js/base64url.js +114 -0
  615. package/aqtion/docker/config/keycloak/themes/base/login/saml-post-form.ftl +25 -0
  616. package/aqtion/docker/config/keycloak/themes/base/login/select-authenticator.ftl +43 -0
  617. package/aqtion/docker/config/keycloak/themes/base/login/template.ftl +154 -0
  618. package/aqtion/docker/config/keycloak/themes/base/login/terms.ftl +15 -0
  619. package/aqtion/docker/config/keycloak/themes/base/login/theme.properties +1 -0
  620. package/aqtion/docker/config/keycloak/themes/base/login/update-email.ftl +42 -0
  621. package/aqtion/docker/config/keycloak/themes/base/login/update-user-profile.ftl +28 -0
  622. package/aqtion/docker/config/keycloak/themes/base/login/user-profile-commons.ftl +187 -0
  623. package/aqtion/docker/config/keycloak/themes/base/login/webauthn-authenticate.ftl +168 -0
  624. package/aqtion/docker/config/keycloak/themes/base/login/webauthn-error.ftl +36 -0
  625. package/aqtion/docker/config/keycloak/themes/base/login/webauthn-register.ftl +192 -0
  626. package/aqtion/docker/config/keycloak/themes/cerema/account/account.ftl +93 -0
  627. package/aqtion/docker/config/keycloak/themes/cerema/account/messages/messages_fr.properties +1 -0
  628. package/aqtion/docker/config/keycloak/themes/cerema/account/resources/css/account.css +292 -0
  629. package/aqtion/docker/config/keycloak/themes/cerema/account/resources/img/favicon.ico +0 -0
  630. package/aqtion/docker/config/keycloak/themes/cerema/account/resources/img/icon-sidebar-active.png +0 -0
  631. package/aqtion/docker/config/keycloak/themes/cerema/account/resources/img/keycloak-logo.png +0 -0
  632. package/aqtion/docker/config/keycloak/themes/cerema/account/resources/img/logo.png +0 -0
  633. package/aqtion/docker/config/keycloak/themes/cerema/account/theme.properties +11 -0
  634. package/aqtion/docker/config/keycloak/themes/cerema/admin/resources/css/styles.css +420 -0
  635. package/aqtion/docker/config/keycloak/themes/cerema/admin/resources/img/favicon.ico +0 -0
  636. package/aqtion/docker/config/keycloak/themes/cerema/admin/resources/img/keyclok-logo.png +0 -0
  637. package/aqtion/docker/config/keycloak/themes/cerema/admin/resources/img/keyclok-logo.svg +215 -0
  638. package/aqtion/docker/config/keycloak/themes/cerema/admin/resources/img/select-arrow.png +0 -0
  639. package/aqtion/docker/config/keycloak/themes/cerema/admin/theme.properties +3 -0
  640. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/angular/errors.json +150 -0
  641. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/angular/treeview/LICENSE +20 -0
  642. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/angular/treeview/README.md +128 -0
  643. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/angular/treeview/angular.treeview.js +97 -0
  644. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/angular/treeview/angular.treeview.min.js +9 -0
  645. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/angular/treeview/css/angular.treeview.css +99 -0
  646. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/angular/treeview/img/file.png +0 -0
  647. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/angular/treeview/img/folder-closed.png +0 -0
  648. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/angular/treeview/img/folder.png +0 -0
  649. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/angular/ui-bootstrap-tpls-0.11.0.js +4172 -0
  650. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/angular/version.json +22 -0
  651. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/components/font-awesome/fonts/fontawesome-webfont.eot +0 -0
  652. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/components/font-awesome/fonts/fontawesome-webfont.svg +1085 -0
  653. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/components/font-awesome/fonts/fontawesome-webfont.ttf +0 -0
  654. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/components/font-awesome/fonts/fontawesome-webfont.woff +0 -0
  655. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/components/font-awesome/fonts/fontawesome-webfont.woff2 +0 -0
  656. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/filesaver/FileSaver.js +189 -0
  657. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/fileupload/FileAPI.min.js +72 -0
  658. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/fileupload/angular-file-upload-html5-shim.js +25 -0
  659. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/fileupload/angular-file-upload-html5-shim.min.js +2 -0
  660. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/fileupload/angular-file-upload-shim.js +237 -0
  661. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/fileupload/angular-file-upload-shim.min.js +2 -0
  662. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/fileupload/angular-file-upload.js +156 -0
  663. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/fileupload/angular-file-upload.min.js +2 -0
  664. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/css/patternfly.css +14320 -0
  665. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Bold-webfont.eot +0 -0
  666. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Bold-webfont.svg +2014 -0
  667. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Bold-webfont.ttf +0 -0
  668. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Bold-webfont.woff +0 -0
  669. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
  670. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-BoldItalic-webfont.svg +2019 -0
  671. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-BoldItalic-webfont.ttf +0 -0
  672. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
  673. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-ExtraBold-webfont.eot +0 -0
  674. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-ExtraBold-webfont.svg +2016 -0
  675. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-ExtraBold-webfont.ttf +0 -0
  676. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-ExtraBold-webfont.woff +0 -0
  677. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-ExtraBoldItalic-webfont.eot +0 -0
  678. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-ExtraBoldItalic-webfont.svg +2024 -0
  679. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-ExtraBoldItalic-webfont.ttf +0 -0
  680. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-ExtraBoldItalic-webfont.woff +0 -0
  681. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Italic-webfont.eot +0 -0
  682. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Italic-webfont.svg +2019 -0
  683. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Italic-webfont.ttf +0 -0
  684. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Italic-webfont.woff +0 -0
  685. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Light-webfont.eot +0 -0
  686. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Light-webfont.svg +2013 -0
  687. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Light-webfont.ttf +0 -0
  688. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Light-webfont.woff +0 -0
  689. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-LightItalic-webfont.eot +0 -0
  690. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-LightItalic-webfont.svg +2021 -0
  691. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-LightItalic-webfont.ttf +0 -0
  692. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-LightItalic-webfont.woff +0 -0
  693. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Regular-webfont.eot +0 -0
  694. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Regular-webfont.svg +2017 -0
  695. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Regular-webfont.ttf +0 -0
  696. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Regular-webfont.woff +0 -0
  697. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Semibold-webfont.eot +0 -0
  698. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Semibold-webfont.svg +2015 -0
  699. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Semibold-webfont.ttf +0 -0
  700. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Semibold-webfont.woff +0 -0
  701. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-SemiboldItalic-webfont.eot +0 -0
  702. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-SemiboldItalic-webfont.svg +2019 -0
  703. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-SemiboldItalic-webfont.ttf +0 -0
  704. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-SemiboldItalic-webfont.woff +0 -0
  705. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/PatternFlyIcons-webfont.eot +0 -0
  706. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/PatternFlyIcons-webfont.svg +133 -0
  707. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/PatternFlyIcons-webfont.ttf +0 -0
  708. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/PatternFlyIcons-webfont.woff +0 -0
  709. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/img/apple-touch-icon-114-precomposed.png +0 -0
  710. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/img/apple-touch-icon-144-precomposed.png +0 -0
  711. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/img/apple-touch-icon-57-precomposed.png +0 -0
  712. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/img/apple-touch-icon-72-precomposed.png +0 -0
  713. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/img/bg-login.jpg +0 -0
  714. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/img/spinner-lg.gif +0 -0
  715. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/img/spinner-sm.gif +0 -0
  716. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/img/spinner-xs.gif +0 -0
  717. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/img/spinner.gif +0 -0
  718. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/ui-ace/ace.js +18957 -0
  719. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/ui-ace/min/ace.js +7950 -0
  720. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/ui-ace/min/mode-javascript.js +1 -0
  721. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/ui-ace/min/theme-github.js +1 -0
  722. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/ui-ace/min/worker-javascript.js +1 -0
  723. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/ui-ace/mode-javascript.js +1140 -0
  724. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/ui-ace/theme-github.js +103 -0
  725. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/ui-ace/ui-ace.js +327 -0
  726. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/ui-ace/ui-ace.min.js +7 -0
  727. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/ui-ace/worker-javascript.js +12651 -0
  728. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/zocial/zocial-regular-webfont.eot +0 -0
  729. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/zocial/zocial-regular-webfont.svg +1108 -0
  730. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/zocial/zocial-regular-webfont.ttf +0 -0
  731. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/zocial/zocial-regular-webfont.woff +0 -0
  732. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/zocial/zocial.css +1215 -0
  733. package/aqtion/docker/config/keycloak/themes/cerema/email/html/email-verification.ftl +4 -0
  734. package/aqtion/docker/config/keycloak/themes/cerema/email/html/template.ftl +7 -0
  735. package/aqtion/docker/config/keycloak/themes/cerema/email/messages/messages_en.properties +9 -0
  736. package/aqtion/docker/config/keycloak/themes/cerema/email/messages/messages_fr.properties +9 -0
  737. package/aqtion/docker/config/keycloak/themes/cerema/email/theme.properties +1 -0
  738. package/aqtion/docker/config/keycloak/themes/cerema/login/login-oauth-grant.ftl +57 -0
  739. package/aqtion/docker/config/keycloak/themes/cerema/login/login-reset-password.ftl +32 -0
  740. package/aqtion/docker/config/keycloak/themes/cerema/login/login.ftl +87 -0
  741. package/aqtion/docker/config/keycloak/themes/cerema/login/messages/messages_fr.properties +29 -0
  742. package/aqtion/docker/config/keycloak/themes/cerema/login/register.ftl +169 -0
  743. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/css/bamboo.css +238 -0
  744. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/css/main.css +1029 -0
  745. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/css/util.css +9826 -0
  746. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Linearicons-Free-v1.0.0/WebFont/Linearicons-Free.eot +0 -0
  747. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Linearicons-Free-v1.0.0/WebFont/Linearicons-Free.svg +541 -0
  748. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Linearicons-Free-v1.0.0/WebFont/Linearicons-Free.ttf +0 -0
  749. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Linearicons-Free-v1.0.0/WebFont/Linearicons-Free.woff +0 -0
  750. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Linearicons-Free-v1.0.0/WebFont/Linearicons-Free.woff2 +0 -0
  751. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Linearicons-Free-v1.0.0/icon-font.min.css +7 -0
  752. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/OFL.txt +95 -0
  753. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-Black.ttf +0 -0
  754. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-BlackItalic.ttf +0 -0
  755. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-Bold.ttf +0 -0
  756. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-BoldItalic.ttf +0 -0
  757. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-ExtraBold.ttf +0 -0
  758. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-ExtraBoldItalic.ttf +0 -0
  759. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-ExtraLight.ttf +0 -0
  760. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-ExtraLightItalic.ttf +0 -0
  761. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-Italic.ttf +0 -0
  762. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-Light.ttf +0 -0
  763. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-LightItalic.ttf +0 -0
  764. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-Medium.ttf +0 -0
  765. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-MediumItalic.ttf +0 -0
  766. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-Regular.ttf +0 -0
  767. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-SemiBold.ttf +0 -0
  768. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-SemiBoldItalic.ttf +0 -0
  769. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-Thin.ttf +0 -0
  770. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-ThinItalic.ttf +0 -0
  771. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/SIL Open Font License.txt +155 -0
  772. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-Black.otf +0 -0
  773. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-Bold.otf +0 -0
  774. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-BoldItalic.otf +0 -0
  775. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-BoldUpright.otf +0 -0
  776. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-Light.otf +0 -0
  777. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-LightItalic.otf +0 -0
  778. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-LightUpright.otf +0 -0
  779. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-Regular.otf +0 -0
  780. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-RegularItalic.otf +0 -0
  781. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-RegularUpright.otf +0 -0
  782. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-Semibold.otf +0 -0
  783. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-SemiboldItalic.otf +0 -0
  784. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-SemiboldUpright.otf +0 -0
  785. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-Thin.otf +0 -0
  786. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-ThinItalic.otf +0 -0
  787. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-ThinUpright.otf +0 -0
  788. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/HELP-US-OUT.txt +7 -0
  789. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/css/font-awesome.css +3049 -0
  790. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/css/font-awesome.min.css +4 -0
  791. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/fonts/FontAwesome.otf +0 -0
  792. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.eot +0 -0
  793. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.svg +2672 -0
  794. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf +0 -0
  795. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.woff +0 -0
  796. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2 +0 -0
  797. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/animated.less +34 -0
  798. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/bordered-pulled.less +45 -0
  799. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/core.less +12 -0
  800. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/fixed-width.less +6 -0
  801. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/font-awesome.less +18 -0
  802. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/icons.less +2813 -0
  803. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/larger.less +25 -0
  804. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/list.less +24 -0
  805. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/mixins.less +60 -0
  806. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/path.less +15 -0
  807. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/rotated-flipped.less +33 -0
  808. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/screen-reader.less +10 -0
  809. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/stacked.less +30 -0
  810. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/variables.less +800 -0
  811. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/_animated.scss +34 -0
  812. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/_bordered-pulled.scss +45 -0
  813. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/_core.scss +12 -0
  814. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/_fixed-width.scss +6 -0
  815. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/_icons.scss +2813 -0
  816. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/_larger.scss +25 -0
  817. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/_list.scss +24 -0
  818. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/_mixins.scss +60 -0
  819. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/_path.scss +15 -0
  820. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/_rotated-flipped.scss +33 -0
  821. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/_screen-reader.scss +10 -0
  822. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/_stacked.scss +30 -0
  823. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/_variables.scss +800 -0
  824. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/font-awesome.scss +18 -0
  825. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-Black.ttf +0 -0
  826. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-BlackItalic.ttf +0 -0
  827. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-Bold.ttf +0 -0
  828. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-BoldItalic.ttf +0 -0
  829. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-ExtraBold.ttf +0 -0
  830. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-ExtraBoldItalic.ttf +0 -0
  831. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-ExtraLight.ttf +0 -0
  832. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-ExtraLightItalic.ttf +0 -0
  833. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-Italic.ttf +0 -0
  834. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-Light.ttf +0 -0
  835. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-LightItalic.ttf +0 -0
  836. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-Medium.ttf +0 -0
  837. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-MediumItalic.ttf +0 -0
  838. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-Regular.ttf +0 -0
  839. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-SemiBold.ttf +0 -0
  840. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-SemiBoldItalic.ttf +0 -0
  841. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-Thin.ttf +0 -0
  842. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-ThinItalic.ttf +0 -0
  843. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/OFL.txt +93 -0
  844. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-Black.ttf +0 -0
  845. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-BlackItalic.ttf +0 -0
  846. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-Bold.ttf +0 -0
  847. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-BoldItalic.ttf +0 -0
  848. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-ExtraBold.ttf +0 -0
  849. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-ExtraBoldItalic.ttf +0 -0
  850. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-ExtraLight.ttf +0 -0
  851. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-ExtraLightItalic.ttf +0 -0
  852. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-Italic.ttf +0 -0
  853. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-Light.ttf +0 -0
  854. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-LightItalic.ttf +0 -0
  855. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-Medium.ttf +0 -0
  856. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-MediumItalic.ttf +0 -0
  857. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-Regular.ttf +0 -0
  858. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-SemiBold.ttf +0 -0
  859. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-SemiBoldItalic.ttf +0 -0
  860. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-Thin.ttf +0 -0
  861. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-ThinItalic.ttf +0 -0
  862. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/images/agentconnect-btn-principal-hover.svg +39 -0
  863. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/images/agentconnect-btn-principal.svg +39 -0
  864. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/images/bg-01.jpg +0 -0
  865. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/images/bg-02.jpg +0 -0
  866. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/images/franceconnect-btn-hover.svg +13 -0
  867. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/images/franceconnect-btn.svg +13 -0
  868. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/images/icons/favicon.ico +0 -0
  869. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/images/logo.png +0 -0
  870. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/images/white_logo.png +0 -0
  871. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/js/bamboo.js +950 -0
  872. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/js/main.js +73 -0
  873. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/vendor/jquery/jquery-3.2.1.min.js +4 -0
  874. package/aqtion/docker/config/keycloak/themes/cerema/login/template.ftl +119 -0
  875. package/aqtion/docker/config/keycloak/themes/cerema/login/theme.properties +94 -0
  876. package/aqtion/docker/config/keycloak/themes/cerema/welcome/index.ftl +141 -0
  877. package/aqtion/docker/config/keycloak/themes/cerema/welcome/resources/admin-console.png +0 -0
  878. package/aqtion/docker/config/keycloak/themes/cerema/welcome/resources/alert.png +0 -0
  879. package/aqtion/docker/config/keycloak/themes/cerema/welcome/resources/bg.png +0 -0
  880. package/aqtion/docker/config/keycloak/themes/cerema/welcome/resources/bug.png +0 -0
  881. package/aqtion/docker/config/keycloak/themes/cerema/welcome/resources/css/welcome.css +165 -0
  882. package/aqtion/docker/config/keycloak/themes/cerema/welcome/resources/favicon.ico +0 -0
  883. package/aqtion/docker/config/keycloak/themes/cerema/welcome/resources/jboss_community.png +0 -0
  884. package/aqtion/docker/config/keycloak/themes/cerema/welcome/resources/keycloak-project.png +0 -0
  885. package/aqtion/docker/config/keycloak/themes/cerema/welcome/resources/keycloak_logo.png +0 -0
  886. package/aqtion/docker/config/keycloak/themes/cerema/welcome/resources/logo.png +0 -0
  887. package/aqtion/docker/config/keycloak/themes/cerema/welcome/resources/mail.png +0 -0
  888. package/aqtion/docker/config/keycloak/themes/cerema/welcome/resources/user.png +0 -0
  889. package/aqtion/docker/config/keycloak/themes/cerema/welcome/theme.properties +4 -0
  890. package/aqtion/docker/config/keycloak/themes/keycloak/account/resources/css/account.css +277 -0
  891. package/aqtion/docker/config/keycloak/themes/keycloak/account/resources/img/icon-sidebar-active.png +0 -0
  892. package/aqtion/docker/config/keycloak/themes/keycloak/account/resources/img/keycloak-logo.png +0 -0
  893. package/aqtion/docker/config/keycloak/themes/keycloak/account/resources/img/logo.png +0 -0
  894. package/aqtion/docker/config/keycloak/themes/keycloak/account/theme.properties +14 -0
  895. package/aqtion/docker/config/keycloak/themes/keycloak/admin/resources/css/styles.css +505 -0
  896. package/aqtion/docker/config/keycloak/themes/keycloak/admin/resources/img/keyclok-logo.png +0 -0
  897. package/aqtion/docker/config/keycloak/themes/keycloak/admin/resources/img/keyclok-logo.svg +194 -0
  898. package/aqtion/docker/config/keycloak/themes/keycloak/admin/resources/img/select-arrow.png +0 -0
  899. package/aqtion/docker/config/keycloak/themes/keycloak/admin/theme.properties +5 -0
  900. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/img/favicon.ico +0 -0
  901. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/angular/errors.json +1 -0
  902. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/angular/treeview/LICENSE +20 -0
  903. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/angular/treeview/angular.treeview.js +95 -0
  904. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/angular/treeview/angular.treeview.min.js +9 -0
  905. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/angular/treeview/css/angular.treeview.css +99 -0
  906. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/angular/treeview/img/file.png +0 -0
  907. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/angular/treeview/img/folder-closed.png +0 -0
  908. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/angular/treeview/img/folder.png +0 -0
  909. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/angular/ui-bootstrap-tpls-0.11.0.js +4116 -0
  910. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/angular/version.json +1 -0
  911. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/filesaver/FileSaver.js +188 -0
  912. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/fileupload/FileAPI.min.js +72 -0
  913. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/fileupload/angular-file-upload-html5-shim.js +25 -0
  914. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/fileupload/angular-file-upload-html5-shim.min.js +2 -0
  915. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/fileupload/angular-file-upload-shim.js +215 -0
  916. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/fileupload/angular-file-upload-shim.min.js +2 -0
  917. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/fileupload/angular-file-upload.js +156 -0
  918. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/fileupload/angular-file-upload.min.js +2 -0
  919. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/pficon/pficon.css +21 -0
  920. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/pficon/pficon.woff +0 -0
  921. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/pficon/pficon.woff2 +0 -0
  922. package/aqtion/docker/config/keycloak/themes/keycloak/email/theme.properties +1 -0
  923. package/aqtion/docker/config/keycloak/themes/keycloak/login/resources/css/login.css +596 -0
  924. package/aqtion/docker/config/keycloak/themes/keycloak/login/resources/img/feedback-error-arrow-down.png +0 -0
  925. package/aqtion/docker/config/keycloak/themes/keycloak/login/resources/img/feedback-error-sign.png +0 -0
  926. package/aqtion/docker/config/keycloak/themes/keycloak/login/resources/img/feedback-success-arrow-down.png +0 -0
  927. package/aqtion/docker/config/keycloak/themes/keycloak/login/resources/img/feedback-success-sign.png +0 -0
  928. package/aqtion/docker/config/keycloak/themes/keycloak/login/resources/img/feedback-warning-arrow-down.png +0 -0
  929. package/aqtion/docker/config/keycloak/themes/keycloak/login/resources/img/feedback-warning-sign.png +0 -0
  930. package/aqtion/docker/config/keycloak/themes/keycloak/login/resources/img/keycloak-bg.png +0 -0
  931. package/aqtion/docker/config/keycloak/themes/keycloak/login/resources/img/keycloak-logo-text.png +0 -0
  932. package/aqtion/docker/config/keycloak/themes/keycloak/login/resources/img/keycloak-logo.png +0 -0
  933. package/aqtion/docker/config/keycloak/themes/keycloak/login/theme.properties +161 -0
  934. package/aqtion/docker/config/keycloak/themes/keycloak/welcome/index.ftl +132 -0
  935. package/aqtion/docker/config/keycloak/themes/keycloak/welcome/resources/admin-console.png +0 -0
  936. package/aqtion/docker/config/keycloak/themes/keycloak/welcome/resources/alert.png +0 -0
  937. package/aqtion/docker/config/keycloak/themes/keycloak/welcome/resources/bg.png +0 -0
  938. package/aqtion/docker/config/keycloak/themes/keycloak/welcome/resources/bug.png +0 -0
  939. package/aqtion/docker/config/keycloak/themes/keycloak/welcome/resources/css/welcome.css +140 -0
  940. package/aqtion/docker/config/keycloak/themes/keycloak/welcome/resources/keycloak-project.png +0 -0
  941. package/aqtion/docker/config/keycloak/themes/keycloak/welcome/resources/keycloak_logo.png +0 -0
  942. package/aqtion/docker/config/keycloak/themes/keycloak/welcome/resources/logo.png +0 -0
  943. package/aqtion/docker/config/keycloak/themes/keycloak/welcome/resources/mail.png +0 -0
  944. package/aqtion/docker/config/keycloak/themes/keycloak/welcome/resources/user.png +0 -0
  945. package/aqtion/docker/config/keycloak/themes/keycloak/welcome/theme.properties +7 -0
  946. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/index.ftl +295 -0
  947. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_ca.properties +1 -0
  948. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_cs.properties +1 -0
  949. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_da.properties +1 -0
  950. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_de.properties +129 -0
  951. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_en.properties +167 -0
  952. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_es.properties +1 -0
  953. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_fr.properties +44 -0
  954. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_hu.properties +1 -0
  955. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_it.properties +1 -0
  956. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_ja.properties +1 -0
  957. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_lt.properties +1 -0
  958. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_nl.properties +1 -0
  959. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_no.properties +1 -0
  960. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_pl.properties +1 -0
  961. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_pt_BR.properties +121 -0
  962. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_ru.properties +1 -0
  963. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_sk.properties +1 -0
  964. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_sv.properties +1 -0
  965. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_tr.properties +1 -0
  966. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_zh_CN.properties +1 -0
  967. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/App.js +69 -0
  968. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/App.js.map +1 -0
  969. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/ContentPages.js +157 -0
  970. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/ContentPages.js.map +1 -0
  971. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/Main.js +97 -0
  972. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/Main.js.map +1 -0
  973. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/PageHeaderTool.js +29 -0
  974. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/PageHeaderTool.js.map +1 -0
  975. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/PageNav.js +51 -0
  976. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/PageNav.js.map +1 -0
  977. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/PageToolbar.js +60 -0
  978. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/PageToolbar.js.map +1 -0
  979. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/account-service/AccountServiceContext.js +3 -0
  980. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/account-service/AccountServiceContext.js.map +1 -0
  981. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/account-service/account.service.js +149 -0
  982. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/account-service/account.service.js.map +1 -0
  983. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/ContentAlert.js +113 -0
  984. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/ContentAlert.js.map +1 -0
  985. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/ContentPage.js +63 -0
  986. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/ContentPage.js.map +1 -0
  987. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/account-page/AccountPage.js +302 -0
  988. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/account-page/AccountPage.js.map +1 -0
  989. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/aia-page/AppInitiatedActionPage.js +70 -0
  990. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/aia-page/AppInitiatedActionPage.js.map +1 -0
  991. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/applications-page/ApplicationsPage.js +186 -0
  992. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/applications-page/ApplicationsPage.js.map +1 -0
  993. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/authenticator-page/AuthenticatorPage.js +28 -0
  994. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/authenticator-page/AuthenticatorPage.js.map +1 -0
  995. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/device-activity-page/DeviceActivityPage.js +250 -0
  996. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/device-activity-page/DeviceActivityPage.js.map +1 -0
  997. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/forbidden-page/ForbiddenPage.js +36 -0
  998. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/forbidden-page/ForbiddenPage.js.map +1 -0
  999. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/linked-accounts-page/LinkedAccountsPage.js +310 -0
  1000. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/linked-accounts-page/LinkedAccountsPage.js.map +1 -0
  1001. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/AbstractResourceTable.js +40 -0
  1002. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/AbstractResourceTable.js.map +1 -0
  1003. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/EditTheResource.js +120 -0
  1004. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/EditTheResource.js.map +1 -0
  1005. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/MyResourcesPage.js +284 -0
  1006. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/MyResourcesPage.js.map +1 -0
  1007. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/PermissionRequest.js +151 -0
  1008. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/PermissionRequest.js.map +1 -0
  1009. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/PermissionSelect.js +103 -0
  1010. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/PermissionSelect.js.map +1 -0
  1011. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/ResourcesTable.js +313 -0
  1012. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/ResourcesTable.js.map +1 -0
  1013. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/ShareTheResource.js +222 -0
  1014. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/ShareTheResource.js.map +1 -0
  1015. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/SharedResourcesTable.js +97 -0
  1016. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/SharedResourcesTable.js.map +1 -0
  1017. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/resource-model.js +16 -0
  1018. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/resource-model.js.map +1 -0
  1019. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/page-not-found/PageNotFound.js +31 -0
  1020. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/page-not-found/PageNotFound.js.map +1 -0
  1021. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/signingin-page/SigningInPage.js +350 -0
  1022. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/signingin-page/SigningInPage.js.map +1 -0
  1023. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content.json +60 -0
  1024. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/img/socialmedia/socialmedia_icons_facebook_transparent.svg +19 -0
  1025. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/img/socialmedia/socialmedia_icons_github_transparent.svg +16 -0
  1026. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/img/socialmedia/socialmedia_icons_google_transparent.svg +77 -0
  1027. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/img/socialmedia/socialmedia_icons_instagram_transparent.svg +23 -0
  1028. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/img/socialmedia/socialmedia_icons_linkedin_transparent.svg +23 -0
  1029. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/img/socialmedia/socialmedia_icons_microsoft_transparent.svg +34 -0
  1030. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/img/socialmedia/socialmedia_icons_openshift_transparent.svg +15 -0
  1031. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/img/socialmedia/socialmedia_icons_stack_transparent.svg +26 -0
  1032. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/img/socialmedia/socialmedia_icons_twitter_transparent.svg +19 -0
  1033. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/keycloak-service/KeycloakContext.js +3 -0
  1034. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/keycloak-service/KeycloakContext.js.map +1 -0
  1035. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/keycloak-service/keycloak.service.js +77 -0
  1036. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/keycloak-service/keycloak.service.js.map +1 -0
  1037. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/util/AIACommand.js +33 -0
  1038. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/util/AIACommand.js.map +1 -0
  1039. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/util/ParseLink.js +19 -0
  1040. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/util/ParseLink.js.map +1 -0
  1041. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/util/RedirectUri.js +39 -0
  1042. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/util/RedirectUri.js.map +1 -0
  1043. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/util/TimeUtil.js +50 -0
  1044. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/util/TimeUtil.js.map +1 -0
  1045. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/welcome-page-scripts.js +89 -0
  1046. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/ContinueCancelModal.js +103 -0
  1047. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/ContinueCancelModal.js.map +1 -0
  1048. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/EmptyMessageState.js +38 -0
  1049. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/EmptyMessageState.js.map +1 -0
  1050. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/LocaleSelectors.js +41 -0
  1051. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/LocaleSelectors.js.map +1 -0
  1052. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/Logout.js +46 -0
  1053. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/Logout.js.map +1 -0
  1054. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/Msg.js +69 -0
  1055. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/Msg.js.map +1 -0
  1056. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/ReferrerDropdownItem.js +38 -0
  1057. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/ReferrerDropdownItem.js.map +1 -0
  1058. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/ReferrerLink.js +46 -0
  1059. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/ReferrerLink.js.map +1 -0
  1060. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/features.js +2 -0
  1061. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/features.js.map +1 -0
  1062. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/theme.properties +18 -0
  1063. package/aqtion/docker/config/servers.json +14 -0
  1064. package/aqtion/docker/setup/docker-compose.yml +67 -0
  1065. package/aqtion/frontend/app/components/.gitkeep +0 -0
  1066. package/aqtion/frontend/app/interfaces/.gitkeep +0 -0
  1067. package/aqtion/frontend/app/menu.json +41 -0
  1068. package/aqtion/frontend/app/pages/pages-routing.module.ts +19 -0
  1069. package/aqtion/frontend/app/pages/profil/profil.component.html +3 -0
  1070. package/aqtion/frontend/app/pages/profil/profil.component.scss +0 -0
  1071. package/aqtion/frontend/app/pages/profil/profil.component.ts +27 -0
  1072. package/aqtion/frontend/app/pages/root/root.component.html +3 -0
  1073. package/aqtion/frontend/app/pages/root/root.component.scss +22 -0
  1074. package/aqtion/frontend/app/pages/root/root.component.ts +16 -0
  1075. package/aqtion/frontend/app/services/profils.service.ts +25 -0
  1076. package/aqtion/frontend/app-routing.module.ts +61 -0
  1077. package/aqtion/frontend/app.component.css +46 -0
  1078. package/aqtion/frontend/app.component.html +1 -0
  1079. package/aqtion/frontend/app.component.ts +60 -0
  1080. package/aqtion/frontend/app.module.ts +103 -0
  1081. package/aqtion/frontend/assets/favicon.ico +0 -0
  1082. package/aqtion/frontend/assets/i18n/fr.json +33 -0
  1083. package/aqtion/frontend/assets/images/599x157.png +0 -0
  1084. package/aqtion/frontend/assets/images/cerema.png +0 -0
  1085. package/aqtion/frontend/assets/images/dollar.svg +1 -0
  1086. package/aqtion/frontend/assets/images/logo.png +0 -0
  1087. package/aqtion/frontend/assets/images/logo_title.png +0 -0
  1088. package/aqtion/frontend/assets/images/logorobot.png +0 -0
  1089. package/aqtion/frontend/assets/images/work-in-progress.svg +64 -0
  1090. package/aqtion/frontend/assets/layout/fonts/lato-v17-latin-ext_latin-300.woff +0 -0
  1091. package/aqtion/frontend/assets/layout/fonts/lato-v17-latin-ext_latin-300.woff2 +0 -0
  1092. package/aqtion/frontend/assets/layout/fonts/lato-v17-latin-ext_latin-700.woff +0 -0
  1093. package/aqtion/frontend/assets/layout/fonts/lato-v17-latin-ext_latin-700.woff2 +0 -0
  1094. package/aqtion/frontend/assets/layout/fonts/lato-v17-latin-ext_latin-regular.woff +0 -0
  1095. package/aqtion/frontend/assets/layout/fonts/lato-v17-latin-ext_latin-regular.woff2 +0 -0
  1096. package/aqtion/frontend/assets/layout/images/LogoCerema.svg +226 -0
  1097. package/aqtion/frontend/assets/layout/images/LogoCerema_horizontal.svg +167 -0
  1098. package/aqtion/frontend/assets/layout/images/SpinnerCerema.svg +6 -0
  1099. package/aqtion/frontend/assets/layout/images/Swagger-logo.png +0 -0
  1100. package/aqtion/frontend/assets/layout/images/authentication.svg +1 -0
  1101. package/aqtion/frontend/assets/layout/images/mail.svg +1 -0
  1102. package/aqtion/frontend/assets/layout/images/postgresql.svg +1 -0
  1103. package/aqtion/frontend/assets/layout/images/user.png +0 -0
  1104. package/aqtion/frontend/assets/layout/styles/layout/_breadcrumb.scss +18 -0
  1105. package/aqtion/frontend/assets/layout/styles/layout/_config.scss +33 -0
  1106. package/aqtion/frontend/assets/layout/styles/layout/_content.scss +20 -0
  1107. package/aqtion/frontend/assets/layout/styles/layout/_fonts.scss +29 -0
  1108. package/aqtion/frontend/assets/layout/styles/layout/_footer.scss +25 -0
  1109. package/aqtion/frontend/assets/layout/styles/layout/_main.scss +29 -0
  1110. package/aqtion/frontend/assets/layout/styles/layout/_responsive.scss +160 -0
  1111. package/aqtion/frontend/assets/layout/styles/layout/_sidebar.scss +2 -0
  1112. package/aqtion/frontend/assets/layout/styles/layout/_topbar.scss +250 -0
  1113. package/aqtion/frontend/assets/layout/styles/layout/_typography.scss +63 -0
  1114. package/aqtion/frontend/assets/layout/styles/layout/_utils.scss +19 -0
  1115. package/aqtion/frontend/assets/layout/styles/layout/layout.scss +15 -0
  1116. package/aqtion/frontend/assets/layout/styles/layout/preloading.css +73 -0
  1117. package/aqtion/frontend/assets/layout/styles/layout/preloading.scss +79 -0
  1118. package/aqtion/frontend/assets/layout/styles/layout/sidebar/_sidebar_slim.scss +132 -0
  1119. package/aqtion/frontend/assets/layout/styles/layout/sidebar/_sidebar_vertical.scss +132 -0
  1120. package/aqtion/frontend/assets/layout/styles/layout/theme/_dark.scss +10 -0
  1121. package/aqtion/frontend/assets/layout/styles/layout/theme/_light.scss +10 -0
  1122. package/aqtion/frontend/assets/layout/styles/layout/theme/_primary.scss +10 -0
  1123. package/aqtion/frontend/assets/layout/styles/layout/theme/_themes.scss +3 -0
  1124. package/aqtion/frontend/assets/layout/styles/theme/designer/_colors.scss +17 -0
  1125. package/aqtion/frontend/assets/layout/styles/theme/designer/_common.scss +68 -0
  1126. package/aqtion/frontend/assets/layout/styles/theme/designer/_components.scss +102 -0
  1127. package/aqtion/frontend/assets/layout/styles/theme/designer/_mixins.scss +203 -0
  1128. package/aqtion/frontend/assets/layout/styles/theme/designer/components/button/_button.scss +560 -0
  1129. package/aqtion/frontend/assets/layout/styles/theme/designer/components/button/_speeddial.scss +81 -0
  1130. package/aqtion/frontend/assets/layout/styles/theme/designer/components/button/_splitbutton.scss +381 -0
  1131. package/aqtion/frontend/assets/layout/styles/theme/designer/components/data/_carousel.scss +37 -0
  1132. package/aqtion/frontend/assets/layout/styles/theme/designer/components/data/_datatable.scss +278 -0
  1133. package/aqtion/frontend/assets/layout/styles/theme/designer/components/data/_dataview.scss +55 -0
  1134. package/aqtion/frontend/assets/layout/styles/theme/designer/components/data/_filter.scss +138 -0
  1135. package/aqtion/frontend/assets/layout/styles/theme/designer/components/data/_fullcalendar.scss +329 -0
  1136. package/aqtion/frontend/assets/layout/styles/theme/designer/components/data/_orderlist.scss +103 -0
  1137. package/aqtion/frontend/assets/layout/styles/theme/designer/components/data/_organizationchart.scss +50 -0
  1138. package/aqtion/frontend/assets/layout/styles/theme/designer/components/data/_paginator.scss +92 -0
  1139. package/aqtion/frontend/assets/layout/styles/theme/designer/components/data/_picklist.scss +103 -0
  1140. package/aqtion/frontend/assets/layout/styles/theme/designer/components/data/_timeline.scss +38 -0
  1141. package/aqtion/frontend/assets/layout/styles/theme/designer/components/data/_tree.scss +144 -0
  1142. package/aqtion/frontend/assets/layout/styles/theme/designer/components/data/_treetable.scss +246 -0
  1143. package/aqtion/frontend/assets/layout/styles/theme/designer/components/data/_virtualscroller.scss +28 -0
  1144. package/aqtion/frontend/assets/layout/styles/theme/designer/components/file/_fileupload.scss +58 -0
  1145. package/aqtion/frontend/assets/layout/styles/theme/designer/components/menu/_breadcrumb.scss +42 -0
  1146. package/aqtion/frontend/assets/layout/styles/theme/designer/components/menu/_contextmenu.scss +56 -0
  1147. package/aqtion/frontend/assets/layout/styles/theme/designer/components/menu/_dock.scss +86 -0
  1148. package/aqtion/frontend/assets/layout/styles/theme/designer/components/menu/_megamenu.scss +106 -0
  1149. package/aqtion/frontend/assets/layout/styles/theme/designer/components/menu/_menu.scss +45 -0
  1150. package/aqtion/frontend/assets/layout/styles/theme/designer/components/menu/_menubar.scss +183 -0
  1151. package/aqtion/frontend/assets/layout/styles/theme/designer/components/menu/_panelmenu.scss +140 -0
  1152. package/aqtion/frontend/assets/layout/styles/theme/designer/components/menu/_slidemenu.scss +59 -0
  1153. package/aqtion/frontend/assets/layout/styles/theme/designer/components/menu/_steps.scss +56 -0
  1154. package/aqtion/frontend/assets/layout/styles/theme/designer/components/menu/_tabmenu.scss +69 -0
  1155. package/aqtion/frontend/assets/layout/styles/theme/designer/components/menu/_tieredmenu.scss +60 -0
  1156. package/aqtion/frontend/assets/layout/styles/theme/designer/components/messages/_inlinemessage.scss +64 -0
  1157. package/aqtion/frontend/assets/layout/styles/theme/designer/components/messages/_message.scss +102 -0
  1158. package/aqtion/frontend/assets/layout/styles/theme/designer/components/messages/_toast.scss +95 -0
  1159. package/aqtion/frontend/assets/layout/styles/theme/designer/components/misc/_avatar.scss +30 -0
  1160. package/aqtion/frontend/assets/layout/styles/theme/designer/components/misc/_badge.scss +48 -0
  1161. package/aqtion/frontend/assets/layout/styles/theme/designer/components/misc/_blockui.scss +0 -0
  1162. package/aqtion/frontend/assets/layout/styles/theme/designer/components/misc/_chip.scss +38 -0
  1163. package/aqtion/frontend/assets/layout/styles/theme/designer/components/misc/_inplace.scss +17 -0
  1164. package/aqtion/frontend/assets/layout/styles/theme/designer/components/misc/_progressbar.scss +17 -0
  1165. package/aqtion/frontend/assets/layout/styles/theme/designer/components/misc/_scrolltop.scss +20 -0
  1166. package/aqtion/frontend/assets/layout/styles/theme/designer/components/misc/_skeleton.scss +8 -0
  1167. package/aqtion/frontend/assets/layout/styles/theme/designer/components/misc/_tag.scss +35 -0
  1168. package/aqtion/frontend/assets/layout/styles/theme/designer/components/misc/_terminal.scss +11 -0
  1169. package/aqtion/frontend/assets/layout/styles/theme/designer/components/multimedia/_galleria.scss +139 -0
  1170. package/aqtion/frontend/assets/layout/styles/theme/designer/components/multimedia/_image.scss +44 -0
  1171. package/aqtion/frontend/assets/layout/styles/theme/designer/components/overlay/_confirmpopup.scss +65 -0
  1172. package/aqtion/frontend/assets/layout/styles/theme/designer/components/overlay/_dialog.scss +64 -0
  1173. package/aqtion/frontend/assets/layout/styles/theme/designer/components/overlay/_overlaypanel.scss +62 -0
  1174. package/aqtion/frontend/assets/layout/styles/theme/designer/components/overlay/_sidebar.scss +23 -0
  1175. package/aqtion/frontend/assets/layout/styles/theme/designer/components/overlay/_tooltip.scss +33 -0
  1176. package/aqtion/frontend/assets/layout/styles/theme/designer/components/panel/_accordion.scss +119 -0
  1177. package/aqtion/frontend/assets/layout/styles/theme/designer/components/panel/_card.scss +30 -0
  1178. package/aqtion/frontend/assets/layout/styles/theme/designer/components/panel/_divider.scss +31 -0
  1179. package/aqtion/frontend/assets/layout/styles/theme/designer/components/panel/_fieldset.scss +47 -0
  1180. package/aqtion/frontend/assets/layout/styles/theme/designer/components/panel/_panel.scss +58 -0
  1181. package/aqtion/frontend/assets/layout/styles/theme/designer/components/panel/_scrollpanel.scss +6 -0
  1182. package/aqtion/frontend/assets/layout/styles/theme/designer/components/panel/_splitter.scss +19 -0
  1183. package/aqtion/frontend/assets/layout/styles/theme/designer/components/panel/_tabview.scss +78 -0
  1184. package/aqtion/frontend/assets/layout/styles/theme/designer/components/panel/_toolbar.scss +10 -0
  1185. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/_extensions.scss +90 -0
  1186. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/_variables.scss +867 -0
  1187. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/blue/theme.css +7341 -0
  1188. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/blue/theme.scss +12 -0
  1189. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/cyan/theme.css +7341 -0
  1190. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/cyan/theme.scss +12 -0
  1191. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/deeppurple/theme.css +7341 -0
  1192. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/deeppurple/theme.scss +12 -0
  1193. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/green/theme.css +7341 -0
  1194. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/green/theme.scss +12 -0
  1195. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/indigo/theme.css +7341 -0
  1196. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/indigo/theme.scss +12 -0
  1197. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/lime/theme.css +7341 -0
  1198. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/lime/theme.scss +12 -0
  1199. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/orange/theme.css +7341 -0
  1200. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/orange/theme.scss +12 -0
  1201. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/pink/theme.css +7341 -0
  1202. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/pink/theme.scss +12 -0
  1203. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/purple/theme.css +7341 -0
  1204. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/purple/theme.scss +12 -0
  1205. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/yellow/theme.css +7341 -0
  1206. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/yellow/theme.scss +12 -0
  1207. package/aqtion/frontend/assets/layout/styles/theme/theme-light/_extensions.scss +90 -0
  1208. package/aqtion/frontend/assets/layout/styles/theme/theme-light/_variables.scss +870 -0
  1209. package/aqtion/frontend/assets/layout/styles/theme/theme-light/blue/theme.css +7540 -0
  1210. package/aqtion/frontend/assets/layout/styles/theme/theme-light/blue/theme.scss +12 -0
  1211. package/aqtion/frontend/assets/layout/styles/theme/theme-light/cyan/theme.css +7341 -0
  1212. package/aqtion/frontend/assets/layout/styles/theme/theme-light/cyan/theme.scss +12 -0
  1213. package/aqtion/frontend/assets/layout/styles/theme/theme-light/deeppurple/theme.css +7341 -0
  1214. package/aqtion/frontend/assets/layout/styles/theme/theme-light/deeppurple/theme.scss +12 -0
  1215. package/aqtion/frontend/assets/layout/styles/theme/theme-light/green/theme.css +7341 -0
  1216. package/aqtion/frontend/assets/layout/styles/theme/theme-light/green/theme.scss +12 -0
  1217. package/aqtion/frontend/assets/layout/styles/theme/theme-light/indigo/theme.css +7341 -0
  1218. package/aqtion/frontend/assets/layout/styles/theme/theme-light/indigo/theme.scss +12 -0
  1219. package/aqtion/frontend/assets/layout/styles/theme/theme-light/lime/theme.css +7341 -0
  1220. package/aqtion/frontend/assets/layout/styles/theme/theme-light/lime/theme.scss +12 -0
  1221. package/aqtion/frontend/assets/layout/styles/theme/theme-light/orange/theme.css +7341 -0
  1222. package/aqtion/frontend/assets/layout/styles/theme/theme-light/orange/theme.scss +12 -0
  1223. package/aqtion/frontend/assets/layout/styles/theme/theme-light/pink/theme.css +7341 -0
  1224. package/aqtion/frontend/assets/layout/styles/theme/theme-light/pink/theme.scss +12 -0
  1225. package/aqtion/frontend/assets/layout/styles/theme/theme-light/purple/theme.css +7341 -0
  1226. package/aqtion/frontend/assets/layout/styles/theme/theme-light/purple/theme.scss +12 -0
  1227. package/aqtion/frontend/assets/layout/styles/theme/theme-light/yellow/theme.css +7341 -0
  1228. package/aqtion/frontend/assets/layout/styles/theme/theme-light/yellow/theme.scss +12 -0
  1229. package/aqtion/frontend/environments/environment.ci.ts +13 -0
  1230. package/aqtion/frontend/environments/environment.dev.ts +12 -0
  1231. package/aqtion/frontend/environments/environment.prod.ts +13 -0
  1232. package/aqtion/frontend/environments/environment.ts +3 -0
  1233. package/aqtion/frontend/index.dev.html +33 -0
  1234. package/aqtion/frontend/index.prod.html +32 -0
  1235. package/aqtion/frontend/layout/api/menuchangeevent.ts +4 -0
  1236. package/aqtion/frontend/layout/api/tabcloseevent.ts +6 -0
  1237. package/aqtion/frontend/layout/app.breadcrumb.component.html +14 -0
  1238. package/aqtion/frontend/layout/app.breadcrumb.component.ts +48 -0
  1239. package/aqtion/frontend/layout/app.footer.component.html +20 -0
  1240. package/aqtion/frontend/layout/app.footer.component.ts +23 -0
  1241. package/aqtion/frontend/layout/app.menu.component.html +3 -0
  1242. package/aqtion/frontend/layout/app.menu.service.ts +23 -0
  1243. package/aqtion/frontend/layout/app.menuitem.component.ts +310 -0
  1244. package/aqtion/frontend/layout/app.sidebar.component.html +5 -0
  1245. package/aqtion/frontend/layout/app.sidebar.component.ts +13 -0
  1246. package/aqtion/frontend/layout/app.topbar.component.html +72 -0
  1247. package/aqtion/frontend/layout/app.topbar.component.ts +73 -0
  1248. package/aqtion/frontend/layout/auto-unsubscribe.decorator.ts +21 -0
  1249. package/aqtion/frontend/layout/common/err-403/err-403.component.html +24 -0
  1250. package/aqtion/frontend/layout/common/err-403/err-403.component.scss +340 -0
  1251. package/aqtion/frontend/layout/common/err-403/err-403.ts +19 -0
  1252. package/aqtion/frontend/layout/common/err-404/err-404.component.html +27 -0
  1253. package/aqtion/frontend/layout/common/err-404/err-404.component.scss +38 -0
  1254. package/aqtion/frontend/layout/common/err-404/err-404.ts +19 -0
  1255. package/aqtion/frontend/layout/common/err-500/err-500.component.html +10 -0
  1256. package/aqtion/frontend/layout/common/err-500/err-500.component.scss +44 -0
  1257. package/aqtion/frontend/layout/common/err-500/err-500.ts +37 -0
  1258. package/aqtion/frontend/layout/common/work-in-progress/work-in-progress.component.html +1 -0
  1259. package/aqtion/frontend/layout/common/work-in-progress/work-in-progress.component.scss +8 -0
  1260. package/aqtion/frontend/layout/common/work-in-progress/work-in-progress.component.ts +14 -0
  1261. package/aqtion/frontend/layout/config/app.config.component.html +86 -0
  1262. package/aqtion/frontend/layout/config/app.config.component.scss +0 -0
  1263. package/aqtion/frontend/layout/config/app.config.component.ts +241 -0
  1264. package/aqtion/frontend/layout/config/config.module.ts +27 -0
  1265. package/aqtion/frontend/layout/error.handler.ts +16 -0
  1266. package/aqtion/frontend/layout/main/main.component.html +15 -0
  1267. package/aqtion/frontend/layout/main/main.component.ts +186 -0
  1268. package/aqtion/frontend/layout/main.module.ts +45 -0
  1269. package/aqtion/frontend/layout/service/app.layout.service.ts +123 -0
  1270. package/aqtion/frontend/layout/service/healthCheck.service.ts +35 -0
  1271. package/aqtion/frontend/layout/shared/components/app.menu.component.ts +69 -0
  1272. package/aqtion/frontend/layout/shared/components/auth/accessdenied/accessdenied-routing.module.ts +12 -0
  1273. package/aqtion/frontend/layout/shared/components/auth/accessdenied/accessdenied.component.html +10 -0
  1274. package/aqtion/frontend/layout/shared/components/auth/accessdenied/accessdenied.component.ts +7 -0
  1275. package/aqtion/frontend/layout/shared/components/auth/accessdenied/accessdenied.module.ts +17 -0
  1276. package/aqtion/frontend/layout/shared/components/auth/auth-routing.module.ts +14 -0
  1277. package/aqtion/frontend/layout/shared/components/auth/auth.module.ts +13 -0
  1278. package/aqtion/frontend/layout/shared/components/auth/error/error-routing.module.ts +12 -0
  1279. package/aqtion/frontend/layout/shared/components/auth/error/error.component.html +10 -0
  1280. package/aqtion/frontend/layout/shared/components/auth/error/error.component.ts +7 -0
  1281. package/aqtion/frontend/layout/shared/components/auth/error/error.module.ts +12 -0
  1282. package/aqtion/frontend/layout/shared/components/auth/login/login-routing.module.ts +12 -0
  1283. package/aqtion/frontend/layout/shared/components/auth/login/login.component.html +15 -0
  1284. package/aqtion/frontend/layout/shared/components/auth/login/login.component.ts +47 -0
  1285. package/aqtion/frontend/layout/shared/components/auth/login/login.module.ts +21 -0
  1286. package/aqtion/frontend/layout/shared/components/auth/logout/logout/logout.component.html +8 -0
  1287. package/aqtion/frontend/layout/shared/components/auth/logout/logout/logout.component.scss +21 -0
  1288. package/aqtion/frontend/layout/shared/components/auth/logout/logout/logout.component.ts +15 -0
  1289. package/aqtion/frontend/layout/shared/components/auth/logout/logout.module.ts +26 -0
  1290. package/aqtion/frontend/layout/shared/components/code/code.component.ts +17 -0
  1291. package/aqtion/frontend/layout/shared/components/indic/indic.component.html +8 -0
  1292. package/aqtion/frontend/layout/shared/components/indic/indic.component.scss +0 -0
  1293. package/aqtion/frontend/layout/shared/components/indic/indic.component.ts +60 -0
  1294. package/aqtion/frontend/layout/shared/components/lookup-input/lookup-input.component.html +70 -0
  1295. package/aqtion/frontend/layout/shared/components/lookup-input/lookup-input.component.scss +0 -0
  1296. package/aqtion/frontend/layout/shared/components/lookup-input/lookup-input.component.ts +121 -0
  1297. package/aqtion/frontend/layout/shared/components/notfound/notfound-routing.module.ts +12 -0
  1298. package/aqtion/frontend/layout/shared/components/notfound/notfound.component.html +42 -0
  1299. package/aqtion/frontend/layout/shared/components/notfound/notfound.component.ts +7 -0
  1300. package/aqtion/frontend/layout/shared/components/notfound/notfound.module.ts +12 -0
  1301. package/aqtion/frontend/layout/shared/constants/dateFormat.constants.ts +1 -0
  1302. package/aqtion/frontend/layout/shared/constants/pagination.constants.ts +1 -0
  1303. package/aqtion/frontend/layout/shared/core/config/application-config.service.ts +34 -0
  1304. package/aqtion/frontend/layout/shared/core/config/db-config.service.ts +20 -0
  1305. package/aqtion/frontend/layout/shared/core/guard/can-modify.guard.ts +51 -0
  1306. package/aqtion/frontend/layout/shared/core/guard/login.guard.ts +24 -0
  1307. package/aqtion/frontend/layout/shared/core/guard/ui.guard.ts +94 -0
  1308. package/aqtion/frontend/layout/shared/core/interceptor/handle-req.interceptor.ts +31 -0
  1309. package/aqtion/frontend/layout/shared/core/interceptor/index.ts +10 -0
  1310. package/aqtion/frontend/layout/shared/core/request/pageable.model.ts +5 -0
  1311. package/aqtion/frontend/layout/shared/core/request/request-util.ts +21 -0
  1312. package/aqtion/frontend/layout/shared/core/resolver/accueil.resolver.ts +19 -0
  1313. package/aqtion/frontend/layout/shared/core/storage/MyLocalStorageService.ts +22 -0
  1314. package/aqtion/frontend/layout/shared/core/storage/MyStorageService.ts +17 -0
  1315. package/aqtion/frontend/layout/shared/dev/dev-dashboard/dev-dashboard.component.html +30 -0
  1316. package/aqtion/frontend/layout/shared/dev/dev-dashboard/dev-dashboard.component.scss +82 -0
  1317. package/aqtion/frontend/layout/shared/dev/dev-dashboard/dev-dashboard.component.ts +29 -0
  1318. package/aqtion/frontend/layout/shared/dev/dev-routing.module.ts +19 -0
  1319. package/aqtion/frontend/layout/shared/dev/dev.module.ts +76 -0
  1320. package/aqtion/frontend/layout/shared/entities/claims.model.ts +9 -0
  1321. package/aqtion/frontend/layout/shared/entities/user.model.ts +9 -0
  1322. package/aqtion/frontend/layout/shared/i18n/fr.json +74 -0
  1323. package/aqtion/frontend/layout/shared/service/dev.service.ts +16 -0
  1324. package/aqtion/frontend/layout/shared/service/policy.service.ts +22 -0
  1325. package/aqtion/frontend/layout/shared/service/user.service.ts +71 -0
  1326. package/aqtion/frontend/layout/shared/shared.module.ts +11 -0
  1327. package/aqtion/frontend/layout/shared/utils/globals.ts +85 -0
  1328. package/aqtion/frontend/layout/shared/utils/misc.ts +31 -0
  1329. package/aqtion/frontend/main-routing.module.ts +47 -0
  1330. package/aqtion/frontend/main.ts +13 -0
  1331. package/aqtion/frontend/pages.module.ts +76 -0
  1332. package/aqtion/frontend/polyfills.ts +64 -0
  1333. package/aqtion/frontend/styles.scss +43 -0
  1334. package/aqtion/frontend/themes.scss +84 -0
  1335. package/aqtion/kubernetes/Chart.yaml +4 -0
  1336. package/aqtion/kubernetes/config/values.yaml +22 -0
  1337. package/aqtion/kubernetes/templates/api.yaml +74 -0
  1338. package/aqtion/kubernetes/templates/app.yaml +58 -0
  1339. package/aqtion/kubernetes/templates/pgadmin.yaml +115 -0
  1340. package/aqtion/kubernetes/templates/postgres.yaml +67 -0
  1341. package/aqtion/launch.json +21 -0
  1342. package/aqtion/logo.png +0 -0
  1343. package/aqtion/nginx.conf +20 -0
  1344. package/aqtion/package-lock.json +14134 -0
  1345. package/aqtion/package.json +84 -0
  1346. package/aqtion/playwright.config.ts +77 -0
  1347. package/aqtion/pnpm-lock.yaml +9539 -0
  1348. package/aqtion/policies/roles.json +4 -0
  1349. package/aqtion/policies/ui.policy.json +4 -0
  1350. package/aqtion/pom.xml +144 -0
  1351. package/aqtion/run.sh +5 -0
  1352. package/aqtion/tests/example.spec.ts +18 -0
  1353. package/aqtion/tests-examples/demo-todo-app.spec.ts +437 -0
  1354. package/aqtion/tsconfig.app.json +9 -0
  1355. package/aqtion/tsconfig.json +39 -0
  1356. package/aqtion/tsconfig.spec.json +9 -0
  1357. package/cli/global/init.js +12 -10
  1358. package/package.json +1 -1
@@ -0,0 +1,2845 @@
1
+ module.controller('ResourceServerCtrl', function($scope, realm, ResourceServer) {
2
+ $scope.realm = realm;
3
+
4
+ ResourceServer.query({realm : realm.realm}, function (data) {
5
+ $scope.servers = data;
6
+ });
7
+ });
8
+
9
+ module.controller('ResourceServerDetailCtrl', function($scope, $http, $route, $location, $upload, $modal, realm, ResourceServer, client, AuthzDialog, Notifications) {
10
+ $scope.realm = realm;
11
+ $scope.client = client;
12
+
13
+ ResourceServer.get({
14
+ realm : $route.current.params.realm,
15
+ client : client.id
16
+ }, function(data) {
17
+ $scope.server = angular.copy(data);
18
+ $scope.changed = false;
19
+
20
+ $scope.$watch('server', function() {
21
+ if (!angular.equals($scope.server, data)) {
22
+ $scope.changed = true;
23
+ }
24
+ }, true);
25
+
26
+ $scope.save = function() {
27
+ ResourceServer.update({realm : realm.realm, client : $scope.server.clientId}, $scope.server, function() {
28
+ $route.reload();
29
+ Notifications.success("The resource server has been created.");
30
+ });
31
+ }
32
+
33
+ $scope.reset = function() {
34
+ $route.reload();
35
+ }
36
+
37
+ $scope.export = function() {
38
+ $scope.exportSettings = true;
39
+ ResourceServer.settings({
40
+ realm : $route.current.params.realm,
41
+ client : client.id
42
+ }, function(data) {
43
+ var tmp = angular.fromJson(data);
44
+ $scope.settings = angular.toJson(tmp, true);
45
+ })
46
+ }
47
+
48
+ $scope.downloadSettings = function() {
49
+ saveAs(new Blob([$scope.settings], { type: 'application/json' }), $scope.server.name + "-authz-config.json");
50
+ }
51
+
52
+ $scope.cancelExport = function() {
53
+ delete $scope.settings
54
+ }
55
+
56
+ $scope.onFileSelect = function($fileContent) {
57
+ $scope.server = angular.copy(JSON.parse($fileContent));
58
+ $scope.importing = true;
59
+ };
60
+
61
+ $scope.viewImportDetails = function() {
62
+ $modal.open({
63
+ templateUrl: resourceUrl + '/partials/modal/view-object.html',
64
+ controller: 'ObjectModalCtrl',
65
+ resolve: {
66
+ object: function () {
67
+ return $scope.server;
68
+ }
69
+ }
70
+ })
71
+ };
72
+
73
+ $scope.import = function () {
74
+ ResourceServer.import({realm : realm.realm, client : client.id}, $scope.server, function() {
75
+ $route.reload();
76
+ Notifications.success("The resource server has been updated.");
77
+ });
78
+ }
79
+ });
80
+ });
81
+
82
+ var Resources = {
83
+ delete: function(ResourceServerResource, realm, client, $scope, AuthzDialog, $location, Notifications, $route) {
84
+ ResourceServerResource.permissions({
85
+ realm : realm,
86
+ client : client.id,
87
+ rsrid : $scope.resource._id
88
+ }, function (permissions) {
89
+ var msg = "";
90
+
91
+ if (permissions.length > 0 && !$scope.deleteConsent) {
92
+ msg = "<p>This resource is referenced in some permissions:</p>";
93
+ msg += "<ul>";
94
+ for (i = 0; i < permissions.length; i++) {
95
+ msg+= "<li><strong>" + permissions[i].name + "</strong></li>";
96
+ }
97
+ msg += "</ul>";
98
+ msg += "<p>If you remove this resource, the permissions above will be affected and will not be associated with this resource anymore.</p>";
99
+ }
100
+
101
+ AuthzDialog.confirmDeleteWithMsg($scope.resource.name, "Resource", msg, function() {
102
+ ResourceServerResource.delete({realm : realm, client : $scope.client.id, rsrid : $scope.resource._id}, null, function() {
103
+ $location.url("/realms/" + realm + "/clients/" + $scope.client.id + "/authz/resource-server/resource");
104
+ $route.reload();
105
+ Notifications.success("The resource has been deleted.");
106
+ });
107
+ });
108
+ });
109
+ }
110
+ }
111
+
112
+ var Policies = {
113
+ delete: function(service, realm, client, $scope, AuthzDialog, $location, Notifications, $route, isPermission) {
114
+ var msg = "";
115
+
116
+ service.dependentPolicies({
117
+ realm : realm,
118
+ client : client.id,
119
+ id : $scope.policy.id
120
+ }, function (dependentPolicies) {
121
+ if (dependentPolicies.length > 0 && !$scope.deleteConsent) {
122
+ msg = "<p>This policy is being used by other policies:</p>";
123
+ msg += "<ul>";
124
+ for (i = 0; i < dependentPolicies.length; i++) {
125
+ msg+= "<li><strong>" + dependentPolicies[i].name + "</strong></li>";
126
+ }
127
+ msg += "</ul>";
128
+ msg += "<p>If you remove this policy, the policies above will be affected and will not be associated with this policy anymore.</p>";
129
+ }
130
+
131
+ AuthzDialog.confirmDeleteWithMsg($scope.policy.name, isPermission ? "Permission" : "Policy", msg, function() {
132
+ service.delete({realm : realm, client : $scope.client.id, id : $scope.policy.id}, null, function() {
133
+ if (isPermission) {
134
+ $location.url("/realms/" + realm + "/clients/" + $scope.client.id + "/authz/resource-server/permission");
135
+ Notifications.success("The permission has been deleted.");
136
+ } else {
137
+ $location.url("/realms/" + realm + "/clients/" + $scope.client.id + "/authz/resource-server/policy");
138
+ Notifications.success("The policy has been deleted.");
139
+ }
140
+ $route.reload();
141
+ });
142
+ });
143
+ });
144
+ }
145
+ }
146
+
147
+ module.controller('ResourceServerResourceCtrl', function($scope, $http, $route, $location, realm, ResourceServer, ResourceServerResource, client, AuthzDialog, Notifications, viewState) {
148
+ $scope.realm = realm;
149
+ $scope.client = client;
150
+
151
+ $scope.query = {
152
+ realm: realm.realm,
153
+ client : client.id,
154
+ deep: false,
155
+ max : 20,
156
+ first : 0
157
+ };
158
+
159
+ $scope.listSizes = [5, 10, 20];
160
+
161
+ ResourceServer.get({
162
+ realm : $route.current.params.realm,
163
+ client : client.id
164
+ }, function(data) {
165
+ $scope.server = data;
166
+
167
+ $scope.createPolicy = function(resource) {
168
+ viewState.state = {};
169
+ viewState.state.previousUrl = '/realms/' + $route.current.params.realm + '/clients/' + client.id + '/authz/resource-server/resource';
170
+ $location.path('/realms/' + $route.current.params.realm + '/clients/' + client.id + '/authz/resource-server/permission/resource/create').search({rsrid: resource._id});
171
+ }
172
+
173
+ $scope.searchQuery();
174
+ });
175
+
176
+ $scope.firstPage = function() {
177
+ $scope.query.first = 0;
178
+ $scope.searchQuery();
179
+ }
180
+
181
+ $scope.previousPage = function() {
182
+ $scope.query.first -= parseInt($scope.query.max);
183
+ if ($scope.query.first < 0) {
184
+ $scope.query.first = 0;
185
+ }
186
+ $scope.searchQuery();
187
+ }
188
+
189
+ $scope.nextPage = function() {
190
+ $scope.query.first += parseInt($scope.query.max);
191
+ $scope.searchQuery();
192
+ }
193
+
194
+ $scope.searchQuery = function() {
195
+ $scope.searchLoaded = false;
196
+
197
+ ResourceServerResource.query($scope.query, function(response) {
198
+ $scope.searchLoaded = true;
199
+ $scope.lastSearch = $scope.query.search;
200
+ $scope.resources = response;
201
+ if ($scope.detailsFilter) {
202
+ $scope.showDetails();
203
+ }
204
+ });
205
+ };
206
+
207
+ $scope.loadDetails = function (resource) {
208
+ if (resource.details) {
209
+ resource.details.loaded = !resource.details.loaded;
210
+ return;
211
+ }
212
+
213
+ resource.details = {loaded: false};
214
+
215
+ ResourceServerResource.scopes({
216
+ realm : $route.current.params.realm,
217
+ client : client.id,
218
+ rsrid : resource._id
219
+ }, function(response) {
220
+ resource.scopes = response;
221
+ ResourceServerResource.permissions({
222
+ realm : $route.current.params.realm,
223
+ client : client.id,
224
+ rsrid : resource._id
225
+ }, function(response) {
226
+ resource.policies = response;
227
+ resource.details.loaded = true;
228
+ });
229
+ });
230
+ }
231
+
232
+ $scope.showDetails = function(item, event) {
233
+ if (event.target.localName == 'a' || event.target.localName == 'button') {
234
+ return;
235
+ }
236
+
237
+ if (item) {
238
+ $scope.loadDetails(item);
239
+ } else {
240
+ for (i = 0; i < $scope.resources.length; i++) {
241
+ $scope.loadDetails($scope.resources[i]);
242
+ }
243
+ }
244
+ };
245
+
246
+ $scope.delete = function(resource) {
247
+ $scope.resource = resource;
248
+ Resources.delete(ResourceServerResource, $route.current.params.realm, client, $scope, AuthzDialog, $location, Notifications, $route);
249
+ };
250
+ });
251
+
252
+ module.controller('ResourceServerResourceDetailCtrl', function($scope, $http, $route, $location, realm, ResourceServer, client, ResourceServerResource, ResourceServerScope, AuthzDialog, Notifications) {
253
+ $scope.realm = realm;
254
+ $scope.client = client;
255
+
256
+ $scope.scopesUiSelect = {
257
+ minimumInputLength: 1,
258
+ delay: 500,
259
+ allowClear: true,
260
+ query: function (query) {
261
+ var data = {results: []};
262
+ if ('' == query.term.trim()) {
263
+ query.callback(data);
264
+ return;
265
+ }
266
+ $scope.query = {
267
+ realm: realm.realm,
268
+ client : client.id,
269
+ name: query.term.trim(),
270
+ deep: false,
271
+ max : 20,
272
+ first : 0
273
+ };
274
+ ResourceServerScope.query($scope.query, function(response) {
275
+ data.results = response;
276
+ query.callback(data);
277
+ });
278
+ },
279
+ formatResult: function(object, container, query) {
280
+ return object.name;
281
+ },
282
+ formatSelection: function(object, container, query) {
283
+ return object.name;
284
+ }
285
+ };
286
+
287
+ var $instance = this;
288
+
289
+ ResourceServer.get({
290
+ realm : $route.current.params.realm,
291
+ client : client.id
292
+ }, function(data) {
293
+ $scope.server = data;
294
+
295
+ var resourceId = $route.current.params.rsrid;
296
+
297
+ if (!resourceId) {
298
+ $scope.create = true;
299
+ $scope.changed = false;
300
+
301
+ var resource = {};
302
+ resource.scopes = [];
303
+ resource.attributes = {};
304
+ resource.uris = [];
305
+
306
+ $scope.resource = angular.copy(resource);
307
+
308
+ $scope.$watch('resource', function() {
309
+ if (!angular.equals($scope.resource, resource)) {
310
+ $scope.changed = true;
311
+ }
312
+ }, true);
313
+
314
+ $scope.$watch('newUri', function() {
315
+ if ($scope.newUri && $scope.newUri.length > 0) {
316
+ $scope.changed = true;
317
+ }
318
+ }, true);
319
+
320
+ $scope.save = function() {
321
+ if ($scope.newUri && $scope.newUri.length > 0) {
322
+ $scope.addUri();
323
+ }
324
+
325
+ for (i = 0; i < $scope.resource.scopes.length; i++) {
326
+ delete $scope.resource.scopes[i].text;
327
+ }
328
+ $instance.checkNameAvailability(function () {
329
+ ResourceServerResource.save({realm : realm.realm, client : $scope.client.id}, $scope.resource, function(data) {
330
+ $location.url("/realms/" + realm.realm + "/clients/" + $scope.client.id + "/authz/resource-server/resource/" + data._id);
331
+ Notifications.success("The resource has been created.");
332
+ });
333
+ });
334
+ }
335
+
336
+ $scope.reset = function() {
337
+ $location.url("/realms/" + realm.realm + "/clients/" + $scope.client.id + "/authz/resource-server/resource/");
338
+ }
339
+ } else {
340
+ ResourceServerResource.get({
341
+ realm : $route.current.params.realm,
342
+ client : client.id,
343
+ rsrid : $route.current.params.rsrid,
344
+ }, function(data) {
345
+ if (!data.scopes) {
346
+ data.scopes = [];
347
+ }
348
+
349
+ if (!data.attributes) {
350
+ data.attributes = {};
351
+ }
352
+
353
+ $scope.resource = angular.copy(data);
354
+ $scope.changed = false;
355
+
356
+ $scope.originalResource = angular.copy($scope.resource);
357
+
358
+ $scope.$watch('resource', function() {
359
+ if (!angular.equals($scope.resource, data)) {
360
+ $scope.changed = true;
361
+ }
362
+ }, true);
363
+
364
+ $scope.$watch('newUri', function() {
365
+ if ($scope.newUri && $scope.newUri.length > 0) {
366
+ $scope.changed = true;
367
+ }
368
+ }, true);
369
+
370
+ $scope.save = function() {
371
+ if ($scope.newUri && $scope.newUri.length > 0) {
372
+ $scope.addUri();
373
+ }
374
+
375
+ for (i = 0; i < $scope.resource.scopes.length; i++) {
376
+ delete $scope.resource.scopes[i].text;
377
+ }
378
+
379
+ var keys = Object.keys($scope.resource.attributes);
380
+
381
+ for (var k = 0; k < keys.length; k++) {
382
+ var key = keys[k];
383
+ var value = $scope.resource.attributes[key];
384
+ var values = value.toString().split(',');
385
+
386
+ $scope.resource.attributes[key] = [];
387
+
388
+ for (j = 0; j < values.length; j++) {
389
+ $scope.resource.attributes[key].push(values[j]);
390
+ }
391
+ }
392
+ $instance.checkNameAvailability(function () {
393
+ ResourceServerResource.update({realm : realm.realm, client : $scope.client.id, rsrid : $scope.resource._id}, $scope.resource, function() {
394
+ $route.reload();
395
+ Notifications.success("The resource has been updated.");
396
+ });
397
+ });
398
+ }
399
+
400
+ $scope.remove = function() {
401
+ Resources.delete(ResourceServerResource, $route.current.params.realm, client, $scope, AuthzDialog, $location, Notifications, $route);
402
+ }
403
+
404
+ $scope.reset = function() {
405
+ $route.reload();
406
+ }
407
+ });
408
+ }
409
+ });
410
+
411
+ $scope.checkNewNameAvailability = function () {
412
+ $instance.checkNameAvailability(function () {});
413
+ }
414
+
415
+ this.checkNameAvailability = function (onSuccess) {
416
+ if (!$scope.resource.name || $scope.resource.name.trim().length == 0) {
417
+ return;
418
+ }
419
+ ResourceServerResource.search({
420
+ realm : $route.current.params.realm,
421
+ client : client.id,
422
+ rsrid : $route.current.params.rsrid,
423
+ name: $scope.resource.name
424
+ }, function(data) {
425
+ if (data && data._id && data._id != $scope.resource._id) {
426
+ Notifications.error("Name already in use by another resource, please choose another one.");
427
+ } else {
428
+ onSuccess();
429
+ }
430
+ });
431
+ }
432
+
433
+ $scope.addAttribute = function() {
434
+ $scope.resource.attributes[$scope.newAttribute.key] = $scope.newAttribute.value;
435
+ delete $scope.newAttribute;
436
+ }
437
+
438
+ $scope.removeAttribute = function(key) {
439
+ delete $scope.resource.attributes[key];
440
+ }
441
+
442
+ $scope.addUri = function() {
443
+ $scope.resource.uris.push($scope.newUri);
444
+ $scope.newUri = "";
445
+ }
446
+
447
+ $scope.deleteUri = function(index) {
448
+ $scope.resource.uris.splice(index, 1);
449
+ }
450
+ });
451
+
452
+ var Scopes = {
453
+ delete: function(ResourceServerScope, realm, client, $scope, AuthzDialog, $location, Notifications, $route) {
454
+ ResourceServerScope.permissions({
455
+ realm : realm,
456
+ client : client.id,
457
+ id : $scope.scope.id
458
+ }, function (permissions) {
459
+ var msg = "";
460
+
461
+ if (permissions.length > 0 && !$scope.deleteConsent) {
462
+ msg = "<p>This scope is referenced in some permissions:</p>";
463
+ msg += "<ul>";
464
+ for (i = 0; i < permissions.length; i++) {
465
+ msg+= "<li><strong>" + permissions[i].name + "</strong></li>";
466
+ }
467
+ msg += "</ul>";
468
+ msg += "<p>If you remove this scope, the permissions above will be affected and will not be associated with this scope anymore.</p>";
469
+ }
470
+
471
+ AuthzDialog.confirmDeleteWithMsg($scope.scope.name, "Scope", msg, function() {
472
+ ResourceServerScope.delete({realm : realm, client : $scope.client.id, id : $scope.scope.id}, null, function() {
473
+ $location.url("/realms/" + realm + "/clients/" + $scope.client.id + "/authz/resource-server/scope");
474
+ $route.reload();
475
+ Notifications.success("The scope has been deleted.");
476
+ });
477
+ });
478
+ });
479
+ }
480
+ }
481
+
482
+ module.controller('ResourceServerScopeCtrl', function($scope, $http, $route, $location, realm, ResourceServer, ResourceServerScope,client, AuthzDialog, Notifications, viewState) {
483
+ $scope.realm = realm;
484
+ $scope.client = client;
485
+
486
+ $scope.query = {
487
+ realm: realm.realm,
488
+ client : client.id,
489
+ deep: false,
490
+ max : 20,
491
+ first : 0
492
+ };
493
+
494
+ $scope.listSizes = [5, 10, 20];
495
+
496
+ ResourceServer.get({
497
+ realm : $route.current.params.realm,
498
+ client : client.id
499
+ }, function(data) {
500
+ $scope.server = data;
501
+
502
+ $scope.createPolicy = function(scope) {
503
+ viewState.state = {};
504
+ viewState.state.previousUrl = '/realms/' + $route.current.params.realm + '/clients/' + client.id + '/authz/resource-server/scope';
505
+ $location.path('/realms/' + $route.current.params.realm + '/clients/' + client.id + '/authz/resource-server/permission/scope/create').search({scpid: scope.id});
506
+ }
507
+
508
+ $scope.searchQuery();
509
+ });
510
+
511
+ $scope.firstPage = function() {
512
+ $scope.query.first = 0;
513
+ $scope.searchQuery();
514
+ }
515
+
516
+ $scope.previousPage = function() {
517
+ $scope.query.first -= parseInt($scope.query.max);
518
+ if ($scope.query.first < 0) {
519
+ $scope.query.first = 0;
520
+ }
521
+ $scope.searchQuery();
522
+ }
523
+
524
+ $scope.nextPage = function() {
525
+ $scope.query.first += parseInt($scope.query.max);
526
+ $scope.searchQuery();
527
+ }
528
+
529
+ $scope.searchQuery = function(detailsFilter) {
530
+ $scope.searchLoaded = false;
531
+
532
+ ResourceServerScope.query($scope.query, function(response) {
533
+ $scope.scopes = response;
534
+ $scope.searchLoaded = true;
535
+ $scope.lastSearch = $scope.query.search;
536
+ if ($scope.detailsFilter) {
537
+ $scope.showDetails();
538
+ }
539
+ });
540
+ };
541
+
542
+ $scope.loadDetails = function (scope) {
543
+ if (scope.details) {
544
+ scope.details.loaded = !scope.details.loaded;
545
+ return;
546
+ }
547
+
548
+ scope.details = {loaded: false};
549
+
550
+ ResourceServerScope.resources({
551
+ realm : $route.current.params.realm,
552
+ client : client.id,
553
+ id : scope.id
554
+ }, function(response) {
555
+ scope.resources = response;
556
+ ResourceServerScope.permissions({
557
+ realm : $route.current.params.realm,
558
+ client : client.id,
559
+ id : scope.id
560
+ }, function(response) {
561
+ scope.policies = response;
562
+ scope.details.loaded = true;
563
+ });
564
+ });
565
+ }
566
+
567
+ $scope.showDetails = function(item, event) {
568
+ if (event.target.localName == 'a' || event.target.localName == 'button') {
569
+ return;
570
+ }
571
+ if (item) {
572
+ $scope.loadDetails(item);
573
+ } else {
574
+ for (i = 0; i < $scope.scopes.length; i++) {
575
+ $scope.loadDetails($scope.scopes[i]);
576
+ }
577
+ }
578
+ };
579
+
580
+ $scope.delete = function(scope) {
581
+ $scope.scope = scope;
582
+ Scopes.delete(ResourceServerScope, $route.current.params.realm, client, $scope, AuthzDialog, $location, Notifications, $route);
583
+ };
584
+ });
585
+
586
+ module.controller('ResourceServerScopeDetailCtrl', function($scope, $http, $route, $location, realm, ResourceServer, client, ResourceServerScope, AuthzDialog, Notifications) {
587
+ $scope.realm = realm;
588
+ $scope.client = client;
589
+
590
+ var $instance = this;
591
+
592
+ ResourceServer.get({
593
+ realm : $route.current.params.realm,
594
+ client : client.id
595
+ }, function(data) {
596
+ $scope.server = data;
597
+
598
+ var scopeId = $route.current.params.id;
599
+
600
+ if (!scopeId) {
601
+ $scope.create = true;
602
+ $scope.changed = false;
603
+
604
+ var scope = {};
605
+
606
+ $scope.scope = angular.copy(scope);
607
+
608
+ $scope.$watch('scope', function() {
609
+ if (!angular.equals($scope.scope, scope)) {
610
+ $scope.changed = true;
611
+ }
612
+ }, true);
613
+
614
+ $scope.save = function() {
615
+ $instance.checkNameAvailability(function () {
616
+ ResourceServerScope.save({realm : realm.realm, client : $scope.client.id}, $scope.scope, function(data) {
617
+ $location.url("/realms/" + realm.realm + "/clients/" + client.id + "/authz/resource-server/scope/" + data.id);
618
+ Notifications.success("The scope has been created.");
619
+ });
620
+ });
621
+ }
622
+
623
+ $scope.reset = function() {
624
+ $location.url("/realms/" + realm.realm + "/clients/" + $scope.client.id + "/authz/resource-server/scope/");
625
+ }
626
+ } else {
627
+ ResourceServerScope.get({
628
+ realm : $route.current.params.realm,
629
+ client : client.id,
630
+ id : $route.current.params.id,
631
+ }, function(data) {
632
+ $scope.scope = angular.copy(data);
633
+ $scope.changed = false;
634
+
635
+ $scope.$watch('scope', function() {
636
+ if (!angular.equals($scope.scope, data)) {
637
+ $scope.changed = true;
638
+ }
639
+ }, true);
640
+
641
+ $scope.originalScope = angular.copy($scope.scope);
642
+
643
+ $scope.save = function() {
644
+ $instance.checkNameAvailability(function () {
645
+ ResourceServerScope.update({realm : realm.realm, client : $scope.client.id, id : $scope.scope.id}, $scope.scope, function() {
646
+ $scope.changed = false;
647
+ Notifications.success("The scope has been updated.");
648
+ });
649
+ });
650
+ }
651
+
652
+ $scope.remove = function() {
653
+ Scopes.delete(ResourceServerScope, $route.current.params.realm, client, $scope, AuthzDialog, $location, Notifications, $route);
654
+ }
655
+
656
+ $scope.reset = function() {
657
+ $route.reload();
658
+ }
659
+ });
660
+ }
661
+ });
662
+
663
+ $scope.checkNewNameAvailability = function () {
664
+ $instance.checkNameAvailability(function () {});
665
+ }
666
+
667
+ this.checkNameAvailability = function (onSuccess) {
668
+ if (!$scope.scope.name || $scope.scope.name.trim().length == 0) {
669
+ return;
670
+ }
671
+ ResourceServerScope.search({
672
+ realm : $route.current.params.realm,
673
+ client : client.id,
674
+ name: $scope.scope.name
675
+ }, function(data) {
676
+ if (data && data.id && data.id != $scope.scope.id) {
677
+ Notifications.error("Name already in use by another scope, please choose another one.");
678
+ } else {
679
+ onSuccess();
680
+ }
681
+ });
682
+ }
683
+ });
684
+
685
+ module.controller('ResourceServerPolicyCtrl', function($scope, $http, $route, $location, realm, ResourceServer, ResourceServerPolicy, PolicyProvider, client, AuthzDialog, Notifications, KcStrings) {
686
+ $scope.realm = realm;
687
+ $scope.client = client;
688
+ $scope.policyProviders = [];
689
+
690
+ $scope.query = {
691
+ realm: realm.realm,
692
+ client : client.id,
693
+ permission: false,
694
+ max: 20,
695
+ first : 0
696
+ };
697
+
698
+ $scope.listSizes = [5, 10, 20];
699
+
700
+ PolicyProvider.query({
701
+ realm : $route.current.params.realm,
702
+ client : client.id
703
+ }, function (data) {
704
+ for (i = 0; i < data.length; i++) {
705
+ if (data[i].type != 'resource' && data[i].type != 'scope') {
706
+ $scope.policyProviders.push(data[i]);
707
+ }
708
+ }
709
+ });
710
+
711
+ ResourceServer.get({
712
+ realm : $route.current.params.realm,
713
+ client : client.id
714
+ }, function(data) {
715
+ $scope.server = data;
716
+ $scope.searchQuery();
717
+ });
718
+
719
+ $scope.addPolicy = function(policyType) {
720
+ if (KcStrings.endsWith(policyType.type, '.js')) {
721
+ ResourceServerPolicy.save({realm : realm.realm, client : client.id, type: policyType.type}, {name: policyType.name, type: policyType.type}, function(data) {
722
+ $location.url("/realms/" + realm.realm + "/clients/" + client.id + "/authz/resource-server/policy/");
723
+ Notifications.success("The policy has been created.");
724
+ });
725
+ } else {
726
+ $location.url("/realms/" + realm.realm + "/clients/" + client.id + "/authz/resource-server/policy/" + policyType.type + "/create");
727
+ }
728
+ }
729
+
730
+ $scope.firstPage = function() {
731
+ $scope.query.first = 0;
732
+ $scope.searchQuery();
733
+ }
734
+
735
+ $scope.previousPage = function() {
736
+ $scope.query.first -= parseInt($scope.query.max);
737
+ if ($scope.query.first < 0) {
738
+ $scope.query.first = 0;
739
+ }
740
+ $scope.searchQuery();
741
+ }
742
+
743
+ $scope.nextPage = function() {
744
+ $scope.query.first += parseInt($scope.query.max);
745
+ $scope.searchQuery();
746
+ }
747
+
748
+ $scope.searchQuery = function() {
749
+ $scope.searchLoaded = false;
750
+
751
+ ResourceServerPolicy.query($scope.query, function(data) {
752
+ $scope.policies = data;
753
+ $scope.searchLoaded = true;
754
+ $scope.lastSearch = $scope.query.search;
755
+ if ($scope.detailsFilter) {
756
+ $scope.showDetails();
757
+ }
758
+ });
759
+ };
760
+
761
+ $scope.loadDetails = function (policy) {
762
+ if (policy.details) {
763
+ policy.details.loaded = !policy.details.loaded;
764
+ return;
765
+ }
766
+
767
+ policy.details = {loaded: false};
768
+
769
+ ResourceServerPolicy.dependentPolicies({
770
+ realm : $route.current.params.realm,
771
+ client : client.id,
772
+ id : policy.id
773
+ }, function(response) {
774
+ policy.dependentPolicies = response;
775
+ policy.details.loaded = true;
776
+ });
777
+ }
778
+
779
+ $scope.showDetails = function(item, event) {
780
+ if (event.target.localName == 'a' || event.target.localName == 'button') {
781
+ return;
782
+ }
783
+ if (item) {
784
+ $scope.loadDetails(item);
785
+ } else {
786
+ for (i = 0; i < $scope.policies.length; i++) {
787
+ $scope.loadDetails($scope.policies[i]);
788
+ }
789
+ }
790
+ };
791
+
792
+ $scope.delete = function(policy) {
793
+ $scope.policy = policy;
794
+ Policies.delete(ResourceServerPolicy, $route.current.params.realm, client, $scope, AuthzDialog, $location, Notifications, $route, false);
795
+ };
796
+ });
797
+
798
+ module.controller('ResourceServerPermissionCtrl', function($scope, $http, $route, $location, realm, ResourceServer, ResourceServerPermission, PolicyProvider, client, AuthzDialog, Notifications) {
799
+ $scope.realm = realm;
800
+ $scope.client = client;
801
+ $scope.policyProviders = [];
802
+
803
+ $scope.query = {
804
+ realm: realm.realm,
805
+ client : client.id,
806
+ max : 20,
807
+ first : 0
808
+ };
809
+
810
+ $scope.listSizes = [5, 10, 20];
811
+
812
+ PolicyProvider.query({
813
+ realm : $route.current.params.realm,
814
+ client : client.id
815
+ }, function (data) {
816
+ for (i = 0; i < data.length; i++) {
817
+ if (data[i].type == 'resource' || data[i].type == 'scope') {
818
+ $scope.policyProviders.push(data[i]);
819
+ }
820
+ }
821
+ });
822
+
823
+ ResourceServer.get({
824
+ realm : $route.current.params.realm,
825
+ client : client.id
826
+ }, function(data) {
827
+ $scope.server = data;
828
+ $scope.searchQuery();
829
+ });
830
+
831
+ $scope.addPolicy = function(policyType) {
832
+ $location.url("/realms/" + realm.realm + "/clients/" + client.id + "/authz/resource-server/permission/" + policyType.type + "/create");
833
+ }
834
+
835
+ $scope.firstPage = function() {
836
+ $scope.query.first = 0;
837
+ $scope.searchQuery();
838
+ }
839
+
840
+ $scope.previousPage = function() {
841
+ $scope.query.first -= parseInt($scope.query.max);
842
+ if ($scope.query.first < 0) {
843
+ $scope.query.first = 0;
844
+ }
845
+ $scope.searchQuery();
846
+ }
847
+
848
+ $scope.nextPage = function() {
849
+ $scope.query.first += parseInt($scope.query.max);
850
+ $scope.searchQuery();
851
+ }
852
+
853
+ $scope.searchQuery = function() {
854
+ $scope.searchLoaded = false;
855
+
856
+ ResourceServerPermission.query($scope.query, function(data) {
857
+ $scope.policies = data;
858
+ $scope.searchLoaded = true;
859
+ $scope.lastSearch = $scope.query.search;
860
+ if ($scope.detailsFilter) {
861
+ $scope.showDetails();
862
+ }
863
+ });
864
+ };
865
+
866
+ $scope.loadDetails = function (policy) {
867
+ if (policy.details) {
868
+ policy.details.loaded = !policy.details.loaded;
869
+ return;
870
+ }
871
+
872
+ policy.details = {loaded: false};
873
+
874
+ ResourceServerPermission.associatedPolicies({
875
+ realm : $route.current.params.realm,
876
+ client : client.id,
877
+ id : policy.id
878
+ }, function(response) {
879
+ policy.associatedPolicies = response;
880
+ policy.details.loaded = true;
881
+ });
882
+ }
883
+
884
+ $scope.showDetails = function(item, event) {
885
+ if (event.target.localName == 'a' || event.target.localName == 'button') {
886
+ return;
887
+ }
888
+ if (item) {
889
+ $scope.loadDetails(item);
890
+ } else {
891
+ for (i = 0; i < $scope.policies.length; i++) {
892
+ $scope.loadDetails($scope.policies[i]);
893
+ }
894
+ }
895
+ };
896
+
897
+ $scope.delete = function(policy) {
898
+ $scope.policy = policy;
899
+ Policies.delete(ResourceServerPermission, $route.current.params.realm, client, $scope, AuthzDialog, $location, Notifications, $route, true);
900
+ };
901
+ });
902
+
903
+ module.controller('ResourceServerPolicyResourceDetailCtrl', function($scope, $route, $location, realm, client, PolicyController, ResourceServerPermission, ResourceServerResource, policyViewState) {
904
+ // call common handler method with ResourceServerScope as null.
905
+ ResourceServerPolicyCommonHandler($scope, $route, $location, realm, client, PolicyController, ResourceServerPermission, ResourceServerResource, null, policyViewState);
906
+ });
907
+
908
+
909
+ module.controller('ResourceServerPolicyScopeDetailCtrl', function($scope, $route, $location, realm, client, PolicyController, ResourceServerPermission, ResourceServerResource, ResourceServerScope, policyViewState) {
910
+ ResourceServerPolicyCommonHandler($scope, $route, $location, realm, client, PolicyController, ResourceServerPermission, ResourceServerResource, ResourceServerScope, policyViewState);
911
+ });
912
+
913
+
914
+ function ResourceServerPolicyCommonHandler($scope, $route, $location, realm, client, PolicyController, ResourceServerPermission, ResourceServerResource, ResourceServerScope, policyViewState) {
915
+ // if ResourceServerScope will be avaialble, scope handling will happen else ignored.
916
+ PolicyController.onInit({
917
+ getPolicyType : function() {
918
+ if (ResourceServerScope == null) {
919
+ return "resource";
920
+ } else {
921
+ return "scope";
922
+ }
923
+ },
924
+
925
+ isPermission : function() {
926
+ return true;
927
+ },
928
+
929
+ onInit : function() {
930
+ if (ResourceServerScope != null) {
931
+ $scope.scopesUiSelect = {
932
+ minimumInputLength: 1,
933
+ delay: 500,
934
+ allowClear: true,
935
+ query: function (query) {
936
+ if ($scope.selectedResource && $scope.selectedResource._id) {
937
+ // if resource is selected, provide result based on resourceScopes
938
+ var filteredScopes = $scope.resourceScopes.filter(
939
+ resourceScope => resourceScope.name.toLowerCase().includes(
940
+ query.term.trim().toLowerCase())
941
+ );
942
+ var data = {results: []};
943
+ data.results = filteredScopes;
944
+ query.callback(data);
945
+ } else {
946
+ // if no resource is selected, all the scopes are allowed.
947
+ var data = {results: []};
948
+ if ('' == query.term.trim()) {
949
+ query.callback(data);
950
+ return;
951
+ }
952
+ $scope.query = {
953
+ realm: realm.realm,
954
+ client : client.id,
955
+ name: query.term.trim(),
956
+ deep: false,
957
+ max : 20,
958
+ first : 0
959
+ };
960
+ ResourceServerScope.query($scope.query, function(response) {
961
+ data.results = response;
962
+ query.callback(data);
963
+ });
964
+ }
965
+ },
966
+ formatResult: function(object, container, query) {
967
+ object.text = object.name;
968
+ return object.name;
969
+ }
970
+ };
971
+ }
972
+
973
+ $scope.resourcesUiSelect = {
974
+ minimumInputLength: 1,
975
+ delay: 500,
976
+ allowClear: true,
977
+ id: function(resource){ return resource._id; },
978
+ query: function (query) {
979
+ var data = {results: []};
980
+ if ('' == query.term.trim()) {
981
+ query.callback(data);
982
+ return;
983
+ }
984
+ $scope.query = {
985
+ realm: realm.realm,
986
+ client : client.id,
987
+ name: query.term.trim(),
988
+ deep: false,
989
+ max : 20,
990
+ first : 0
991
+ };
992
+ ResourceServerResource.query($scope.query, function(response) {
993
+ data.results = response;
994
+ query.callback(data);
995
+ });
996
+ },
997
+ formatResult: function(object, container, query) {
998
+ object.text = object.name;
999
+ return object.name;
1000
+ }
1001
+ };
1002
+
1003
+ $scope.policiesUiSelect = {
1004
+ minimumInputLength: 1,
1005
+ delay: 500,
1006
+ allowClear: true,
1007
+ query: function (query) {
1008
+ var data = {results: []};
1009
+ if ('' == query.term.trim()) {
1010
+ query.callback(data);
1011
+ return;
1012
+ }
1013
+ $scope.query = {
1014
+ realm: realm.realm,
1015
+ client : client.id,
1016
+ permission: false,
1017
+ name: query.term.trim(),
1018
+ max : 20,
1019
+ first : 0
1020
+ };
1021
+ ResourceServerPermission.searchPolicies($scope.query, function(response) {
1022
+ data.results = response;
1023
+ query.callback(data);
1024
+ });
1025
+ },
1026
+ formatResult: function(object, container, query) {
1027
+ object.text = object.name;
1028
+ return object.name;
1029
+ }
1030
+ };
1031
+
1032
+ if (ResourceServerScope != null) {
1033
+ $scope.selectResource = function() {
1034
+ $scope.selectedScopes = [];
1035
+ if ($scope.selectedResource) {
1036
+ ResourceServerResource.scopes({
1037
+ realm: $route.current.params.realm,
1038
+ client: client.id,
1039
+ rsrid: $scope.selectedResource._id
1040
+ }, function (data) {
1041
+ $scope.resourceScopes = data;
1042
+ });
1043
+ }
1044
+ }
1045
+ }
1046
+ $scope.applyToResourceType = function() {
1047
+ // if previously apply to resource type flag is selected,
1048
+ // assume that it will be disabled now and accordingly,
1049
+ // set values for selectedResource or resourceType
1050
+ const prevApplyToResourceTypeFlag = $scope.applyToResourceTypeFlag;
1051
+ if (!prevApplyToResourceTypeFlag) {
1052
+ $scope.selectedResource = null;
1053
+ } else {
1054
+ $scope.policy.resourceType = null;
1055
+ }
1056
+ if (ResourceServerScope != null) {
1057
+ $scope.selectedScopes = [];
1058
+ $scope.changed = true;
1059
+ }
1060
+ }
1061
+ },
1062
+
1063
+ onInitUpdate : function(policy) {
1064
+ if (!policy.resourceType) {
1065
+ ResourceServerPermission.resources({
1066
+ realm: $route.current.params.realm,
1067
+ client: client.id,
1068
+ id: policy.id
1069
+ }, function (resources) {
1070
+ $scope.resourceScopes = [];
1071
+ if (resources.length > 0) {
1072
+ resources[0].text = resources[0].name;
1073
+ $scope.selectedResource = resources[0];
1074
+ if (ResourceServerScope != null) {
1075
+ ResourceServerResource.scopes({
1076
+ realm: $route.current.params.realm,
1077
+ client: client.id,
1078
+ rsrid: resources[0]._id
1079
+ }, function (data) {
1080
+ $scope.resourceScopes = data;
1081
+ });
1082
+ }
1083
+ } else {
1084
+ $scope.selectedResource = null;
1085
+ }
1086
+ });
1087
+ $scope.applyToResourceTypeFlag = false;
1088
+ } else {
1089
+ $scope.selectedResource = null;
1090
+ $scope.resourceScopes = [];
1091
+ $scope.applyToResourceTypeFlag = true;
1092
+ }
1093
+
1094
+ var copy = angular.copy($scope.selectedResource);
1095
+ $scope.$watch('selectedResource', function() {
1096
+ if (!angular.equals($scope.selectedResource, copy)) {
1097
+ $scope.changed = true;
1098
+ }
1099
+ }, true);
1100
+
1101
+ if (ResourceServerScope != null) {
1102
+ ResourceServerPermission.scopes({
1103
+ realm : $route.current.params.realm,
1104
+ client : client.id,
1105
+ id : policy.id
1106
+ }, function(scopes) {
1107
+ $scope.selectedScopes = [];
1108
+
1109
+ for (i = 0; i < scopes.length; i++) {
1110
+ scopes[i].text = scopes[i].name;
1111
+ $scope.selectedScopes.push(scopes[i]);
1112
+ }
1113
+
1114
+ var copy = angular.copy($scope.selectedScopes);
1115
+ $scope.$watch('selectedScopes', function() {
1116
+ if (!angular.equals($scope.selectedScopes, copy)) {
1117
+ $scope.changed = true;
1118
+ }
1119
+ }, true);
1120
+ });
1121
+ }
1122
+
1123
+ ResourceServerPermission.associatedPolicies({
1124
+ realm : $route.current.params.realm,
1125
+ client : client.id,
1126
+ id : policy.id
1127
+ }, function(policies) {
1128
+ $scope.selectedPolicies = [];
1129
+ for (i = 0; i < policies.length; i++) {
1130
+ policies[i].text = policies[i].name;
1131
+ $scope.selectedPolicies.push(policies[i]);
1132
+ }
1133
+ var copy = angular.copy($scope.selectedPolicies);
1134
+ $scope.$watch('selectedPolicies', function() {
1135
+ if (!angular.equals($scope.selectedPolicies, copy)) {
1136
+ $scope.changed = true;
1137
+ }
1138
+ }, true);
1139
+ });
1140
+ },
1141
+
1142
+ onUpdate : function() {
1143
+ if ($scope.selectedResource != null && $scope.selectedResource._id) {
1144
+ $scope.policy.resources = [$scope.selectedResource._id];
1145
+ } else {
1146
+ $scope.policy.resources = [];
1147
+ }
1148
+
1149
+ if (ResourceServerScope != null) {
1150
+ var scopes = [];
1151
+ for (i = 0; i < $scope.selectedScopes.length; i++) {
1152
+ scopes.push($scope.selectedScopes[i].id);
1153
+ }
1154
+ $scope.policy.scopes = scopes;
1155
+ }
1156
+
1157
+ var policies = [];
1158
+ if ($scope.selectedPolicies) {
1159
+ for (i = 0; i < $scope.selectedPolicies.length; i++) {
1160
+ policies.push($scope.selectedPolicies[i].id);
1161
+ }
1162
+ }
1163
+
1164
+ $scope.policy.policies = policies;
1165
+ delete $scope.policy.config;
1166
+ },
1167
+
1168
+ onInitCreate : function(newPolicy) {
1169
+ if (ResourceServerScope == null) {
1170
+ policyViewState.state.previousPage.name = 'authz-add-resource-permission';
1171
+ } else {
1172
+ policyViewState.state.previousPage.name = 'authz-add-scope-permission';
1173
+ }
1174
+ },
1175
+
1176
+ onCreate : function() {
1177
+ if ($scope.selectedResource != null && $scope.selectedResource._id) {
1178
+ $scope.policy.resources = [$scope.selectedResource._id];
1179
+ }
1180
+
1181
+ if (ResourceServerScope != null) {
1182
+ var scopes = [];
1183
+ for (i = 0; i < $scope.selectedScopes.length; i++) {
1184
+ scopes.push($scope.selectedScopes[i].id);
1185
+ }
1186
+ $scope.policy.scopes = scopes;
1187
+ }
1188
+
1189
+ var policies = [];
1190
+ if ($scope.selectedPolicies) {
1191
+ for (i = 0; i < $scope.selectedPolicies.length; i++) {
1192
+ policies.push($scope.selectedPolicies[i].id);
1193
+ }
1194
+ }
1195
+
1196
+ $scope.policy.policies = policies;
1197
+ delete $scope.policy.config;
1198
+ },
1199
+
1200
+ onSaveState : function(policy) {
1201
+ if (ResourceServerScope != null) {
1202
+ policyViewState.state.selectedScopes = $scope.selectedScopes;
1203
+ policyViewState.state.resourceScopes = $scope.resourceScopes;
1204
+ }
1205
+ policyViewState.state.selectedResource = $scope.selectedResource;
1206
+ policyViewState.state.applyToResourceTypeFlag = $scope.applyToResourceTypeFlag;
1207
+ },
1208
+
1209
+ onRestoreState : function(policy) {
1210
+ if (ResourceServerScope != null) {
1211
+ $scope.selectedScopes = policyViewState.state.selectedScopes;
1212
+ $scope.resourceScopes = policyViewState.state.resourceScopes;
1213
+ }
1214
+ $scope.selectedResource = policyViewState.state.selectedResource;
1215
+ $scope.applyToResourceTypeFlag = policyViewState.state.applyToResourceTypeFlag;
1216
+ policy.resourceType = policyViewState.state.policy.resourceType;
1217
+ }
1218
+ }, realm, client, $scope);
1219
+
1220
+ };
1221
+
1222
+
1223
+
1224
+ module.controller('ResourceServerPolicyUserDetailCtrl', function($scope, $route, realm, client, PolicyController, User) {
1225
+ PolicyController.onInit({
1226
+ getPolicyType : function() {
1227
+ return "user";
1228
+ },
1229
+
1230
+ onInit : function() {
1231
+ $scope.usersUiSelect = {
1232
+ minimumInputLength: 1,
1233
+ delay: 500,
1234
+ allowClear: true,
1235
+ query: function (query) {
1236
+ var data = {results: []};
1237
+ if ('' == query.term.trim()) {
1238
+ query.callback(data);
1239
+ return;
1240
+ }
1241
+ User.query({realm: $route.current.params.realm, search: query.term.trim(), max: 20}, function(response) {
1242
+ data.results = response;
1243
+ query.callback(data);
1244
+ });
1245
+ },
1246
+ formatResult: function(object, container, query) {
1247
+ return object.username;
1248
+ }
1249
+ };
1250
+
1251
+ $scope.selectedUsers = [];
1252
+
1253
+ $scope.selectUser = function(user) {
1254
+ if (!user || !user.id) {
1255
+ return;
1256
+ }
1257
+
1258
+ $scope.selectedUser = null;
1259
+
1260
+ for (i = 0; i < $scope.selectedUsers.length; i++) {
1261
+ if ($scope.selectedUsers[i].id == user.id) {
1262
+ return;
1263
+ }
1264
+ }
1265
+
1266
+ $scope.selectedUsers.push(user);
1267
+ }
1268
+
1269
+ $scope.removeFromList = function(list, user) {
1270
+ for (i = 0; i < angular.copy(list).length; i++) {
1271
+ if (user == list[i]) {
1272
+ list.splice(i, 1);
1273
+ }
1274
+ }
1275
+ }
1276
+ },
1277
+
1278
+ onInitUpdate : function(policy) {
1279
+ var selectedUsers = [];
1280
+
1281
+ if (policy.users) {
1282
+ var users = policy.users;
1283
+
1284
+ for (i = 0; i < users.length; i++) {
1285
+ User.get({realm: $route.current.params.realm, userId: users[i]}, function(data) {
1286
+ selectedUsers.push(data);
1287
+ $scope.selectedUsers = angular.copy(selectedUsers);
1288
+ });
1289
+ }
1290
+ }
1291
+
1292
+ $scope.$watch('selectedUsers', function() {
1293
+ if (!angular.equals($scope.selectedUsers, selectedUsers)) {
1294
+ $scope.changed = true;
1295
+ } else {
1296
+ $scope.changed = false;
1297
+ }
1298
+ }, true);
1299
+ },
1300
+
1301
+ onUpdate : function() {
1302
+ var users = [];
1303
+
1304
+ for (i = 0; i < $scope.selectedUsers.length; i++) {
1305
+ users.push($scope.selectedUsers[i].id);
1306
+ }
1307
+
1308
+ $scope.policy.users = users;
1309
+ delete $scope.policy.config;
1310
+ },
1311
+
1312
+ onCreate : function() {
1313
+ var users = [];
1314
+
1315
+ for (i = 0; i < $scope.selectedUsers.length; i++) {
1316
+ users.push($scope.selectedUsers[i].id);
1317
+ }
1318
+
1319
+ $scope.policy.users = users;
1320
+ delete $scope.policy.config;
1321
+ }
1322
+ }, realm, client, $scope);
1323
+ });
1324
+
1325
+ module.controller('ResourceServerPolicyClientDetailCtrl', function($scope, $route, realm, client, PolicyController, Client) {
1326
+ PolicyController.onInit({
1327
+ getPolicyType : function() {
1328
+ return "client";
1329
+ },
1330
+
1331
+ onInit : function() {
1332
+ clientSelectControl($scope, $route.current.params.realm, Client);
1333
+
1334
+ $scope.selectedClients = [];
1335
+
1336
+ $scope.selectClient = function(client) {
1337
+ if (!client || !client.id) {
1338
+ return;
1339
+ }
1340
+
1341
+ $scope.selectedClient = null;
1342
+
1343
+ for (var i = 0; i < $scope.selectedClients.length; i++) {
1344
+ if ($scope.selectedClients[i].id == client.id) {
1345
+ return;
1346
+ }
1347
+ }
1348
+
1349
+ $scope.selectedClients.push(client);
1350
+ }
1351
+
1352
+ $scope.removeFromList = function(client) {
1353
+ var index = $scope.selectedClients.indexOf(client);
1354
+ if (index != -1) {
1355
+ $scope.selectedClients.splice(index, 1);
1356
+ }
1357
+ }
1358
+ },
1359
+
1360
+ onInitUpdate : function(policy) {
1361
+ var selectedClients = [];
1362
+
1363
+ if (policy.clients) {
1364
+ var clients = policy.clients;
1365
+
1366
+ for (var i = 0; i < clients.length; i++) {
1367
+ Client.get({realm: $route.current.params.realm, client: clients[i]}, function(data) {
1368
+ selectedClients.push(data);
1369
+ $scope.selectedClients = angular.copy(selectedClients);
1370
+ });
1371
+ }
1372
+ }
1373
+
1374
+ $scope.$watch('selectedClients', function() {
1375
+ if (!angular.equals($scope.selectedClients, selectedClients)) {
1376
+ $scope.changed = true;
1377
+ } else {
1378
+ $scope.changed = false;
1379
+ }
1380
+ }, true);
1381
+ },
1382
+
1383
+ onUpdate : function() {
1384
+ var clients = [];
1385
+
1386
+ for (var i = 0; i < $scope.selectedClients.length; i++) {
1387
+ clients.push($scope.selectedClients[i].id);
1388
+ }
1389
+
1390
+ $scope.policy.clients = clients;
1391
+ delete $scope.policy.config;
1392
+ },
1393
+
1394
+ onInitCreate : function() {
1395
+ var selectedClients = [];
1396
+
1397
+ $scope.$watch('selectedClients', function() {
1398
+ if (!angular.equals($scope.selectedClients, selectedClients)) {
1399
+ $scope.changed = true;
1400
+ }
1401
+ }, true);
1402
+ },
1403
+
1404
+ onCreate : function() {
1405
+ var clients = [];
1406
+
1407
+ for (var i = 0; i < $scope.selectedClients.length; i++) {
1408
+ clients.push($scope.selectedClients[i].id);
1409
+ }
1410
+
1411
+ $scope.policy.clients = clients;
1412
+ delete $scope.policy.config;
1413
+ }
1414
+ }, realm, client, $scope);
1415
+ });
1416
+
1417
+ module.controller('ResourceServerPolicyRoleDetailCtrl', function($scope, $route, realm, client, Client, ClientRole, PolicyController, Role, RoleById) {
1418
+ PolicyController.onInit({
1419
+ getPolicyType : function() {
1420
+ return "role";
1421
+ },
1422
+
1423
+ onInit : function() {
1424
+ Role.query({realm: $route.current.params.realm}, function(data) {
1425
+ $scope.roles = data;
1426
+ });
1427
+
1428
+ Client.query({realm: $route.current.params.realm}, function (data) {
1429
+ $scope.clients = data;
1430
+ });
1431
+
1432
+ $scope.selectedRoles = [];
1433
+
1434
+ $scope.selectRole = function(role) {
1435
+ if (!role || !role.id) {
1436
+ return;
1437
+ }
1438
+
1439
+ $scope.selectedRole = null;
1440
+
1441
+ for (i = 0; i < $scope.selectedRoles.length; i++) {
1442
+ if ($scope.selectedRoles[i].id == role.id) {
1443
+ return;
1444
+ }
1445
+ }
1446
+
1447
+ $scope.selectedRoles.push(role);
1448
+
1449
+ var clientRoles = [];
1450
+
1451
+ if ($scope.clientRoles) {
1452
+ for (i = 0; i < $scope.clientRoles.length; i++) {
1453
+ if ($scope.clientRoles[i].id != role.id) {
1454
+ clientRoles.push($scope.clientRoles[i]);
1455
+ }
1456
+ }
1457
+ $scope.clientRoles = clientRoles;
1458
+ }
1459
+ }
1460
+
1461
+ $scope.removeFromList = function(role) {
1462
+ if ($scope.clientRoles && $scope.selectedClient && $scope.selectedClient.id == role.containerId) {
1463
+ $scope.clientRoles.push(role);
1464
+ }
1465
+ var index = $scope.selectedRoles.indexOf(role);
1466
+ if (index != -1) {
1467
+ $scope.selectedRoles.splice(index, 1);
1468
+ }
1469
+ }
1470
+
1471
+ $scope.selectClient = function() {
1472
+ if (!$scope.selectedClient) {
1473
+ $scope.clientRoles = [];
1474
+ return;
1475
+ }
1476
+ ClientRole.query({realm: $route.current.params.realm, client: $scope.selectedClient.id}, function(data) {
1477
+ var roles = [];
1478
+
1479
+ for (j = 0; j < data.length; j++) {
1480
+ var defined = false;
1481
+
1482
+ for (i = 0; i < $scope.selectedRoles.length; i++) {
1483
+ if ($scope.selectedRoles[i].id == data[j].id) {
1484
+ defined = true;
1485
+ break;
1486
+ }
1487
+ }
1488
+
1489
+ if (!defined) {
1490
+ data[j].container = {};
1491
+ data[j].container.name = $scope.selectedClient.clientId;
1492
+ roles.push(data[j]);
1493
+ }
1494
+ }
1495
+ $scope.clientRoles = roles;
1496
+ });
1497
+ }
1498
+ },
1499
+
1500
+ onInitUpdate : function(policy) {
1501
+ var selectedRoles = [];
1502
+
1503
+ if (policy.roles) {
1504
+ var roles = policy.roles;
1505
+
1506
+ for (i = 0; i < roles.length; i++) {
1507
+ RoleById.get({realm: $route.current.params.realm, role: roles[i].id}, function(data) {
1508
+ for (i = 0; i < roles.length; i++) {
1509
+ if (roles[i].id == data.id) {
1510
+ data.required = roles[i].required ? true : false;
1511
+ }
1512
+ }
1513
+ for (i = 0; i < $scope.clients.length; i++) {
1514
+ if ($scope.clients[i].id == data.containerId) {
1515
+ data.container = {};
1516
+ data.container.name = $scope.clients[i].clientId;
1517
+ }
1518
+ }
1519
+ selectedRoles.push(data);
1520
+ $scope.selectedRoles = angular.copy(selectedRoles);
1521
+ });
1522
+ }
1523
+ }
1524
+
1525
+ $scope.$watch('selectedRoles', function() {
1526
+ if (!angular.equals($scope.selectedRoles, selectedRoles)) {
1527
+ $scope.changed = true;
1528
+ } else {
1529
+ $scope.changed = false;
1530
+ }
1531
+ }, true);
1532
+ },
1533
+
1534
+ onUpdate : function() {
1535
+ var roles = [];
1536
+
1537
+ for (i = 0; i < $scope.selectedRoles.length; i++) {
1538
+ var role = {};
1539
+ role.id = $scope.selectedRoles[i].id;
1540
+ if ($scope.selectedRoles[i].required) {
1541
+ role.required = $scope.selectedRoles[i].required;
1542
+ }
1543
+ roles.push(role);
1544
+ }
1545
+
1546
+ $scope.policy.roles = roles;
1547
+ delete $scope.policy.config;
1548
+ },
1549
+
1550
+ onCreate : function() {
1551
+ var roles = [];
1552
+
1553
+ for (i = 0; i < $scope.selectedRoles.length; i++) {
1554
+ var role = {};
1555
+ role.id = $scope.selectedRoles[i].id;
1556
+ if ($scope.selectedRoles[i].required) {
1557
+ role.required = $scope.selectedRoles[i].required;
1558
+ }
1559
+ roles.push(role);
1560
+ }
1561
+
1562
+ $scope.policy.roles = roles;
1563
+ delete $scope.policy.config;
1564
+ }
1565
+ }, realm, client, $scope);
1566
+
1567
+ $scope.hasRealmRole = function () {
1568
+ for (i = 0; i < $scope.selectedRoles.length; i++) {
1569
+ if (!$scope.selectedRoles[i].clientRole) {
1570
+ return true;
1571
+ }
1572
+ }
1573
+ return false;
1574
+ }
1575
+
1576
+ $scope.hasClientRole = function () {
1577
+ for (i = 0; i < $scope.selectedRoles.length; i++) {
1578
+ if ($scope.selectedRoles[i].clientRole) {
1579
+ return true;
1580
+ }
1581
+ }
1582
+ return false;
1583
+ }
1584
+ });
1585
+
1586
+ module.controller('ResourceServerPolicyGroupDetailCtrl', function($scope, $route, realm, client, Client, Groups, Group, PolicyController, Notifications, $translate) {
1587
+ PolicyController.onInit({
1588
+ getPolicyType : function() {
1589
+ return "group";
1590
+ },
1591
+
1592
+ onInit : function() {
1593
+ $scope.tree = [];
1594
+
1595
+ Groups.query({realm: $route.current.params.realm}, function(groups) {
1596
+ $scope.groups = groups;
1597
+ $scope.groupList = [
1598
+ {"id" : "realm", "name": $translate.instant('groups'),
1599
+ "subGroups" : groups}
1600
+ ];
1601
+ });
1602
+
1603
+ var isLeaf = function(node) {
1604
+ return node.id != "realm" && (!node.subGroups || node.subGroups.length == 0);
1605
+ }
1606
+
1607
+ $scope.getGroupClass = function(node) {
1608
+ if (node.id == "realm") {
1609
+ return 'pficon pficon-users';
1610
+ }
1611
+ if (isLeaf(node)) {
1612
+ return 'normal';
1613
+ }
1614
+ if (node.subGroups.length && node.collapsed) return 'collapsed';
1615
+ if (node.subGroups.length && !node.collapsed) return 'expanded';
1616
+ return 'collapsed';
1617
+
1618
+ }
1619
+
1620
+ $scope.getSelectedClass = function(node) {
1621
+ if (node.selected) {
1622
+ return 'selected';
1623
+ } else if ($scope.cutNode && $scope.cutNode.id == node.id) {
1624
+ return 'cut';
1625
+ }
1626
+ return undefined;
1627
+ }
1628
+
1629
+ $scope.selectGroup = function(group) {
1630
+ for (i = 0; i < $scope.selectedGroups.length; i++) {
1631
+ if ($scope.selectedGroups[i].id == group.id) {
1632
+ return
1633
+ }
1634
+ }
1635
+ if (group.id == "realm") {
1636
+ Notifications.error("You must choose a group");
1637
+ return;
1638
+ }
1639
+ $scope.selectedGroups.push({id: group.id, path: group.path});
1640
+ $scope.changed = true;
1641
+ }
1642
+
1643
+ $scope.extendChildren = function(group) {
1644
+ $scope.changed = true;
1645
+ }
1646
+
1647
+ $scope.removeFromList = function(group) {
1648
+ var index = $scope.selectedGroups.indexOf(group);
1649
+ if (index != -1) {
1650
+ $scope.selectedGroups.splice(index, 1);
1651
+ $scope.changed = true;
1652
+ }
1653
+ }
1654
+ },
1655
+
1656
+ onInitCreate : function(policy) {
1657
+ var selectedGroups = [];
1658
+
1659
+ $scope.selectedGroups = angular.copy(selectedGroups);
1660
+
1661
+ $scope.$watch('selectedGroups', function() {
1662
+ if (!angular.equals($scope.selectedGroups, selectedGroups)) {
1663
+ $scope.changed = true;
1664
+ } else {
1665
+ $scope.changed = PolicyController.isNewAssociatedPolicy();
1666
+ }
1667
+ }, true);
1668
+ },
1669
+
1670
+ onInitUpdate : function(policy) {
1671
+ $scope.selectedGroups = policy.groups;
1672
+
1673
+ angular.forEach($scope.selectedGroups, function(group, index){
1674
+ Group.get({realm: $route.current.params.realm, groupId: group.id}, function (existing) {
1675
+ group.path = existing.path;
1676
+ });
1677
+ });
1678
+
1679
+ $scope.$watch('selectedGroups', function() {
1680
+ if (!$scope.changed) {
1681
+ return;
1682
+ }
1683
+ if (!angular.equals($scope.selectedGroups, selectedGroups)) {
1684
+ $scope.changed = true;
1685
+ } else {
1686
+ $scope.changed = false;
1687
+ }
1688
+ }, true);
1689
+ },
1690
+
1691
+ onUpdate : function() {
1692
+ $scope.policy.groups = $scope.selectedGroups;
1693
+ delete $scope.policy.config;
1694
+ },
1695
+
1696
+ onCreate : function() {
1697
+ $scope.policy.groups = $scope.selectedGroups;
1698
+ delete $scope.policy.config;
1699
+ }
1700
+ }, realm, client, $scope);
1701
+ });
1702
+
1703
+ module.controller('ResourceServerPolicyJSDetailCtrl', function($scope, $route, $location, realm, PolicyController, client, serverInfo) {
1704
+ PolicyController.onInit({
1705
+ getPolicyType : function() {
1706
+ return "js";
1707
+ },
1708
+
1709
+ onInit : function() {
1710
+ },
1711
+
1712
+ onInitUpdate : function(policy) {
1713
+
1714
+ },
1715
+
1716
+ onUpdate : function() {
1717
+ delete $scope.policy.config;
1718
+ },
1719
+
1720
+ onInitCreate : function(newPolicy) {
1721
+ },
1722
+
1723
+ onCreate : function() {
1724
+ delete $scope.policy.config;
1725
+ }
1726
+ }, realm, client, $scope);
1727
+ });
1728
+
1729
+ module.controller('ResourceServerPolicyTimeDetailCtrl', function($scope, $route, $location, realm, PolicyController, client) {
1730
+
1731
+ function clearEmptyStrings() {
1732
+ if ($scope.policy.notBefore != undefined && $scope.policy.notBefore.trim() == '') {
1733
+ $scope.policy.notBefore = null;
1734
+ }
1735
+ if ($scope.policy.notOnOrAfter != undefined && $scope.policy.notOnOrAfter.trim() == '') {
1736
+ $scope.policy.notOnOrAfter = null;
1737
+ }
1738
+ }
1739
+
1740
+ PolicyController.onInit({
1741
+ getPolicyType : function() {
1742
+ return "time";
1743
+ },
1744
+
1745
+ onInit : function() {
1746
+
1747
+ },
1748
+
1749
+ onInitUpdate : function(policy) {
1750
+ if (policy.dayMonth) {
1751
+ policy.dayMonth = parseInt(policy.dayMonth);
1752
+ }
1753
+ if (policy.dayMonthEnd) {
1754
+ policy.dayMonthEnd = parseInt(policy.dayMonthEnd);
1755
+ }
1756
+ if (policy.month) {
1757
+ policy.month = parseInt(policy.month);
1758
+ }
1759
+ if (policy.monthEnd) {
1760
+ policy.monthEnd = parseInt(policy.monthEnd);
1761
+ }
1762
+ if (policy.year) {
1763
+ policy.year = parseInt(policy.year);
1764
+ }
1765
+ if (policy.yearEnd) {
1766
+ policy.yearEnd = parseInt(policy.yearEnd);
1767
+ }
1768
+ if (policy.hour) {
1769
+ policy.hour = parseInt(policy.hour);
1770
+ }
1771
+ if (policy.hourEnd) {
1772
+ policy.hourEnd = parseInt(policy.hourEnd);
1773
+ }
1774
+ if (policy.minute) {
1775
+ policy.minute = parseInt(policy.minute);
1776
+ }
1777
+ if (policy.minuteEnd) {
1778
+ policy.minuteEnd = parseInt(policy.minuteEnd);
1779
+ }
1780
+ },
1781
+
1782
+ onUpdate : function() {
1783
+ clearEmptyStrings();
1784
+ delete $scope.policy.config;
1785
+ },
1786
+
1787
+ onInitCreate : function(newPolicy) {
1788
+ },
1789
+
1790
+ onCreate : function() {
1791
+ clearEmptyStrings();
1792
+ delete $scope.policy.config;
1793
+ }
1794
+ }, realm, client, $scope);
1795
+
1796
+ $scope.isRequired = function () {
1797
+ var policy = $scope.policy;
1798
+
1799
+ if (!policy) {
1800
+ return true;
1801
+ }
1802
+
1803
+ if (policy.notOnOrAfter || policy.notBefore
1804
+ || policy.dayMonth
1805
+ || policy.month
1806
+ || policy.year
1807
+ || policy.hour
1808
+ || policy.minute) {
1809
+ return false;
1810
+ }
1811
+ return true;
1812
+ }
1813
+ });
1814
+
1815
+ module.controller('ResourceServerPolicyAggregateDetailCtrl', function($scope, $route, $location, realm, PolicyController, ResourceServerPolicy, client, PolicyProvider, policyViewState) {
1816
+ PolicyController.onInit({
1817
+ getPolicyType : function() {
1818
+ return "aggregate";
1819
+ },
1820
+
1821
+ onInit : function() {
1822
+ $scope.policiesUiSelect = {
1823
+ minimumInputLength: 1,
1824
+ delay: 500,
1825
+ allowClear: true,
1826
+ query: function (query) {
1827
+ var data = {results: []};
1828
+ if ('' == query.term.trim()) {
1829
+ query.callback(data);
1830
+ return;
1831
+ }
1832
+ $scope.query = {
1833
+ realm: realm.realm,
1834
+ client : client.id,
1835
+ permission: false,
1836
+ name: query.term.trim(),
1837
+ max : 20,
1838
+ first : 0
1839
+ };
1840
+ ResourceServerPolicy.query($scope.query, function(response) {
1841
+ data.results = response;
1842
+ query.callback(data);
1843
+ });
1844
+ },
1845
+ formatResult: function(object, container, query) {
1846
+ object.text = object.name;
1847
+ return object.name;
1848
+ }
1849
+ };
1850
+ },
1851
+
1852
+ onInitUpdate : function(policy) {
1853
+ ResourceServerPolicy.associatedPolicies({
1854
+ realm : $route.current.params.realm,
1855
+ client : client.id,
1856
+ id : policy.id
1857
+ }, function(policies) {
1858
+ $scope.selectedPolicies = [];
1859
+ for (i = 0; i < policies.length; i++) {
1860
+ policies[i].text = policies[i].name;
1861
+ $scope.selectedPolicies.push(policies[i]);
1862
+ }
1863
+ var copy = angular.copy($scope.selectedPolicies);
1864
+ $scope.$watch('selectedPolicies', function() {
1865
+ if (!angular.equals($scope.selectedPolicies, copy)) {
1866
+ $scope.changed = true;
1867
+ }
1868
+ }, true);
1869
+ });
1870
+ },
1871
+
1872
+ onUpdate : function() {
1873
+ var policies = [];
1874
+
1875
+ for (i = 0; i < $scope.selectedPolicies.length; i++) {
1876
+ policies.push($scope.selectedPolicies[i].id);
1877
+ }
1878
+
1879
+ $scope.policy.policies = policies;
1880
+ delete $scope.policy.config;
1881
+ },
1882
+
1883
+ onInitCreate : function(newPolicy) {
1884
+ policyViewState.state.previousPage.name = 'authz-add-aggregated-policy';
1885
+ },
1886
+
1887
+ onCreate : function() {
1888
+ var policies = [];
1889
+
1890
+ for (i = 0; i < $scope.selectedPolicies.length; i++) {
1891
+ policies.push($scope.selectedPolicies[i].id);
1892
+ }
1893
+
1894
+ $scope.policy.policies = policies;
1895
+ delete $scope.policy.config;
1896
+ }
1897
+ }, realm, client, $scope);
1898
+ });
1899
+
1900
+ module.controller('ResourceServerPolicyClientScopeDetailCtrl', function($scope, $route, realm, client, ClientScope, PolicyController) {
1901
+ PolicyController.onInit({
1902
+ getPolicyType : function() {
1903
+ return "client-scope";
1904
+ },
1905
+
1906
+ onInit : function() {
1907
+ ClientScope.query({realm: $route.current.params.realm}, function(data) {
1908
+ $scope.clientScopes = data;
1909
+ });
1910
+
1911
+ $scope.selectedClientScopes = [];
1912
+
1913
+ $scope.selectClientScope = function(clientScope) {
1914
+ if (!clientScope || !clientScope.id) {
1915
+ return;
1916
+ }
1917
+
1918
+ $scope.selectedClientScope = null;
1919
+
1920
+ for (i = 0; i < $scope.selectedClientScopes.length; i++) {
1921
+ if ($scope.selectedClientScopes[i].id == clientScope.id) {
1922
+ return;
1923
+ }
1924
+ }
1925
+
1926
+ $scope.selectedClientScopes.push(clientScope);
1927
+ }
1928
+
1929
+ $scope.removeFromList = function(clientScope) {
1930
+ var index = $scope.selectedClientScopes.indexOf(clientScope);
1931
+ if (index != -1) {
1932
+ $scope.selectedClientScopes.splice(index, 1);
1933
+ }
1934
+ }
1935
+ },
1936
+
1937
+ onInitUpdate : function(policy) {
1938
+ var selectedClientScopes = [];
1939
+
1940
+ if (policy.clientScopes) {
1941
+ var clientScopes = policy.clientScopes;
1942
+
1943
+ for (i = 0; i < clientScopes.length; i++) {
1944
+ ClientScope.get({realm: $route.current.params.realm, clientScope: clientScopes[i].id}, function(data) {
1945
+ for (i = 0; i < clientScopes.length; i++) {
1946
+ if (clientScopes[i].id == data.id) {
1947
+ data.required = clientScopes[i].required ? true : false;
1948
+ }
1949
+ }
1950
+ selectedClientScopes.push(data);
1951
+ $scope.selectedClientScopes = angular.copy(selectedClientScopes);
1952
+ });
1953
+ }
1954
+ }
1955
+
1956
+ $scope.$watch('selectedClientScopes', function() {
1957
+ if (!angular.equals($scope.selectedClientScopes, selectedClientScopes)) {
1958
+ $scope.changed = true;
1959
+ } else {
1960
+ $scope.changed = false;
1961
+ }
1962
+ }, true);
1963
+ },
1964
+
1965
+ onUpdate : function() {
1966
+ var clientScopes = [];
1967
+
1968
+ for (i = 0; i < $scope.selectedClientScopes.length; i++) {
1969
+ var clientScope = {};
1970
+ clientScope.id = $scope.selectedClientScopes[i].id;
1971
+ if ($scope.selectedClientScopes[i].required) {
1972
+ clientScope.required = $scope.selectedClientScopes[i].required;
1973
+ }
1974
+ clientScopes.push(clientScope);
1975
+ }
1976
+
1977
+ $scope.policy.clientScopes = clientScopes;
1978
+ delete $scope.policy.config;
1979
+ },
1980
+
1981
+ onCreate : function() {
1982
+ var clientScopes = [];
1983
+
1984
+ for (i = 0; i < $scope.selectedClientScopes.length; i++) {
1985
+ var clientScope = {};
1986
+ clientScope.id = $scope.selectedClientScopes[i].id;
1987
+ if ($scope.selectedClientScopes[i].required) {
1988
+ clientScope.required = $scope.selectedClientScopes[i].required;
1989
+ }
1990
+ clientScopes.push(clientScope);
1991
+ }
1992
+
1993
+ $scope.policy.clientScopes = clientScopes;
1994
+ delete $scope.policy.config;
1995
+ }
1996
+ }, realm, client, $scope);
1997
+ });
1998
+
1999
+ module.controller('ResourceServerPolicyRegexDetailCtrl', function($scope, realm, client, PolicyController) {
2000
+ PolicyController.onInit({
2001
+ getPolicyType : function() {
2002
+ return "regex";
2003
+ },
2004
+
2005
+ onInit : function() {
2006
+ },
2007
+
2008
+ onInitUpdate : function(policy) {
2009
+ },
2010
+
2011
+ onUpdate : function() {
2012
+ delete $scope.policy.config;
2013
+ },
2014
+
2015
+ onCreate : function() {
2016
+ delete $scope.policy.config;
2017
+ }
2018
+ }, realm, client, $scope);
2019
+ });
2020
+
2021
+ module.service("PolicyController", function($http, $route, $location, ResourceServer, ResourceServerPolicy, ResourceServerPermission, AuthzDialog, Notifications, policyViewState, PolicyProvider, viewState) {
2022
+
2023
+ var PolicyController = {};
2024
+
2025
+ PolicyController.isNewAssociatedPolicy = function() {
2026
+ return $route.current.params['new_policy'] != null;
2027
+ }
2028
+
2029
+ PolicyController.isBackNewAssociatedPolicy = function() {
2030
+ return $route.current.params['back'] != null;
2031
+ }
2032
+
2033
+ PolicyController.onInit = function(delegate, realm, client, $scope) {
2034
+ $scope.policyProviders = [];
2035
+
2036
+ PolicyProvider.query({
2037
+ realm : $route.current.params.realm,
2038
+ client : client.id
2039
+ }, function (data) {
2040
+ for (i = 0; i < data.length; i++) {
2041
+ if (data[i].type != 'resource' && data[i].type != 'scope') {
2042
+ $scope.policyProviders.push(data[i]);
2043
+ }
2044
+ }
2045
+ });
2046
+
2047
+ if ((!policyViewState.state || !PolicyController.isBackNewAssociatedPolicy()) && !PolicyController.isNewAssociatedPolicy()) {
2048
+ policyViewState.state = {};
2049
+ }
2050
+
2051
+ if (!policyViewState.state.previousPage) {
2052
+ policyViewState.state.previousPage = {};
2053
+ }
2054
+
2055
+ $scope.policyViewState = policyViewState;
2056
+
2057
+ $scope.addPolicy = function(policyType) {
2058
+ policyViewState.state.policy = $scope.policy;
2059
+
2060
+ if (delegate.onSaveState) {
2061
+ delegate.onSaveState($scope.policy);
2062
+ }
2063
+
2064
+ if ($scope.selectedPolicies) {
2065
+ policyViewState.state.selectedPolicies = $scope.selectedPolicies;
2066
+ }
2067
+ var previousUrl = window.location.href.substring(window.location.href.indexOf('/realms'));
2068
+
2069
+ if (previousUrl.indexOf('back=true') == -1) {
2070
+ previousUrl = previousUrl + (previousUrl.indexOf('?') == -1 ? '?' : '&') + 'back=true';
2071
+ }
2072
+ policyViewState.state.previousUrl = previousUrl;
2073
+ $location.url("/realms/" + realm.realm + "/clients/" + client.id + "/authz/resource-server/policy/" + policyType.type + "/create?new_policy=true");
2074
+ }
2075
+
2076
+ $scope.detailPolicy = function(policy) {
2077
+ policyViewState.state.policy = $scope.policy;
2078
+ if (delegate.onSaveState) {
2079
+ delegate.onSaveState($scope.policy);
2080
+ }
2081
+ if ($scope.selectedPolicies) {
2082
+ policyViewState.state.selectedPolicies = $scope.selectedPolicies;
2083
+ }
2084
+ var previousUrl = window.location.href.substring(window.location.href.indexOf('/realms'));
2085
+
2086
+ if (previousUrl.indexOf('back=true') == -1) {
2087
+ previousUrl = previousUrl + (previousUrl.indexOf('?') == -1 ? '?' : '&') + 'back=true';
2088
+ }
2089
+ policyViewState.state.previousUrl = previousUrl;
2090
+ $location.url("/realms/" + realm.realm + "/clients/" + client.id + "/authz/resource-server/policy/" + policy.type + "/" + policy.id + "?new_policy=true");
2091
+ }
2092
+
2093
+ $scope.removePolicy = function(list, policy) {
2094
+ for (i = 0; i < angular.copy(list).length; i++) {
2095
+ if (policy.id == list[i].id) {
2096
+ list.splice(i, 1);
2097
+ }
2098
+ }
2099
+ }
2100
+
2101
+ $scope.selectPolicy = function(policy) {
2102
+ if (!policy || !policy.id) {
2103
+ return;
2104
+ }
2105
+
2106
+ if (!$scope.selectedPolicies) {
2107
+ $scope.selectedPolicies = [];
2108
+ }
2109
+
2110
+ $scope.selectedPolicy = null;
2111
+
2112
+ for (i = 0; i < $scope.selectedPolicies.length; i++) {
2113
+ if ($scope.selectedPolicies[i].id == policy.id) {
2114
+ return;
2115
+ }
2116
+ }
2117
+
2118
+ $scope.selectedPolicies.push(policy);
2119
+ }
2120
+
2121
+ $scope.createNewPolicy = function() {
2122
+ $scope.showNewPolicy = true;
2123
+ }
2124
+
2125
+ $scope.cancelCreateNewPolicy = function() {
2126
+ $scope.showNewPolicy = false;
2127
+ }
2128
+
2129
+ $scope.historyBackOnSaveOrCancel = PolicyController.isNewAssociatedPolicy();
2130
+
2131
+ if (!delegate.isPermission) {
2132
+ delegate.isPermission = function () {
2133
+ return false;
2134
+ }
2135
+ }
2136
+
2137
+ var service = ResourceServerPolicy;
2138
+
2139
+ if (delegate.isPermission()) {
2140
+ service = ResourceServerPermission;
2141
+ }
2142
+
2143
+ $scope.realm = realm;
2144
+ $scope.client = client;
2145
+
2146
+ $scope.decisionStrategies = ['AFFIRMATIVE', 'UNANIMOUS', 'CONSENSUS'];
2147
+ $scope.logics = ['POSITIVE', 'NEGATIVE'];
2148
+
2149
+ delegate.onInit();
2150
+
2151
+ var $instance = this;
2152
+
2153
+ ResourceServer.get({
2154
+ realm : $route.current.params.realm,
2155
+ client : client.id
2156
+ }, function(data) {
2157
+ $scope.server = data;
2158
+
2159
+ var policyId = $route.current.params.id;
2160
+
2161
+ if (!policyId) {
2162
+ $scope.create = true;
2163
+
2164
+ var policy = {};
2165
+
2166
+ policy.type = delegate.getPolicyType();
2167
+ policy.config = {};
2168
+ policy.logic = 'POSITIVE';
2169
+ policy.decisionStrategy = 'UNANIMOUS';
2170
+
2171
+ $scope.changed = $scope.historyBackOnSaveOrCancel || PolicyController.isBackNewAssociatedPolicy();
2172
+
2173
+ if (viewState.state != null && viewState.state.previousUrl != null) {
2174
+ $scope.previousUrl = viewState.state.previousUrl;
2175
+ policyViewState.state.rootUrl = $scope.previousUrl;
2176
+ viewState.state = {};
2177
+ }
2178
+
2179
+ $scope.policy = angular.copy(policy);
2180
+
2181
+ $scope.$watch('policy', function() {
2182
+ if (!angular.equals($scope.policy, policy)) {
2183
+ $scope.changed = true;
2184
+ }
2185
+ }, true);
2186
+
2187
+ if (PolicyController.isBackNewAssociatedPolicy()) {
2188
+ if (delegate.onRestoreState) {
2189
+ delegate.onRestoreState($scope.policy);
2190
+ }
2191
+ $instance.restoreState($scope);
2192
+ } else if (delegate.onInitCreate) {
2193
+ delegate.onInitCreate(policy);
2194
+ }
2195
+
2196
+ $scope.save = function() {
2197
+ $instance.checkNameAvailability(function () {
2198
+ if (delegate.onCreate) {
2199
+ delegate.onCreate();
2200
+ }
2201
+
2202
+ let policyType = $scope.policy.type.endsWith('.js') ? 'js': $scope.policy.type;
2203
+
2204
+ service.save({realm : realm.realm, client : client.id, type: $scope.policy.type}, $scope.policy, function(data) {
2205
+ if (delegate.isPermission()) {
2206
+ if ($scope.historyBackOnSaveOrCancel || policyViewState.state.rootUrl != null) {
2207
+ if (policyViewState.state.rootUrl != null) {
2208
+ $location.url(policyViewState.state.rootUrl);
2209
+ } else {
2210
+ policyViewState.state.newPolicyName = $scope.policy.name;
2211
+ $location.url(policyViewState.state.previousUrl);
2212
+ }
2213
+ } else {
2214
+ $location.url("/realms/" + realm.realm + "/clients/" + client.id + "/authz/resource-server/permission/" + policyType + "/" + data.id);
2215
+ }
2216
+ Notifications.success("The permission has been created.");
2217
+ } else {
2218
+ if ($scope.historyBackOnSaveOrCancel) {
2219
+ policyViewState.state.newPolicyName = $scope.policy.name;
2220
+ $location.url(policyViewState.state.previousUrl);
2221
+ } else {
2222
+ $location.url("/realms/" + realm.realm + "/clients/" + client.id + "/authz/resource-server/policy/" + policyType + "/" + data.id);
2223
+ }
2224
+ Notifications.success("The policy has been created.");
2225
+ }
2226
+ });
2227
+ });
2228
+ }
2229
+
2230
+ $scope.reset = function() {
2231
+ if (delegate.isPermission()) {
2232
+ if ($scope.historyBackOnSaveOrCancel || policyViewState.state.rootUrl != null) {
2233
+ if (policyViewState.state.rootUrl != null) {
2234
+ $location.url(policyViewState.state.rootUrl);
2235
+ } else {
2236
+ $location.url(policyViewState.state.previousUrl);
2237
+ }
2238
+ } else {
2239
+ $location.url("/realms/" + realm.realm + "/clients/" + client.id + "/authz/resource-server/permission/");
2240
+ }
2241
+ } else {
2242
+ if ($scope.historyBackOnSaveOrCancel) {
2243
+ $location.url(policyViewState.state.previousUrl);
2244
+ } else {
2245
+ $location.url("/realms/" + realm.realm + "/clients/" + client.id + "/authz/resource-server/policy/");
2246
+ }
2247
+ }
2248
+ }
2249
+ } else {
2250
+ service.get({
2251
+ realm: realm.realm,
2252
+ client : client.id,
2253
+ type: delegate.getPolicyType(),
2254
+ id: $route.current.params.id
2255
+ }, function(data) {
2256
+ $scope.originalPolicy = data;
2257
+ var policy = angular.copy(data);
2258
+
2259
+ $scope.changed = $scope.historyBackOnSaveOrCancel || PolicyController.isBackNewAssociatedPolicy();
2260
+ $scope.policy = angular.copy(policy);
2261
+
2262
+ if (PolicyController.isBackNewAssociatedPolicy()) {
2263
+ if (delegate.onRestoreState) {
2264
+ delegate.onRestoreState($scope.policy);
2265
+ }
2266
+ $instance.restoreState($scope);
2267
+ } else if (delegate.onInitUpdate) {
2268
+ delegate.onInitUpdate($scope.policy);
2269
+ }
2270
+
2271
+ $scope.$watch('policy', function() {
2272
+ if (!angular.equals($scope.policy, policy)) {
2273
+ $scope.changed = true;
2274
+ }
2275
+ }, true);
2276
+
2277
+
2278
+ $scope.save = function() {
2279
+ $instance.checkNameAvailability(function () {
2280
+ if (delegate.onUpdate) {
2281
+ delegate.onUpdate();
2282
+ }
2283
+
2284
+ let policyType = $scope.policy.type.endsWith('.js') ? 'js': $scope.policy.type;
2285
+
2286
+ service.update({realm : realm.realm, client : client.id, type: $scope.policy.type, id : $scope.policy.id}, $scope.policy, function() {
2287
+ if (delegate.isPermission()) {
2288
+ if ($scope.historyBackOnSaveOrCancel) {
2289
+ $location.url(policyViewState.state.previousUrl);
2290
+ } else {
2291
+ $location.url("/realms/" + realm.realm + "/clients/" + client.id + "/authz/resource-server/permission/" + policyType + "/" + $scope.policy.id);
2292
+ }
2293
+ $route.reload();
2294
+ Notifications.success("The permission has been updated.");
2295
+ } else {
2296
+ if ($scope.historyBackOnSaveOrCancel) {
2297
+ $location.url(policyViewState.state.previousUrl);
2298
+ } else {
2299
+ $location.url("/realms/" + realm.realm + "/clients/" + client.id + "/authz/resource-server/policy/" + policyType + "/" + $scope.policy.id);
2300
+ }
2301
+ $route.reload();
2302
+ Notifications.success("The policy has been updated.");
2303
+ }
2304
+ });
2305
+ });
2306
+ }
2307
+
2308
+ $scope.reset = function() {
2309
+ if ($scope.historyBackOnSaveOrCancel) {
2310
+ $location.url(policyViewState.state.previousUrl);
2311
+ } else {
2312
+ var freshPolicy = angular.copy(data);
2313
+
2314
+ if (delegate.onInitUpdate) {
2315
+ delegate.onInitUpdate(freshPolicy);
2316
+ }
2317
+
2318
+ $scope.policy = angular.copy(freshPolicy);
2319
+ $scope.changed = false;
2320
+ }
2321
+ }
2322
+ });
2323
+
2324
+ $scope.remove = function() {
2325
+ Policies.delete(ResourceServerPolicy, $route.current.params.realm, client, $scope, AuthzDialog, $location, Notifications, $route, delegate.isPermission());
2326
+ }
2327
+ }
2328
+ });
2329
+
2330
+ $scope.checkNewNameAvailability = function () {
2331
+ $instance.checkNameAvailability(function () {});
2332
+ }
2333
+
2334
+ this.checkNameAvailability = function (onSuccess) {
2335
+ if (!$scope.policy.name || $scope.policy.name.trim().length == 0) {
2336
+ return;
2337
+ }
2338
+ ResourceServerPolicy.search({
2339
+ realm: $route.current.params.realm,
2340
+ client: client.id,
2341
+ name: $scope.policy.name
2342
+ }, function(data) {
2343
+ if (data && data.id && data.id != $scope.policy.id) {
2344
+ Notifications.error("Name already in use by another policy or permission, please choose another one.");
2345
+ } else {
2346
+ onSuccess();
2347
+ }
2348
+ });
2349
+ }
2350
+
2351
+ this.restoreState = function($scope) {
2352
+ $scope.policy.name = policyViewState.state.policy.name;
2353
+ $scope.policy.description = policyViewState.state.policy.description;
2354
+ $scope.policy.decisionStrategy = policyViewState.state.policy.decisionStrategy;
2355
+ $scope.policy.logic = policyViewState.state.policy.logic;
2356
+ $scope.selectedPolicies = policyViewState.state.selectedPolicies;
2357
+
2358
+ if (!$scope.selectedPolicies) {
2359
+ $scope.selectedPolicies = [];
2360
+ }
2361
+
2362
+ $scope.changed = true;
2363
+ var previousPage = policyViewState.state.previousPage;
2364
+
2365
+ if (policyViewState.state.newPolicyName) {
2366
+ ResourceServerPolicy.query({
2367
+ realm: realm.realm,
2368
+ client : client.id,
2369
+ permission: false,
2370
+ name: policyViewState.state.newPolicyName,
2371
+ max : 20,
2372
+ first : 0
2373
+ }, function(response) {
2374
+ for (i = 0; i < response.length; i++) {
2375
+ if (response[i].name == policyViewState.state.newPolicyName) {
2376
+ response[i].text = response[i].name;
2377
+ $scope.selectedPolicies.push(response[i]);
2378
+ }
2379
+ }
2380
+
2381
+ var rootUrl = policyViewState.state.rootUrl;
2382
+ policyViewState.state = {};
2383
+ policyViewState.state.previousPage = previousPage;
2384
+ policyViewState.state.rootUrl = rootUrl;
2385
+ });
2386
+ } else {
2387
+ var rootUrl = policyViewState.state.rootUrl;
2388
+ policyViewState.state = {};
2389
+ policyViewState.state.previousPage = previousPage;
2390
+ policyViewState.state.rootUrl = rootUrl;
2391
+ }
2392
+ }
2393
+ }
2394
+
2395
+ return PolicyController;
2396
+ });
2397
+
2398
+ module.controller('PolicyEvaluateCtrl', function($scope, $http, $route, $location, realm, clients, roles, ResourceServer, client, ResourceServerResource, ResourceServerScope, User, Notifications) {
2399
+ $scope.realm = realm;
2400
+ $scope.client = client;
2401
+ $scope.clients = clients;
2402
+ $scope.roles = roles;
2403
+ $scope.authzRequest = {};
2404
+ $scope.authzRequest.resources = [];
2405
+ $scope.authzRequest.context = {};
2406
+ $scope.authzRequest.context.attributes = {};
2407
+ $scope.authzRequest.roleIds = [];
2408
+ $scope.resultUrl = resourceUrl + '/partials/authz/policy/resource-server-policy-evaluate-result.html';
2409
+
2410
+ $scope.addContextAttribute = function() {
2411
+ if (!$scope.newContextAttribute.value || $scope.newContextAttribute.value == '') {
2412
+ Notifications.error("You must provide a value to a context attribute.");
2413
+ return;
2414
+ }
2415
+
2416
+ $scope.authzRequest.context.attributes[$scope.newContextAttribute.key] = $scope.newContextAttribute.value;
2417
+ delete $scope.newContextAttribute;
2418
+ }
2419
+
2420
+ $scope.removeContextAttribute = function(key) {
2421
+ delete $scope.authzRequest.context.attributes[key];
2422
+ }
2423
+
2424
+ $scope.getContextAttribute = function(key) {
2425
+ for (i = 0; i < $scope.defaultContextAttributes.length; i++) {
2426
+ if ($scope.defaultContextAttributes[i].key == key) {
2427
+ return $scope.defaultContextAttributes[i];
2428
+ }
2429
+ }
2430
+
2431
+ return $scope.authzRequest.context.attributes[key];
2432
+ }
2433
+
2434
+ $scope.getContextAttributeName = function(key) {
2435
+ var attribute = $scope.getContextAttribute(key);
2436
+
2437
+ if (!attribute.name) {
2438
+ return key;
2439
+ }
2440
+
2441
+ return attribute.name;
2442
+ }
2443
+
2444
+ $scope.defaultContextAttributes = [
2445
+ {
2446
+ key : "custom",
2447
+ name : "Custom Attribute...",
2448
+ custom: true
2449
+ },
2450
+ {
2451
+ key : "kc.identity.authc.method",
2452
+ name : "Authentication Method",
2453
+ values: [
2454
+ {
2455
+ key : "pwd",
2456
+ name : "Password"
2457
+ },
2458
+ {
2459
+ key : "otp",
2460
+ name : "One-Time Password"
2461
+ },
2462
+ {
2463
+ key : "kbr",
2464
+ name : "Kerberos"
2465
+ }
2466
+ ]
2467
+ },
2468
+ {
2469
+ key : "kc.realm.name",
2470
+ name : "Realm"
2471
+ },
2472
+ {
2473
+ key : "kc.time.date_time",
2474
+ name : "Date/Time (MM/dd/yyyy hh:mm:ss)"
2475
+ },
2476
+ {
2477
+ key : "kc.client.network.ip_address",
2478
+ name : "Client IPv4 Address"
2479
+ },
2480
+ {
2481
+ key : "kc.client.network.host",
2482
+ name : "Client Host"
2483
+ },
2484
+ {
2485
+ key : "kc.client.user_agent",
2486
+ name : "Client/User Agent"
2487
+ }
2488
+ ];
2489
+
2490
+ $scope.isDefaultContextAttribute = function() {
2491
+ if (!$scope.newContextAttribute) {
2492
+ return true;
2493
+ }
2494
+
2495
+ if ($scope.newContextAttribute.custom) {
2496
+ return false;
2497
+ }
2498
+
2499
+ if (!$scope.getContextAttribute($scope.newContextAttribute.key).custom) {
2500
+ return true;
2501
+ }
2502
+
2503
+ return false;
2504
+ }
2505
+
2506
+ $scope.selectDefaultContextAttribute = function() {
2507
+ $scope.newContextAttribute = angular.copy($scope.newContextAttribute);
2508
+ }
2509
+
2510
+ $scope.setApplyToResourceType = function() {
2511
+ delete $scope.newResource;
2512
+ $scope.authzRequest.resources = [];
2513
+ }
2514
+
2515
+ $scope.addResource = function() {
2516
+ var resource = angular.copy($scope.newResource);
2517
+
2518
+ if (!resource) {
2519
+ resource = {};
2520
+ }
2521
+
2522
+ delete resource.text;
2523
+
2524
+ if (!$scope.newScopes || (resource._id != null && $scope.newScopes.length > 0 && $scope.newScopes[0].id)) {
2525
+ $scope.newScopes = [];
2526
+ }
2527
+
2528
+ var scopes = [];
2529
+
2530
+ for (i = 0; i < $scope.newScopes.length; i++) {
2531
+ if ($scope.newScopes[i].name) {
2532
+ scopes.push($scope.newScopes[i].name);
2533
+ } else {
2534
+ scopes.push($scope.newScopes[i]);
2535
+ }
2536
+ }
2537
+
2538
+ resource.scopes = scopes;
2539
+
2540
+ $scope.authzRequest.resources.push(resource);
2541
+
2542
+ delete $scope.newResource;
2543
+ delete $scope.newScopes;
2544
+ }
2545
+
2546
+ $scope.removeResource = function(index) {
2547
+ $scope.authzRequest.resources.splice(index, 1);
2548
+ }
2549
+
2550
+ $scope.resolveScopes = function() {
2551
+ if ($scope.newResource._id) {
2552
+ $scope.newResource.scopes = [];
2553
+ $scope.scopes = [];
2554
+ ResourceServerResource.scopes({
2555
+ realm: $route.current.params.realm,
2556
+ client: client.id,
2557
+ rsrid: $scope.newResource._id
2558
+ }, function (data) {
2559
+ $scope.scopes = data;
2560
+ });
2561
+ }
2562
+ }
2563
+
2564
+ $scope.reevaluate = function() {
2565
+ if ($scope.authzRequest.entitlements) {
2566
+ $scope.entitlements();
2567
+ } else {
2568
+ $scope.save();
2569
+ }
2570
+ }
2571
+
2572
+ $scope.showAuthzData = function() {
2573
+ $scope.showRpt = true;
2574
+ }
2575
+
2576
+ $scope.save = function() {
2577
+ $scope.authzRequest.entitlements = false;
2578
+ if ($scope.applyResourceType) {
2579
+ if (!$scope.newResource) {
2580
+ $scope.newResource = {};
2581
+ }
2582
+ if (!$scope.newScopes || ($scope.newResource._id != null && $scope.newScopes.length > 0 && $scope.newScopes[0].id)) {
2583
+ $scope.newScopes = [];
2584
+ }
2585
+
2586
+ var scopes = angular.copy($scope.newScopes);
2587
+
2588
+ for (i = 0; i < scopes.length; i++) {
2589
+ delete scopes[i].text;
2590
+ }
2591
+
2592
+ $scope.authzRequest.resources[0].scopes = scopes;
2593
+ }
2594
+
2595
+ $http.post(authUrl + '/admin/realms/'+ $route.current.params.realm + '/clients/' + client.id + '/authz/resource-server/policy/evaluate'
2596
+ , $scope.authzRequest).then(function(response) {
2597
+ $scope.evaluationResult = response.data;
2598
+ $scope.showResultTab();
2599
+ });
2600
+ }
2601
+
2602
+ $scope.entitlements = function() {
2603
+ $scope.authzRequest.entitlements = true;
2604
+ $http.post(authUrl + '/admin/realms/'+ $route.current.params.realm + '/clients/' + client.id + '/authz/resource-server/policy/evaluate'
2605
+ , $scope.authzRequest).then(function(response) {
2606
+ $scope.evaluationResult = response.data;
2607
+ $scope.showResultTab();
2608
+ });
2609
+ }
2610
+
2611
+ $scope.showResultTab = function() {
2612
+ $scope.showResult = true;
2613
+ $scope.showRpt = false;
2614
+ }
2615
+
2616
+ $scope.showRequestTab = function() {
2617
+ $scope.showResult = false;
2618
+ $scope.showRpt = false;
2619
+ }
2620
+
2621
+ $scope.usersUiSelect = {
2622
+ minimumInputLength: 1,
2623
+ delay: 500,
2624
+ allowClear: true,
2625
+ query: function (query) {
2626
+ var data = {results: []};
2627
+ if ('' == query.term.trim()) {
2628
+ query.callback(data);
2629
+ return;
2630
+ }
2631
+ User.query({realm: $route.current.params.realm, search: query.term.trim(), max: 20}, function(response) {
2632
+ data.results = response;
2633
+ query.callback(data);
2634
+ });
2635
+ },
2636
+ formatResult: function(object, container, query) {
2637
+ object.text = object.username;
2638
+ return object.username;
2639
+ }
2640
+ };
2641
+
2642
+ $scope.resourcesUiSelect = {
2643
+ minimumInputLength: 1,
2644
+ delay: 500,
2645
+ allowClear: true,
2646
+ id: function(resource){ return resource._id; },
2647
+ query: function (query) {
2648
+ var data = {results: []};
2649
+ if ('' == query.term.trim()) {
2650
+ query.callback(data);
2651
+ return;
2652
+ }
2653
+ $scope.query = {
2654
+ realm: realm.realm,
2655
+ client : client.id,
2656
+ name: query.term.trim(),
2657
+ deep: false,
2658
+ max : 20,
2659
+ first : 0
2660
+ };
2661
+ ResourceServerResource.query($scope.query, function(response) {
2662
+ data.results = response;
2663
+ query.callback(data);
2664
+ });
2665
+ },
2666
+ formatResult: function(object, container, query) {
2667
+ object.text = object.name;
2668
+ return object.name;
2669
+ }
2670
+ };
2671
+
2672
+ $scope.scopesUiSelect = {
2673
+ minimumInputLength: 1,
2674
+ delay: 500,
2675
+ allowClear: true,
2676
+ query: function (query) {
2677
+ var data = {results: []};
2678
+ if ('' == query.term.trim()) {
2679
+ query.callback(data);
2680
+ return;
2681
+ }
2682
+ $scope.query = {
2683
+ realm: realm.realm,
2684
+ client : client.id,
2685
+ name: query.term.trim(),
2686
+ deep: false,
2687
+ max : 20,
2688
+ first : 0
2689
+ };
2690
+ ResourceServerScope.query($scope.query, function(response) {
2691
+ data.results = response;
2692
+ query.callback(data);
2693
+ });
2694
+ },
2695
+ formatResult: function(object, container, query) {
2696
+ object.text = object.name;
2697
+ return object.name;
2698
+ }
2699
+ };
2700
+
2701
+ ResourceServer.get({
2702
+ realm : $route.current.params.realm,
2703
+ client : client.id
2704
+ }, function(data) {
2705
+ $scope.server = data;
2706
+ });
2707
+
2708
+ $scope.selectUser = function(user) {
2709
+ if (!user || !user.id) {
2710
+ $scope.selectedUser = null;
2711
+ $scope.authzRequest.userId = '';
2712
+ return;
2713
+ }
2714
+
2715
+ $scope.authzRequest.userId = user.id;
2716
+ }
2717
+
2718
+ $scope.reset = function() {
2719
+ $scope.authzRequest = angular.copy(authzRequest);
2720
+ $scope.changed = false;
2721
+ }
2722
+ });
2723
+
2724
+ getManageClientId = function(realm) {
2725
+ if (realm.realm == masterRealm) {
2726
+ return 'master-realm';
2727
+ } else {
2728
+ return 'realm-management';
2729
+ }
2730
+ }
2731
+
2732
+ module.controller('RealmRolePermissionsCtrl', function($scope, $http, $route, $location, realm, role, RoleManagementPermissions, Client, Notifications, Dialog, RealmRoleRemover) {
2733
+ console.log('RealmRolePermissionsCtrl');
2734
+ $scope.role = role;
2735
+ $scope.realm = realm;
2736
+
2737
+ $scope.remove = function() {
2738
+ RealmRoleRemover.remove($scope.role, realm, Dialog, $location, Notifications);
2739
+ };
2740
+
2741
+ RoleManagementPermissions.get({realm: realm.realm, role: role.id}, function(data) {
2742
+ $scope.permissions = data;
2743
+ $scope.$watch('permissions.enabled', function(newVal, oldVal) {
2744
+ if (newVal != oldVal) {
2745
+ var param = {enabled: $scope.permissions.enabled};
2746
+ $scope.permissions= RoleManagementPermissions.update({realm: realm.realm, role:role.id}, param);
2747
+ }
2748
+ }, true);
2749
+ });
2750
+ Client.query({realm: realm.realm, clientId: getManageClientId(realm)}, function(data) {
2751
+ $scope.realmManagementClientId = data[0].id;
2752
+ });
2753
+ });
2754
+ module.controller('ClientRolePermissionsCtrl', function($scope, $http, $route, $location, realm, client, role, Client, RoleManagementPermissions, Client, Notifications) {
2755
+ console.log('RealmRolePermissionsCtrl');
2756
+ $scope.client = client;
2757
+ $scope.role = role;
2758
+ $scope.realm = realm;
2759
+ RoleManagementPermissions.get({realm: realm.realm, role: role.id}, function(data) {
2760
+ $scope.permissions = data;
2761
+ $scope.$watch('permissions.enabled', function(newVal, oldVal) {
2762
+ if (newVal != oldVal) {
2763
+ var param = {enabled: $scope.permissions.enabled};
2764
+ $scope.permissions = RoleManagementPermissions.update({realm: realm.realm, role:role.id}, param);
2765
+ }
2766
+ }, true);
2767
+ });
2768
+ Client.query({realm: realm.realm, clientId: getManageClientId(realm)}, function(data) {
2769
+ $scope.realmManagementClientId = data[0].id;
2770
+ });
2771
+ });
2772
+
2773
+ module.controller('UsersPermissionsCtrl', function($scope, $http, $route, $location, realm, UsersManagementPermissions, Client, Notifications) {
2774
+ console.log('UsersPermissionsCtrl');
2775
+ $scope.realm = realm;
2776
+ var first = true;
2777
+ UsersManagementPermissions.get({realm: realm.realm}, function(data) {
2778
+ $scope.permissions = data;
2779
+ $scope.$watch('permissions.enabled', function(newVal, oldVal) {
2780
+ if (newVal != oldVal) {
2781
+ var param = {enabled: $scope.permissions.enabled};
2782
+ $scope.permissions = UsersManagementPermissions.update({realm: realm.realm}, param);
2783
+
2784
+ }
2785
+ }, true);
2786
+ });
2787
+ Client.query({realm: realm.realm, clientId: getManageClientId(realm)}, function(data) {
2788
+ $scope.realmManagementClientId = data[0].id;
2789
+ });
2790
+
2791
+
2792
+
2793
+
2794
+ });
2795
+
2796
+ module.controller('ClientPermissionsCtrl', function($scope, $http, $route, $location, realm, client, Client, ClientManagementPermissions, Notifications) {
2797
+ $scope.client = client;
2798
+ $scope.realm = realm;
2799
+ ClientManagementPermissions.get({realm: realm.realm, client: client.id}, function(data) {
2800
+ $scope.permissions = data;
2801
+ $scope.$watch('permissions.enabled', function(newVal, oldVal) {
2802
+ if (newVal != oldVal) {
2803
+ var param = {enabled: $scope.permissions.enabled};
2804
+ $scope.permissions = ClientManagementPermissions.update({realm: realm.realm, client: client.id}, param);
2805
+ }
2806
+ }, true);
2807
+ });
2808
+ Client.query({realm: realm.realm, clientId: getManageClientId(realm)}, function(data) {
2809
+ $scope.realmManagementClientId = data[0].id;
2810
+ });
2811
+ });
2812
+
2813
+ module.controller('IdentityProviderPermissionCtrl', function($scope, $http, $route, $location, realm, identityProvider, Client, IdentityProviderManagementPermissions, Notifications) {
2814
+ $scope.identityProvider = identityProvider;
2815
+ $scope.realm = realm;
2816
+ IdentityProviderManagementPermissions.get({realm: realm.realm, alias: identityProvider.alias}, function(data) {
2817
+ $scope.permissions = data;
2818
+ $scope.$watch('permissions.enabled', function(newVal, oldVal) {
2819
+ if (newVal != oldVal) {
2820
+ var param = {enabled: $scope.permissions.enabled};
2821
+ $scope.permissions = IdentityProviderManagementPermissions.update({realm: realm.realm, alias: identityProvider.alias}, param);
2822
+ }
2823
+ }, true);
2824
+ });
2825
+ Client.query({realm: realm.realm, clientId: getManageClientId(realm)}, function(data) {
2826
+ $scope.realmManagementClientId = data[0].id;
2827
+ });
2828
+ });
2829
+
2830
+ module.controller('GroupPermissionsCtrl', function($scope, $http, $route, $location, realm, group, GroupManagementPermissions, Client, Notifications) {
2831
+ $scope.group = group;
2832
+ $scope.realm = realm;
2833
+ Client.query({realm: realm.realm, clientId: getManageClientId(realm)}, function(data) {
2834
+ $scope.realmManagementClientId = data[0].id;
2835
+ });
2836
+ GroupManagementPermissions.get({realm: realm.realm, group: group.id}, function(data) {
2837
+ $scope.permissions = data;
2838
+ $scope.$watch('permissions.enabled', function(newVal, oldVal) {
2839
+ if (newVal != oldVal) {
2840
+ var param = {enabled: $scope.permissions.enabled};
2841
+ $scope.permissions = GroupManagementPermissions.update({realm: realm.realm, group: group.id}, param);
2842
+ }
2843
+ }, true);
2844
+ });
2845
+ });