@cerema/cadriciel 1.0.8 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (421) hide show
  1. package/aaaa/.cadriciel/.uuid +1 -0
  2. package/aaaa/.cadriciel/bin/db-update.js +337 -0
  3. package/aaaa/.cadriciel/bin/gen/api/api.js +484 -0
  4. package/aaaa/.cadriciel/bin/gen/component/component.js +36 -0
  5. package/aaaa/.cadriciel/bin/gen/page/page.js +163 -0
  6. package/aaaa/.cadriciel/bin/gen/project/project.js +172 -0
  7. package/aaaa/.cadriciel/bin/gen/query/query.js +92 -0
  8. package/aaaa/.cadriciel/bin/gen/service/service.js +18 -0
  9. package/aaaa/.cadriciel/bin/gen.js +19 -0
  10. package/aaaa/.cadriciel/bin/lib/convert.js +94 -0
  11. package/aaaa/.cadriciel/bin/lib/global.js +140 -0
  12. package/aaaa/.cadriciel/bin/lib/templates.js +48 -0
  13. package/aaaa/.cadriciel/bin/lib/utils.js +76 -0
  14. package/aaaa/.cadriciel/bin/logs.js +34 -0
  15. package/aaaa/.cadriciel/bin/reset.js +45 -0
  16. package/aaaa/.cadriciel/bin/restart.js +30 -0
  17. package/aaaa/.cadriciel/bin/start.js +194 -0
  18. package/aaaa/.cadriciel/bin/stop.js +32 -0
  19. package/aaaa/.cadriciel/bin/templates/components/{{name}}.component.html +1 -0
  20. package/aaaa/.cadriciel/bin/templates/components/{{name}}.component.scss +0 -0
  21. package/aaaa/.cadriciel/bin/templates/components/{{name}}.component.ts +15 -0
  22. package/aaaa/.cadriciel/bin/templates/java/config.java +59 -0
  23. package/aaaa/.cadriciel/bin/templates/routing.module.ts +30 -0
  24. package/aaaa/.cadriciel/bin/templates/{{name}}.component.html +1 -0
  25. package/aaaa/.cadriciel/bin/templates/{{name}}.component.scss +0 -0
  26. package/aaaa/.cadriciel/bin/templates/{{name}}.component.ts +16 -0
  27. package/aaaa/.cadriciel/bin/templates/{{name}}.service.ts +20 -0
  28. package/aaaa/.cadriciel/routes/root.json +1 -0
  29. package/aaaa/.gitlab-ci.yml +65 -0
  30. package/aaaa/.project +1 -0
  31. package/aaaa/.vscode/settings.json +3 -0
  32. package/aaaa/angular.json +165 -0
  33. package/aaaa/api/aaaa-data/Readme.md +27 -0
  34. package/aaaa/api/aaaa-data/pom.xml +46 -0
  35. package/aaaa/api/aaaa-data/src/main/resources/db/dev/Readme.md +5 -0
  36. package/aaaa/api/aaaa-data/src/main/resources/db/dev/V2022.06.02.1513__dev-data.sql +7 -0
  37. package/aaaa/api/aaaa-data/src/main/resources/db/migration/Readme.md +38 -0
  38. package/aaaa/api/aaaa-data/src/main/resources/db/migration/V2021.10.14.0819__Init.sql +23 -0
  39. package/aaaa/api/aaaa-data/src/main/resources/flyway.properties +4 -0
  40. package/aaaa/api/aaaa-metier/pom.xml +134 -0
  41. package/aaaa/api/aaaa-metier/src/main/java/fr/cerema/dsi/aaaa/services/CustomUserDetailsService.java +12 -0
  42. package/aaaa/api/aaaa-metier/src/main/java/fr/cerema/dsi/aaaa/services/ProfilService.java +24 -0
  43. package/aaaa/api/aaaa-metier/src/main/java/fr/cerema/dsi/aaaa/services/UserService.java +36 -0
  44. package/aaaa/api/aaaa-metier/src/main/java/fr/cerema/dsi/aaaa/services/impl/CustomUserDetailsServiceImpl.java +79 -0
  45. package/aaaa/api/aaaa-metier/src/main/java/fr/cerema/dsi/aaaa/services/impl/ProfilServiceImpl.java +27 -0
  46. package/aaaa/api/aaaa-metier/src/main/java/fr/cerema/dsi/aaaa/services/impl/UserServiceImpl.java +75 -0
  47. package/aaaa/api/aaaa-metier/src/main/java/fr/cerema/dsi/commons/security/UserSecurityServiceUtil.java +30 -0
  48. package/aaaa/api/aaaa-metier/src/main/java/fr/cerema/dsi/commons/services/GenericService.java +30 -0
  49. package/aaaa/api/aaaa-metier/src/main/java/fr/cerema/dsi/commons/services/GenericServiceImpl.java +62 -0
  50. package/aaaa/api/aaaa-metier/src/test/java/fr/cerema/dsi/aaaa/services/UserServiceImplTest.java +60 -0
  51. package/aaaa/api/aaaa-persistance/pom.xml +72 -0
  52. package/aaaa/api/aaaa-persistance/src/main/java/fr/cerema/dsi/aaaa/repositories/ProfilRepository.java +18 -0
  53. package/aaaa/api/aaaa-persistance/src/main/java/fr/cerema/dsi/aaaa/repositories/UserRepository.java +28 -0
  54. package/aaaa/api/aaaa-persistance/src/main/java/fr/cerema/dsi/commons/repositories/AbstractDao.java +118 -0
  55. package/aaaa/api/aaaa-persistance/src/main/java/fr/cerema/dsi/commons/repositories/GenericRepository.java +101 -0
  56. package/aaaa/api/aaaa-persistance/src/main/java/fr/cerema/dsi/commons/repositories/IAbstractDao.java +66 -0
  57. package/aaaa/api/aaaa-presentation/Readme.md +98 -0
  58. package/aaaa/api/aaaa-presentation/pom.xml +385 -0
  59. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/aaaa/App.java +20 -0
  60. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/aaaa/config/AspectJConfiguration.java +58 -0
  61. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/aaaa/config/AuthenticationTokenFilter.java +134 -0
  62. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/aaaa/config/SecurityConfiguration.java +71 -0
  63. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/aaaa/config/StaticResourcesWebConfiguration.java +41 -0
  64. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/aaaa/config/WebConfiguration.java +59 -0
  65. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/aaaa/controllers/AccountController.java +59 -0
  66. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/aaaa/controllers/ApiOpenController.java +63 -0
  67. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/aaaa/controllers/UserController.java +63 -0
  68. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/aaaa/dto/GenericDTO.java +20 -0
  69. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/aaaa/dto/ProfilDTO.java +26 -0
  70. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/aaaa/dto/UserDTO.java +57 -0
  71. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/aaaa/dto/UserWithCurrentAuthorityDTO.java +31 -0
  72. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/aaaa/mapper/UserMapper.java +30 -0
  73. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/commons/beans/errors/ApiSubError.java +5 -0
  74. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/commons/beans/errors/ApiValidationSubError.java +13 -0
  75. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/commons/beans/errors/JsonApiError.java +308 -0
  76. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/commons/controllers/AbstractErrorHandler.java +67 -0
  77. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/commons/controllers/ClientForwardController.java +19 -0
  78. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/commons/controllers/CustomErrorController.java +57 -0
  79. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/commons/controllers/RestResponseEntityExceptionHandler.java +75 -0
  80. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/commons/security/auth/jwt/exceptions/InvalidTokenException.java +30 -0
  81. package/aaaa/api/aaaa-presentation/src/main/java/fr/cerema/dsi/commons/security/filters/AppCorsFilter.java +45 -0
  82. package/aaaa/api/aaaa-presentation/src/main/resources/META-INF/spring.factories +2 -0
  83. package/aaaa/api/aaaa-presentation/src/main/resources/banner.txt +3 -0
  84. package/aaaa/api/aaaa-presentation/src/main/resources/logback-spring-ci.xml +15 -0
  85. package/aaaa/api/aaaa-presentation/src/main/resources/logback-spring.xml +15 -0
  86. package/aaaa/api/aaaa-presentation/src/main/resources-filtered/application-ci.yml +59 -0
  87. package/aaaa/api/aaaa-presentation/src/main/resources-filtered/application-prod.yml +59 -0
  88. package/aaaa/api/aaaa-presentation/src/main/resources-filtered/application.yml +134 -0
  89. package/aaaa/api/aaaa-presentation/src/test/java/fr/cerema/dsi/aaaa/service/IntegrationTest.java +18 -0
  90. package/aaaa/api/aaaa-presentation/src/test/java/fr/cerema/dsi/aaaa/service/UserServiceImplIT.java +43 -0
  91. package/aaaa/api/aaaa-presentation/src/test/resources/application.yml +41 -0
  92. package/aaaa/api/aaaa-presentation/src/test/resources/db.migration/Readme.md +6 -0
  93. package/aaaa/api/aaaa-presentation/target/classes/META-INF/spring.factories +2 -0
  94. package/aaaa/api/aaaa-presentation/target/classes/application-ci.yml +59 -0
  95. package/aaaa/api/aaaa-presentation/target/classes/application-prod.yml +59 -0
  96. package/aaaa/api/aaaa-presentation/target/classes/application.yml +134 -0
  97. package/aaaa/api/aaaa-presentation/target/classes/banner.txt +3 -0
  98. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/aaaa/App.class +0 -0
  99. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/aaaa/config/AspectJConfiguration.class +0 -0
  100. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/aaaa/config/AuthenticationTokenFilter.class +0 -0
  101. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/aaaa/config/SecurityConfiguration.class +0 -0
  102. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/aaaa/config/StaticResourcesWebConfiguration.class +0 -0
  103. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/aaaa/config/WebConfiguration.class +0 -0
  104. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/aaaa/controllers/AccountController.class +0 -0
  105. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/aaaa/controllers/ApiOpenController.class +0 -0
  106. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/aaaa/controllers/UserController.class +0 -0
  107. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/aaaa/dto/GenericDTO.class +0 -0
  108. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/aaaa/dto/ProfilDTO.class +0 -0
  109. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/aaaa/dto/UserDTO.class +0 -0
  110. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/aaaa/dto/UserWithCurrentAuthorityDTO.class +0 -0
  111. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/aaaa/mapper/UserMapper.class +0 -0
  112. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/aaaa/mapper/UserMapperImpl.class +0 -0
  113. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/commons/beans/errors/ApiSubError.class +0 -0
  114. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/commons/beans/errors/ApiValidationSubError.class +0 -0
  115. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/commons/beans/errors/JsonApiError$ApiError.class +0 -0
  116. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/commons/beans/errors/JsonApiError.class +0 -0
  117. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/commons/controllers/AbstractErrorHandler.class +0 -0
  118. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/commons/controllers/ClientForwardController.class +0 -0
  119. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/commons/controllers/CustomErrorController.class +0 -0
  120. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/commons/controllers/RestResponseEntityExceptionHandler.class +0 -0
  121. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/commons/security/auth/jwt/exceptions/InvalidTokenException.class +0 -0
  122. package/aaaa/api/aaaa-presentation/target/classes/fr/cerema/dsi/commons/security/filters/AppCorsFilter.class +0 -0
  123. package/aaaa/api/aaaa-presentation/target/classes/logback-spring-ci.xml +15 -0
  124. package/aaaa/api/aaaa-presentation/target/classes/logback-spring.xml +15 -0
  125. package/aaaa/api/aaaa-presentation/target/generated-sources/annotations/fr/cerema/dsi/aaaa/mapper/UserMapperImpl.java +136 -0
  126. package/aaaa/api/aaaa-presentation/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +25 -0
  127. package/aaaa/api/aaaa-presentation/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +23 -0
  128. package/aaaa/api/aaaa-transverse/pom.xml +25 -0
  129. package/aaaa/api/aaaa-transverse/src/main/java/fr/cerema/dsi/aaaa/entities/Profil.java +53 -0
  130. package/aaaa/api/aaaa-transverse/src/main/java/fr/cerema/dsi/aaaa/entities/User.java +79 -0
  131. package/aaaa/api/aaaa-transverse/src/main/java/fr/cerema/dsi/aaaa/enums/Role.java +9 -0
  132. package/aaaa/api/aaaa-transverse/src/main/java/fr/cerema/dsi/aaaa/exceptions/JwtConfMalformedException.java +9 -0
  133. package/aaaa/api/aaaa-transverse/src/main/java/fr/cerema/dsi/aaaa/exceptions/security/AuthenticationServiceException.java +30 -0
  134. package/aaaa/api/aaaa-transverse/src/main/java/fr/cerema/dsi/aaaa/exceptions/security/NoRoleForUserServiceException.java +29 -0
  135. package/aaaa/api/aaaa-transverse/src/main/java/fr/cerema/dsi/aaaa/exceptions/security/UserNotFoundServiceException.java +29 -0
  136. package/aaaa/api/aaaa-transverse/src/main/java/fr/cerema/dsi/commons/entities/GenericEntity.java +43 -0
  137. package/aaaa/api/aaaa-transverse/src/main/java/fr/cerema/dsi/commons/exceptions/BadRequestException.java +43 -0
  138. package/aaaa/api/aaaa-transverse/src/main/java/fr/cerema/dsi/commons/exceptions/EntityNotFoundException.java +9 -0
  139. package/aaaa/api/aaaa-transverse/src/main/java/fr/cerema/dsi/commons/exceptions/GenericRepositoryException.java +29 -0
  140. package/aaaa/api/aaaa-transverse/src/main/java/fr/cerema/dsi/commons/exceptions/GenericServiceException.java +29 -0
  141. package/aaaa/api/aaaa-transverse/src/main/java/fr/cerema/dsi/commons/exceptions/UserNotFoundException.java +11 -0
  142. package/aaaa/api/aaaa-transverse/src/main/java/fr/cerema/dsi/commons/exceptions/UtilsException.java +13 -0
  143. package/aaaa/api/pom.xml +156 -0
  144. package/aaaa/client/app/components/.gitkeep +0 -0
  145. package/aaaa/client/app/interfaces/.gitkeep +0 -0
  146. package/aaaa/client/app/interfaces/dbschema.ts +171 -0
  147. package/aaaa/client/app/menu.json +41 -0
  148. package/aaaa/client/app/pages/pages-routing.module.ts +19 -0
  149. package/aaaa/client/app/pages/profils/profils.component.html +4 -0
  150. package/aaaa/client/app/pages/profils/profils.component.scss +0 -0
  151. package/aaaa/client/app/pages/profils/profils.component.ts +21 -0
  152. package/aaaa/client/app/pages/root/root.component.html +2 -0
  153. package/aaaa/client/app/pages/root/root.component.scss +24 -0
  154. package/aaaa/client/app/pages/root/root.component.ts +29 -0
  155. package/aaaa/client/app/services/demo.service.ts +21 -0
  156. package/aaaa/client/app/services/profils.service.ts +25 -0
  157. package/aaaa/client/app/services/test.service.ts +20 -0
  158. package/aaaa/client/app-routing.module.ts +50 -0
  159. package/aaaa/client/app.component.css +46 -0
  160. package/aaaa/client/app.component.html +1 -0
  161. package/aaaa/client/app.component.ts +62 -0
  162. package/aaaa/client/app.module.ts +99 -0
  163. package/aaaa/client/assets/favicon.ico +0 -0
  164. package/aaaa/client/assets/i18n/fr.json +33 -0
  165. package/aaaa/client/assets/images/dollar.svg +1 -0
  166. package/aaaa/client/assets/images/logo.png +0 -0
  167. package/aaaa/client/assets/images/logo_title.png +0 -0
  168. package/aaaa/client/assets/images/work-in-progress.svg +64 -0
  169. package/aaaa/client/assets/layout/fonts/lato-v17-latin-ext_latin-300.woff +0 -0
  170. package/aaaa/client/assets/layout/fonts/lato-v17-latin-ext_latin-300.woff2 +0 -0
  171. package/aaaa/client/assets/layout/fonts/lato-v17-latin-ext_latin-700.woff +0 -0
  172. package/aaaa/client/assets/layout/fonts/lato-v17-latin-ext_latin-700.woff2 +0 -0
  173. package/aaaa/client/assets/layout/fonts/lato-v17-latin-ext_latin-regular.woff +0 -0
  174. package/aaaa/client/assets/layout/fonts/lato-v17-latin-ext_latin-regular.woff2 +0 -0
  175. package/aaaa/client/assets/layout/images/LogoCerema.svg +226 -0
  176. package/aaaa/client/assets/layout/images/LogoCerema_horizontal.svg +167 -0
  177. package/aaaa/client/assets/layout/images/SpinnerCerema.svg +6 -0
  178. package/aaaa/client/assets/layout/images/authentication.svg +1 -0
  179. package/aaaa/client/assets/layout/images/mail.svg +1 -0
  180. package/aaaa/client/assets/layout/images/postgresql.svg +1 -0
  181. package/aaaa/client/assets/layout/images/user.png +0 -0
  182. package/aaaa/client/assets/layout/styles/layout/_breadcrumb.scss +18 -0
  183. package/aaaa/client/assets/layout/styles/layout/_config.scss +33 -0
  184. package/aaaa/client/assets/layout/styles/layout/_content.scss +20 -0
  185. package/aaaa/client/assets/layout/styles/layout/_fonts.scss +29 -0
  186. package/aaaa/client/assets/layout/styles/layout/_footer.scss +25 -0
  187. package/aaaa/client/assets/layout/styles/layout/_main.scss +29 -0
  188. package/aaaa/client/assets/layout/styles/layout/_responsive.scss +159 -0
  189. package/aaaa/client/assets/layout/styles/layout/_sidebar.scss +2 -0
  190. package/aaaa/client/assets/layout/styles/layout/_topbar.scss +250 -0
  191. package/aaaa/client/assets/layout/styles/layout/_typography.scss +63 -0
  192. package/aaaa/client/assets/layout/styles/layout/_utils.scss +19 -0
  193. package/aaaa/client/assets/layout/styles/layout/layout.scss +15 -0
  194. package/aaaa/client/assets/layout/styles/layout/preloading.css +73 -0
  195. package/aaaa/client/assets/layout/styles/layout/preloading.scss +79 -0
  196. package/aaaa/client/assets/layout/styles/layout/sidebar/_sidebar_slim.scss +131 -0
  197. package/aaaa/client/assets/layout/styles/layout/sidebar/_sidebar_vertical.scss +132 -0
  198. package/aaaa/client/assets/layout/styles/layout/theme/_dark.scss +10 -0
  199. package/aaaa/client/assets/layout/styles/layout/theme/_light.scss +10 -0
  200. package/aaaa/client/assets/layout/styles/layout/theme/_primary.scss +10 -0
  201. package/aaaa/client/assets/layout/styles/layout/theme/_themes.scss +3 -0
  202. package/aaaa/client/assets/layout/styles/theme/designer/_colors.scss +17 -0
  203. package/aaaa/client/assets/layout/styles/theme/designer/_common.scss +68 -0
  204. package/aaaa/client/assets/layout/styles/theme/designer/_components.scss +102 -0
  205. package/aaaa/client/assets/layout/styles/theme/designer/_mixins.scss +203 -0
  206. package/aaaa/client/assets/layout/styles/theme/designer/components/button/_button.scss +560 -0
  207. package/aaaa/client/assets/layout/styles/theme/designer/components/button/_speeddial.scss +81 -0
  208. package/aaaa/client/assets/layout/styles/theme/designer/components/button/_splitbutton.scss +381 -0
  209. package/aaaa/client/assets/layout/styles/theme/designer/components/data/_carousel.scss +37 -0
  210. package/aaaa/client/assets/layout/styles/theme/designer/components/data/_datatable.scss +278 -0
  211. package/aaaa/client/assets/layout/styles/theme/designer/components/data/_dataview.scss +55 -0
  212. package/aaaa/client/assets/layout/styles/theme/designer/components/data/_filter.scss +138 -0
  213. package/aaaa/client/assets/layout/styles/theme/designer/components/data/_fullcalendar.scss +329 -0
  214. package/aaaa/client/assets/layout/styles/theme/designer/components/data/_orderlist.scss +103 -0
  215. package/aaaa/client/assets/layout/styles/theme/designer/components/data/_organizationchart.scss +50 -0
  216. package/aaaa/client/assets/layout/styles/theme/designer/components/data/_paginator.scss +92 -0
  217. package/aaaa/client/assets/layout/styles/theme/designer/components/data/_picklist.scss +103 -0
  218. package/aaaa/client/assets/layout/styles/theme/designer/components/data/_timeline.scss +38 -0
  219. package/aaaa/client/assets/layout/styles/theme/designer/components/data/_tree.scss +144 -0
  220. package/aaaa/client/assets/layout/styles/theme/designer/components/data/_treetable.scss +246 -0
  221. package/aaaa/client/assets/layout/styles/theme/designer/components/data/_virtualscroller.scss +28 -0
  222. package/aaaa/client/assets/layout/styles/theme/designer/components/file/_fileupload.scss +58 -0
  223. package/aaaa/client/assets/layout/styles/theme/designer/components/menu/_breadcrumb.scss +42 -0
  224. package/aaaa/client/assets/layout/styles/theme/designer/components/menu/_contextmenu.scss +56 -0
  225. package/aaaa/client/assets/layout/styles/theme/designer/components/menu/_dock.scss +86 -0
  226. package/aaaa/client/assets/layout/styles/theme/designer/components/menu/_megamenu.scss +106 -0
  227. package/aaaa/client/assets/layout/styles/theme/designer/components/menu/_menu.scss +45 -0
  228. package/aaaa/client/assets/layout/styles/theme/designer/components/menu/_menubar.scss +183 -0
  229. package/aaaa/client/assets/layout/styles/theme/designer/components/menu/_panelmenu.scss +140 -0
  230. package/aaaa/client/assets/layout/styles/theme/designer/components/menu/_slidemenu.scss +59 -0
  231. package/aaaa/client/assets/layout/styles/theme/designer/components/menu/_steps.scss +56 -0
  232. package/aaaa/client/assets/layout/styles/theme/designer/components/menu/_tabmenu.scss +69 -0
  233. package/aaaa/client/assets/layout/styles/theme/designer/components/menu/_tieredmenu.scss +60 -0
  234. package/aaaa/client/assets/layout/styles/theme/designer/components/messages/_inlinemessage.scss +64 -0
  235. package/aaaa/client/assets/layout/styles/theme/designer/components/messages/_message.scss +102 -0
  236. package/aaaa/client/assets/layout/styles/theme/designer/components/messages/_toast.scss +95 -0
  237. package/aaaa/client/assets/layout/styles/theme/designer/components/misc/_avatar.scss +30 -0
  238. package/aaaa/client/assets/layout/styles/theme/designer/components/misc/_badge.scss +48 -0
  239. package/aaaa/client/assets/layout/styles/theme/designer/components/misc/_blockui.scss +0 -0
  240. package/aaaa/client/assets/layout/styles/theme/designer/components/misc/_chip.scss +38 -0
  241. package/aaaa/client/assets/layout/styles/theme/designer/components/misc/_inplace.scss +17 -0
  242. package/aaaa/client/assets/layout/styles/theme/designer/components/misc/_progressbar.scss +17 -0
  243. package/aaaa/client/assets/layout/styles/theme/designer/components/misc/_scrolltop.scss +20 -0
  244. package/aaaa/client/assets/layout/styles/theme/designer/components/misc/_skeleton.scss +8 -0
  245. package/aaaa/client/assets/layout/styles/theme/designer/components/misc/_tag.scss +35 -0
  246. package/aaaa/client/assets/layout/styles/theme/designer/components/misc/_terminal.scss +11 -0
  247. package/aaaa/client/assets/layout/styles/theme/designer/components/multimedia/_galleria.scss +139 -0
  248. package/aaaa/client/assets/layout/styles/theme/designer/components/multimedia/_image.scss +44 -0
  249. package/aaaa/client/assets/layout/styles/theme/designer/components/overlay/_confirmpopup.scss +65 -0
  250. package/aaaa/client/assets/layout/styles/theme/designer/components/overlay/_dialog.scss +64 -0
  251. package/aaaa/client/assets/layout/styles/theme/designer/components/overlay/_overlaypanel.scss +62 -0
  252. package/aaaa/client/assets/layout/styles/theme/designer/components/overlay/_sidebar.scss +23 -0
  253. package/aaaa/client/assets/layout/styles/theme/designer/components/overlay/_tooltip.scss +33 -0
  254. package/aaaa/client/assets/layout/styles/theme/designer/components/panel/_accordion.scss +119 -0
  255. package/aaaa/client/assets/layout/styles/theme/designer/components/panel/_card.scss +30 -0
  256. package/aaaa/client/assets/layout/styles/theme/designer/components/panel/_divider.scss +31 -0
  257. package/aaaa/client/assets/layout/styles/theme/designer/components/panel/_fieldset.scss +47 -0
  258. package/aaaa/client/assets/layout/styles/theme/designer/components/panel/_panel.scss +58 -0
  259. package/aaaa/client/assets/layout/styles/theme/designer/components/panel/_scrollpanel.scss +6 -0
  260. package/aaaa/client/assets/layout/styles/theme/designer/components/panel/_splitter.scss +19 -0
  261. package/aaaa/client/assets/layout/styles/theme/designer/components/panel/_tabview.scss +78 -0
  262. package/aaaa/client/assets/layout/styles/theme/designer/components/panel/_toolbar.scss +10 -0
  263. package/aaaa/client/assets/layout/styles/theme/theme-dark/_extensions.scss +90 -0
  264. package/aaaa/client/assets/layout/styles/theme/theme-dark/_variables.scss +867 -0
  265. package/aaaa/client/assets/layout/styles/theme/theme-dark/blue/theme.css +7341 -0
  266. package/aaaa/client/assets/layout/styles/theme/theme-dark/blue/theme.scss +12 -0
  267. package/aaaa/client/assets/layout/styles/theme/theme-dark/cyan/theme.css +7341 -0
  268. package/aaaa/client/assets/layout/styles/theme/theme-dark/cyan/theme.scss +12 -0
  269. package/aaaa/client/assets/layout/styles/theme/theme-dark/deeppurple/theme.css +7341 -0
  270. package/aaaa/client/assets/layout/styles/theme/theme-dark/deeppurple/theme.scss +12 -0
  271. package/aaaa/client/assets/layout/styles/theme/theme-dark/green/theme.css +7341 -0
  272. package/aaaa/client/assets/layout/styles/theme/theme-dark/green/theme.scss +12 -0
  273. package/aaaa/client/assets/layout/styles/theme/theme-dark/indigo/theme.css +7341 -0
  274. package/aaaa/client/assets/layout/styles/theme/theme-dark/indigo/theme.scss +12 -0
  275. package/aaaa/client/assets/layout/styles/theme/theme-dark/lime/theme.css +7341 -0
  276. package/aaaa/client/assets/layout/styles/theme/theme-dark/lime/theme.scss +12 -0
  277. package/aaaa/client/assets/layout/styles/theme/theme-dark/orange/theme.css +7341 -0
  278. package/aaaa/client/assets/layout/styles/theme/theme-dark/orange/theme.scss +12 -0
  279. package/aaaa/client/assets/layout/styles/theme/theme-dark/pink/theme.css +7341 -0
  280. package/aaaa/client/assets/layout/styles/theme/theme-dark/pink/theme.scss +12 -0
  281. package/aaaa/client/assets/layout/styles/theme/theme-dark/purple/theme.css +7341 -0
  282. package/aaaa/client/assets/layout/styles/theme/theme-dark/purple/theme.scss +12 -0
  283. package/aaaa/client/assets/layout/styles/theme/theme-dark/yellow/theme.css +7341 -0
  284. package/aaaa/client/assets/layout/styles/theme/theme-dark/yellow/theme.scss +12 -0
  285. package/aaaa/client/assets/layout/styles/theme/theme-light/_extensions.scss +90 -0
  286. package/aaaa/client/assets/layout/styles/theme/theme-light/_variables.scss +870 -0
  287. package/aaaa/client/assets/layout/styles/theme/theme-light/blue/theme.css +7540 -0
  288. package/aaaa/client/assets/layout/styles/theme/theme-light/blue/theme.scss +12 -0
  289. package/aaaa/client/assets/layout/styles/theme/theme-light/cyan/theme.css +7341 -0
  290. package/aaaa/client/assets/layout/styles/theme/theme-light/cyan/theme.scss +12 -0
  291. package/aaaa/client/assets/layout/styles/theme/theme-light/deeppurple/theme.css +7341 -0
  292. package/aaaa/client/assets/layout/styles/theme/theme-light/deeppurple/theme.scss +12 -0
  293. package/aaaa/client/assets/layout/styles/theme/theme-light/green/theme.css +7341 -0
  294. package/aaaa/client/assets/layout/styles/theme/theme-light/green/theme.scss +12 -0
  295. package/aaaa/client/assets/layout/styles/theme/theme-light/indigo/theme.css +7341 -0
  296. package/aaaa/client/assets/layout/styles/theme/theme-light/indigo/theme.scss +12 -0
  297. package/aaaa/client/assets/layout/styles/theme/theme-light/lime/theme.css +7341 -0
  298. package/aaaa/client/assets/layout/styles/theme/theme-light/lime/theme.scss +12 -0
  299. package/aaaa/client/assets/layout/styles/theme/theme-light/orange/theme.css +7341 -0
  300. package/aaaa/client/assets/layout/styles/theme/theme-light/orange/theme.scss +12 -0
  301. package/aaaa/client/assets/layout/styles/theme/theme-light/pink/theme.css +7341 -0
  302. package/aaaa/client/assets/layout/styles/theme/theme-light/pink/theme.scss +12 -0
  303. package/aaaa/client/assets/layout/styles/theme/theme-light/purple/theme.css +7341 -0
  304. package/aaaa/client/assets/layout/styles/theme/theme-light/purple/theme.scss +12 -0
  305. package/aaaa/client/assets/layout/styles/theme/theme-light/yellow/theme.css +7341 -0
  306. package/aaaa/client/assets/layout/styles/theme/theme-light/yellow/theme.scss +12 -0
  307. package/aaaa/client/environments/environment.ts +9 -0
  308. package/aaaa/client/index.dev.html +33 -0
  309. package/aaaa/client/index.prod.html +33 -0
  310. package/aaaa/client/layout/api/menuchangeevent.ts +4 -0
  311. package/aaaa/client/layout/api/tabcloseevent.ts +6 -0
  312. package/aaaa/client/layout/app.breadcrumb.component.html +14 -0
  313. package/aaaa/client/layout/app.breadcrumb.component.ts +48 -0
  314. package/aaaa/client/layout/app.footer.component.html +20 -0
  315. package/aaaa/client/layout/app.footer.component.ts +23 -0
  316. package/aaaa/client/layout/app.menu.component.html +3 -0
  317. package/aaaa/client/layout/app.menu.service.ts +23 -0
  318. package/aaaa/client/layout/app.menuitem.component.ts +310 -0
  319. package/aaaa/client/layout/app.sidebar.component.html +5 -0
  320. package/aaaa/client/layout/app.sidebar.component.ts +13 -0
  321. package/aaaa/client/layout/app.topbar.component.html +72 -0
  322. package/aaaa/client/layout/app.topbar.component.ts +67 -0
  323. package/aaaa/client/layout/common/err-403/err-403.component.html +24 -0
  324. package/aaaa/client/layout/common/err-403/err-403.component.scss +340 -0
  325. package/aaaa/client/layout/common/err-403/err-403.ts +19 -0
  326. package/aaaa/client/layout/common/work-in-progress/work-in-progress.component.html +1 -0
  327. package/aaaa/client/layout/common/work-in-progress/work-in-progress.component.scss +8 -0
  328. package/aaaa/client/layout/common/work-in-progress/work-in-progress.component.ts +14 -0
  329. package/aaaa/client/layout/config/app.config.component.html +86 -0
  330. package/aaaa/client/layout/config/app.config.component.scss +0 -0
  331. package/aaaa/client/layout/config/app.config.component.ts +241 -0
  332. package/aaaa/client/layout/config/config.module.ts +27 -0
  333. package/aaaa/client/layout/main/main.component.html +15 -0
  334. package/aaaa/client/layout/main/main.component.spec.ts +34 -0
  335. package/aaaa/client/layout/main/main.component.ts +186 -0
  336. package/aaaa/client/layout/main.module.ts +45 -0
  337. package/aaaa/client/layout/service/app.layout.service.ts +124 -0
  338. package/aaaa/client/layout/shared/components/app.menu.component.ts +69 -0
  339. package/aaaa/client/layout/shared/components/auth/accessdenied/accessdenied-routing.module.ts +12 -0
  340. package/aaaa/client/layout/shared/components/auth/accessdenied/accessdenied.component.html +11 -0
  341. package/aaaa/client/layout/shared/components/auth/accessdenied/accessdenied.component.ts +7 -0
  342. package/aaaa/client/layout/shared/components/auth/accessdenied/accessdenied.module.ts +17 -0
  343. package/aaaa/client/layout/shared/components/auth/auth-routing.module.ts +14 -0
  344. package/aaaa/client/layout/shared/components/auth/auth.module.ts +13 -0
  345. package/aaaa/client/layout/shared/components/auth/error/error-routing.module.ts +12 -0
  346. package/aaaa/client/layout/shared/components/auth/error/error.component.html +10 -0
  347. package/aaaa/client/layout/shared/components/auth/error/error.component.ts +7 -0
  348. package/aaaa/client/layout/shared/components/auth/error/error.module.ts +12 -0
  349. package/aaaa/client/layout/shared/components/auth/login/login-routing.module.ts +12 -0
  350. package/aaaa/client/layout/shared/components/auth/login/login.component.html +15 -0
  351. package/aaaa/client/layout/shared/components/auth/login/login.component.ts +47 -0
  352. package/aaaa/client/layout/shared/components/auth/login/login.module.ts +21 -0
  353. package/aaaa/client/layout/shared/components/auth/logout/logout/logout.component.html +8 -0
  354. package/aaaa/client/layout/shared/components/auth/logout/logout/logout.component.scss +21 -0
  355. package/aaaa/client/layout/shared/components/auth/logout/logout/logout.component.ts +15 -0
  356. package/aaaa/client/layout/shared/components/auth/logout/logout.module.ts +26 -0
  357. package/aaaa/client/layout/shared/components/code/code.component.ts +17 -0
  358. package/aaaa/client/layout/shared/components/indic/indic.component.html +8 -0
  359. package/aaaa/client/layout/shared/components/indic/indic.component.scss +0 -0
  360. package/aaaa/client/layout/shared/components/indic/indic.component.ts +60 -0
  361. package/aaaa/client/layout/shared/components/lookup-input/lookup-input.component.html +70 -0
  362. package/aaaa/client/layout/shared/components/lookup-input/lookup-input.component.scss +0 -0
  363. package/aaaa/client/layout/shared/components/lookup-input/lookup-input.component.ts +121 -0
  364. package/aaaa/client/layout/shared/components/notfound/notfound-routing.module.ts +12 -0
  365. package/aaaa/client/layout/shared/components/notfound/notfound.component.html +42 -0
  366. package/aaaa/client/layout/shared/components/notfound/notfound.component.ts +7 -0
  367. package/aaaa/client/layout/shared/components/notfound/notfound.module.ts +12 -0
  368. package/aaaa/client/layout/shared/constants/dateFormat.constants.ts +1 -0
  369. package/aaaa/client/layout/shared/constants/mocks/user-mocks.constants.ts +36 -0
  370. package/aaaa/client/layout/shared/constants/pagination.constants.ts +1 -0
  371. package/aaaa/client/layout/shared/core/config/application-config.service.ts +34 -0
  372. package/aaaa/client/layout/shared/core/config/db-config.service.ts +20 -0
  373. package/aaaa/client/layout/shared/core/guard/can-modify.guard.ts +51 -0
  374. package/aaaa/client/layout/shared/core/guard/login.guard.ts +24 -0
  375. package/aaaa/client/layout/shared/core/guard/ui.guard.ts +94 -0
  376. package/aaaa/client/layout/shared/core/interceptor/handle-req.interceptor.ts +31 -0
  377. package/aaaa/client/layout/shared/core/interceptor/index.ts +10 -0
  378. package/aaaa/client/layout/shared/core/request/pageable.model.ts +5 -0
  379. package/aaaa/client/layout/shared/core/request/request-util.ts +21 -0
  380. package/aaaa/client/layout/shared/core/resolver/accueil.resolver.ts +19 -0
  381. package/aaaa/client/layout/shared/core/storage/MyLocalStorageService.ts +22 -0
  382. package/aaaa/client/layout/shared/core/storage/MyStorageService.ts +17 -0
  383. package/aaaa/client/layout/shared/dev/dev-dashboard/dev-dashboard.component.html +26 -0
  384. package/aaaa/client/layout/shared/dev/dev-dashboard/dev-dashboard.component.scss +68 -0
  385. package/aaaa/client/layout/shared/dev/dev-dashboard/dev-dashboard.component.ts +24 -0
  386. package/aaaa/client/layout/shared/dev/dev-routing.module.ts +19 -0
  387. package/aaaa/client/layout/shared/dev/dev.module.ts +76 -0
  388. package/aaaa/client/layout/shared/entities/claims.model.ts +9 -0
  389. package/aaaa/client/layout/shared/entities/user.model.ts +9 -0
  390. package/aaaa/client/layout/shared/i18n/fr.json +74 -0
  391. package/aaaa/client/layout/shared/service/dev.service.ts +21 -0
  392. package/aaaa/client/layout/shared/service/policy.service.ts +22 -0
  393. package/aaaa/client/layout/shared/service/user.service.ts +71 -0
  394. package/aaaa/client/layout/shared/shared.module.ts +11 -0
  395. package/aaaa/client/layout/shared/utils/globals.ts +85 -0
  396. package/aaaa/client/layout/shared/utils/misc.ts +31 -0
  397. package/aaaa/client/main-routing.module.ts +47 -0
  398. package/aaaa/client/main.ts +13 -0
  399. package/aaaa/client/pages.module.ts +76 -0
  400. package/aaaa/client/polyfills.ts +64 -0
  401. package/aaaa/client/styles.scss +45 -0
  402. package/aaaa/client/themes.scss +84 -0
  403. package/aaaa/cypress/fixtures/example.json +5 -0
  404. package/aaaa/cypress/support/commands.ts +37 -0
  405. package/aaaa/cypress/support/component-index.html +12 -0
  406. package/aaaa/cypress/support/component.ts +39 -0
  407. package/aaaa/cypress.config.ts +11 -0
  408. package/aaaa/logo.png +0 -0
  409. package/aaaa/package.json +84 -0
  410. package/aaaa/policies/ui.policy.json +4 -0
  411. package/aaaa/pom.xml +59 -0
  412. package/aaaa/run.sh +7 -0
  413. package/aaaa/tsconfig.app.json +9 -0
  414. package/aaaa/tsconfig.json +39 -0
  415. package/aaaa/tsconfig.spec.json +9 -0
  416. package/aaaa/yarn.lock +8987 -0
  417. package/cmd/init.js +2 -1
  418. package/cmd/login.js +1 -1
  419. package/cmd/update.js +1 -1
  420. package/lib/s3.js +2 -8
  421. package/package.json +1 -1
@@ -0,0 +1,59 @@
1
+ # ===================================================================
2
+ # Spring Boot configuration.
3
+ #
4
+ # Contient uniquement les valeurs spécifiques à la PROD
5
+ #
6
+ # Pour que cette configuration soit utilisée, il faut appliquer un profil spring nommé prod
7
+ # On peut spécifier le profil actif via une option tomcat -Dspring.profiles.active=prod
8
+ # ===================================================================
9
+
10
+ logging:
11
+ config: classpath:logback-spring-ci.xml
12
+
13
+ spring:
14
+ output:
15
+ ansi:
16
+ # Pas de couleur dans les logs de la console : maximise la compatibilité
17
+ enabled: never
18
+ jpa:
19
+ properties:
20
+ hibernate:
21
+ show_sql: false
22
+ # En PROD : validate ou none
23
+ # Par mesure de sécurité, il faut placer une variable d'environnement en PROD à validate
24
+ # sinon : risque de perte de la BDD (par exemple si la valeur create est mise...)
25
+ hbm2ddl:
26
+ auto: none
27
+ flyway:
28
+ # Doit absolument être mis à true en PROD. Il faut ajouter une variable d'environnement par sécurité.
29
+ clean-disabled: true
30
+ locations: classpath:db/migration
31
+ out-of-order: false
32
+ # Les connexions aux bases de données utilisées par AAAA
33
+ # Les logins et les mots de passe sont à définir en variable d'environnement
34
+ datasource:
35
+ url: A_METTRE_EN_VAR_ENV
36
+ driver-class-name: org.postgresql.Driver
37
+ username: A_METTRE_EN_VAR_ENV
38
+ password: A_METTRE_EN_VAR_ENV
39
+ jackson:
40
+ serialization:
41
+ # optimise performance
42
+ indent_output: false
43
+ security:
44
+ oauth2:
45
+ resourceserver:
46
+ jwt:
47
+ jwk-set-uri: http://keycloak:9090/auth/realms/demo/protocol/openid-connect/certs
48
+
49
+ # En prod ne mettre que health
50
+ management:
51
+ endpoints:
52
+ web:
53
+ exposure:
54
+ include: "health"
55
+
56
+ info:
57
+ app:
58
+ audience: democadriciel_prod
59
+ issuer: https://orion.cerema.fr/auth/realms/CeremaApps
@@ -0,0 +1,59 @@
1
+ # ===================================================================
2
+ # Spring Boot configuration.
3
+ #
4
+ # Contient uniquement les valeurs spécifiques à la PROD
5
+ #
6
+ # Pour que cette configuration soit utilisée, il faut appliquer un profil spring nommé prod
7
+ # On peut spécifier le profil actif via une option tomcat -Dspring.profiles.active=prod
8
+ # ===================================================================
9
+
10
+ logging:
11
+ config: classpath:logback-spring-prod.xml
12
+
13
+ spring:
14
+ output:
15
+ ansi:
16
+ # Pas de couleur dans les logs de la console : maximise la compatibilité
17
+ enabled: never
18
+ jpa:
19
+ properties:
20
+ hibernate:
21
+ show_sql: false
22
+ # En PROD : validate ou none
23
+ # Par mesure de sécurité, il faut placer une variable d'environnement en PROD à validate
24
+ # sinon : risque de perte de la BDD (par exemple si la valeur create est mise...)
25
+ hbm2ddl:
26
+ auto: none
27
+ flyway:
28
+ # Doit absolument être mis à true en PROD. Il faut ajouter une variable d'environnement par sécurité.
29
+ clean-disabled: true
30
+ locations: classpath:db/migration
31
+ out-of-order: false
32
+ # Les connexions aux bases de données utilisées par AAAA
33
+ # Les logins et les mots de passe sont à définir en variable d'environnement
34
+ datasource:
35
+ url: jdbc:postgresql://db:5432/aaaa
36
+ driver-class-name: org.postgresql.Driver
37
+ username: A_METTRE_EN_VAR_ENV
38
+ password: A_METTRE_EN_VAR_ENV
39
+ jackson:
40
+ serialization:
41
+ # optimise performance
42
+ indent_output: false
43
+ security:
44
+ oauth2:
45
+ resourceserver:
46
+ jwt:
47
+ jwk-set-uri: http://keycloak:9090/auth/realms/demo/protocol/openid-connect/certs
48
+
49
+ # En prod ne mettre que health
50
+ management:
51
+ endpoints:
52
+ web:
53
+ exposure:
54
+ include: "health"
55
+
56
+ info:
57
+ app:
58
+ audience: aaaa
59
+ issuer: https://orion.cerema.fr/auth/realms/CeremaApps
@@ -0,0 +1,134 @@
1
+ # ===================================================================
2
+ # Spring Boot configuration.
3
+ #
4
+ # Cette configuration sera surchargée en fonction du profil spring utilisé,
5
+ # par exemple application-prod.yml avec le profile "prod".
6
+ #
7
+ # On peut spécifier le profil actif via une option tomcat -Dspring.profiles.active=prod
8
+ # ===================================================================
9
+ #
10
+ # Il existe une autre manière de surcharger ces valeurs : en utilisant des variables d'environnement.
11
+ # C'est OBLIGATOIRE de le faire pour tous les "secrets" : mot de passe de prod, etc.
12
+ # Il ne doit y en avoir aucun dans le dépôt git... à l'exception bien sûr des environnements de dev.
13
+ #
14
+ # ===================================================================
15
+ # Standard Spring Boot properties.
16
+ # Full reference is available at:
17
+ # http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html
18
+ # ===================================================================
19
+
20
+ # Chaque propriété ci-dessous peut être surchargée par une variable d'environnement.
21
+ # Par exemple :
22
+ # - en paramètre de tomcat : -Dlogging.config=/chemin/en/prod/logback.xml
23
+ # - en variable système : export LOGGING_CONFIG=/chemin/en/prod/logback.xml
24
+
25
+ # Les règles de conversion sont :
26
+ # - remplacer les (.) par des (_)
27
+ # - supprimer les tirets (-)
28
+ # - tout en majuscule
29
+ # par exemple : spring.main.log-startup-info devient SPRING_MAIN_LOGSTARTUPINFO.
30
+ #--------------------------------------------------------------------
31
+
32
+ # Il est conseillé en prod de surcharger ce paramètre et de fournir un fichier logback adapté.
33
+ # Celui fourni ici est utile pour le développement.
34
+ logging:
35
+ config: classpath:logback-spring.xml
36
+ level:
37
+ org:
38
+ springframework: INFO
39
+
40
+ # On active la compression de certaines réponses
41
+ server:
42
+ compression:
43
+ enabled: true
44
+ mime-types: text/html,text/xml,text/plain,text/css,text/javascript,application/javascript,application/json
45
+ min-response-size: 1024
46
+ port: 8080
47
+
48
+ spring:
49
+ # A activer si besoin
50
+ #mail:
51
+ # host: localhost
52
+ # port: 8025
53
+ output:
54
+ ansi:
55
+ # Mettre des belles couleurs dans les logs de la console
56
+ enabled: always
57
+ jpa:
58
+ # On désactive les sessions dans la couche presentation
59
+ open-in-view: "false"
60
+ properties:
61
+ hibernate:
62
+ show_sql: true
63
+ format-sql: false
64
+ dialect: org.hibernate.dialect.PostgreSQLDialect
65
+ use_sql_comments: false
66
+ # An improved naming strategy that prefers embedded underscores to mixed case names
67
+ naming-strategy: org.hibernate.cfg.ImprovedNamingStrategy
68
+ id:
69
+ new_generator_mappings: true
70
+ temp:
71
+ use_jdbc_metadata_defaults: false
72
+ # En PROD : validate ou none
73
+ # Par mesure de sécurité, il faut placer une variable d'environnement en PROD à validate
74
+ # sinon : risque de perte de la BDD (par exemple si la valeur create est mise...)
75
+ hbm2ddl:
76
+ auto: validate
77
+ default_schema: aaaa
78
+ flyway:
79
+ # Doit absolument être mis à true en PROD. Il faut ajouter une variable d'environnement par sécurité.
80
+ clean-disabled: true
81
+ enabled: true
82
+ schemas: aaaa
83
+ create-schemas: true
84
+ locations: classpath:db/migration,classpath:db/dev
85
+ out-of-order: false
86
+ # Les connexions aux bases de données utilisées par AAAA
87
+ # Les logins et les mots de passe sont à définir en variable d'environnement
88
+ datasource:
89
+ url: jdbc:postgresql://db:5432/aaaa
90
+ driver-class-name: org.postgresql.Driver
91
+ username: aaaa
92
+ password: aaaa
93
+ jackson:
94
+ serialization:
95
+ indent_output: true
96
+ security:
97
+ oauth2:
98
+ resourceserver:
99
+ jwt:
100
+ jwk-set-uri: http://keycloak:9090/auth/realms/demo/protocol/openid-connect/certs
101
+ issuer-uri: http://keycloak:9090/auth/realms/demo
102
+ mvc:
103
+ pathmatch:
104
+ # utilisé par ClientForwardController
105
+ matching-strategy: ant_path_matcher
106
+
107
+ # L'url d'accès à la documentation de l'API auto-générée
108
+ # Il y aura alors trois formats :
109
+ # - api est en json
110
+ # - api.yaml sera en yml
111
+ # - api.html est une version interactive basée sur swagger
112
+ springdoc:
113
+ api-docs:
114
+ path: /api-docs/api
115
+ swagger-ui:
116
+ path: /api-docs/api.html
117
+ display-request-duration: true
118
+ operations-sorter: alpha
119
+ tags-sorter: alpha
120
+ doc-expansion: none
121
+
122
+ # En prod ne mettre que health
123
+ management:
124
+ endpoints:
125
+ web:
126
+ exposure:
127
+ include: "*"
128
+
129
+ info:
130
+ app:
131
+ audience: demo
132
+ issuer: http://keycloak:9090/auth/realms/demo
133
+ # Ce numéro de version est automatiquement mis à jour par le build Maven
134
+ version: '@project.version@'
@@ -0,0 +1,18 @@
1
+ package fr.cerema.dsi.aaaa.service;
2
+
3
+ import fr.cerema.dsi.aaaa.App;
4
+ import org.springframework.boot.test.context.SpringBootTest;
5
+
6
+ import java.lang.annotation.ElementType;
7
+ import java.lang.annotation.Retention;
8
+ import java.lang.annotation.RetentionPolicy;
9
+ import java.lang.annotation.Target;
10
+
11
+ /**
12
+ * Base composite annotation for integration tests.
13
+ */
14
+ @Target(ElementType.TYPE)
15
+ @Retention(RetentionPolicy.RUNTIME)
16
+ @SpringBootTest(classes = App.class)
17
+ public @interface IntegrationTest {
18
+ }
@@ -0,0 +1,43 @@
1
+ package fr.cerema.dsi.aaaa.service;
2
+
3
+ import fr.cerema.dsi.aaaa.entities.User;
4
+ import fr.cerema.dsi.aaaa.services.impl.UserServiceImpl;
5
+ import org.junit.jupiter.api.Assertions;
6
+ import org.junit.jupiter.api.Test;
7
+ import org.junit.jupiter.api.extension.ExtendWith;
8
+ import org.springframework.beans.factory.annotation.Autowired;
9
+ import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
10
+ import org.springframework.security.core.context.SecurityContextHolder;
11
+ import org.springframework.test.context.junit.jupiter.SpringExtension;
12
+
13
+ import java.util.Optional;
14
+
15
+ @IntegrationTest
16
+ @ExtendWith(SpringExtension.class)
17
+ public class UserServiceImplIT {
18
+
19
+ @Autowired
20
+ private UserServiceImpl userService;
21
+
22
+
23
+ @Test
24
+ public void shouldReturnUserNullWhenUsernameDoesntExist() {
25
+ SecurityContextHolder.getContext()
26
+ .setAuthentication(new UsernamePasswordAuthenticationToken("ptardiveau@sqli", "admin"));
27
+ Optional<User> user = userService.getCurrentUser();
28
+ Assertions.assertTrue(user.isEmpty());
29
+ }
30
+
31
+ @Test
32
+ public void shouldReturnUserWhenUsernameExist() {
33
+ User user = new User();
34
+ user.setId(1L);
35
+ user.setOrionId("");
36
+ user.setEmail("ptardiveau@sqli.com");
37
+ SecurityContextHolder.getContext()
38
+ .setAuthentication(new UsernamePasswordAuthenticationToken("ptardiveau@sqli.com", "admin"));
39
+ Optional<User> userCurrent = userService.getCurrentUser();
40
+ Assertions.assertEquals(user.getEmail(), userCurrent.orElseThrow().getEmail());
41
+ }
42
+
43
+ }
@@ -0,0 +1,41 @@
1
+ spring:
2
+ mvc:
3
+ pathmatch:
4
+ matching-strategy: ant_path_matcher
5
+ application:
6
+ name: aaaa
7
+ datasource:
8
+ driver-class-name: org.h2.Driver
9
+ url: jdbc:h2:mem:cerema_test_db?currentSchema=cerema;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE;DATABASE_TO_UPPER=false
10
+ username: test
11
+ password:
12
+ jpa:
13
+ properties:
14
+ hibernate:
15
+ dialect: org.hibernate.dialect.H2Dialect
16
+ default_schema: cerema
17
+ flyway:
18
+ locations: classpath:db.migration/
19
+ schemas: cerema
20
+ create-schemas: true
21
+ security:
22
+ oauth2:
23
+ resourceserver:
24
+ jwt:
25
+ jwk-set-uri: http://keycloak:9090/auth/realms/demo/protocol/openid-connect/certs
26
+
27
+
28
+ info:
29
+ app:
30
+ audience: aaaa
31
+ issuer: http://keycloak:9090/auth/realms/demo
32
+ version: '@project.version@'
33
+ mail:
34
+ host: maildev.lyon.sqli.com
35
+ port: 25
36
+ username:
37
+ password:
38
+ auth: "false"
39
+ tls: "false"
40
+ from: "pyramid@cerema.fr"
41
+
@@ -0,0 +1,6 @@
1
+ ## Fichiers de description des migrations de test
2
+
3
+ Les fichiers de migration utilisés pour les tests d'intégration. Ils seront lancés automatiquement par la plateforme
4
+ d'intégration continue.
5
+
6
+ Les règles de nommage sont définies dans le [readme](../migration/Readme.md) du dossier de migration de prod
@@ -0,0 +1,2 @@
1
+ org.springframework.boot.diagnostics.FailureAnalyzer=\
2
+ fr.cerema.dsi.aaaa.config.analyzer.JwtConfMalformedAnalyzer
@@ -0,0 +1,59 @@
1
+ # ===================================================================
2
+ # Spring Boot configuration.
3
+ #
4
+ # Contient uniquement les valeurs spécifiques à la PROD
5
+ #
6
+ # Pour que cette configuration soit utilisée, il faut appliquer un profil spring nommé prod
7
+ # On peut spécifier le profil actif via une option tomcat -Dspring.profiles.active=prod
8
+ # ===================================================================
9
+
10
+ logging:
11
+ config: classpath:logback-spring-ci.xml
12
+
13
+ spring:
14
+ output:
15
+ ansi:
16
+ # Pas de couleur dans les logs de la console : maximise la compatibilité
17
+ enabled: never
18
+ jpa:
19
+ properties:
20
+ hibernate:
21
+ show_sql: false
22
+ # En PROD : validate ou none
23
+ # Par mesure de sécurité, il faut placer une variable d'environnement en PROD à validate
24
+ # sinon : risque de perte de la BDD (par exemple si la valeur create est mise...)
25
+ hbm2ddl:
26
+ auto: none
27
+ flyway:
28
+ # Doit absolument être mis à true en PROD. Il faut ajouter une variable d'environnement par sécurité.
29
+ clean-disabled: true
30
+ locations: classpath:db/migration
31
+ out-of-order: false
32
+ # Les connexions aux bases de données utilisées par AAAA
33
+ # Les logins et les mots de passe sont à définir en variable d'environnement
34
+ datasource:
35
+ url: A_METTRE_EN_VAR_ENV
36
+ driver-class-name: org.postgresql.Driver
37
+ username: A_METTRE_EN_VAR_ENV
38
+ password: A_METTRE_EN_VAR_ENV
39
+ jackson:
40
+ serialization:
41
+ # optimise performance
42
+ indent_output: false
43
+ security:
44
+ oauth2:
45
+ resourceserver:
46
+ jwt:
47
+ jwk-set-uri: http://keycloak:9090/auth/realms/demo/protocol/openid-connect/certs
48
+
49
+ # En prod ne mettre que health
50
+ management:
51
+ endpoints:
52
+ web:
53
+ exposure:
54
+ include: "health"
55
+
56
+ info:
57
+ app:
58
+ audience: democadriciel_prod
59
+ issuer: https://orion.cerema.fr/auth/realms/CeremaApps
@@ -0,0 +1,59 @@
1
+ # ===================================================================
2
+ # Spring Boot configuration.
3
+ #
4
+ # Contient uniquement les valeurs spécifiques à la PROD
5
+ #
6
+ # Pour que cette configuration soit utilisée, il faut appliquer un profil spring nommé prod
7
+ # On peut spécifier le profil actif via une option tomcat -Dspring.profiles.active=prod
8
+ # ===================================================================
9
+
10
+ logging:
11
+ config: classpath:logback-spring-prod.xml
12
+
13
+ spring:
14
+ output:
15
+ ansi:
16
+ # Pas de couleur dans les logs de la console : maximise la compatibilité
17
+ enabled: never
18
+ jpa:
19
+ properties:
20
+ hibernate:
21
+ show_sql: false
22
+ # En PROD : validate ou none
23
+ # Par mesure de sécurité, il faut placer une variable d'environnement en PROD à validate
24
+ # sinon : risque de perte de la BDD (par exemple si la valeur create est mise...)
25
+ hbm2ddl:
26
+ auto: none
27
+ flyway:
28
+ # Doit absolument être mis à true en PROD. Il faut ajouter une variable d'environnement par sécurité.
29
+ clean-disabled: true
30
+ locations: classpath:db/migration
31
+ out-of-order: false
32
+ # Les connexions aux bases de données utilisées par AAAA
33
+ # Les logins et les mots de passe sont à définir en variable d'environnement
34
+ datasource:
35
+ url: jdbc:postgresql://db:5432/aaaa
36
+ driver-class-name: org.postgresql.Driver
37
+ username: A_METTRE_EN_VAR_ENV
38
+ password: A_METTRE_EN_VAR_ENV
39
+ jackson:
40
+ serialization:
41
+ # optimise performance
42
+ indent_output: false
43
+ security:
44
+ oauth2:
45
+ resourceserver:
46
+ jwt:
47
+ jwk-set-uri: http://keycloak:9090/auth/realms/demo/protocol/openid-connect/certs
48
+
49
+ # En prod ne mettre que health
50
+ management:
51
+ endpoints:
52
+ web:
53
+ exposure:
54
+ include: "health"
55
+
56
+ info:
57
+ app:
58
+ audience: aaaa
59
+ issuer: https://orion.cerema.fr/auth/realms/CeremaApps
@@ -0,0 +1,134 @@
1
+ # ===================================================================
2
+ # Spring Boot configuration.
3
+ #
4
+ # Cette configuration sera surchargée en fonction du profil spring utilisé,
5
+ # par exemple application-prod.yml avec le profile "prod".
6
+ #
7
+ # On peut spécifier le profil actif via une option tomcat -Dspring.profiles.active=prod
8
+ # ===================================================================
9
+ #
10
+ # Il existe une autre manière de surcharger ces valeurs : en utilisant des variables d'environnement.
11
+ # C'est OBLIGATOIRE de le faire pour tous les "secrets" : mot de passe de prod, etc.
12
+ # Il ne doit y en avoir aucun dans le dépôt git... à l'exception bien sûr des environnements de dev.
13
+ #
14
+ # ===================================================================
15
+ # Standard Spring Boot properties.
16
+ # Full reference is available at:
17
+ # http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html
18
+ # ===================================================================
19
+
20
+ # Chaque propriété ci-dessous peut être surchargée par une variable d'environnement.
21
+ # Par exemple :
22
+ # - en paramètre de tomcat : -Dlogging.config=/chemin/en/prod/logback.xml
23
+ # - en variable système : export LOGGING_CONFIG=/chemin/en/prod/logback.xml
24
+
25
+ # Les règles de conversion sont :
26
+ # - remplacer les (.) par des (_)
27
+ # - supprimer les tirets (-)
28
+ # - tout en majuscule
29
+ # par exemple : spring.main.log-startup-info devient SPRING_MAIN_LOGSTARTUPINFO.
30
+ #--------------------------------------------------------------------
31
+
32
+ # Il est conseillé en prod de surcharger ce paramètre et de fournir un fichier logback adapté.
33
+ # Celui fourni ici est utile pour le développement.
34
+ logging:
35
+ config: classpath:logback-spring.xml
36
+ level:
37
+ org:
38
+ springframework: INFO
39
+
40
+ # On active la compression de certaines réponses
41
+ server:
42
+ compression:
43
+ enabled: true
44
+ mime-types: text/html,text/xml,text/plain,text/css,text/javascript,application/javascript,application/json
45
+ min-response-size: 1024
46
+ port: 8080
47
+
48
+ spring:
49
+ # A activer si besoin
50
+ #mail:
51
+ # host: localhost
52
+ # port: 8025
53
+ output:
54
+ ansi:
55
+ # Mettre des belles couleurs dans les logs de la console
56
+ enabled: always
57
+ jpa:
58
+ # On désactive les sessions dans la couche presentation
59
+ open-in-view: "false"
60
+ properties:
61
+ hibernate:
62
+ show_sql: true
63
+ format-sql: false
64
+ dialect: org.hibernate.dialect.PostgreSQLDialect
65
+ use_sql_comments: false
66
+ # An improved naming strategy that prefers embedded underscores to mixed case names
67
+ naming-strategy: org.hibernate.cfg.ImprovedNamingStrategy
68
+ id:
69
+ new_generator_mappings: true
70
+ temp:
71
+ use_jdbc_metadata_defaults: false
72
+ # En PROD : validate ou none
73
+ # Par mesure de sécurité, il faut placer une variable d'environnement en PROD à validate
74
+ # sinon : risque de perte de la BDD (par exemple si la valeur create est mise...)
75
+ hbm2ddl:
76
+ auto: validate
77
+ default_schema: aaaa
78
+ flyway:
79
+ # Doit absolument être mis à true en PROD. Il faut ajouter une variable d'environnement par sécurité.
80
+ clean-disabled: true
81
+ enabled: true
82
+ schemas: aaaa
83
+ create-schemas: true
84
+ locations: classpath:db/migration,classpath:db/dev
85
+ out-of-order: false
86
+ # Les connexions aux bases de données utilisées par AAAA
87
+ # Les logins et les mots de passe sont à définir en variable d'environnement
88
+ datasource:
89
+ url: jdbc:postgresql://db:5432/aaaa
90
+ driver-class-name: org.postgresql.Driver
91
+ username: aaaa
92
+ password: aaaa
93
+ jackson:
94
+ serialization:
95
+ indent_output: true
96
+ security:
97
+ oauth2:
98
+ resourceserver:
99
+ jwt:
100
+ jwk-set-uri: http://keycloak:9090/auth/realms/demo/protocol/openid-connect/certs
101
+ issuer-uri: http://keycloak:9090/auth/realms/demo
102
+ mvc:
103
+ pathmatch:
104
+ # utilisé par ClientForwardController
105
+ matching-strategy: ant_path_matcher
106
+
107
+ # L'url d'accès à la documentation de l'API auto-générée
108
+ # Il y aura alors trois formats :
109
+ # - api est en json
110
+ # - api.yaml sera en yml
111
+ # - api.html est une version interactive basée sur swagger
112
+ springdoc:
113
+ api-docs:
114
+ path: /api-docs/api
115
+ swagger-ui:
116
+ path: /api-docs/api.html
117
+ display-request-duration: true
118
+ operations-sorter: alpha
119
+ tags-sorter: alpha
120
+ doc-expansion: none
121
+
122
+ # En prod ne mettre que health
123
+ management:
124
+ endpoints:
125
+ web:
126
+ exposure:
127
+ include: "*"
128
+
129
+ info:
130
+ app:
131
+ audience: demo
132
+ issuer: http://keycloak:9090/auth/realms/demo
133
+ # Ce numéro de version est automatiquement mis à jour par le build Maven
134
+ version: '0.0.1'
@@ -0,0 +1,3 @@
1
+ ${AnsiColor.GREEN}§§projectNS§§ ${AnsiColor.BLUE}${info.app.version}
2
+ ${AnsiColor.CYAN}POC gestion de données spatiales
3
+ ${AnsiColor.DEFAULT}