@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,45 @@
1
+ const fs = require('fs');
2
+ const chalk = require('chalk-v2');
3
+ const path = require('path');
4
+ const ora = require('ora');
5
+ const { exec } = require('child_process');
6
+ const os = require('os');
7
+
8
+ const HOSTS_PATH = '/etc/hosts';
9
+ const MAPPING_ENTRY = '127.0.0.1 keycloak';
10
+
11
+ function removeMapping() {
12
+ let hostsContent = fs.readFileSync(HOSTS_PATH, 'utf8');
13
+ if (hostsContent.includes(MAPPING_ENTRY)) {
14
+ hostsContent = hostsContent.replace(MAPPING_ENTRY, '').trim();
15
+ fs.writeFileSync(HOSTS_PATH, hostsContent + os.EOL);
16
+ }
17
+ }
18
+
19
+ var SETUP = fs.readFileSync(`${__dirname}/../.uuid`, 'utf-8').split('\n')[0];
20
+
21
+ const spinner = ora(
22
+ 'Suppression de votre environnement de développement...'
23
+ ).start();
24
+
25
+ const dockerPath = path.resolve(__dirname, `../../docker/${SETUP}`);
26
+
27
+ removeMapping();
28
+ exec(
29
+ `cd ${dockerPath} && docker-compose down --volumes`,
30
+ (error, stdout, stderr) => {
31
+ spinner.stop();
32
+ if (error) {
33
+ console.error(chalk.red(`error: ${error}`));
34
+ return;
35
+ }
36
+ fs.renameSync(
37
+ path.resolve(__dirname, `../../docker/${SETUP}`),
38
+ path.resolve(__dirname, `../../docker/setup`)
39
+ );
40
+ fs.unlinkSync(path.resolve(__dirname, `../../docker/${SETUP}/.env`));
41
+ console.log(
42
+ '👍 Votre environnement de développement a bien été supprimé.\n'
43
+ );
44
+ }
45
+ );
@@ -0,0 +1,30 @@
1
+ const serviceName = process.argv[process.argv.length - 1];
2
+ const { spawn } = require('child_process');
3
+ const fs = require('fs');
4
+ const path = require('path');
5
+
6
+ var SETUP = fs.readFileSync(`${__dirname}/../.uuid`, 'utf-8').split('\n')[0];
7
+
8
+ const executeDocker = (serviceName) => {
9
+ const dockerComposeDir = path.resolve(
10
+ path.join(__dirname + '/../../docker', SETUP)
11
+ );
12
+
13
+ const dockerComposeLogs = spawn('docker-compose', ['restart', serviceName], {
14
+ cwd: dockerComposeDir,
15
+ });
16
+
17
+ dockerComposeLogs.stdout.on('data', (data) => {
18
+ console.log(`${data}`);
19
+ });
20
+
21
+ dockerComposeLogs.stderr.on('data', (data) => {
22
+ console.error(`${data}`);
23
+ });
24
+
25
+ dockerComposeLogs.on('close', (code) => {
26
+ console.log(`exited.`);
27
+ });
28
+ };
29
+
30
+ executeDocker(serviceName);
@@ -0,0 +1,194 @@
1
+ const fs = require('fs');
2
+ const path = require('path');
3
+ const { exec } = require('child_process');
4
+ const ora = require('ora');
5
+ const chalk = require('chalk-v2');
6
+ const fetch = require('node-fetch');
7
+ const os = require('os');
8
+
9
+ const HOSTS_PATH = '/etc/hosts';
10
+ const MAPPING_ENTRY = '127.0.0.1 keycloak';
11
+
12
+ function addMapping() {
13
+ const hostsContent = fs.readFileSync(HOSTS_PATH, 'utf8');
14
+ if (!hostsContent.includes(MAPPING_ENTRY)) {
15
+ fs.appendFileSync(HOSTS_PATH, os.EOL + MAPPING_ENTRY);
16
+ }
17
+ }
18
+
19
+ var dockerPath = path.resolve(__dirname, `../../docker/setup`);
20
+ if (fs.existsSync(dockerPath)) {
21
+ const uuid = require('shortid').generate();
22
+ fs.writeFileSync(`${__dirname}/../.uuid`, uuid);
23
+ fs.renameSync(dockerPath, path.resolve(__dirname, `../../docker/${uuid}`));
24
+ }
25
+ var SETUP = fs.readFileSync(`${__dirname}/../.uuid`, 'utf-8');
26
+
27
+ let envContent;
28
+
29
+ const dir = __dirname + '/../../api';
30
+ const data_dir = fs.readdirSync(dir);
31
+ let data = data_dir.find((item) => item.includes('-data'));
32
+ const schema = data.split('-data')[0];
33
+
34
+ function changeFlywayURI() {
35
+ const POSTGRES_DB = envContent.match(/^POSTGRES_DB=(.*)$/m)[1];
36
+ const POSTGRES_USER = envContent.match(/^POSTGRES_USER=(.*)$/m)[1];
37
+ const POSTGRES_PASSWORD = envContent.match(/^POSTGRES_PASSWORD=(.*)$/m)[1];
38
+ const flywayTpl = `flyway.url=jdbc:postgresql://db:5432/${POSTGRES_DB}?currentSchema=${schema}
39
+ flyway.user=${POSTGRES_USER}
40
+ flyway.password=${POSTGRES_PASSWORD}
41
+ flyway.driver=org.postgresql.Driver`;
42
+
43
+ const flyway_dir = dir + '/' + data + '/src/main/resources/flyway.properties';
44
+ fs.writeFileSync(flyway_dir, flywayTpl, 'utf-8');
45
+ }
46
+
47
+ let ENV = `
48
+ # Postgres
49
+ POSTGRES_USER=${schema}
50
+ POSTGRES_PASSWORD=${schema}
51
+ POSTGRES_DB=${schema}
52
+ POSTGRES_DEV_PORT=5435
53
+ POSTGRES_PROD_PORT=5436
54
+
55
+ # PgAdmin
56
+ PGADMIN_DEFAULT_EMAIL=admin@cerema.fr
57
+ PGADMIN_DEFAULT_PASSWORD=CeremaRulez!
58
+ PGADMIN_PORT=5050
59
+
60
+ # InBucket
61
+ INBUCKET_WEB_PORT=9000
62
+ INBUCKET_SMTP_PORT=2500
63
+ INBUCKET_POP3_PORT=1100
64
+
65
+ # Keycloak
66
+ KEYCLOAK_USER=admin
67
+ KEYCLOAK_PASSWORD=admin
68
+ KEYCLOAK_PORT=9090
69
+ `;
70
+
71
+ let spinner = ora(
72
+ 'Initialisation de votre environnement de développement...'
73
+ ).start();
74
+
75
+ const display = () => {
76
+ spinner.stop();
77
+ console.log('👍 Environnement de développement ' + chalk.bold('OK') + '\n');
78
+ console.log('---------------------------------------------------------');
79
+ console.log(
80
+ chalk.bold('PgAdmin') +
81
+ '\t\t\t\t' +
82
+ ` http://localhost:${process.env.PGADMIN_PORT}`
83
+ );
84
+ console.log('login: ' + chalk.cyan(process.env.PGADMIN_DEFAULT_EMAIL));
85
+ console.log('password: ' + chalk.cyan(process.env.PGADMIN_DEFAULT_PASSWORD));
86
+ console.log('---------------------------------------------------------');
87
+ console.log(
88
+ chalk.bold('inBucket (fakeSMTP) console') +
89
+ '\t' +
90
+ ` http://localhost:${process.env.INBUCKET_WEB_PORT}`
91
+ );
92
+ console.log('---------------------------------------------------------');
93
+ console.log(
94
+ chalk.bold('keyCloack (SSO) console') +
95
+ '\t\t' +
96
+ ` http://localhost:${process.env.KEYCLOAK_PORT}`
97
+ );
98
+ console.log('login: ' + chalk.cyan(process.env.KEYCLOAK_USER));
99
+ console.log('password: ' + chalk.cyan(process.env.KEYCLOAK_PASSWORD));
100
+ console.log(' ');
101
+ console.log(chalk.green('👨‍🦱 Pierre Dupont (Utilisateur test)'));
102
+ console.log(' login: ' + chalk.cyan('pierre'));
103
+ console.log(' password: ' + chalk.cyan('password'));
104
+ console.log(chalk.green('👩‍🦰 Marie Durant (Utilisateur test)'));
105
+ console.log(' login: ' + chalk.cyan('marie'));
106
+ console.log(' password: ' + chalk.cyan('test'));
107
+ console.log(' ');
108
+ console.log('---------------------------------------------------------');
109
+
110
+ console.log(chalk.bold('postgres'));
111
+ console.log(
112
+ 'uri:',
113
+ chalk.cyan(
114
+ `postgres://${process.env.POSTGRES_USER}:${process.env.POSTGRES_PASSWORD}@db/${process.env.POSTGRES_DB}`
115
+ )
116
+ );
117
+ console.log('---------------------------------------------------------\n');
118
+ };
119
+
120
+ const check = async () => {
121
+ spinner.stop();
122
+ console.log(' ');
123
+ const check_api = async (cb) => {
124
+ try {
125
+ await fetch('http://localhost:8080/');
126
+ return cb();
127
+ } catch (error) {
128
+ check_api(cb);
129
+ }
130
+ };
131
+ const check_frontend = async (cb) => {
132
+ try {
133
+ await fetch('http://localhost:4200/');
134
+ return cb();
135
+ } catch (error) {
136
+ check_frontend(cb);
137
+ }
138
+ };
139
+ const check_keycloak = async (cb) => {
140
+ try {
141
+ await fetch('http://keycloak:9090/');
142
+ return cb();
143
+ } catch (error) {
144
+ check_keycloak(cb);
145
+ }
146
+ };
147
+ spinner = ora('check backend').start();
148
+ check_api(() => {
149
+ spinner.succeed('backend is running');
150
+ spinner = ora('check keycloak').start();
151
+ check_keycloak(() => {
152
+ spinner.succeed('keycloak is running');
153
+ console.log(' ');
154
+ display();
155
+ });
156
+ });
157
+ };
158
+
159
+ const launch = () => {
160
+ changeFlywayURI();
161
+ const dockerPath = path.resolve(__dirname, `../../docker/${SETUP}`);
162
+ exec(`cd ${dockerPath} && docker-compose up -d`, check);
163
+ };
164
+
165
+ addMapping();
166
+
167
+ fs.readFile(`${__dirname}/../../docker/${SETUP}/.env`, 'utf-8', (err, str) => {
168
+ if (err)
169
+ return fs.writeFile(
170
+ `${__dirname}/../../docker/${SETUP}/.env`,
171
+ ENV,
172
+ (err) => {
173
+ if (err) throw err;
174
+ envContent = fs.readFileSync(
175
+ `${__dirname}/../../docker/${SETUP}/.env`,
176
+ 'utf-8'
177
+ );
178
+ require('dotenv').config({
179
+ path: `${__dirname}/../../docker/${SETUP}/.env`,
180
+ });
181
+ launch();
182
+ }
183
+ );
184
+ else {
185
+ envContent = fs.readFileSync(
186
+ `${__dirname}/../../docker/${SETUP}/.env`,
187
+ 'utf-8'
188
+ );
189
+ require('dotenv').config({
190
+ path: `${__dirname}/../../docker/${SETUP}/.env`,
191
+ });
192
+ launch();
193
+ }
194
+ });
@@ -0,0 +1,32 @@
1
+ const fs = require('fs');
2
+ const chalk = require('chalk-v2');
3
+ const path = require('path');
4
+ const ora = require('ora');
5
+ const { exec } = require('child_process');
6
+ const os = require('os');
7
+
8
+ const HOSTS_PATH = '/etc/hosts';
9
+ const MAPPING_ENTRY = '127.0.0.1 keycloak';
10
+
11
+ function removeMapping() {
12
+ let hostsContent = fs.readFileSync(HOSTS_PATH, 'utf8');
13
+ if (hostsContent.includes(MAPPING_ENTRY)) {
14
+ hostsContent = hostsContent.replace(MAPPING_ENTRY, '').trim();
15
+ fs.writeFileSync(HOSTS_PATH, hostsContent + os.EOL);
16
+ }
17
+ }
18
+
19
+ var SETUP = fs.readFileSync(`${__dirname}/../.uuid`, 'utf-8');
20
+
21
+ const spinner = ora('Arrêt de votre environnement de développement...').start();
22
+
23
+ const dockerPath = path.resolve(__dirname, `../../docker/${SETUP}`);
24
+ removeMapping();
25
+ exec(`cd ${dockerPath} && docker-compose down`, (error, stdout, stderr) => {
26
+ spinner.stop();
27
+ if (error) {
28
+ console.error(chalk.red(`error: ${error}`));
29
+ return;
30
+ }
31
+ console.log('👍 Votre environnement de développement est maintenant arrêté.\n');
32
+ });
@@ -0,0 +1 @@
1
+ <p>{{nameUpperCase}} works!</p>
@@ -0,0 +1,15 @@
1
+ import { Component, OnInit } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+
4
+ @Component({
5
+ standalone: true,
6
+ imports: [CommonModule],
7
+ selector: 'app-{{name}}',
8
+ templateUrl: './{{name}}.component.html',
9
+ styleUrls: ['./{{name}}.component.scss'],
10
+ })
11
+ export class {{nameUpperCase}}Component implements OnInit {
12
+ constructor() {}
13
+
14
+ ngOnInit(): void {}
15
+ }
@@ -0,0 +1,59 @@
1
+ package {{{namespace}}}.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("{{{packageName}}}")
48
+ .description("<b>{{{packageDescription}}}</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
+ }
@@ -0,0 +1,30 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { RouterModule } from '@angular/router';
3
+ {{#each imports}}
4
+ import { {{name}} } from '{{path}}';
5
+ {{/each}}
6
+
7
+ @NgModule({
8
+ imports: [RouterModule.forChild([
9
+ {{#each routes}}
10
+ {
11
+ path: '{{path}}',
12
+ {{#if component}}
13
+ component: {{component}},
14
+ {{/if}}
15
+ {{#if children}}
16
+ children: [
17
+ {{#each children}}
18
+ {
19
+ path: '{{path}}',
20
+ component: {{component}},
21
+ },
22
+ {{/each}}
23
+ ],
24
+ {{/if}}
25
+ },
26
+ {{/each}}
27
+ ])],
28
+ exports: [RouterModule],
29
+ })
30
+ export class HomeRoutingModule {}
@@ -0,0 +1 @@
1
+ <h1>{{nameUpperCase}} works !</h1>
@@ -0,0 +1,16 @@
1
+ import { Component, OnInit } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+
4
+ @Component({
5
+ imports: [ CommonModule ],
6
+ standalone: true,
7
+ templateUrl: './{{name}}.component.html',
8
+ styleUrls: ['./{{name}}.component.scss'],
9
+ })
10
+ export class {{nameUpperCase}}Component implements OnInit {
11
+ constructor() {}
12
+
13
+ ngOnInit(): void {}
14
+
15
+
16
+ }
@@ -0,0 +1,20 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { Injectable } from '@angular/core';
3
+ import { Observable } from 'rxjs';
4
+ import { ApplicationConfigService } from 'layout/shared/core/config/application-config.service';
5
+
6
+ @Injectable({
7
+ providedIn: 'root',
8
+ })
9
+ export class {{nameUpperCase}}Service {
10
+ constructor(
11
+ private httpClient: HttpClient,
12
+ private applicationConfigService: ApplicationConfigService
13
+ ) {}
14
+ /** sample */
15
+ public hello(): Observable<any> {
16
+ return this.httpClient.get(
17
+ this.applicationConfigService.getEndpointFor(`/hello`)
18
+ );
19
+ }
20
+ }
@@ -0,0 +1 @@
1
+ ["root","profils","test"]
@@ -0,0 +1,65 @@
1
+ image: docker:20.04
2
+ stages:
3
+ - init
4
+ - build
5
+ - deploy
6
+
7
+ variables:
8
+ APP_VERSION: "latest"
9
+
10
+ init-scripts:
11
+ stage: init
12
+ image: ubuntu:20.04
13
+ environment:
14
+ name: prod
15
+ tags:
16
+ - cerema-runner
17
+ only:
18
+ - main
19
+ script:
20
+ - apt-get update && apt-get install -y wget gettext-base
21
+ - wget -qO /usr/local/bin/yq https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64
22
+ - chmod a+x /usr/local/bin/yq
23
+ - echo "APP_VERSION=$(yq eval '.version' ./kubernetes/Chart.yaml)" > global.env
24
+ - echo "APP_NAME=$(yq eval '.name' ./kubernetes/Chart.yaml)" >> global.env
25
+ - export APP_NAME=$(yq eval '.name' ./kubernetes/Chart.yaml)
26
+ - envsubst < ./frontend/src/environments/environment.ci.ts > ./environment.ci.ts
27
+ artifacts:
28
+ reports:
29
+ dotenv: global.env
30
+ paths:
31
+ - ./environment.ci.ts
32
+
33
+ build-app:
34
+ stage: build
35
+ tags:
36
+ - cerema-runner
37
+ image:
38
+ name: gcr.io/kaniko-project/executor:debug
39
+ entrypoint: [""]
40
+ only:
41
+ - main
42
+ environment:
43
+ name: prod
44
+ script:
45
+ - echo ${APP_VERSION}
46
+ - echo "{\"auths\":{\"${CI_REGISTRY_URI}\":{\"username\":\"${CI_REGISTRY_USER}\",\"password\":\"${CI_REGISTRY_PASSWORD}\"}}}" > /kaniko/.docker/config.json
47
+ - /kaniko/executor --context ${CI_PROJECT_DIR}/ --dockerfile ./Dockerfile --destination ${CI_REGISTRY_URI}/${CI_PROJECT_PATH}:${APP_VERSION}
48
+
49
+ deploy_prod:
50
+ stage: deploy
51
+ tags:
52
+ - cerema-runner
53
+ image:
54
+ name: dtzar/helm-kubectl
55
+ entrypoint: [""]
56
+ environment:
57
+ name: prod
58
+ only:
59
+ - main
60
+ script:
61
+ - kubectl config get-contexts
62
+ - kubectl config use-context $CI_PROJECT_PATH:aaaa
63
+ - envsubst < ./kubernetes/config/values.yaml > ./kubernetes/values.yaml
64
+ - cat ./kubernetes/values.yaml
65
+ - helm upgrade --install ${APP_NAME}-${CI_ENVIRONMENT_SLUG} ./kubernetes --values=./kubernetes/values.yaml --create-namespace --namespace ${APP_NAME}-${CI_ENVIRONMENT_SLUG}
package/aaaa/.project ADDED
@@ -0,0 +1 @@
1
+ {"project":"aaaa","template":{"name":"spatialpoc","dir":"cadriciel-java-postgres","title":"Cadriciel v2 - Postgres"}}
@@ -0,0 +1,3 @@
1
+ {
2
+ "java.configuration.updateBuildConfiguration": "interactive"
3
+ }