@cerema/cadriciel 1.1.1 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (420) hide show
  1. package/cmd/login.js +2 -1
  2. package/cmd/update.js +1 -1
  3. package/lib/s3.js +6 -0
  4. package/package.json +1 -1
  5. package/aaaa/.cadriciel/.uuid +0 -1
  6. package/aaaa/.cadriciel/bin/db-update.js +0 -337
  7. package/aaaa/.cadriciel/bin/gen/api/api.js +0 -484
  8. package/aaaa/.cadriciel/bin/gen/component/component.js +0 -36
  9. package/aaaa/.cadriciel/bin/gen/page/page.js +0 -163
  10. package/aaaa/.cadriciel/bin/gen/project/project.js +0 -172
  11. package/aaaa/.cadriciel/bin/gen/query/query.js +0 -92
  12. package/aaaa/.cadriciel/bin/gen/service/service.js +0 -18
  13. package/aaaa/.cadriciel/bin/gen.js +0 -19
  14. package/aaaa/.cadriciel/bin/lib/convert.js +0 -94
  15. package/aaaa/.cadriciel/bin/lib/global.js +0 -140
  16. package/aaaa/.cadriciel/bin/lib/templates.js +0 -48
  17. package/aaaa/.cadriciel/bin/lib/utils.js +0 -76
  18. package/aaaa/.cadriciel/bin/logs.js +0 -34
  19. package/aaaa/.cadriciel/bin/reset.js +0 -45
  20. package/aaaa/.cadriciel/bin/restart.js +0 -30
  21. package/aaaa/.cadriciel/bin/start.js +0 -194
  22. package/aaaa/.cadriciel/bin/stop.js +0 -32
  23. package/aaaa/.cadriciel/bin/templates/components/{{name}}.component.html +0 -1
  24. package/aaaa/.cadriciel/bin/templates/components/{{name}}.component.scss +0 -0
  25. package/aaaa/.cadriciel/bin/templates/components/{{name}}.component.ts +0 -15
  26. package/aaaa/.cadriciel/bin/templates/java/config.java +0 -59
  27. package/aaaa/.cadriciel/bin/templates/routing.module.ts +0 -30
  28. package/aaaa/.cadriciel/bin/templates/{{name}}.component.html +0 -1
  29. package/aaaa/.cadriciel/bin/templates/{{name}}.component.scss +0 -0
  30. package/aaaa/.cadriciel/bin/templates/{{name}}.component.ts +0 -16
  31. package/aaaa/.cadriciel/bin/templates/{{name}}.service.ts +0 -20
  32. package/aaaa/.cadriciel/routes/root.json +0 -1
  33. package/aaaa/.gitlab-ci.yml +0 -65
  34. package/aaaa/.project +0 -1
  35. package/aaaa/.vscode/settings.json +0 -3
  36. package/aaaa/angular.json +0 -165
  37. package/aaaa/api/aaaa-data/Readme.md +0 -27
  38. package/aaaa/api/aaaa-data/pom.xml +0 -46
  39. package/aaaa/api/aaaa-data/src/main/resources/db/dev/Readme.md +0 -5
  40. package/aaaa/api/aaaa-data/src/main/resources/db/dev/V2022.06.02.1513__dev-data.sql +0 -7
  41. package/aaaa/api/aaaa-data/src/main/resources/db/migration/Readme.md +0 -38
  42. package/aaaa/api/aaaa-data/src/main/resources/db/migration/V2021.10.14.0819__Init.sql +0 -23
  43. package/aaaa/api/aaaa-data/src/main/resources/flyway.properties +0 -4
  44. package/aaaa/api/aaaa-metier/pom.xml +0 -134
  45. package/aaaa/api/aaaa-metier/src/main/java/fr/cerema/dsi/aaaa/services/CustomUserDetailsService.java +0 -12
  46. package/aaaa/api/aaaa-metier/src/main/java/fr/cerema/dsi/aaaa/services/ProfilService.java +0 -24
  47. package/aaaa/api/aaaa-metier/src/main/java/fr/cerema/dsi/aaaa/services/UserService.java +0 -36
  48. package/aaaa/api/aaaa-metier/src/main/java/fr/cerema/dsi/aaaa/services/impl/CustomUserDetailsServiceImpl.java +0 -79
  49. package/aaaa/api/aaaa-metier/src/main/java/fr/cerema/dsi/aaaa/services/impl/ProfilServiceImpl.java +0 -27
  50. package/aaaa/api/aaaa-metier/src/main/java/fr/cerema/dsi/aaaa/services/impl/UserServiceImpl.java +0 -75
  51. package/aaaa/api/aaaa-metier/src/main/java/fr/cerema/dsi/commons/security/UserSecurityServiceUtil.java +0 -30
  52. package/aaaa/api/aaaa-metier/src/main/java/fr/cerema/dsi/commons/services/GenericService.java +0 -30
  53. package/aaaa/api/aaaa-metier/src/main/java/fr/cerema/dsi/commons/services/GenericServiceImpl.java +0 -62
  54. package/aaaa/api/aaaa-metier/src/test/java/fr/cerema/dsi/aaaa/services/UserServiceImplTest.java +0 -60
  55. package/aaaa/api/aaaa-persistance/pom.xml +0 -72
  56. package/aaaa/api/aaaa-persistance/src/main/java/fr/cerema/dsi/aaaa/repositories/ProfilRepository.java +0 -18
  57. package/aaaa/api/aaaa-persistance/src/main/java/fr/cerema/dsi/aaaa/repositories/UserRepository.java +0 -28
  58. package/aaaa/api/aaaa-persistance/src/main/java/fr/cerema/dsi/commons/repositories/AbstractDao.java +0 -118
  59. package/aaaa/api/aaaa-persistance/src/main/java/fr/cerema/dsi/commons/repositories/GenericRepository.java +0 -101
  60. package/aaaa/api/aaaa-persistance/src/main/java/fr/cerema/dsi/commons/repositories/IAbstractDao.java +0 -66
  61. package/aaaa/api/aaaa-presentation/Readme.md +0 -98
  62. package/aaaa/api/aaaa-presentation/pom.xml +0 -385
  63. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/aaaa/App.java +0 -20
  64. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/aaaa/config/AspectJConfiguration.java +0 -58
  65. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/aaaa/config/AuthenticationTokenFilter.java +0 -134
  66. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/aaaa/config/SecurityConfiguration.java +0 -71
  67. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/aaaa/config/StaticResourcesWebConfiguration.java +0 -41
  68. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/aaaa/config/WebConfiguration.java +0 -59
  69. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/aaaa/controllers/AccountController.java +0 -59
  70. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/aaaa/controllers/ApiOpenController.java +0 -63
  71. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/aaaa/controllers/UserController.java +0 -63
  72. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/aaaa/dto/GenericDTO.java +0 -20
  73. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/aaaa/dto/ProfilDTO.java +0 -26
  74. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/aaaa/dto/UserDTO.java +0 -57
  75. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/aaaa/dto/UserWithCurrentAuthorityDTO.java +0 -31
  76. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/aaaa/mapper/UserMapper.java +0 -30
  77. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/commons/beans/errors/ApiSubError.java +0 -5
  78. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/commons/beans/errors/ApiValidationSubError.java +0 -13
  79. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/commons/beans/errors/JsonApiError.java +0 -308
  80. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/commons/controllers/AbstractErrorHandler.java +0 -67
  81. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/commons/controllers/ClientForwardController.java +0 -19
  82. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/commons/controllers/CustomErrorController.java +0 -57
  83. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/commons/controllers/RestResponseEntityExceptionHandler.java +0 -75
  84. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/commons/security/auth/jwt/exceptions/InvalidTokenException.java +0 -30
  85. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/commons/security/filters/AppCorsFilter.java +0 -45
  86. package/aaaa/api/aaaa-presentation/src/main/resources/META-INF/spring.factories +0 -2
  87. package/aaaa/api/aaaa-presentation/src/main/resources/banner.txt +0 -3
  88. package/aaaa/api/aaaa-presentation/src/main/resources/logback-spring-ci.xml +0 -15
  89. package/aaaa/api/aaaa-presentation/src/main/resources/logback-spring.xml +0 -15
  90. package/aaaa/api/aaaa-presentation/src/main/resources-filtered/application-ci.yml +0 -59
  91. package/aaaa/api/aaaa-presentation/src/main/resources-filtered/application-prod.yml +0 -59
  92. package/aaaa/api/aaaa-presentation/src/main/resources-filtered/application.yml +0 -134
  93. package/aaaa/api/aaaa-presentation/src/test/java/fr/cerema/dsi/aaaa/service/IntegrationTest.java +0 -18
  94. package/aaaa/api/aaaa-presentation/src/test/java/fr/cerema/dsi/aaaa/service/UserServiceImplIT.java +0 -43
  95. package/aaaa/api/aaaa-presentation/src/test/resources/application.yml +0 -41
  96. package/aaaa/api/aaaa-presentation/src/test/resources/db.migration/Readme.md +0 -6
  97. package/aaaa/api/aaaa-presentation/target/classes/META-INF/spring.factories +0 -2
  98. package/aaaa/api/aaaa-presentation/target/classes/application-ci.yml +0 -59
  99. package/aaaa/api/aaaa-presentation/target/classes/application-prod.yml +0 -59
  100. package/aaaa/api/aaaa-presentation/target/classes/application.yml +0 -134
  101. package/aaaa/api/aaaa-presentation/target/classes/banner.txt +0 -3
  102. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/aaaa/App.class +0 -0
  103. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/aaaa/config/AspectJConfiguration.class +0 -0
  104. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/aaaa/config/AuthenticationTokenFilter.class +0 -0
  105. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/aaaa/config/SecurityConfiguration.class +0 -0
  106. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/aaaa/config/StaticResourcesWebConfiguration.class +0 -0
  107. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/aaaa/config/WebConfiguration.class +0 -0
  108. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/aaaa/controllers/AccountController.class +0 -0
  109. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/aaaa/controllers/ApiOpenController.class +0 -0
  110. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/aaaa/controllers/UserController.class +0 -0
  111. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/aaaa/dto/GenericDTO.class +0 -0
  112. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/aaaa/dto/ProfilDTO.class +0 -0
  113. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/aaaa/dto/UserDTO.class +0 -0
  114. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/aaaa/dto/UserWithCurrentAuthorityDTO.class +0 -0
  115. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/aaaa/mapper/UserMapper.class +0 -0
  116. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/aaaa/mapper/UserMapperImpl.class +0 -0
  117. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/commons/beans/errors/ApiSubError.class +0 -0
  118. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/commons/beans/errors/ApiValidationSubError.class +0 -0
  119. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/commons/beans/errors/JsonApiError$ApiError.class +0 -0
  120. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/commons/beans/errors/JsonApiError.class +0 -0
  121. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/commons/controllers/AbstractErrorHandler.class +0 -0
  122. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/commons/controllers/ClientForwardController.class +0 -0
  123. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/commons/controllers/CustomErrorController.class +0 -0
  124. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/commons/controllers/RestResponseEntityExceptionHandler.class +0 -0
  125. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/commons/security/auth/jwt/exceptions/InvalidTokenException.class +0 -0
  126. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/commons/security/filters/AppCorsFilter.class +0 -0
  127. package/aaaa/api/aaaa-presentation/target/classes/logback-spring-ci.xml +0 -15
  128. package/aaaa/api/aaaa-presentation/target/classes/logback-spring.xml +0 -15
  129. package/aaaa/api/aaaa-presentation/target/generated-sources/annotations/fr/cerema/dsi/aaaa/mapper/UserMapperImpl.java +0 -136
  130. package/aaaa/api/aaaa-presentation/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +0 -25
  131. package/aaaa/api/aaaa-presentation/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +0 -23
  132. package/aaaa/api/aaaa-transverse/pom.xml +0 -25
  133. package/aaaa/api/aaaa-transverse/src/main/java/fr/cerema/dsi/aaaa/entities/Profil.java +0 -53
  134. package/aaaa/api/aaaa-transverse/src/main/java/fr/cerema/dsi/aaaa/entities/User.java +0 -79
  135. package/aaaa/api/aaaa-transverse/src/main/java/fr/cerema/dsi/aaaa/enums/Role.java +0 -9
  136. package/aaaa/api/aaaa-transverse/src/main/java/fr/cerema/dsi/aaaa/exceptions/JwtConfMalformedException.java +0 -9
  137. package/aaaa/api/aaaa-transverse/src/main/java/fr/cerema/dsi/aaaa/exceptions/security/AuthenticationServiceException.java +0 -30
  138. package/aaaa/api/aaaa-transverse/src/main/java/fr/cerema/dsi/aaaa/exceptions/security/NoRoleForUserServiceException.java +0 -29
  139. package/aaaa/api/aaaa-transverse/src/main/java/fr/cerema/dsi/aaaa/exceptions/security/UserNotFoundServiceException.java +0 -29
  140. package/aaaa/api/aaaa-transverse/src/main/java/fr/cerema/dsi/commons/entities/GenericEntity.java +0 -43
  141. package/aaaa/api/aaaa-transverse/src/main/java/fr/cerema/dsi/commons/exceptions/BadRequestException.java +0 -43
  142. package/aaaa/api/aaaa-transverse/src/main/java/fr/cerema/dsi/commons/exceptions/EntityNotFoundException.java +0 -9
  143. package/aaaa/api/aaaa-transverse/src/main/java/fr/cerema/dsi/commons/exceptions/GenericRepositoryException.java +0 -29
  144. package/aaaa/api/aaaa-transverse/src/main/java/fr/cerema/dsi/commons/exceptions/GenericServiceException.java +0 -29
  145. package/aaaa/api/aaaa-transverse/src/main/java/fr/cerema/dsi/commons/exceptions/UserNotFoundException.java +0 -11
  146. package/aaaa/api/aaaa-transverse/src/main/java/fr/cerema/dsi/commons/exceptions/UtilsException.java +0 -13
  147. package/aaaa/api/pom.xml +0 -156
  148. package/aaaa/client/app/components/.gitkeep +0 -0
  149. package/aaaa/client/app/interfaces/.gitkeep +0 -0
  150. package/aaaa/client/app/interfaces/dbschema.ts +0 -171
  151. package/aaaa/client/app/menu.json +0 -41
  152. package/aaaa/client/app/pages/pages-routing.module.ts +0 -19
  153. package/aaaa/client/app/pages/profils/profils.component.html +0 -4
  154. package/aaaa/client/app/pages/profils/profils.component.scss +0 -0
  155. package/aaaa/client/app/pages/profils/profils.component.ts +0 -21
  156. package/aaaa/client/app/pages/root/root.component.html +0 -2
  157. package/aaaa/client/app/pages/root/root.component.scss +0 -24
  158. package/aaaa/client/app/pages/root/root.component.ts +0 -29
  159. package/aaaa/client/app/services/demo.service.ts +0 -21
  160. package/aaaa/client/app/services/profils.service.ts +0 -25
  161. package/aaaa/client/app/services/test.service.ts +0 -20
  162. package/aaaa/client/app-routing.module.ts +0 -50
  163. package/aaaa/client/app.component.css +0 -46
  164. package/aaaa/client/app.component.html +0 -1
  165. package/aaaa/client/app.component.ts +0 -62
  166. package/aaaa/client/app.module.ts +0 -99
  167. package/aaaa/client/assets/favicon.ico +0 -0
  168. package/aaaa/client/assets/i18n/fr.json +0 -33
  169. package/aaaa/client/assets/images/dollar.svg +0 -1
  170. package/aaaa/client/assets/images/logo.png +0 -0
  171. package/aaaa/client/assets/images/logo_title.png +0 -0
  172. package/aaaa/client/assets/images/work-in-progress.svg +0 -64
  173. package/aaaa/client/assets/layout/fonts/lato-v17-latin-ext_latin-300.woff +0 -0
  174. package/aaaa/client/assets/layout/fonts/lato-v17-latin-ext_latin-300.woff2 +0 -0
  175. package/aaaa/client/assets/layout/fonts/lato-v17-latin-ext_latin-700.woff +0 -0
  176. package/aaaa/client/assets/layout/fonts/lato-v17-latin-ext_latin-700.woff2 +0 -0
  177. package/aaaa/client/assets/layout/fonts/lato-v17-latin-ext_latin-regular.woff +0 -0
  178. package/aaaa/client/assets/layout/fonts/lato-v17-latin-ext_latin-regular.woff2 +0 -0
  179. package/aaaa/client/assets/layout/images/LogoCerema.svg +0 -226
  180. package/aaaa/client/assets/layout/images/LogoCerema_horizontal.svg +0 -167
  181. package/aaaa/client/assets/layout/images/SpinnerCerema.svg +0 -6
  182. package/aaaa/client/assets/layout/images/authentication.svg +0 -1
  183. package/aaaa/client/assets/layout/images/mail.svg +0 -1
  184. package/aaaa/client/assets/layout/images/postgresql.svg +0 -1
  185. package/aaaa/client/assets/layout/images/user.png +0 -0
  186. package/aaaa/client/assets/layout/styles/layout/_breadcrumb.scss +0 -18
  187. package/aaaa/client/assets/layout/styles/layout/_config.scss +0 -33
  188. package/aaaa/client/assets/layout/styles/layout/_content.scss +0 -20
  189. package/aaaa/client/assets/layout/styles/layout/_fonts.scss +0 -29
  190. package/aaaa/client/assets/layout/styles/layout/_footer.scss +0 -25
  191. package/aaaa/client/assets/layout/styles/layout/_main.scss +0 -29
  192. package/aaaa/client/assets/layout/styles/layout/_responsive.scss +0 -159
  193. package/aaaa/client/assets/layout/styles/layout/_sidebar.scss +0 -2
  194. package/aaaa/client/assets/layout/styles/layout/_topbar.scss +0 -250
  195. package/aaaa/client/assets/layout/styles/layout/_typography.scss +0 -63
  196. package/aaaa/client/assets/layout/styles/layout/_utils.scss +0 -19
  197. package/aaaa/client/assets/layout/styles/layout/layout.scss +0 -15
  198. package/aaaa/client/assets/layout/styles/layout/preloading.css +0 -73
  199. package/aaaa/client/assets/layout/styles/layout/preloading.scss +0 -79
  200. package/aaaa/client/assets/layout/styles/layout/sidebar/_sidebar_slim.scss +0 -131
  201. package/aaaa/client/assets/layout/styles/layout/sidebar/_sidebar_vertical.scss +0 -132
  202. package/aaaa/client/assets/layout/styles/layout/theme/_dark.scss +0 -10
  203. package/aaaa/client/assets/layout/styles/layout/theme/_light.scss +0 -10
  204. package/aaaa/client/assets/layout/styles/layout/theme/_primary.scss +0 -10
  205. package/aaaa/client/assets/layout/styles/layout/theme/_themes.scss +0 -3
  206. package/aaaa/client/assets/layout/styles/theme/designer/_colors.scss +0 -17
  207. package/aaaa/client/assets/layout/styles/theme/designer/_common.scss +0 -68
  208. package/aaaa/client/assets/layout/styles/theme/designer/_components.scss +0 -102
  209. package/aaaa/client/assets/layout/styles/theme/designer/_mixins.scss +0 -203
  210. package/aaaa/client/assets/layout/styles/theme/designer/components/button/_button.scss +0 -560
  211. package/aaaa/client/assets/layout/styles/theme/designer/components/button/_speeddial.scss +0 -81
  212. package/aaaa/client/assets/layout/styles/theme/designer/components/button/_splitbutton.scss +0 -381
  213. package/aaaa/client/assets/layout/styles/theme/designer/components/data/_carousel.scss +0 -37
  214. package/aaaa/client/assets/layout/styles/theme/designer/components/data/_datatable.scss +0 -278
  215. package/aaaa/client/assets/layout/styles/theme/designer/components/data/_dataview.scss +0 -55
  216. package/aaaa/client/assets/layout/styles/theme/designer/components/data/_filter.scss +0 -138
  217. package/aaaa/client/assets/layout/styles/theme/designer/components/data/_fullcalendar.scss +0 -329
  218. package/aaaa/client/assets/layout/styles/theme/designer/components/data/_orderlist.scss +0 -103
  219. package/aaaa/client/assets/layout/styles/theme/designer/components/data/_organizationchart.scss +0 -50
  220. package/aaaa/client/assets/layout/styles/theme/designer/components/data/_paginator.scss +0 -92
  221. package/aaaa/client/assets/layout/styles/theme/designer/components/data/_picklist.scss +0 -103
  222. package/aaaa/client/assets/layout/styles/theme/designer/components/data/_timeline.scss +0 -38
  223. package/aaaa/client/assets/layout/styles/theme/designer/components/data/_tree.scss +0 -144
  224. package/aaaa/client/assets/layout/styles/theme/designer/components/data/_treetable.scss +0 -246
  225. package/aaaa/client/assets/layout/styles/theme/designer/components/data/_virtualscroller.scss +0 -28
  226. package/aaaa/client/assets/layout/styles/theme/designer/components/file/_fileupload.scss +0 -58
  227. package/aaaa/client/assets/layout/styles/theme/designer/components/menu/_breadcrumb.scss +0 -42
  228. package/aaaa/client/assets/layout/styles/theme/designer/components/menu/_contextmenu.scss +0 -56
  229. package/aaaa/client/assets/layout/styles/theme/designer/components/menu/_dock.scss +0 -86
  230. package/aaaa/client/assets/layout/styles/theme/designer/components/menu/_megamenu.scss +0 -106
  231. package/aaaa/client/assets/layout/styles/theme/designer/components/menu/_menu.scss +0 -45
  232. package/aaaa/client/assets/layout/styles/theme/designer/components/menu/_menubar.scss +0 -183
  233. package/aaaa/client/assets/layout/styles/theme/designer/components/menu/_panelmenu.scss +0 -140
  234. package/aaaa/client/assets/layout/styles/theme/designer/components/menu/_slidemenu.scss +0 -59
  235. package/aaaa/client/assets/layout/styles/theme/designer/components/menu/_steps.scss +0 -56
  236. package/aaaa/client/assets/layout/styles/theme/designer/components/menu/_tabmenu.scss +0 -69
  237. package/aaaa/client/assets/layout/styles/theme/designer/components/menu/_tieredmenu.scss +0 -60
  238. package/aaaa/client/assets/layout/styles/theme/designer/components/messages/_inlinemessage.scss +0 -64
  239. package/aaaa/client/assets/layout/styles/theme/designer/components/messages/_message.scss +0 -102
  240. package/aaaa/client/assets/layout/styles/theme/designer/components/messages/_toast.scss +0 -95
  241. package/aaaa/client/assets/layout/styles/theme/designer/components/misc/_avatar.scss +0 -30
  242. package/aaaa/client/assets/layout/styles/theme/designer/components/misc/_badge.scss +0 -48
  243. package/aaaa/client/assets/layout/styles/theme/designer/components/misc/_blockui.scss +0 -0
  244. package/aaaa/client/assets/layout/styles/theme/designer/components/misc/_chip.scss +0 -38
  245. package/aaaa/client/assets/layout/styles/theme/designer/components/misc/_inplace.scss +0 -17
  246. package/aaaa/client/assets/layout/styles/theme/designer/components/misc/_progressbar.scss +0 -17
  247. package/aaaa/client/assets/layout/styles/theme/designer/components/misc/_scrolltop.scss +0 -20
  248. package/aaaa/client/assets/layout/styles/theme/designer/components/misc/_skeleton.scss +0 -8
  249. package/aaaa/client/assets/layout/styles/theme/designer/components/misc/_tag.scss +0 -35
  250. package/aaaa/client/assets/layout/styles/theme/designer/components/misc/_terminal.scss +0 -11
  251. package/aaaa/client/assets/layout/styles/theme/designer/components/multimedia/_galleria.scss +0 -139
  252. package/aaaa/client/assets/layout/styles/theme/designer/components/multimedia/_image.scss +0 -44
  253. package/aaaa/client/assets/layout/styles/theme/designer/components/overlay/_confirmpopup.scss +0 -65
  254. package/aaaa/client/assets/layout/styles/theme/designer/components/overlay/_dialog.scss +0 -64
  255. package/aaaa/client/assets/layout/styles/theme/designer/components/overlay/_overlaypanel.scss +0 -62
  256. package/aaaa/client/assets/layout/styles/theme/designer/components/overlay/_sidebar.scss +0 -23
  257. package/aaaa/client/assets/layout/styles/theme/designer/components/overlay/_tooltip.scss +0 -33
  258. package/aaaa/client/assets/layout/styles/theme/designer/components/panel/_accordion.scss +0 -119
  259. package/aaaa/client/assets/layout/styles/theme/designer/components/panel/_card.scss +0 -30
  260. package/aaaa/client/assets/layout/styles/theme/designer/components/panel/_divider.scss +0 -31
  261. package/aaaa/client/assets/layout/styles/theme/designer/components/panel/_fieldset.scss +0 -47
  262. package/aaaa/client/assets/layout/styles/theme/designer/components/panel/_panel.scss +0 -58
  263. package/aaaa/client/assets/layout/styles/theme/designer/components/panel/_scrollpanel.scss +0 -6
  264. package/aaaa/client/assets/layout/styles/theme/designer/components/panel/_splitter.scss +0 -19
  265. package/aaaa/client/assets/layout/styles/theme/designer/components/panel/_tabview.scss +0 -78
  266. package/aaaa/client/assets/layout/styles/theme/designer/components/panel/_toolbar.scss +0 -10
  267. package/aaaa/client/assets/layout/styles/theme/theme-dark/_extensions.scss +0 -90
  268. package/aaaa/client/assets/layout/styles/theme/theme-dark/_variables.scss +0 -867
  269. package/aaaa/client/assets/layout/styles/theme/theme-dark/blue/theme.css +0 -7341
  270. package/aaaa/client/assets/layout/styles/theme/theme-dark/blue/theme.scss +0 -12
  271. package/aaaa/client/assets/layout/styles/theme/theme-dark/cyan/theme.css +0 -7341
  272. package/aaaa/client/assets/layout/styles/theme/theme-dark/cyan/theme.scss +0 -12
  273. package/aaaa/client/assets/layout/styles/theme/theme-dark/deeppurple/theme.css +0 -7341
  274. package/aaaa/client/assets/layout/styles/theme/theme-dark/deeppurple/theme.scss +0 -12
  275. package/aaaa/client/assets/layout/styles/theme/theme-dark/green/theme.css +0 -7341
  276. package/aaaa/client/assets/layout/styles/theme/theme-dark/green/theme.scss +0 -12
  277. package/aaaa/client/assets/layout/styles/theme/theme-dark/indigo/theme.css +0 -7341
  278. package/aaaa/client/assets/layout/styles/theme/theme-dark/indigo/theme.scss +0 -12
  279. package/aaaa/client/assets/layout/styles/theme/theme-dark/lime/theme.css +0 -7341
  280. package/aaaa/client/assets/layout/styles/theme/theme-dark/lime/theme.scss +0 -12
  281. package/aaaa/client/assets/layout/styles/theme/theme-dark/orange/theme.css +0 -7341
  282. package/aaaa/client/assets/layout/styles/theme/theme-dark/orange/theme.scss +0 -12
  283. package/aaaa/client/assets/layout/styles/theme/theme-dark/pink/theme.css +0 -7341
  284. package/aaaa/client/assets/layout/styles/theme/theme-dark/pink/theme.scss +0 -12
  285. package/aaaa/client/assets/layout/styles/theme/theme-dark/purple/theme.css +0 -7341
  286. package/aaaa/client/assets/layout/styles/theme/theme-dark/purple/theme.scss +0 -12
  287. package/aaaa/client/assets/layout/styles/theme/theme-dark/yellow/theme.css +0 -7341
  288. package/aaaa/client/assets/layout/styles/theme/theme-dark/yellow/theme.scss +0 -12
  289. package/aaaa/client/assets/layout/styles/theme/theme-light/_extensions.scss +0 -90
  290. package/aaaa/client/assets/layout/styles/theme/theme-light/_variables.scss +0 -870
  291. package/aaaa/client/assets/layout/styles/theme/theme-light/blue/theme.css +0 -7540
  292. package/aaaa/client/assets/layout/styles/theme/theme-light/blue/theme.scss +0 -12
  293. package/aaaa/client/assets/layout/styles/theme/theme-light/cyan/theme.css +0 -7341
  294. package/aaaa/client/assets/layout/styles/theme/theme-light/cyan/theme.scss +0 -12
  295. package/aaaa/client/assets/layout/styles/theme/theme-light/deeppurple/theme.css +0 -7341
  296. package/aaaa/client/assets/layout/styles/theme/theme-light/deeppurple/theme.scss +0 -12
  297. package/aaaa/client/assets/layout/styles/theme/theme-light/green/theme.css +0 -7341
  298. package/aaaa/client/assets/layout/styles/theme/theme-light/green/theme.scss +0 -12
  299. package/aaaa/client/assets/layout/styles/theme/theme-light/indigo/theme.css +0 -7341
  300. package/aaaa/client/assets/layout/styles/theme/theme-light/indigo/theme.scss +0 -12
  301. package/aaaa/client/assets/layout/styles/theme/theme-light/lime/theme.css +0 -7341
  302. package/aaaa/client/assets/layout/styles/theme/theme-light/lime/theme.scss +0 -12
  303. package/aaaa/client/assets/layout/styles/theme/theme-light/orange/theme.css +0 -7341
  304. package/aaaa/client/assets/layout/styles/theme/theme-light/orange/theme.scss +0 -12
  305. package/aaaa/client/assets/layout/styles/theme/theme-light/pink/theme.css +0 -7341
  306. package/aaaa/client/assets/layout/styles/theme/theme-light/pink/theme.scss +0 -12
  307. package/aaaa/client/assets/layout/styles/theme/theme-light/purple/theme.css +0 -7341
  308. package/aaaa/client/assets/layout/styles/theme/theme-light/purple/theme.scss +0 -12
  309. package/aaaa/client/assets/layout/styles/theme/theme-light/yellow/theme.css +0 -7341
  310. package/aaaa/client/assets/layout/styles/theme/theme-light/yellow/theme.scss +0 -12
  311. package/aaaa/client/environments/environment.ts +0 -9
  312. package/aaaa/client/index.dev.html +0 -33
  313. package/aaaa/client/index.prod.html +0 -33
  314. package/aaaa/client/layout/api/menuchangeevent.ts +0 -4
  315. package/aaaa/client/layout/api/tabcloseevent.ts +0 -6
  316. package/aaaa/client/layout/app.breadcrumb.component.html +0 -14
  317. package/aaaa/client/layout/app.breadcrumb.component.ts +0 -48
  318. package/aaaa/client/layout/app.footer.component.html +0 -20
  319. package/aaaa/client/layout/app.footer.component.ts +0 -23
  320. package/aaaa/client/layout/app.menu.component.html +0 -3
  321. package/aaaa/client/layout/app.menu.service.ts +0 -23
  322. package/aaaa/client/layout/app.menuitem.component.ts +0 -310
  323. package/aaaa/client/layout/app.sidebar.component.html +0 -5
  324. package/aaaa/client/layout/app.sidebar.component.ts +0 -13
  325. package/aaaa/client/layout/app.topbar.component.html +0 -72
  326. package/aaaa/client/layout/app.topbar.component.ts +0 -67
  327. package/aaaa/client/layout/common/err-403/err-403.component.html +0 -24
  328. package/aaaa/client/layout/common/err-403/err-403.component.scss +0 -340
  329. package/aaaa/client/layout/common/err-403/err-403.ts +0 -19
  330. package/aaaa/client/layout/common/work-in-progress/work-in-progress.component.html +0 -1
  331. package/aaaa/client/layout/common/work-in-progress/work-in-progress.component.scss +0 -8
  332. package/aaaa/client/layout/common/work-in-progress/work-in-progress.component.ts +0 -14
  333. package/aaaa/client/layout/config/app.config.component.html +0 -86
  334. package/aaaa/client/layout/config/app.config.component.scss +0 -0
  335. package/aaaa/client/layout/config/app.config.component.ts +0 -241
  336. package/aaaa/client/layout/config/config.module.ts +0 -27
  337. package/aaaa/client/layout/main/main.component.html +0 -15
  338. package/aaaa/client/layout/main/main.component.spec.ts +0 -34
  339. package/aaaa/client/layout/main/main.component.ts +0 -186
  340. package/aaaa/client/layout/main.module.ts +0 -45
  341. package/aaaa/client/layout/service/app.layout.service.ts +0 -124
  342. package/aaaa/client/layout/shared/components/app.menu.component.ts +0 -69
  343. package/aaaa/client/layout/shared/components/auth/accessdenied/accessdenied-routing.module.ts +0 -12
  344. package/aaaa/client/layout/shared/components/auth/accessdenied/accessdenied.component.html +0 -11
  345. package/aaaa/client/layout/shared/components/auth/accessdenied/accessdenied.component.ts +0 -7
  346. package/aaaa/client/layout/shared/components/auth/accessdenied/accessdenied.module.ts +0 -17
  347. package/aaaa/client/layout/shared/components/auth/auth-routing.module.ts +0 -14
  348. package/aaaa/client/layout/shared/components/auth/auth.module.ts +0 -13
  349. package/aaaa/client/layout/shared/components/auth/error/error-routing.module.ts +0 -12
  350. package/aaaa/client/layout/shared/components/auth/error/error.component.html +0 -10
  351. package/aaaa/client/layout/shared/components/auth/error/error.component.ts +0 -7
  352. package/aaaa/client/layout/shared/components/auth/error/error.module.ts +0 -12
  353. package/aaaa/client/layout/shared/components/auth/login/login-routing.module.ts +0 -12
  354. package/aaaa/client/layout/shared/components/auth/login/login.component.html +0 -15
  355. package/aaaa/client/layout/shared/components/auth/login/login.component.ts +0 -47
  356. package/aaaa/client/layout/shared/components/auth/login/login.module.ts +0 -21
  357. package/aaaa/client/layout/shared/components/auth/logout/logout/logout.component.html +0 -8
  358. package/aaaa/client/layout/shared/components/auth/logout/logout/logout.component.scss +0 -21
  359. package/aaaa/client/layout/shared/components/auth/logout/logout/logout.component.ts +0 -15
  360. package/aaaa/client/layout/shared/components/auth/logout/logout.module.ts +0 -26
  361. package/aaaa/client/layout/shared/components/code/code.component.ts +0 -17
  362. package/aaaa/client/layout/shared/components/indic/indic.component.html +0 -8
  363. package/aaaa/client/layout/shared/components/indic/indic.component.scss +0 -0
  364. package/aaaa/client/layout/shared/components/indic/indic.component.ts +0 -60
  365. package/aaaa/client/layout/shared/components/lookup-input/lookup-input.component.html +0 -70
  366. package/aaaa/client/layout/shared/components/lookup-input/lookup-input.component.scss +0 -0
  367. package/aaaa/client/layout/shared/components/lookup-input/lookup-input.component.ts +0 -121
  368. package/aaaa/client/layout/shared/components/notfound/notfound-routing.module.ts +0 -12
  369. package/aaaa/client/layout/shared/components/notfound/notfound.component.html +0 -42
  370. package/aaaa/client/layout/shared/components/notfound/notfound.component.ts +0 -7
  371. package/aaaa/client/layout/shared/components/notfound/notfound.module.ts +0 -12
  372. package/aaaa/client/layout/shared/constants/dateFormat.constants.ts +0 -1
  373. package/aaaa/client/layout/shared/constants/mocks/user-mocks.constants.ts +0 -36
  374. package/aaaa/client/layout/shared/constants/pagination.constants.ts +0 -1
  375. package/aaaa/client/layout/shared/core/config/application-config.service.ts +0 -34
  376. package/aaaa/client/layout/shared/core/config/db-config.service.ts +0 -20
  377. package/aaaa/client/layout/shared/core/guard/can-modify.guard.ts +0 -51
  378. package/aaaa/client/layout/shared/core/guard/login.guard.ts +0 -24
  379. package/aaaa/client/layout/shared/core/guard/ui.guard.ts +0 -94
  380. package/aaaa/client/layout/shared/core/interceptor/handle-req.interceptor.ts +0 -31
  381. package/aaaa/client/layout/shared/core/interceptor/index.ts +0 -10
  382. package/aaaa/client/layout/shared/core/request/pageable.model.ts +0 -5
  383. package/aaaa/client/layout/shared/core/request/request-util.ts +0 -21
  384. package/aaaa/client/layout/shared/core/resolver/accueil.resolver.ts +0 -19
  385. package/aaaa/client/layout/shared/core/storage/MyLocalStorageService.ts +0 -22
  386. package/aaaa/client/layout/shared/core/storage/MyStorageService.ts +0 -17
  387. package/aaaa/client/layout/shared/dev/dev-dashboard/dev-dashboard.component.html +0 -26
  388. package/aaaa/client/layout/shared/dev/dev-dashboard/dev-dashboard.component.scss +0 -68
  389. package/aaaa/client/layout/shared/dev/dev-dashboard/dev-dashboard.component.ts +0 -24
  390. package/aaaa/client/layout/shared/dev/dev-routing.module.ts +0 -19
  391. package/aaaa/client/layout/shared/dev/dev.module.ts +0 -76
  392. package/aaaa/client/layout/shared/entities/claims.model.ts +0 -9
  393. package/aaaa/client/layout/shared/entities/user.model.ts +0 -9
  394. package/aaaa/client/layout/shared/i18n/fr.json +0 -74
  395. package/aaaa/client/layout/shared/service/dev.service.ts +0 -21
  396. package/aaaa/client/layout/shared/service/policy.service.ts +0 -22
  397. package/aaaa/client/layout/shared/service/user.service.ts +0 -71
  398. package/aaaa/client/layout/shared/shared.module.ts +0 -11
  399. package/aaaa/client/layout/shared/utils/globals.ts +0 -85
  400. package/aaaa/client/layout/shared/utils/misc.ts +0 -31
  401. package/aaaa/client/main-routing.module.ts +0 -47
  402. package/aaaa/client/main.ts +0 -13
  403. package/aaaa/client/pages.module.ts +0 -76
  404. package/aaaa/client/polyfills.ts +0 -64
  405. package/aaaa/client/styles.scss +0 -45
  406. package/aaaa/client/themes.scss +0 -84
  407. package/aaaa/cypress/fixtures/example.json +0 -5
  408. package/aaaa/cypress/support/commands.ts +0 -37
  409. package/aaaa/cypress/support/component-index.html +0 -12
  410. package/aaaa/cypress/support/component.ts +0 -39
  411. package/aaaa/cypress.config.ts +0 -11
  412. package/aaaa/logo.png +0 -0
  413. package/aaaa/package.json +0 -84
  414. package/aaaa/policies/ui.policy.json +0 -4
  415. package/aaaa/pom.xml +0 -59
  416. package/aaaa/run.sh +0 -7
  417. package/aaaa/tsconfig.app.json +0 -9
  418. package/aaaa/tsconfig.json +0 -39
  419. package/aaaa/tsconfig.spec.json +0 -9
  420. package/aaaa/yarn.lock +0 -8987
@@ -1,134 +0,0 @@
1
- package fr.cerema.dsi.aaaa.config;
2
-
3
- import fr.cerema.dsi.commons.security.auth.jwt.exceptions.InvalidTokenException;
4
- import fr.cerema.dsi.aaaa.services.CustomUserDetailsService;
5
- import io.jsonwebtoken.Claims;
6
- import io.jsonwebtoken.Header;
7
- import io.jsonwebtoken.Jwt;
8
- import io.jsonwebtoken.Jwts;
9
- import jakarta.servlet.FilterChain;
10
- import jakarta.servlet.ServletException;
11
- import jakarta.servlet.http.HttpServletRequest;
12
- import jakarta.servlet.http.HttpServletResponse;
13
- import org.apache.commons.lang3.StringUtils;
14
- import org.slf4j.Logger;
15
- import org.slf4j.LoggerFactory;
16
- import org.springframework.beans.factory.annotation.Autowired;
17
- import org.springframework.beans.factory.annotation.Value;
18
- import org.springframework.lang.NonNull;
19
- import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
20
- import org.springframework.security.core.context.SecurityContextHolder;
21
- import org.springframework.security.core.userdetails.UserDetails;
22
- import org.springframework.security.web.authentication.WebAuthenticationDetailsSource;
23
- import org.springframework.stereotype.Component;
24
- import org.springframework.web.filter.OncePerRequestFilter;
25
- import org.springframework.core.env.Environment;
26
-
27
- import java.io.IOException;
28
-
29
- @Component
30
- public class AuthenticationTokenFilter extends OncePerRequestFilter {
31
- @Autowired
32
- private Environment env;
33
-
34
- // Nommé différemment de "logger" car celui-ci existe déjà dans le GenericBeanFilter (JCL)
35
- private static final Logger slfLogger = LoggerFactory.getLogger(AuthenticationTokenFilter.class);
36
-
37
- private static final String JWT_EMAIL = "email";
38
- private static final String JWT_ORIONID = "sub";
39
- private static final String JWT_BEARER = "Bearer";
40
- public static final String AUTHORIZATION_HEADER = "Authorization";
41
-
42
- private static final String JWT_TYPE = "typ";
43
-
44
- @Value("${info.app.issuer}")
45
- private String urlSSO;
46
-
47
- @Value("${info.app.audience}")
48
- private String tokenAudience;
49
-
50
-
51
- private final CustomUserDetailsService userDetailsService;
52
-
53
- public AuthenticationTokenFilter(CustomUserDetailsService userDetailsService) {
54
- this.userDetailsService = userDetailsService;
55
- }
56
-
57
-
58
- @Override
59
- protected void doFilterInternal(HttpServletRequest request, @NonNull HttpServletResponse response,
60
- @NonNull FilterChain filterChain) throws ServletException, IOException {
61
- final String requestTokenHeader = request.getHeader(AUTHORIZATION_HEADER);
62
- if (requestTokenHeader != null && !StringUtils.isEmpty(requestTokenHeader)) {
63
- String jwtToken = this.resolveToken(requestTokenHeader);
64
- if (jwtToken != null) {
65
- String[] splitToken = jwtToken.split("\\.");
66
- String unsignedToken = splitToken[0] + "." + splitToken[1] + ".";
67
- Jwt<Header, Claims> jwsClaims = Jwts.parserBuilder().build().parseClaimsJwt(unsignedToken);
68
- String username = (String) jwsClaims.getBody().get(JWT_EMAIL);
69
- String orionId = (String) jwsClaims.getBody().get(JWT_ORIONID);
70
-
71
- if (orionId != null && username != null) {
72
- UserDetails userDetails = this.userDetailsService.loadAndMajInfoUser(orionId, username);
73
- this.isValidToken(jwsClaims);
74
- UsernamePasswordAuthenticationToken usernamePasswordAuthenticationToken =
75
- new UsernamePasswordAuthenticationToken(
76
- userDetails, null, userDetails.getAuthorities());
77
- usernamePasswordAuthenticationToken
78
- .setDetails(new WebAuthenticationDetailsSource().buildDetails(request));
79
- SecurityContextHolder.getContext()
80
- .setAuthentication(usernamePasswordAuthenticationToken);
81
- }
82
- }
83
- }
84
-
85
- filterChain.doFilter(request, response);
86
- }
87
-
88
- private String resolveToken(String requestTokenHeader) {
89
- if (requestTokenHeader.startsWith(JWT_BEARER)) {
90
- return requestTokenHeader.substring(7);
91
- }
92
- return null;
93
- }
94
-
95
-
96
- private void isValidToken(Jwt<Header, Claims> jwtToken) {
97
- /*String devMode = env.getProperty("CADRICIEL_DEV");
98
- this.checkType(jwtToken.getBody());
99
- if (devMode == null || !devMode.equalsIgnoreCase("true")) {
100
- this.checkIssuer(jwtToken.getBody());
101
- this.checkAudience(jwtToken.getBody());
102
- }*/
103
- }
104
-
105
- private void checkType(Claims jwsClaims) {
106
- String type = jwsClaims.get(JWT_TYPE, String.class);
107
-
108
- if (!StringUtils.equalsIgnoreCase(type, JWT_BEARER)) {
109
- slfLogger.warn("Type non conforme, type: {}, attendu: {}", type, JWT_BEARER);
110
- throw new InvalidTokenException("Le jeton d'authentification n'est pas du bon type.");
111
- }
112
- }
113
-
114
- private void checkIssuer(Claims jwsClaims) {
115
- String issuer = jwsClaims.getIssuer();
116
-
117
- if (!StringUtils.equalsIgnoreCase(issuer, urlSSO)) {
118
- slfLogger.warn("Issuer non conforme, issuer: {}, attendu: {}", issuer, urlSSO);
119
- throw new InvalidTokenException(
120
- "Le jeton d'authentification ne provient pas de la bonne source.");
121
- }
122
- }
123
-
124
- private void checkAudience(Claims jwsClaims) {
125
- String audience = jwsClaims.getAudience();
126
-
127
- if (!StringUtils.containsAnyIgnoreCase(audience, tokenAudience)) {
128
- slfLogger.warn(
129
- "Audience non conforme, attendue: {}, fournie: {}", tokenAudience, audience);
130
- throw new InvalidTokenException("Le jeton d'authentification ne nous est pas destiné.");
131
- }
132
- }
133
-
134
- }
@@ -1,71 +0,0 @@
1
- package fr.cerema.dsi.aaaa.config;
2
-
3
- import fr.cerema.dsi.commons.security.filters.AppCorsFilter;
4
- import fr.cerema.dsi.aaaa.services.CustomUserDetailsService;
5
- import org.springframework.beans.factory.annotation.Autowired;
6
- import org.springframework.context.annotation.Bean;
7
- import org.springframework.context.annotation.Configuration;
8
- import org.springframework.http.HttpMethod;
9
- import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
10
- import org.springframework.security.config.annotation.web.builders.HttpSecurity;
11
- import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
12
- import org.springframework.security.config.http.SessionCreationPolicy;
13
- import org.springframework.security.web.SecurityFilterChain;
14
- import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
15
- import org.springframework.web.cors.CorsConfiguration;
16
- import org.springframework.web.cors.CorsConfigurationSource;
17
- import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
18
-
19
- import java.util.Arrays;
20
- import java.util.List;
21
-
22
- @Configuration
23
- @EnableWebSecurity
24
- public class SecurityConfiguration {
25
-
26
- @Autowired
27
- private CustomUserDetailsService userDetailsService;
28
-
29
- @Autowired
30
- private AuthenticationTokenFilter authenticationTokenFilter;
31
-
32
-
33
- @Bean
34
- private static CorsConfigurationSource configurationSource() {
35
- CorsConfiguration config = new CorsConfiguration();
36
- config.setAllowedOriginPatterns(List.of("*"));
37
- config.setAllowCredentials(true);
38
- //config.addAllowedOriginPattern("*");
39
- config.setAllowedHeaders(List.of("*"));
40
- config.setMaxAge(36000L);
41
- config.setAllowedMethods(Arrays.asList("GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS"));
42
- UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
43
- source.registerCorsConfiguration("/**", config);
44
- return source;
45
- }
46
-
47
- @Bean
48
- public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
49
- http.cors().configurationSource(configurationSource())
50
- .and()
51
- .csrf().disable()
52
- .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)
53
- .and()
54
- .anonymous()
55
- .and()
56
- .authorizeHttpRequests()
57
- .requestMatchers("/api/**").authenticated()
58
- .requestMatchers("/**").permitAll()
59
- .and()
60
- .addFilterBefore(new AppCorsFilter(), UsernamePasswordAuthenticationFilter.class)
61
- .oauth2ResourceServer()
62
- .jwt();
63
-
64
- return http.build();
65
- }
66
-
67
- @Autowired
68
- public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
69
- auth.userDetailsService(userDetailsService);
70
- }
71
- }
@@ -1,41 +0,0 @@
1
- package fr.cerema.dsi.aaaa.config;
2
-
3
- import org.springframework.context.annotation.Configuration;
4
- import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistration;
5
- import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
6
- import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
7
-
8
- @Configuration
9
- public class StaticResourcesWebConfiguration implements WebMvcConfigurer {
10
-
11
- protected static final String[] RESOURCE_LOCATIONS = new String[]{
12
- "classpath:/static/",
13
- "classpath:/static/content/",
14
- "classpath:/static/i18n/",
15
- };
16
- protected static final String[] RESOURCE_PATHS = new String[]{
17
- "/*.js",
18
- "/*.css",
19
- "/*.svg",
20
- "/*.png",
21
- "*.ico",
22
- "/content/**",
23
- "/i18n/*",
24
- };
25
-
26
-
27
- @Override
28
- public void addResourceHandlers(ResourceHandlerRegistry registry) {
29
- ResourceHandlerRegistration resourceHandlerRegistration = appendResourceHandler(registry);
30
- initializeResourceHandler(resourceHandlerRegistration);
31
- }
32
-
33
- protected ResourceHandlerRegistration appendResourceHandler(ResourceHandlerRegistry registry) {
34
- return registry.addResourceHandler(RESOURCE_PATHS);
35
- }
36
-
37
- protected void initializeResourceHandler(
38
- ResourceHandlerRegistration resourceHandlerRegistration) {
39
- resourceHandlerRegistration.addResourceLocations(RESOURCE_LOCATIONS);
40
- }
41
- }
@@ -1,59 +0,0 @@
1
- package fr.cerema.dsi.aaaa.config;
2
-
3
- import io.swagger.v3.oas.models.OpenAPI;
4
- import io.swagger.v3.oas.models.info.Info;
5
- import io.swagger.v3.oas.models.info.License;
6
- import io.swagger.v3.oas.models.servers.Server;
7
- import org.apache.commons.lang3.StringUtils;
8
- import org.slf4j.Logger;
9
- import org.slf4j.LoggerFactory;
10
- import org.springframework.beans.factory.annotation.Value;
11
- import org.springframework.cache.annotation.EnableCaching;
12
- import org.springframework.context.annotation.Bean;
13
- import org.springframework.context.annotation.Configuration;
14
- import org.springframework.http.MediaType;
15
- import org.springframework.web.servlet.config.annotation.ContentNegotiationConfigurer;
16
- import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
17
-
18
- @Configuration
19
- @EnableCaching
20
- public class WebConfiguration implements WebMvcConfigurer {
21
-
22
- private static Logger logger = LoggerFactory.getLogger(WebConfiguration.class);
23
-
24
- @Value("${url.externe:}")
25
- private String urlExterne;
26
-
27
- @Value("${info.app.version:unknown}")
28
- private String version;
29
-
30
- @Override
31
- public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
32
-
33
- logger.info("Initialisation de la configuration de la négociation de contenu.");
34
-
35
- configurer.
36
- favorParameter(true).
37
- parameterName("mediaType").
38
- ignoreAcceptHeader(false).
39
- defaultContentType(MediaType.APPLICATION_JSON).
40
- mediaType("xml", MediaType.APPLICATION_XML).
41
- mediaType("json", MediaType.APPLICATION_JSON);
42
- }
43
-
44
- @Bean
45
- public OpenAPI infoOpenAPI() {
46
- OpenAPI openAPI = new OpenAPI()
47
- .info(new Info().title("aaaa")
48
- .description("<b>mon premier projet</b>.")
49
- .version(version)
50
- .license(new License().name("Cecill 2.0")
51
- .url("http://www.cecill.info/licences/Licence_CeCILL_V2-fr.html")));
52
-
53
- if (StringUtils.isNotBlank(urlExterne)) {
54
- openAPI.addServersItem(new Server().url(urlExterne));
55
- }
56
- return openAPI;
57
- }
58
-
59
- }
@@ -1,59 +0,0 @@
1
- package fr.cerema.dsi.aaaa.controllers;
2
-
3
- import fr.cerema.dsi.aaaa.dto.UserWithCurrentAuthorityDTO;
4
- import fr.cerema.dsi.aaaa.entities.User;
5
- import fr.cerema.dsi.aaaa.mapper.UserMapper;
6
- import fr.cerema.dsi.aaaa.services.UserService;
7
- import io.swagger.v3.oas.annotations.Operation;
8
- import io.swagger.v3.oas.annotations.media.Content;
9
- import io.swagger.v3.oas.annotations.media.Schema;
10
- import io.swagger.v3.oas.annotations.responses.ApiResponse;
11
- import io.swagger.v3.oas.annotations.responses.ApiResponses;
12
- import io.swagger.v3.oas.annotations.tags.Tag;
13
- import org.springframework.http.HttpStatus;
14
- import org.springframework.http.MediaType;
15
- import org.springframework.http.ResponseEntity;
16
- import org.springframework.web.bind.annotation.CrossOrigin;
17
- import org.springframework.web.bind.annotation.GetMapping;
18
- import org.springframework.web.bind.annotation.RequestMapping;
19
- import org.springframework.web.bind.annotation.RestController;
20
- import org.springframework.web.server.ResponseStatusException;
21
-
22
- import java.util.Optional;
23
-
24
- @Tag(name = "Account", description = "Permet d'interroger le niveau d'authorisation des utilisateurs")
25
- @RestController
26
- @RequestMapping("/api")
27
- @CrossOrigin
28
- public class AccountController {
29
-
30
- private final UserService userService;
31
-
32
- private final UserMapper userMapper;
33
-
34
- public AccountController(UserService userService, UserMapper userMapper) {
35
- this.userService = userService;
36
- this.userMapper = userMapper;
37
- }
38
-
39
-
40
- @Operation(summary = "Récupère l'utilisateur actuellement connecté")
41
- @ApiResponses(value = {
42
- @ApiResponse(responseCode = "200", description = "L'utilisateur connecté", content = {
43
- @Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
44
- schema = @Schema(implementation = UserWithCurrentAuthorityDTO.class)
45
- )
46
- }),
47
- @ApiResponse(responseCode = "404", description = "L'utilisateur n'existe pas dans l'application", content = @Content)
48
- })
49
- @GetMapping("/user")
50
- public ResponseEntity<UserWithCurrentAuthorityDTO> getCurrentUser() {
51
- Optional<User> userOptional = this.userService.getCurrentUser();
52
- if (userOptional.isPresent()) {
53
- return new ResponseEntity<>(userMapper.toDtoWithCurrentAuthority(userOptional.get()),
54
- HttpStatus.OK);
55
- }
56
- throw new ResponseStatusException(HttpStatus.NOT_FOUND,
57
- "L'utilisateur n'existe pas dans l'application");
58
- }
59
- }
@@ -1,63 +0,0 @@
1
- package fr.cerema.dsi.aaaa.controllers;
2
-
3
- import fr.cerema.dsi.aaaa.dto.UserDTO;
4
- import fr.cerema.dsi.aaaa.entities.User;
5
- import fr.cerema.dsi.aaaa.mapper.UserMapper;
6
- import fr.cerema.dsi.aaaa.services.UserService;
7
- import io.swagger.v3.oas.annotations.Operation;
8
- import io.swagger.v3.oas.annotations.media.ArraySchema;
9
- import io.swagger.v3.oas.annotations.media.Content;
10
- import io.swagger.v3.oas.annotations.media.Schema;
11
- import io.swagger.v3.oas.annotations.responses.ApiResponse;
12
- import io.swagger.v3.oas.annotations.tags.Tag;
13
- import org.slf4j.Logger;
14
- import org.slf4j.LoggerFactory;
15
- import org.springframework.beans.factory.annotation.Autowired;
16
- import org.springframework.http.HttpStatus;
17
- import org.springframework.http.MediaType;
18
- import org.springframework.http.ResponseEntity;
19
- import org.springframework.web.bind.annotation.CrossOrigin;
20
- import org.springframework.web.bind.annotation.GetMapping;
21
- import org.springframework.web.bind.annotation.RequestMapping;
22
- import org.springframework.web.bind.annotation.RestController;
23
-
24
- import java.util.List;
25
- import java.util.stream.Collectors;
26
-
27
- @Tag(name = "API open", description = "Permet d'interroger et de parcourir les API sans authentification")
28
- @RestController
29
- @RequestMapping("/api-open")
30
- @CrossOrigin
31
- public class ApiOpenController {
32
-
33
- private final Logger log = LoggerFactory.getLogger(ApiOpenController.class);
34
-
35
- private final UserService userService;
36
-
37
- private final UserMapper userMapper;
38
-
39
- @Autowired
40
- public ApiOpenController(UserService userService, UserMapper userMapper) {
41
- this.userService = userService;
42
- this.userMapper = userMapper;
43
- }
44
-
45
- @Operation(summary = "Récupère tous les administrateurs AAAA",
46
- description =
47
- "Permet d'obtenir la liste de tous les utilisateurs qui sont administrateurs AAAA")
48
- @ApiResponse(responseCode = "200", description = "Les administrateurs AAAA demandés", content = {
49
- @Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
50
- array = @ArraySchema(schema = @Schema(implementation = User.class))
51
- )}
52
- )
53
-
54
- @GetMapping("/users/admin-aaaa")
55
- public ResponseEntity<List<UserDTO>> getAllAdmin§§projectNS§§() {
56
- log.debug("Requête REST pour obtenir tous les administrateurs AAAA");
57
- List<UserDTO> userDTOList = this.userService.findAllAdmin§§projectNS§§()
58
- .stream()
59
- .map(this.userMapper::toDtoWithoutProfilSet)
60
- .collect(Collectors.toList());
61
- return new ResponseEntity<>(userDTOList, HttpStatus.OK);
62
- }
63
- }
@@ -1,63 +0,0 @@
1
- package fr.cerema.dsi.aaaa.controllers;
2
-
3
- import fr.cerema.dsi.aaaa.dto.UserDTO;
4
- import fr.cerema.dsi.aaaa.entities.User;
5
- import fr.cerema.dsi.aaaa.mapper.UserMapper;
6
- import fr.cerema.dsi.aaaa.services.UserService;
7
- import io.swagger.v3.oas.annotations.Operation;
8
- import io.swagger.v3.oas.annotations.media.ArraySchema;
9
- import io.swagger.v3.oas.annotations.media.Content;
10
- import io.swagger.v3.oas.annotations.media.Schema;
11
- import io.swagger.v3.oas.annotations.responses.ApiResponse;
12
- import io.swagger.v3.oas.annotations.tags.Tag;
13
- import org.slf4j.Logger;
14
- import org.slf4j.LoggerFactory;
15
- import org.springframework.beans.factory.annotation.Autowired;
16
- import org.springframework.http.HttpStatus;
17
- import org.springframework.http.MediaType;
18
- import org.springframework.http.ResponseEntity;
19
- import org.springframework.web.bind.annotation.CrossOrigin;
20
- import org.springframework.web.bind.annotation.GetMapping;
21
- import org.springframework.web.bind.annotation.RequestMapping;
22
- import org.springframework.web.bind.annotation.RestController;
23
-
24
- import java.util.List;
25
- import java.util.stream.Collectors;
26
-
27
- @Tag(name = "Account", description = "Permet d'interroger et de parcourir les utilisateurs")
28
- @RestController
29
- @RequestMapping("/api")
30
- @CrossOrigin
31
- public class UserController {
32
-
33
- private final Logger log = LoggerFactory.getLogger(UserController.class);
34
-
35
- private final UserService userService;
36
-
37
- private final UserMapper userMapper;
38
-
39
- @Autowired
40
- public UserController(UserService userService, UserMapper userMapper) {
41
- this.userService = userService;
42
- this.userMapper = userMapper;
43
- }
44
-
45
- @Operation(summary = "Récupère tous les administrateurs AAAA",
46
- description =
47
- "Permet d'obtenir la liste de tous les utilisateurs qui sont administrateurs AAAA")
48
- @ApiResponse(responseCode = "200", description = "Les administrateurs AAAA demandés", content = {
49
- @Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
50
- array = @ArraySchema(schema = @Schema(implementation = User.class))
51
- )}
52
- )
53
- @GetMapping("/users/admin-aaaa")
54
- public ResponseEntity<List<UserDTO>> getAllAdmin§§projectNS§§() {
55
- log.debug("Requête REST pour obtenir tous les administrateurs AAAA");
56
- List<UserDTO> userDTOList = this.userService.findAllAdmin§§projectNS§§()
57
- .stream()
58
- .map(this.userMapper::toDtoWithoutProfilSet)
59
- .collect(Collectors.toList());
60
- return new ResponseEntity<>(userDTOList, HttpStatus.OK);
61
- }
62
-
63
- }
@@ -1,20 +0,0 @@
1
- package fr.cerema.dsi.aaaa.dto;
2
-
3
- import com.fasterxml.jackson.annotation.JsonProperty;
4
-
5
- import java.io.Serializable;
6
-
7
- public abstract class GenericDTO implements Serializable {
8
-
9
- @JsonProperty("id")
10
- private Long id;
11
-
12
- public Long getId() {
13
- return id;
14
- }
15
-
16
- public void setId(Long id) {
17
- this.id = id;
18
- }
19
-
20
- }
@@ -1,26 +0,0 @@
1
- package fr.cerema.dsi.aaaa.dto;
2
-
3
- import fr.cerema.dsi.aaaa.enums.Role;
4
-
5
- public class ProfilDTO extends GenericDTO {
6
-
7
- private Role profilUtilisateur;
8
-
9
-
10
- public Role getProfilUtilisateur() {
11
- return profilUtilisateur;
12
- }
13
-
14
- public void setProfilUtilisateur(Role profilUtilisateur) {
15
- this.profilUtilisateur = profilUtilisateur;
16
- }
17
-
18
-
19
- @Override
20
- public String toString() {
21
- return "ProfilDTO{" +
22
- "id=" + this.getId() +
23
- ", profilUtilisateur=" + profilUtilisateur +
24
- '}';
25
- }
26
- }
@@ -1,57 +0,0 @@
1
- package fr.cerema.dsi.aaaa.dto;
2
-
3
- import java.util.Set;
4
-
5
- public class UserDTO extends GenericDTO {
6
-
7
- private String email;
8
-
9
- private String orionId;
10
-
11
- private Set<ProfilDTO> profilSet;
12
-
13
- private Long idDirectionCourante;
14
-
15
- public String getEmail() {
16
- return email;
17
- }
18
-
19
- public void setEmail(String email) {
20
- this.email = email;
21
- }
22
-
23
- public String getOrionId() {
24
- return orionId;
25
- }
26
-
27
- public void setOrionId(String orionId) {
28
- this.orionId = orionId;
29
- }
30
-
31
- public Set<ProfilDTO> getProfilSet() {
32
- return profilSet;
33
- }
34
-
35
- public void setProfilSet(Set<ProfilDTO> profilSet) {
36
- this.profilSet = profilSet;
37
- }
38
-
39
- public Long getIdDirectionCourante() {
40
- return idDirectionCourante;
41
- }
42
-
43
- public void setIdDirectionCourante(Long idDirectionCourante) {
44
- this.idDirectionCourante = idDirectionCourante;
45
- }
46
-
47
-
48
- @Override
49
- public String toString() {
50
- return "UserDTO{" +
51
- "email='" + email + '\'' +
52
- ", orionId='" + orionId + '\'' +
53
- ", profilSet=" + profilSet +
54
- ", idDirectionCourante=" + idDirectionCourante +
55
- '}';
56
- }
57
- }
@@ -1,31 +0,0 @@
1
- package fr.cerema.dsi.aaaa.dto;
2
-
3
- import fr.cerema.dsi.aaaa.enums.Role;
4
- import lombok.Getter;
5
- import lombok.Setter;
6
-
7
- import java.io.Serializable;
8
- import java.util.List;
9
-
10
- @Getter
11
- @Setter
12
- public class UserWithCurrentAuthorityDTO implements Serializable {
13
-
14
- private Long id;
15
-
16
- private String email;
17
-
18
- private String orionId;
19
-
20
- private List<Role> roleActifList;
21
-
22
- @Override
23
- public String toString() {
24
- return "UserWithCurrentAuthorityDTO{" +
25
- "id=" + id +
26
- ", email='" + email + '\'' +
27
- ", orionId='" + orionId + '\'' +
28
- ", roleActifList=" + roleActifList +
29
- '}';
30
- }
31
- }
@@ -1,30 +0,0 @@
1
- package fr.cerema.dsi.aaaa.mapper;
2
-
3
- import fr.cerema.dsi.aaaa.dto.UserDTO;
4
- import fr.cerema.dsi.aaaa.dto.UserWithCurrentAuthorityDTO;
5
- import fr.cerema.dsi.aaaa.entities.User;
6
- import fr.cerema.dsi.aaaa.services.ProfilService;
7
- import org.mapstruct.Mapper;
8
- import org.mapstruct.Mapping;
9
- import org.mapstruct.Named;
10
-
11
- import org.springframework.beans.factory.annotation.Autowired;
12
-
13
- @Mapper(componentModel = "spring", uses = {})
14
- public abstract class UserMapper {
15
-
16
- @Autowired
17
- public ProfilService profilService;
18
-
19
- @Named("toDto")
20
- public abstract UserDTO toDto(User user);
21
-
22
- @Named("toDtoWithoutProfilSet")
23
- @Mapping(target = "profilSet", ignore = true)
24
- public abstract UserDTO toDtoWithoutProfilSet(User user);
25
-
26
- public abstract User toEntity(UserDTO userDTO);
27
-
28
- @Mapping(target = "roleActifList", expression = "java(this.profilService.findAllCurrentRolesByUsername(user.getEmail()))")
29
- public abstract UserWithCurrentAuthorityDTO toDtoWithCurrentAuthority(User user);
30
- }
@@ -1,5 +0,0 @@
1
- package fr.cerema.dsi.commons.beans.errors;
2
-
3
- public abstract class ApiSubError {
4
-
5
- }
@@ -1,13 +0,0 @@
1
- package fr.cerema.dsi.commons.beans.errors;
2
-
3
- public class ApiValidationSubError extends ApiSubError {
4
- private String object;
5
- private String field;
6
- private Object rejectedValue;
7
- private String message;
8
-
9
- ApiValidationSubError(String object, String message) {
10
- this.object = object;
11
- this.message = message;
12
- }
13
- }