new-front-common-library 16.1.32-ROY-3 → 16.1.32-ROY-5

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 (603) hide show
  1. package/esm2022/lib/util/array.service.mjs +19 -0
  2. package/esm2022/lib/util/component/header/header.component.mjs +230 -0
  3. package/esm2022/lib/util/component/header/menu/menu.component.mjs +96 -0
  4. package/esm2022/lib/util/component/header/menu/menu.const.mjs +544 -0
  5. package/esm2022/lib/util/component/header/menu/menu.model.mjs +2 -0
  6. package/esm2022/lib/util/component/overlay/overlay.component.mjs +40 -0
  7. package/esm2022/lib/util/component/overlay/overlay.service.mjs +24 -0
  8. package/esm2022/lib/util/component/popup/popup-login/popup-login.component.mjs +90 -0
  9. package/esm2022/lib/util/component/sub-header/sub-header.component.mjs +44 -0
  10. package/esm2022/lib/util/config.mjs +8 -0
  11. package/esm2022/lib/util/date/PeriodModel.mjs +8 -0
  12. package/esm2022/lib/util/date/date-format-constants.mjs +12 -0
  13. package/esm2022/lib/util/date/date.util.mjs +218 -0
  14. package/esm2022/lib/util/decorators/theme.decorator.mjs +22 -0
  15. package/esm2022/lib/util/decorators/user.decorator.mjs +25 -0
  16. package/esm2022/lib/util/directives/my-number-formatter-directive.mjs +34 -0
  17. package/esm2022/lib/util/directives/show-if-truncated.directive.mjs +25 -0
  18. package/esm2022/lib/util/enums/family.enum.mjs +6 -0
  19. package/esm2022/lib/util/enums/rapid-search-item-type.enum.mjs +15 -0
  20. package/esm2022/lib/util/enums/status-color.enum.mjs +11 -0
  21. package/esm2022/lib/util/event/header/header-events.service.mjs +21 -0
  22. package/esm2022/lib/util/event/storage/local-storage-events.service.mjs +17 -0
  23. package/esm2022/lib/util/event/storage/session-storage-events.service.mjs +18 -0
  24. package/esm2022/lib/util/http/http-params.builder.mjs +27 -0
  25. package/esm2022/lib/util/i18n/de.mjs +158 -0
  26. package/esm2022/lib/util/i18n/en.mjs +162 -0
  27. package/esm2022/lib/util/i18n/fr.mjs +162 -0
  28. package/esm2022/lib/util/i18n/multi-translate-http-loader.mjs +21 -0
  29. package/esm2022/lib/util/interfaces/permissions.interface.mjs +2 -0
  30. package/esm2022/lib/util/models/any-line.model.mjs +37 -0
  31. package/esm2022/lib/util/models/audio-content.model.mjs +27 -0
  32. package/esm2022/lib/util/models/authPermission.model.mjs +16 -0
  33. package/esm2022/lib/util/models/authUser.model.mjs +21 -0
  34. package/esm2022/lib/util/models/basic.model.mjs +14 -0
  35. package/esm2022/lib/util/models/box-set-item.model.mjs +19 -0
  36. package/esm2022/lib/util/models/commercial/deal-rapid-search-model.mjs +3 -0
  37. package/esm2022/lib/util/models/commercial/invoice-rapid-search-model.mjs +9 -0
  38. package/esm2022/lib/util/models/commercial/work-record-rapid-search-model.mjs +13 -0
  39. package/esm2022/lib/util/models/disc-program.model.mjs +26 -0
  40. package/esm2022/lib/util/models/disc.model.mjs +22 -0
  41. package/esm2022/lib/util/models/eventType.model.mjs +7 -0
  42. package/esm2022/lib/util/models/expenditure-commitment/purchase-order-file.model.mjs +22 -0
  43. package/esm2022/lib/util/models/expenditure-commitment/purchase-order-rapid-search.model.mjs +3 -0
  44. package/esm2022/lib/util/models/family.model.mjs +7 -0
  45. package/esm2022/lib/util/models/index.mjs +101 -0
  46. package/esm2022/lib/util/models/lang-line.model.mjs +27 -0
  47. package/esm2022/lib/util/models/legal/contract-rapid-search-model.mjs +3 -0
  48. package/esm2022/lib/util/models/legal/contract-work.model.mjs +23 -0
  49. package/esm2022/lib/util/models/legal/contract-work2.model.mjs +21 -0
  50. package/esm2022/lib/util/models/legal/type-status-rapid-search.model.mjs +3 -0
  51. package/esm2022/lib/util/models/media-line.model.mjs +18 -0
  52. package/esm2022/lib/util/models/menu-language.model.mjs +15 -0
  53. package/esm2022/lib/util/models/permission.model.mjs +20 -0
  54. package/esm2022/lib/util/models/product-box-set.model.mjs +16 -0
  55. package/esm2022/lib/util/models/product-disc-detail.model.mjs +22 -0
  56. package/esm2022/lib/util/models/product-disc.model.mjs +27 -0
  57. package/esm2022/lib/util/models/product-division.model.mjs +29 -0
  58. package/esm2022/lib/util/models/product-type.model.mjs +22 -0
  59. package/esm2022/lib/util/models/product.model.mjs +62 -0
  60. package/esm2022/lib/util/models/program.model.mjs +28 -0
  61. package/esm2022/lib/util/models/purchase-order/purchase-order.model.mjs +53 -0
  62. package/esm2022/lib/util/models/referential/WorkVersionArticleDto.mjs +17 -0
  63. package/esm2022/lib/util/models/referential/adress-type.model.mjs +14 -0
  64. package/esm2022/lib/util/models/referential/adress.model.mjs +28 -0
  65. package/esm2022/lib/util/models/referential/attached-file.model.mjs +17 -0
  66. package/esm2022/lib/util/models/referential/bank-account.model.mjs +24 -0
  67. package/esm2022/lib/util/models/referential/bank-accounts.model.mjs +31 -0
  68. package/esm2022/lib/util/models/referential/basic-hierarchy.model.mjs +8 -0
  69. package/esm2022/lib/util/models/referential/broadcast-list-item.model.mjs +13 -0
  70. package/esm2022/lib/util/models/referential/color.model.mjs +16 -0
  71. package/esm2022/lib/util/models/referential/company.model.mjs +16 -0
  72. package/esm2022/lib/util/models/referential/content-type.model.mjs +17 -0
  73. package/esm2022/lib/util/models/referential/content.model.mjs +22 -0
  74. package/esm2022/lib/util/models/referential/cost-center-criteria-values.model.mjs +14 -0
  75. package/esm2022/lib/util/models/referential/cost-center-criteria.model.mjs +13 -0
  76. package/esm2022/lib/util/models/referential/cost-center.model.mjs +28 -0
  77. package/esm2022/lib/util/models/referential/coutry.model.mjs +16 -0
  78. package/esm2022/lib/util/models/referential/currency.model.mjs +20 -0
  79. package/esm2022/lib/util/models/referential/editorial-content.model.mjs +18 -0
  80. package/esm2022/lib/util/models/referential/fixing.model.mjs +16 -0
  81. package/esm2022/lib/util/models/referential/flat-media.model.mjs +18 -0
  82. package/esm2022/lib/util/models/referential/format-image.model.mjs +16 -0
  83. package/esm2022/lib/util/models/referential/format-type.model.mjs +16 -0
  84. package/esm2022/lib/util/models/referential/format.model.mjs +17 -0
  85. package/esm2022/lib/util/models/referential/fsk-index.model.mjs +20 -0
  86. package/esm2022/lib/util/models/referential/fsk.model.mjs +22 -0
  87. package/esm2022/lib/util/models/referential/function.model.mjs +23 -0
  88. package/esm2022/lib/util/models/referential/genre.model.mjs +17 -0
  89. package/esm2022/lib/util/models/referential/invoice-product-type.model.mjs +22 -0
  90. package/esm2022/lib/util/models/referential/keywords.model.mjs +13 -0
  91. package/esm2022/lib/util/models/referential/language.model.mjs +18 -0
  92. package/esm2022/lib/util/models/referential/media-filter.model.mjs +3 -0
  93. package/esm2022/lib/util/models/referential/media.model.mjs +20 -0
  94. package/esm2022/lib/util/models/referential/module.model.mjs +20 -0
  95. package/esm2022/lib/util/models/referential/parameter.model.mjs +2 -0
  96. package/esm2022/lib/util/models/referential/participant.model.mjs +20 -0
  97. package/esm2022/lib/util/models/referential/person.model.mjs +23 -0
  98. package/esm2022/lib/util/models/referential/project-status.model.mjs +16 -0
  99. package/esm2022/lib/util/models/referential/quota.model.mjs +17 -0
  100. package/esm2022/lib/util/models/referential/referential-entity-state.model.mjs +16 -0
  101. package/esm2022/lib/util/models/referential/referential-value.model.mjs +16 -0
  102. package/esm2022/lib/util/models/referential/referentiel.model.mjs +26 -0
  103. package/esm2022/lib/util/models/referential/restriction.model.mjs +20 -0
  104. package/esm2022/lib/util/models/referential/sap-order.model.mjs +20 -0
  105. package/esm2022/lib/util/models/referential/service-error.model.mjs +15 -0
  106. package/esm2022/lib/util/models/referential/sound.model.mjs +16 -0
  107. package/esm2022/lib/util/models/referential/territories-languages.model.mjs +16 -0
  108. package/esm2022/lib/util/models/referential/territory-filter.model.mjs +3 -0
  109. package/esm2022/lib/util/models/referential/territory.model.mjs +17 -0
  110. package/esm2022/lib/util/models/referential/theme.model.mjs +17 -0
  111. package/esm2022/lib/util/models/referential/third-party-address-rapid-search.model.mjs +3 -0
  112. package/esm2022/lib/util/models/referential/third-party-creation-request.model.mjs +44 -0
  113. package/esm2022/lib/util/models/referential/third-party-module.model.mjs +20 -0
  114. package/esm2022/lib/util/models/referential/third-party-rapid-search.model.mjs +3 -0
  115. package/esm2022/lib/util/models/referential/third-party.model.mjs +83 -0
  116. package/esm2022/lib/util/models/referential/translated-value-model.mjs +16 -0
  117. package/esm2022/lib/util/models/referential/tva.model.mjs +16 -0
  118. package/esm2022/lib/util/models/referential/type-export.model.mjs +16 -0
  119. package/esm2022/lib/util/models/referential/type-tva-company-territory.model.mjs +32 -0
  120. package/esm2022/lib/util/models/referential/type-tva.model.mjs +25 -0
  121. package/esm2022/lib/util/models/referential/user-form.model.mjs +2 -0
  122. package/esm2022/lib/util/models/referential/work-addons-model.mjs +16 -0
  123. package/esm2022/lib/util/models/referential/work-appartenance.model.mjs +17 -0
  124. package/esm2022/lib/util/models/referential/work-genre.model.mjs +16 -0
  125. package/esm2022/lib/util/models/referential/work-language.model.mjs +16 -0
  126. package/esm2022/lib/util/models/referential/work-milo.model.mjs +61 -0
  127. package/esm2022/lib/util/models/referential/work-participant.model.mjs +21 -0
  128. package/esm2022/lib/util/models/referential/work-restrictions-model.mjs +13 -0
  129. package/esm2022/lib/util/models/referential/work-theme.model.mjs +16 -0
  130. package/esm2022/lib/util/models/referential/work-title.model.mjs +20 -0
  131. package/esm2022/lib/util/models/referential/work-version-origin.model.mjs +16 -0
  132. package/esm2022/lib/util/models/referential/work-version-rapid-search.model.mjs +3 -0
  133. package/esm2022/lib/util/models/referential/work-versions-used.model.mjs +19 -0
  134. package/esm2022/lib/util/models/referential/work-versions.model.mjs +27 -0
  135. package/esm2022/lib/util/models/referential/work-year-production.model.mjs +13 -0
  136. package/esm2022/lib/util/models/referential/work.model.mjs +22 -0
  137. package/esm2022/lib/util/models/referential/zone.model.mjs +14 -0
  138. package/esm2022/lib/util/models/referentiel.model.mjs +26 -0
  139. package/esm2022/lib/util/models/search-response.model.mjs +10 -0
  140. package/esm2022/lib/util/models/section.model.mjs +8 -0
  141. package/esm2022/lib/util/models/select/options.model.mjs +8 -0
  142. package/esm2022/lib/util/models/select/select.model.mjs +7 -0
  143. package/esm2022/lib/util/models/subsidiary.model.mjs +8 -0
  144. package/esm2022/lib/util/models/subtitle-content.model.mjs +28 -0
  145. package/esm2022/lib/util/models/user-video.model.mjs +22 -0
  146. package/esm2022/lib/util/models/user.model.mjs +35 -0
  147. package/esm2022/lib/util/models/video/product-rapid-search.model.mjs +3 -0
  148. package/esm2022/lib/util/models/video/support-rapid-search.model.mjs +3 -0
  149. package/esm2022/lib/util/models/video-content.model.mjs +18 -0
  150. package/esm2022/lib/util/number.validator.mjs +129 -0
  151. package/esm2022/lib/util/paginator/custom-paginator-configuration.mjs +59 -0
  152. package/esm2022/lib/util/permissions/permissions.service.mjs +49 -0
  153. package/esm2022/lib/util/pipes/capitalizefirst.pipe.mjs +41 -0
  154. package/esm2022/lib/util/pipes/comma-separated-number.pipe.mjs +15 -0
  155. package/esm2022/lib/util/pipes/common-translate.pipe.mjs +38 -0
  156. package/esm2022/lib/util/pipes/display-html.pipe.mjs +20 -0
  157. package/esm2022/lib/util/pipes/display-null.pipe.mjs +24 -0
  158. package/esm2022/lib/util/pipes/format-currency.pipe.mjs +31 -0
  159. package/esm2022/lib/util/pipes/format-duration.pipe.mjs +23 -0
  160. package/esm2022/lib/util/pipes/format-number-input.pipe.mjs +22 -0
  161. package/esm2022/lib/util/pipes/local-date.pipe.mjs +27 -0
  162. package/esm2022/lib/util/pipes/my-number.pipe.mjs +44 -0
  163. package/esm2022/lib/util/pipes/third-party-address-search.pipe.mjs +15 -0
  164. package/esm2022/lib/util/pipes/third-party-address.pipe.mjs +16 -0
  165. package/esm2022/lib/util/pipes/trim-string.pipe.mjs +25 -0
  166. package/esm2022/lib/util/regex/regex.service.mjs +94 -0
  167. package/esm2022/lib/util/services/api/commercial-api.service.mjs +28 -0
  168. package/esm2022/lib/util/services/api/common-api.service.mjs +98 -0
  169. package/esm2022/lib/util/services/api/legal-api.service.mjs +32 -0
  170. package/esm2022/lib/util/services/api/video-api.service.mjs +45 -0
  171. package/esm2022/lib/util/services/auth/auth.service.mjs +18 -0
  172. package/esm2022/lib/util/services/elasticsearch/elasticsearch.service.mjs +180 -0
  173. package/esm2022/lib/util/services/elasticsearch/subsidiaries.service.mjs +48 -0
  174. package/esm2022/lib/util/services/form-action/form-actions-events.service.mjs +25 -0
  175. package/esm2022/lib/util/services/guard/auth.guard.mjs +32 -0
  176. package/esm2022/lib/util/services/guard/login.guard.mjs +23 -0
  177. package/esm2022/lib/util/services/history/history.service.mjs +39 -0
  178. package/esm2022/lib/util/services/interceptor/auth.interceptor.mjs +53 -0
  179. package/esm2022/lib/util/services/jwt-security/aes.service.mjs +34 -0
  180. package/esm2022/lib/util/services/jwt-security/interceptorhttp.service.mjs +18 -0
  181. package/esm2022/lib/util/services/jwt-security/jwt.helpher.mjs +34 -0
  182. package/esm2022/lib/util/services/storage/local-storage.service.mjs +36 -0
  183. package/esm2022/lib/util/services/storage/session-storage.service.mjs +38 -0
  184. package/esm2022/lib/util/services/translate-language/lang.service.mjs +31 -0
  185. package/esm2022/lib/util/services/user/user-subsidiary.service.mjs +22 -0
  186. package/esm2022/lib/util/sort.mjs +22 -0
  187. package/esm2022/lib/util/theme/theme-event.service.mjs +17 -0
  188. package/esm2022/lib/util/toaster/toaster-events.service.mjs +32 -0
  189. package/esm2022/lib/util/util.module.mjs +281 -0
  190. package/esm2022/new-front-common-library.mjs +5 -0
  191. package/esm2022/public-api.mjs +59 -0
  192. package/fesm2022/new-front-common-library.mjs +5729 -0
  193. package/fesm2022/new-front-common-library.mjs.map +1 -0
  194. package/index.d.ts +5 -0
  195. package/lib/util/array.service.d.ts +7 -0
  196. package/lib/util/component/header/header.component.d.ts +74 -0
  197. package/lib/util/component/header/menu/menu.component.d.ts +27 -0
  198. package/lib/util/component/header/menu/menu.const.d.ts +2 -0
  199. package/lib/util/component/header/menu/menu.model.d.ts +23 -0
  200. package/lib/util/component/overlay/overlay.component.d.ts +17 -0
  201. package/lib/util/component/overlay/overlay.service.d.ts +13 -0
  202. package/lib/util/component/popup/popup-login/popup-login.component.d.ts +35 -0
  203. package/lib/util/component/sub-header/sub-header.component.d.ts +13 -0
  204. package/lib/util/config.d.ts +8 -0
  205. package/lib/util/date/PeriodModel.d.ts +6 -0
  206. package/lib/util/date/date-format-constants.d.ts +25 -0
  207. package/lib/util/date/date.util.d.ts +16 -0
  208. package/lib/util/decorators/theme.decorator.d.ts +1 -0
  209. package/lib/util/decorators/user.decorator.d.ts +1 -0
  210. package/lib/util/directives/my-number-formatter-directive.d.ts +15 -0
  211. package/lib/util/directives/show-if-truncated.directive.d.ts +11 -0
  212. package/lib/util/enums/family.enum.d.ts +4 -0
  213. package/lib/util/enums/rapid-search-item-type.enum.d.ts +13 -0
  214. package/lib/util/enums/status-color.enum.d.ts +9 -0
  215. package/lib/util/event/header/header-events.service.d.ts +11 -0
  216. package/lib/util/event/storage/local-storage-events.service.d.ts +9 -0
  217. package/lib/util/event/storage/session-storage-events.service.d.ts +10 -0
  218. package/lib/util/http/http-params.builder.d.ts +9 -0
  219. package/lib/util/i18n/de.d.ts +141 -0
  220. package/lib/util/i18n/en.d.ts +145 -0
  221. package/lib/util/i18n/fr.d.ts +145 -0
  222. package/lib/util/i18n/multi-translate-http-loader.d.ts +14 -0
  223. package/lib/util/models/any-line.model.d.ts +24 -0
  224. package/lib/util/models/audio-content.model.d.ts +27 -0
  225. package/lib/util/models/authPermission.model.d.ts +7 -0
  226. package/lib/util/models/authUser.model.d.ts +16 -0
  227. package/lib/util/models/basic.model.d.ts +11 -0
  228. package/lib/util/models/box-set-item.model.d.ts +12 -0
  229. package/lib/util/models/commercial/deal-rapid-search-model.d.ts +10 -0
  230. package/lib/util/models/commercial/invoice-rapid-search-model.d.ts +18 -0
  231. package/lib/util/models/commercial/work-record-rapid-search-model.d.ts +21 -0
  232. package/lib/util/models/disc-program.model.d.ts +9 -0
  233. package/lib/util/models/disc.model.d.ts +15 -0
  234. package/lib/util/models/eventType.model.d.ts +5 -0
  235. package/lib/util/models/expenditure-commitment/purchase-order-file.model.d.ts +8 -0
  236. package/lib/util/models/expenditure-commitment/purchase-order-rapid-search.model.d.ts +10 -0
  237. package/lib/util/models/family.model.d.ts +5 -0
  238. package/{src/lib/util/models/index.ts → lib/util/models/index.d.ts} +0 -1
  239. package/lib/util/models/lang-line.model.d.ts +18 -0
  240. package/lib/util/models/legal/contract-rapid-search-model.d.ts +10 -0
  241. package/lib/util/models/legal/contract-work.model.d.ts +27 -0
  242. package/lib/util/models/legal/contract-work2.model.d.ts +23 -0
  243. package/lib/util/models/legal/type-status-rapid-search.model.d.ts +5 -0
  244. package/lib/util/models/media-line.model.d.ts +9 -0
  245. package/lib/util/models/menu-language.model.d.ts +6 -0
  246. package/lib/util/models/permission.model.d.ts +12 -0
  247. package/lib/util/models/product-box-set.model.d.ts +8 -0
  248. package/lib/util/models/product-disc-detail.model.d.ts +14 -0
  249. package/lib/util/models/product-disc.model.d.ts +11 -0
  250. package/lib/util/models/product-division.model.d.ts +15 -0
  251. package/lib/util/models/product-type.model.d.ts +7 -0
  252. package/lib/util/models/product.model.d.ts +52 -0
  253. package/lib/util/models/program.model.d.ts +21 -0
  254. package/lib/util/models/purchase-order/purchase-order.model.d.ts +40 -0
  255. package/lib/util/models/referential/WorkVersionArticleDto.d.ts +10 -0
  256. package/lib/util/models/referential/adress-type.model.d.ts +5 -0
  257. package/lib/util/models/referential/adress.model.d.ts +20 -0
  258. package/lib/util/models/referential/attached-file.model.d.ts +11 -0
  259. package/lib/util/models/referential/bank-account.model.d.ts +15 -0
  260. package/lib/util/models/referential/bank-accounts.model.d.ts +17 -0
  261. package/lib/util/models/referential/basic-hierarchy.model.d.ts +6 -0
  262. package/lib/util/models/referential/broadcast-list-item.model.d.ts +8 -0
  263. package/lib/util/models/referential/color.model.d.ts +6 -0
  264. package/lib/util/models/referential/company.model.d.ts +7 -0
  265. package/lib/util/models/referential/content-type.model.d.ts +12 -0
  266. package/lib/util/models/referential/content.model.d.ts +7 -0
  267. package/lib/util/models/referential/cost-center-criteria-values.model.d.ts +7 -0
  268. package/lib/util/models/referential/cost-center-criteria.model.d.ts +12 -0
  269. package/lib/util/models/referential/cost-center.model.d.ts +18 -0
  270. package/lib/util/models/referential/coutry.model.d.ts +7 -0
  271. package/lib/util/models/referential/currency.model.d.ts +11 -0
  272. package/lib/util/models/referential/editorial-content.model.d.ts +25 -0
  273. package/lib/util/models/referential/fixing.model.d.ts +10 -0
  274. package/lib/util/models/referential/flat-media.model.d.ts +9 -0
  275. package/lib/util/models/referential/format-image.model.d.ts +7 -0
  276. package/lib/util/models/referential/format-type.model.d.ts +6 -0
  277. package/lib/util/models/referential/format.model.d.ts +7 -0
  278. package/lib/util/models/referential/fsk-index.model.d.ts +22 -0
  279. package/lib/util/models/referential/fsk.model.d.ts +37 -0
  280. package/lib/util/models/referential/function.model.d.ts +8 -0
  281. package/lib/util/models/referential/genre.model.d.ts +7 -0
  282. package/lib/util/models/referential/invoice-product-type.model.d.ts +7 -0
  283. package/lib/util/models/referential/keywords.model.d.ts +6 -0
  284. package/lib/util/models/referential/language.model.d.ts +11 -0
  285. package/lib/util/models/referential/media-filter.model.d.ts +10 -0
  286. package/lib/util/models/referential/media.model.d.ts +11 -0
  287. package/lib/util/models/referential/module.model.d.ts +11 -0
  288. package/{src/lib/util/models/referential/parameter.model.ts → lib/util/models/referential/parameter.model.d.ts} +0 -2
  289. package/lib/util/models/referential/participant.model.d.ts +11 -0
  290. package/lib/util/models/referential/person.model.d.ts +13 -0
  291. package/lib/util/models/referential/project-status.model.d.ts +6 -0
  292. package/lib/util/models/referential/quota.model.d.ts +7 -0
  293. package/lib/util/models/referential/referential-entity-state.model.d.ts +11 -0
  294. package/lib/util/models/referential/referential-value.model.d.ts +11 -0
  295. package/lib/util/models/referential/referentiel.model.d.ts +12 -0
  296. package/lib/util/models/referential/restriction.model.d.ts +9 -0
  297. package/lib/util/models/referential/sap-order.model.d.ts +27 -0
  298. package/lib/util/models/referential/service-error.model.d.ts +13 -0
  299. package/lib/util/models/referential/sound.model.d.ts +6 -0
  300. package/lib/util/models/referential/territories-languages.model.d.ts +8 -0
  301. package/lib/util/models/referential/territory-filter.model.d.ts +6 -0
  302. package/lib/util/models/referential/territory.model.d.ts +12 -0
  303. package/lib/util/models/referential/theme.model.d.ts +7 -0
  304. package/lib/util/models/referential/third-party-address-rapid-search.model.d.ts +8 -0
  305. package/lib/util/models/referential/third-party-creation-request.model.d.ts +48 -0
  306. package/lib/util/models/referential/third-party-module.model.d.ts +11 -0
  307. package/lib/util/models/referential/third-party-rapid-search.model.d.ts +8 -0
  308. package/lib/util/models/referential/third-party.model.d.ts +45 -0
  309. package/lib/util/models/referential/translated-value-model.d.ts +10 -0
  310. package/lib/util/models/referential/tva.model.d.ts +7 -0
  311. package/lib/util/models/referential/type-export.model.d.ts +7 -0
  312. package/lib/util/models/referential/type-tva-company-territory.model.d.ts +18 -0
  313. package/lib/util/models/referential/type-tva.model.d.ts +10 -0
  314. package/{src/lib/util/models/referential/user-form.model.ts → lib/util/models/referential/user-form.model.d.ts} +0 -2
  315. package/lib/util/models/referential/work-addons-model.d.ts +25 -0
  316. package/lib/util/models/referential/work-appartenance.model.d.ts +7 -0
  317. package/lib/util/models/referential/work-genre.model.d.ts +11 -0
  318. package/lib/util/models/referential/work-language.model.d.ts +11 -0
  319. package/lib/util/models/referential/work-milo.model.d.ts +46 -0
  320. package/lib/util/models/referential/work-participant.model.d.ts +10 -0
  321. package/lib/util/models/referential/work-restrictions-model.d.ts +18 -0
  322. package/lib/util/models/referential/work-theme.model.d.ts +11 -0
  323. package/lib/util/models/referential/work-title.model.d.ts +10 -0
  324. package/lib/util/models/referential/work-version-origin.model.d.ts +10 -0
  325. package/lib/util/models/referential/work-version-rapid-search.model.d.ts +9 -0
  326. package/lib/util/models/referential/work-versions-used.model.d.ts +12 -0
  327. package/lib/util/models/referential/work-versions.model.d.ts +29 -0
  328. package/lib/util/models/referential/work-year-production.model.d.ts +6 -0
  329. package/lib/util/models/referential/work.model.d.ts +74 -0
  330. package/lib/util/models/referential/zone.model.d.ts +6 -0
  331. package/lib/util/models/referentiel.model.d.ts +12 -0
  332. package/lib/util/models/search-response.model.d.ts +7 -0
  333. package/lib/util/models/section.model.d.ts +7 -0
  334. package/lib/util/models/select/options.model.d.ts +6 -0
  335. package/lib/util/models/select/select.model.d.ts +5 -0
  336. package/lib/util/models/subsidiary.model.d.ts +7 -0
  337. package/lib/util/models/subtitle-content.model.d.ts +26 -0
  338. package/lib/util/models/user-video.model.d.ts +10 -0
  339. package/lib/util/models/user.model.d.ts +27 -0
  340. package/lib/util/models/video/product-rapid-search.model.d.ts +8 -0
  341. package/lib/util/models/video/support-rapid-search.model.d.ts +6 -0
  342. package/lib/util/models/video-content.model.d.ts +24 -0
  343. package/lib/util/number.validator.d.ts +14 -0
  344. package/lib/util/paginator/custom-paginator-configuration.d.ts +16 -0
  345. package/lib/util/permissions/permissions.service.d.ts +15 -0
  346. package/lib/util/pipes/capitalizefirst.pipe.d.ts +8 -0
  347. package/lib/util/pipes/comma-separated-number.pipe.d.ts +7 -0
  348. package/lib/util/pipes/common-translate.pipe.d.ts +12 -0
  349. package/lib/util/pipes/display-html.pipe.d.ts +10 -0
  350. package/lib/util/pipes/display-null.pipe.d.ts +8 -0
  351. package/lib/util/pipes/format-currency.pipe.d.ts +10 -0
  352. package/lib/util/pipes/format-duration.pipe.d.ts +7 -0
  353. package/lib/util/pipes/format-number-input.pipe.d.ts +7 -0
  354. package/lib/util/pipes/local-date.pipe.d.ts +9 -0
  355. package/lib/util/pipes/my-number.pipe.d.ts +11 -0
  356. package/lib/util/pipes/third-party-address-search.pipe.d.ts +8 -0
  357. package/lib/util/pipes/third-party-address.pipe.d.ts +8 -0
  358. package/lib/util/pipes/trim-string.pipe.d.ts +7 -0
  359. package/lib/util/regex/regex.service.d.ts +12 -0
  360. package/lib/util/services/api/commercial-api.service.d.ts +12 -0
  361. package/lib/util/services/api/common-api.service.d.ts +27 -0
  362. package/lib/util/services/api/legal-api.service.d.ts +15 -0
  363. package/lib/util/services/api/video-api.service.d.ts +17 -0
  364. package/lib/util/services/auth/auth.service.d.ts +9 -0
  365. package/lib/util/services/elasticsearch/elasticsearch.service.d.ts +35 -0
  366. package/lib/util/services/elasticsearch/subsidiaries.service.d.ts +12 -0
  367. package/lib/util/services/form-action/form-actions-events.service.d.ts +14 -0
  368. package/lib/util/services/guard/auth.guard.d.ts +2 -0
  369. package/lib/util/services/guard/login.guard.d.ts +1 -0
  370. package/lib/util/services/history/history.service.d.ts +10 -0
  371. package/lib/util/services/interceptor/auth.interceptor.d.ts +16 -0
  372. package/lib/util/services/jwt-security/aes.service.d.ts +12 -0
  373. package/lib/util/services/jwt-security/interceptorhttp.service.d.ts +8 -0
  374. package/lib/util/services/jwt-security/jwt.helpher.d.ts +4 -0
  375. package/lib/util/services/storage/local-storage.service.d.ts +13 -0
  376. package/lib/util/services/storage/session-storage.service.d.ts +13 -0
  377. package/lib/util/services/translate-language/lang.service.d.ts +14 -0
  378. package/lib/util/services/user/user-subsidiary.service.d.ts +9 -0
  379. package/lib/util/sort.d.ts +4 -0
  380. package/lib/util/theme/theme-event.service.d.ts +9 -0
  381. package/lib/util/toaster/toaster-events.service.d.ts +15 -0
  382. package/lib/util/util.module.d.ts +49 -0
  383. package/package.json +19 -2
  384. package/{src/public-api.ts → public-api.d.ts} +2 -17
  385. package/karma.conf.js +0 -44
  386. package/ng-package.json +0 -10
  387. package/src/lib/new-front-common-library.component.spec.ts +0 -25
  388. package/src/lib/new-front-common-library.component.ts +0 -20
  389. package/src/lib/new-front-common-library.module.ts +0 -26
  390. package/src/lib/new-front-common-library.service.spec.ts +0 -16
  391. package/src/lib/new-front-common-library.service.ts +0 -10
  392. package/src/lib/util/animations/actions.animation.ts +0 -16
  393. package/src/lib/util/animations/fade.animation.ts +0 -16
  394. package/src/lib/util/array.service.ts +0 -14
  395. package/src/lib/util/component/header/header.component.html +0 -389
  396. package/src/lib/util/component/header/header.component.scss +0 -265
  397. package/src/lib/util/component/header/header.component.ts +0 -245
  398. package/src/lib/util/component/header/menu/menu.component.html +0 -52
  399. package/src/lib/util/component/header/menu/menu.component.scss +0 -127
  400. package/src/lib/util/component/header/menu/menu.component.spec.ts +0 -21
  401. package/src/lib/util/component/header/menu/menu.component.ts +0 -94
  402. package/src/lib/util/component/header/menu/menu.const.ts +0 -546
  403. package/src/lib/util/component/header/menu/menu.model.ts +0 -26
  404. package/src/lib/util/component/overlay/overlay.component.css +0 -20
  405. package/src/lib/util/component/overlay/overlay.component.html +0 -10
  406. package/src/lib/util/component/overlay/overlay.component.ts +0 -42
  407. package/src/lib/util/component/overlay/overlay.service.ts +0 -23
  408. package/src/lib/util/component/popup/popup-login/popup-login.component.css +0 -3
  409. package/src/lib/util/component/popup/popup-login/popup-login.component.html +0 -29
  410. package/src/lib/util/component/popup/popup-login/popup-login.component.ts +0 -96
  411. package/src/lib/util/component/sub-header/sub-header.component.css +0 -136
  412. package/src/lib/util/component/sub-header/sub-header.component.html +0 -20
  413. package/src/lib/util/component/sub-header/sub-header.component.spec.ts +0 -25
  414. package/src/lib/util/component/sub-header/sub-header.component.ts +0 -37
  415. package/src/lib/util/config.ts +0 -15
  416. package/src/lib/util/date/PeriodModel.ts +0 -7
  417. package/src/lib/util/date/date-format-constants.ts +0 -12
  418. package/src/lib/util/date/date.util.ts +0 -222
  419. package/src/lib/util/decorators/theme.decorator.ts +0 -24
  420. package/src/lib/util/decorators/user.decorator.ts +0 -30
  421. package/src/lib/util/directives/my-number-formatter-directive.ts +0 -32
  422. package/src/lib/util/directives/show-if-truncated.directive.ts +0 -19
  423. package/src/lib/util/enums/family.enum.ts +0 -4
  424. package/src/lib/util/enums/rapid-search-item-type.enum.ts +0 -11
  425. package/src/lib/util/enums/status-color.enum.ts +0 -9
  426. package/src/lib/util/event/header/header-events.service.ts +0 -20
  427. package/src/lib/util/event/storage/local-storage-events.service.ts +0 -15
  428. package/src/lib/util/event/storage/session-storage-events.service.ts +0 -15
  429. package/src/lib/util/http/http-params.builder.ts +0 -33
  430. package/src/lib/util/i18n/de.ts +0 -173
  431. package/src/lib/util/i18n/en.ts +0 -173
  432. package/src/lib/util/i18n/fr.ts +0 -174
  433. package/src/lib/util/i18n/multi-translate-http-loader.ts +0 -31
  434. package/src/lib/util/models/any-line.model.ts +0 -45
  435. package/src/lib/util/models/audio-content.model.ts +0 -40
  436. package/src/lib/util/models/authPermission.model.ts +0 -17
  437. package/src/lib/util/models/authUser.model.ts +0 -28
  438. package/src/lib/util/models/basic-hierarchy.model.ts +0 -8
  439. package/src/lib/util/models/basic.model.ts +0 -31
  440. package/src/lib/util/models/box-set-item.model.ts +0 -23
  441. package/src/lib/util/models/commercial/deal-rapid-search-model.ts +0 -10
  442. package/src/lib/util/models/commercial/invoice-rapid-search-model.ts +0 -25
  443. package/src/lib/util/models/commercial/work-record-rapid-search-model.ts +0 -28
  444. package/src/lib/util/models/custom-typings.d.ts +0 -166
  445. package/src/lib/util/models/disc-program.model.ts +0 -29
  446. package/src/lib/util/models/disc.model.ts +0 -26
  447. package/src/lib/util/models/eventType.model.ts +0 -7
  448. package/src/lib/util/models/expenditure-commitment/purchase-order-file.model.ts +0 -27
  449. package/src/lib/util/models/expenditure-commitment/purchase-order-rapid-search.model.ts +0 -10
  450. package/src/lib/util/models/family.model.ts +0 -6
  451. package/src/lib/util/models/lang-line.model.ts +0 -31
  452. package/src/lib/util/models/legal/contract-rapid-search-model.ts +0 -13
  453. package/src/lib/util/models/legal/contract-work.model.ts +0 -43
  454. package/src/lib/util/models/legal/contract-work2.model.ts +0 -39
  455. package/src/lib/util/models/legal/type-status-rapid-search.model.ts +0 -5
  456. package/src/lib/util/models/media-line.model.ts +0 -20
  457. package/src/lib/util/models/menu-language.model.ts +0 -16
  458. package/src/lib/util/models/milo/territory.model.ts +0 -19
  459. package/src/lib/util/models/module.model.ts +0 -9
  460. package/src/lib/util/models/permission.model.ts +0 -21
  461. package/src/lib/util/models/product-box-set.model.ts +0 -19
  462. package/src/lib/util/models/product-disc-detail.model.ts +0 -25
  463. package/src/lib/util/models/product-disc.model.ts +0 -31
  464. package/src/lib/util/models/product-division.model.ts +0 -35
  465. package/src/lib/util/models/product-type.model.ts +0 -26
  466. package/src/lib/util/models/product.model.ts +0 -73
  467. package/src/lib/util/models/program.model.ts +0 -34
  468. package/src/lib/util/models/purchase-order/purchase-order.model.ts +0 -61
  469. package/src/lib/util/models/referential/WorkVersionArticleDto.ts +0 -20
  470. package/src/lib/util/models/referential/adress-type.model.ts +0 -13
  471. package/src/lib/util/models/referential/adress.model.ts +0 -31
  472. package/src/lib/util/models/referential/attached-file.model.ts +0 -21
  473. package/src/lib/util/models/referential/bank-account.model.ts +0 -25
  474. package/src/lib/util/models/referential/bank-accounts.model.ts +0 -34
  475. package/src/lib/util/models/referential/basic-hierarchy.model.ts +0 -8
  476. package/src/lib/util/models/referential/broadcast-list-item.model.ts +0 -19
  477. package/src/lib/util/models/referential/color.model.ts +0 -16
  478. package/src/lib/util/models/referential/company.model.ts +0 -17
  479. package/src/lib/util/models/referential/content-type.model.ts +0 -22
  480. package/src/lib/util/models/referential/content.model.ts +0 -26
  481. package/src/lib/util/models/referential/cost-center-criteria-values.model.ts +0 -17
  482. package/src/lib/util/models/referential/cost-center-criteria.model.ts +0 -23
  483. package/src/lib/util/models/referential/cost-center.model.ts +0 -37
  484. package/src/lib/util/models/referential/coutry.model.ts +0 -17
  485. package/src/lib/util/models/referential/currency.model.ts +0 -22
  486. package/src/lib/util/models/referential/editorial-content.model.ts +0 -37
  487. package/src/lib/util/models/referential/fixing.model.ts +0 -21
  488. package/src/lib/util/models/referential/flat-media.model.ts +0 -19
  489. package/src/lib/util/models/referential/format-image.model.ts +0 -17
  490. package/src/lib/util/models/referential/format-type.model.ts +0 -16
  491. package/src/lib/util/models/referential/format.model.ts +0 -17
  492. package/src/lib/util/models/referential/fsk-index.model.ts +0 -36
  493. package/src/lib/util/models/referential/fsk.model.ts +0 -53
  494. package/src/lib/util/models/referential/function.model.ts +0 -25
  495. package/src/lib/util/models/referential/genre.model.ts +0 -17
  496. package/src/lib/util/models/referential/invoice-product-type.model.ts +0 -24
  497. package/src/lib/util/models/referential/keywords.model.ts +0 -16
  498. package/src/lib/util/models/referential/language.model.ts +0 -22
  499. package/src/lib/util/models/referential/media-filter.model.ts +0 -10
  500. package/src/lib/util/models/referential/media.model.ts +0 -21
  501. package/src/lib/util/models/referential/module.model.ts +0 -21
  502. package/src/lib/util/models/referential/participant.model.ts +0 -31
  503. package/src/lib/util/models/referential/person.model.ts +0 -30
  504. package/src/lib/util/models/referential/po/WorkRestrictionPO.ts +0 -11
  505. package/src/lib/util/models/referential/project-status.model.ts +0 -16
  506. package/src/lib/util/models/referential/quota.model.ts +0 -17
  507. package/src/lib/util/models/referential/referential-entity-state.model.ts +0 -22
  508. package/src/lib/util/models/referential/referential-value.model.ts +0 -21
  509. package/src/lib/util/models/referential/referentiel.model.ts +0 -29
  510. package/src/lib/util/models/referential/restriction.model.ts +0 -26
  511. package/src/lib/util/models/referential/sap-order.model.ts +0 -48
  512. package/src/lib/util/models/referential/service-error.model.ts +0 -16
  513. package/src/lib/util/models/referential/sound.model.ts +0 -16
  514. package/src/lib/util/models/referential/territories-languages.model.ts +0 -19
  515. package/src/lib/util/models/referential/territory-filter.model.ts +0 -6
  516. package/src/lib/util/models/referential/territory.model.ts +0 -27
  517. package/src/lib/util/models/referential/theme.model.ts +0 -17
  518. package/src/lib/util/models/referential/third-party-address-rapid-search.model.ts +0 -8
  519. package/src/lib/util/models/referential/third-party-creation-request.model.ts +0 -59
  520. package/src/lib/util/models/referential/third-party-module.model.ts +0 -21
  521. package/src/lib/util/models/referential/third-party-rapid-search.model.ts +0 -10
  522. package/src/lib/util/models/referential/third-party.model.ts +0 -100
  523. package/src/lib/util/models/referential/translated-value-model.ts +0 -20
  524. package/src/lib/util/models/referential/tva.model.ts +0 -17
  525. package/src/lib/util/models/referential/type-export.model.ts +0 -17
  526. package/src/lib/util/models/referential/type-tva-company-territory.model.ts +0 -36
  527. package/src/lib/util/models/referential/type-tva.model.ts +0 -29
  528. package/src/lib/util/models/referential/work-addons-model.ts +0 -36
  529. package/src/lib/util/models/referential/work-appartenance.model.ts +0 -17
  530. package/src/lib/util/models/referential/work-genre.model.ts +0 -21
  531. package/src/lib/util/models/referential/work-language.model.ts +0 -21
  532. package/src/lib/util/models/referential/work-milo.model.ts +0 -65
  533. package/src/lib/util/models/referential/work-participant.model.ts +0 -28
  534. package/src/lib/util/models/referential/work-restrictions-model.ts +0 -34
  535. package/src/lib/util/models/referential/work-theme.model.ts +0 -21
  536. package/src/lib/util/models/referential/work-title.model.ts +0 -27
  537. package/src/lib/util/models/referential/work-version-origin.model.ts +0 -20
  538. package/src/lib/util/models/referential/work-version-rapid-search.model.ts +0 -10
  539. package/src/lib/util/models/referential/work-versions-used.model.ts +0 -22
  540. package/src/lib/util/models/referential/work-versions.model.ts +0 -47
  541. package/src/lib/util/models/referential/work-year-production.model.ts +0 -16
  542. package/src/lib/util/models/referential/work.model.ts +0 -88
  543. package/src/lib/util/models/referential/zone.model.ts +0 -16
  544. package/src/lib/util/models/referentiel.model.ts +0 -29
  545. package/src/lib/util/models/search-response.model.ts +0 -7
  546. package/src/lib/util/models/section.model.ts +0 -11
  547. package/src/lib/util/models/select/options.model.ts +0 -8
  548. package/src/lib/util/models/select/select.model.ts +0 -4
  549. package/src/lib/util/models/subsidiary.model.ts +0 -10
  550. package/src/lib/util/models/subtitle-content.model.ts +0 -39
  551. package/src/lib/util/models/user-video.model.ts +0 -29
  552. package/src/lib/util/models/user.model.ts +0 -41
  553. package/src/lib/util/models/video/product-rapid-search.model.ts +0 -10
  554. package/src/lib/util/models/video/support-rapid-search.model.ts +0 -7
  555. package/src/lib/util/models/video-content.model.ts +0 -37
  556. package/src/lib/util/number.validator.ts +0 -123
  557. package/src/lib/util/paginator/custom-paginator-configuration.ts +0 -68
  558. package/src/lib/util/permissions/permissions.service.ts +0 -47
  559. package/src/lib/util/pipes/capitalizefirst.pipe.ts +0 -39
  560. package/src/lib/util/pipes/comma-separated-number.pipe.ts +0 -9
  561. package/src/lib/util/pipes/common-translate.pipe.ts +0 -37
  562. package/src/lib/util/pipes/display-html.pipe.ts +0 -15
  563. package/src/lib/util/pipes/display-null.pipe.ts +0 -19
  564. package/src/lib/util/pipes/format-currency.pipe.ts +0 -26
  565. package/src/lib/util/pipes/format-duration.pipe.ts +0 -16
  566. package/src/lib/util/pipes/format-number-input.pipe.ts +0 -19
  567. package/src/lib/util/pipes/local-date.pipe.ts +0 -29
  568. package/src/lib/util/pipes/my-number.pipe.ts +0 -51
  569. package/src/lib/util/pipes/third-party-address-search.pipe.ts +0 -12
  570. package/src/lib/util/pipes/third-party-address.pipe.ts +0 -13
  571. package/src/lib/util/pipes/trim-string.pipe.ts +0 -24
  572. package/src/lib/util/regex/regex.service.ts +0 -94
  573. package/src/lib/util/regex/regex.spec.ts +0 -45
  574. package/src/lib/util/services/api/commercial-api.service.ts +0 -23
  575. package/src/lib/util/services/api/common-api.service.ts +0 -121
  576. package/src/lib/util/services/api/legal-api.service.ts +0 -27
  577. package/src/lib/util/services/api/video-api.service.ts +0 -45
  578. package/src/lib/util/services/auth/auth.service.spec.ts +0 -16
  579. package/src/lib/util/services/auth/auth.service.ts +0 -14
  580. package/src/lib/util/services/elasticsearch/elasticsearch.service.ts +0 -179
  581. package/src/lib/util/services/elasticsearch/subsidiaries.service.ts +0 -48
  582. package/src/lib/util/services/form-action/form-actions-events.service.ts +0 -25
  583. package/src/lib/util/services/guard/auth.guard.ts +0 -44
  584. package/src/lib/util/services/guard/login.guard.ts +0 -26
  585. package/src/lib/util/services/history/history.service.ts +0 -38
  586. package/src/lib/util/services/interceptor/auth.interceptor.ts +0 -66
  587. package/src/lib/util/services/jwt-security/aes.service.ts +0 -48
  588. package/src/lib/util/services/jwt-security/interceptorhttp.service.ts +0 -98
  589. package/src/lib/util/services/jwt-security/jwt.helpher.ts +0 -38
  590. package/src/lib/util/services/storage/local-storage.service.ts +0 -36
  591. package/src/lib/util/services/storage/session-storage.service.ts +0 -39
  592. package/src/lib/util/services/translate-language/lang.service.ts +0 -26
  593. package/src/lib/util/services/user/user-subsidiary.service.spec.ts +0 -207
  594. package/src/lib/util/services/user/user-subsidiary.service.ts +0 -21
  595. package/src/lib/util/sort.ts +0 -27
  596. package/src/lib/util/theme/theme-event.service.ts +0 -15
  597. package/src/lib/util/toaster/toaster-events.service.ts +0 -32
  598. package/src/lib/util/util.module.ts +0 -185
  599. package/src/test.ts +0 -13
  600. package/tsconfig.lib.json +0 -19
  601. package/tsconfig.lib.prod.json +0 -10
  602. package/tsconfig.spec.json +0 -17
  603. /package/{src/lib/util/interfaces/permissions.interface.ts → lib/util/interfaces/permissions.interface.d.ts} +0 -0
@@ -0,0 +1,180 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { from } from 'rxjs';
3
+ import { Client as ClientJs } from 'elasticsearch-browser';
4
+ import { WEB_CONFIG } from '../../config';
5
+ import { WorkRecordRapidSearchModel } from "../../models/commercial/work-record-rapid-search-model";
6
+ import { InvoiceRapidSearchModel } from "../../models/commercial/invoice-rapid-search-model";
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "./subsidiaries.service";
9
+ export class ElasticsearchService {
10
+ constructor(config, subsidiariesMappingService) {
11
+ this.config = config;
12
+ this.subsidiariesMappingService = subsidiariesMappingService;
13
+ this.PROFILE_SEARCH_CONFIG = {
14
+ 'COMMERCIAL': ['unity-invoice*', 'unity-deal*', 'unity-work-record*'],
15
+ 'ACCOUNTANT': ['unity-invoice*', 'unity-deal*', 'unity-work-record*'],
16
+ 'ADMINISTRATIVE_CONTROLLER': ['unity-invoice*', 'unity-deal*', 'unity-work-record*'],
17
+ 'VIDEO_CONSULT': ['unity-product*'],
18
+ 'BDC': ['unity-purchase-order*'],
19
+ 'LEGAL': ['unity-contract*'],
20
+ 'ROYALTY': ['unity-royalty-contract', 'unity-royalty-count', 'unity-royalty-invoice'],
21
+ };
22
+ }
23
+ getElasticsearchClient() {
24
+ if (!this.client) {
25
+ this.client = new ClientJs({
26
+ host: this.config.elasticsearch_url
27
+ });
28
+ }
29
+ return this.client;
30
+ }
31
+ getSearchResponse(text, user) {
32
+ const allIndexes = new Set();
33
+ allIndexes.add('unity-work-version*');
34
+ allIndexes.add('unity-third-party*');
35
+ for (const permission of user.permissions) {
36
+ const indexes = this.PROFILE_SEARCH_CONFIG[permission.code];
37
+ indexes?.forEach(idx => allIndexes.add(idx));
38
+ }
39
+ const body = [];
40
+ for (const index of allIndexes) {
41
+ body.push({ index });
42
+ switch (index) {
43
+ case 'unity-work-version*':
44
+ body.push({
45
+ query: {
46
+ dis_max: {
47
+ queries: [{ wildcard: { miloCode: { value: '*' + text + '*' } } }, { wildcard: { title: { value: '*' + text + '*' } } }, { wildcard: { title: { value: text + '*' } } }, { wildcard: { title: { value: text } } }],
48
+ tie_breaker: 0.5
49
+ }
50
+ },
51
+ sort: [{ _score: { order: 'desc' } }, { title: { order: "asc" } }],
52
+ size: 50
53
+ });
54
+ break;
55
+ case 'unity-product*':
56
+ body.push({
57
+ query: { dis_max: { queries: [{ wildcard: { ean: { value: '*' + text + '*' } } }, { wildcard: { title: { value: '*' + text + '*' } } }] } },
58
+ sort: { releaseDate: { order: 'desc' } },
59
+ size: 50
60
+ });
61
+ break;
62
+ case 'unity-purchase-order*':
63
+ body.push({
64
+ query: { dis_max: { queries: [{ wildcard: { poNumber: { value: '*' + text + '*' } } }, { wildcard: { ean: { value: '*' + text + '*' } } }, { wildcard: { basketNumber: { value: '*' + text + '*' } } }] } },
65
+ size: 50
66
+ });
67
+ break;
68
+ case 'unity-deal*':
69
+ body.push({
70
+ query: { dis_max: { queries: [{ wildcard: { dealNumber: { value: '*' + text + '*' } } }] } },
71
+ sort: [{ _score: { order: 'desc' } }, { 'dealNumber.keyword': { order: 'asc' } }],
72
+ size: 50
73
+ });
74
+ break;
75
+ case 'unity-work-record*':
76
+ body.push({
77
+ query: { dis_max: { queries: [{ wildcard: { workRecordId: { value: '*' + text + '*' } } }] } },
78
+ sort: [{ 'workRecordId.keyword': { order: 'asc' } }],
79
+ size: 50
80
+ });
81
+ break;
82
+ case 'unity-invoice*':
83
+ body.push({
84
+ query: { dis_max: { queries: [{ wildcard: { number: { value: '*' + text + '*' } } }] } },
85
+ sort: [{ 'number.keyword': { order: 'asc' } }],
86
+ size: 50
87
+ });
88
+ break;
89
+ case 'unity-third-party*':
90
+ body.push({
91
+ query: {
92
+ dis_max: {
93
+ queries: [{ wildcard: { companyOrPersonName: { value: '*' + text + '*' } } }, { wildcard: { companyOrPersonName: { value: text + '*' } } }, { wildcard: { companyOrPersonName: { value: text } } }],
94
+ tie_breaker: 0.5
95
+ }
96
+ },
97
+ sort: [{ _score: { order: 'desc' } }, { companyOrPersonName: { order: 'asc' } }],
98
+ size: 50
99
+ });
100
+ break;
101
+ case 'unity-contract*':
102
+ body.push({
103
+ query: { bool: this.composeContractQuery(text, user.subsidiaries) },
104
+ sort: [{ 'lisaId.keyword': { order: 'asc' } }],
105
+ size: 50
106
+ });
107
+ break;
108
+ case 'unity-royalty-contract':
109
+ body.push({
110
+ query: { dis_max: { queries: [{ wildcard: { contractNumber: { value: '*' + text + '*' } } }] } },
111
+ sort: [{ 'contractNumber.keyword': { order: 'asc' } }],
112
+ size: 50
113
+ });
114
+ break;
115
+ case 'unity-royalty-count':
116
+ body.push({
117
+ query: { dis_max: { queries: [{ wildcard: { countNumber: { value: '*' + text + '*' } } }] } },
118
+ sort: [{ 'countNumber.keyword': { order: 'asc' } }],
119
+ size: 50
120
+ });
121
+ break;
122
+ case 'unity-royalty-invoice':
123
+ body.push({
124
+ query: { dis_max: { queries: [{ wildcard: { invoiceNumber: { value: '*' + text + '*' } } }] } },
125
+ sort: [{ 'invoiceNumber.keyword': { order: 'asc' } }],
126
+ size: 50
127
+ });
128
+ break;
129
+ }
130
+ }
131
+ return from(this.getElasticsearchClient().msearch({ body }));
132
+ }
133
+ getDocuments(searchResponse) {
134
+ let results = [];
135
+ if (searchResponse && searchResponse.responses) {
136
+ for (const r of searchResponse.responses) {
137
+ if (r.error || !r.hits) {
138
+ continue;
139
+ }
140
+ const item = r.hits.hits && r.hits.hits.length > 0 ? r.hits.hits.map(v => this.mapDocument(v)) : [];
141
+ results = results.concat(item);
142
+ }
143
+ }
144
+ return results;
145
+ }
146
+ mapDocument(doc) {
147
+ switch (doc._source.docType) {
148
+ case 'INVOICE':
149
+ return Object.assign(new InvoiceRapidSearchModel(), doc._source);
150
+ case 'WORK_RECORD':
151
+ return Object.assign(new WorkRecordRapidSearchModel(), doc._source);
152
+ default:
153
+ return doc._source;
154
+ }
155
+ }
156
+ composeContractQuery(text, subsidiadies) {
157
+ const societes = this.subsidiariesMappingService.getSocieteAppartenance(subsidiadies);
158
+ const must = [
159
+ { wildcard: { lisaId: { value: '*' + text + '*' } } }
160
+ ];
161
+ const should = [];
162
+ should.push({ bool: { must_not: { exists: { field: 'societeAppartenance' } } } });
163
+ if (societes && societes.length > 0) {
164
+ should.push({ terms: { societeAppartenance: societes } });
165
+ }
166
+ const boolQuery = { must };
167
+ boolQuery.should = should;
168
+ boolQuery.minimum_should_match = 1;
169
+ return boolQuery;
170
+ }
171
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ElasticsearchService, deps: [{ token: WEB_CONFIG }, { token: i1.SubsidiariesService }], target: i0.ɵɵFactoryTarget.Injectable }); }
172
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ElasticsearchService }); }
173
+ }
174
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ElasticsearchService, decorators: [{
175
+ type: Injectable
176
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
177
+ type: Inject,
178
+ args: [WEB_CONFIG]
179
+ }] }, { type: i1.SubsidiariesService }]; } });
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhc3RpY3NlYXJjaC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV3LWZyb250LWNvbW1vbi1saWJyYXJ5L3NyYy9saWIvdXRpbC9zZXJ2aWNlcy9lbGFzdGljc2VhcmNoL2VsYXN0aWNzZWFyY2guc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUMsSUFBSSxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBQyxNQUFNLElBQUksUUFBUSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFJekQsT0FBTyxFQUFTLFVBQVUsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUloRCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUVsRyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxvREFBb0QsQ0FBQzs7O0FBTTNGLE1BQU0sT0FBTyxvQkFBb0I7SUFFL0IsWUFBd0MsTUFBYyxFQUNsQywwQkFBK0M7UUFEM0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNsQywrQkFBMEIsR0FBMUIsMEJBQTBCLENBQXFCO1FBSW5FLDBCQUFxQixHQUFHO1lBQ3RCLFlBQVksRUFBRSxDQUFDLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxvQkFBb0IsQ0FBQztZQUNyRSxZQUFZLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsb0JBQW9CLENBQUM7WUFDckUsMkJBQTJCLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsb0JBQW9CLENBQUM7WUFDcEYsZUFBZSxFQUFFLENBQUMsZ0JBQWdCLENBQUM7WUFDbkMsS0FBSyxFQUFFLENBQUMsdUJBQXVCLENBQUM7WUFDaEMsT0FBTyxFQUFFLENBQUMsaUJBQWlCLENBQUM7WUFDNUIsU0FBUyxF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QUMsRUFBQyxDQUFDLENBQUM7UUFDMUUsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDbkMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFDLEtBQUssRUFBRSxFQUFDLG1CQUFtQixFQUFFLFFBQVEsRUFBQyxFQUFDLENBQUMsQ0FBQztTQUN2RDtRQUNELE1BQU0sU0FBUyxHQUFRLEVBQUMsSUFBSSxFQUFDLENBQUM7UUFDOUIsU0FBUyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDMUIsU0FBUyxDQUFDLG9CQUFvQixHQUFHLENBQUMsQ0FBQztRQUNuQyxPQUFPLFNBQVMsQ0FBQTtJQUNsQixDQUFDOytHQTVLVSxvQkFBb0Isa0JBRVgsVUFBVTttSEFGbkIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVOzswQkFHSSxNQUFNOzJCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2Zyb20sIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtDbGllbnQgYXMgQ2xpZW50SnN9IGZyb20gJ2VsYXN0aWNzZWFyY2gtYnJvd3Nlcic7XG5pbXBvcnQge0NsaWVudCwgTVNlYXJjaFJlc3BvbnNlfSBmcm9tICdlbGFzdGljc2VhcmNoJztcbmltcG9ydCB7UHVyY2hhc2VPcmRlclJhcGlkU2VhcmNoTW9kZWx9IGZyb20gXCIuLi8uLi9tb2RlbHMvZXhwZW5kaXR1cmUtY29tbWl0bWVudC9wdXJjaGFzZS1vcmRlci1yYXBpZC1zZWFyY2gubW9kZWxcIjtcbmltcG9ydCB7UHJvZHVjdFJhcGlkU2VhcmNoTW9kZWx9IGZyb20gXCIuLi8uLi9tb2RlbHMvdmlkZW8vcHJvZHVjdC1yYXBpZC1zZWFyY2gubW9kZWxcIjtcbmltcG9ydCB7Q29uZmlnLCBXRUJfQ09ORklHfSBmcm9tICcuLi8uLi9jb25maWcnO1xuaW1wb3J0IHtXb3JrVmVyc2lvblJhcGlkU2VhcmNoTW9kZWx9IGZyb20gXCIuLi8uLi9tb2RlbHMvcmVmZXJlbnRpYWwvd29yay12ZXJzaW9uLXJhcGlkLXNlYXJjaC5tb2RlbFwiO1xuaW1wb3J0IHtEZWFsUmFwaWRTZWFyY2hNb2RlbH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NvbW1lcmNpYWwvZGVhbC1yYXBpZC1zZWFyY2gtbW9kZWwnO1xuaW1wb3J0IHtUaGlyZFBhcnR5UmFwaWRTZWFyY2hNb2RlbH0gZnJvbSBcIi4uLy4uL21vZGVscy9yZWZlcmVudGlhbC90aGlyZC1wYXJ0eS1yYXBpZC1zZWFyY2gubW9kZWxcIjtcbmltcG9ydCB7V29ya1JlY29yZFJhcGlkU2VhcmNoTW9kZWx9IGZyb20gXCIuLi8uLi9tb2RlbHMvY29tbWVyY2lhbC93b3JrLXJlY29yZC1yYXBpZC1zZWFyY2gtbW9kZWxcIjtcbmltcG9ydCB7Q29udHJhY3RSYXBpZFNlYXJjaE1vZGVsfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2xlZ2FsL2NvbnRyYWN0LXJhcGlkLXNlYXJjaC1tb2RlbFwiO1xuaW1wb3J0IHtJbnZvaWNlUmFwaWRTZWFyY2hNb2RlbH0gZnJvbSBcIi4uLy4uL21vZGVscy9jb21tZXJjaWFsL2ludm9pY2UtcmFwaWQtc2VhcmNoLW1vZGVsXCI7XG5pbXBvcnQge0F1dGhVc2VyTW9kZWx9IGZyb20gXCIuLi8uLi9tb2RlbHNcIjtcbmltcG9ydCB7U3Vic2lkaWFyaWVzU2VydmljZX0gZnJvbSBcIi4vc3Vic2lkaWFyaWVzLnNlcnZpY2VcIjtcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRWxhc3RpY3NlYXJjaFNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoV0VCX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IENvbmZpZyxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBzdWJzaWRpYXJpZXNNYXBwaW5nU2VydmljZTogU3Vic2lkaWFyaWVzU2VydmljZSkge1xuICB9XG5cbiAgcHJpdmF0ZSBjbGllbnQ6IENsaWVudDtcbiAgUFJPRklMRV9TRUFSQ0hfQ09ORklHID0ge1xuICAgICdDT01NRVJDSUFMJzogWyd1bml0eS1pbnZvaWNlKicsICd1bml0eS1kZWFsKicsICd1bml0eS13b3JrLXJlY29yZConXSxcbiAgICAnQUNDT1VOVEFOVCc6IFsndW5pdHktaW52b2ljZSonLCAndW5pdHktZGVhbConLCAndW5pdHktd29yay1yZWNvcmQqJ10sXG4gICAgJ0FETUlOSVNUUkFUSVZFX0NPTlRST0xMRVInOiBbJ3VuaXR5LWludm9pY2UqJywgJ3VuaXR5LWRlYWwqJywgJ3VuaXR5LXdvcmstcmVjb3JkKiddLFxuICAgICdWSURFT19DT05TVUxUJzogWyd1bml0eS1wcm9kdWN0KiddLFxuICAgICdCREMnOiBbJ3VuaXR5LXB1cmNoYXNlLW9yZGVyKiddLFxuICAgICdMRUdBTCc6IFsndW5pdHktY29udHJhY3QqJ10sXG4gICAgJ1JPWUFMVFknOiBbJ3VuaXR5LXJveWFsdHktY29udHJhY3QnLCAndW5pdHktcm95YWx0eS1jb3VudCcsICd1bml0eS1yb3lhbHR5LWludm9pY2UnXSxcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RWxhc3RpY3NlYXJjaENsaWVudCgpOiBDbGllbnQge1xuICAgIGlmICghdGhpcy5jbGllbnQpIHtcbiAgICAgIHRoaXMuY2xpZW50ID0gbmV3IENsaWVudEpzKHtcbiAgICAgICAgaG9zdDogdGhpcy5jb25maWcuZWxhc3RpY3NlYXJjaF91cmxcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jbGllbnQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0U2VhcmNoUmVzcG9uc2UodGV4dDogc3RyaW5nLCB1c2VyOiBBdXRoVXNlck1vZGVsKTogT2JzZXJ2YWJsZTxNU2VhcmNoUmVzcG9uc2U8YW55Pj4ge1xuICAgIGNvbnN0IGFsbEluZGV4ZXM6IFNldDxzdHJpbmc+ID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gICAgYWxsSW5kZXhlcy5hZGQoJ3VuaXR5LXdvcmstdmVyc2lvbionKVxuICAgIGFsbEluZGV4ZXMuYWRkKCd1bml0eS10aGlyZC1wYXJ0eSonKVxuXG4gICAgZm9yIChjb25zdCBwZXJtaXNzaW9uIG9mIHVzZXIucGVybWlzc2lvbnMpIHtcbiAgICAgIGNvbnN0IGluZGV4ZXMgPSB0aGlzLlBST0ZJTEVfU0VBUkNIX0NPTkZJR1twZXJtaXNzaW9uLmNvZGVdO1xuICAgICAgaW5kZXhlcz8uZm9yRWFjaChpZHggPT4gYWxsSW5kZXhlcy5hZGQoaWR4KSk7XG4gICAgfVxuXG4gICAgY29uc3QgYm9keTogYW55W10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IGluZGV4IG9mIGFsbEluZGV4ZXMpIHtcbiAgICAgIGJvZHkucHVzaCh7aW5kZXh9KTtcbiAgICAgIHN3aXRjaCAoaW5kZXgpIHtcbiAgICAgICAgY2FzZSAndW5pdHktd29yay12ZXJzaW9uKicgOlxuICAgICAgICAgIGJvZHkucHVzaCh7XG4gICAgICAgICAgICBxdWVyeToge1xuICAgICAgICAgICAgICBkaXNfbWF4OiB7XG4gICAgICAgICAgICAgICAgcXVlcmllczogW3t3aWxkY2FyZDoge21pbG9Db2RlOiB7dmFsdWU6ICcqJyArIHRleHQgKyAnKid9fX0sIHt3aWxkY2FyZDoge3RpdGxlOiB7dmFsdWU6ICcqJyArIHRleHQgKyAnKid9fX0sIHt3aWxkY2FyZDoge3RpdGxlOiB7dmFsdWU6IHRleHQgKyAnKid9fX0sIHt3aWxkY2FyZDoge3RpdGxlOiB7dmFsdWU6IHRleHR9fX1dLFxuICAgICAgICAgICAgICAgIHRpZV9icmVha2VyOiAwLjVcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNvcnQ6IFt7X3Njb3JlOiB7b3JkZXI6ICdkZXNjJ319LCB7dGl0bGU6IHtvcmRlcjogXCJhc2NcIn19XSxcbiAgICAgICAgICAgIHNpemU6IDUwXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3VuaXR5LXByb2R1Y3QqJyA6XG4gICAgICAgICAgYm9keS5wdXNoKHtcbiAgICAgICAgICAgIHF1ZXJ5OiB7ZGlzX21heDoge3F1ZXJpZXM6IFt7d2lsZGNhcmQ6IHtlYW46IHt2YWx1ZTogJyonICsgdGV4dCArICcqJ319fSwge3dpbGRjYXJkOiB7dGl0bGU6IHt2YWx1ZTogJyonICsgdGV4dCArICcqJ319fV19fSxcbiAgICAgICAgICAgIHNvcnQ6IHtyZWxlYXNlRGF0ZToge29yZGVyOiAnZGVzYyd9fSxcbiAgICAgICAgICAgIHNpemU6IDUwXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3VuaXR5LXB1cmNoYXNlLW9yZGVyKicgOlxuICAgICAgICAgIGJvZHkucHVzaCh7XG4gICAgICAgICAgICBxdWVyeToge2Rpc19tYXg6IHtxdWVyaWVzOiBbe3dpbGRjYXJkOiB7cG9OdW1iZXI6IHt2YWx1ZTogJyonICsgdGV4dCArICcqJ319fSwge3dpbGRjYXJkOiB7ZWFuOiB7dmFsdWU6ICcqJyArIHRleHQgKyAnKid9fX0sIHt3aWxkY2FyZDoge2Jhc2tldE51bWJlcjoge3ZhbHVlOiAnKicgKyB0ZXh0ICsgJyonfX19XX19LFxuICAgICAgICAgICAgc2l6ZTogNTBcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAndW5pdHktZGVhbConIDpcbiAgICAgICAgICBib2R5LnB1c2goe1xuICAgICAgICAgICAgcXVlcnk6IHtkaXNfbWF4OiB7cXVlcmllczogW3t3aWxkY2FyZDoge2RlYWxOdW1iZXI6IHt2YWx1ZTogJyonICsgdGV4dCArICcqJ319fV19fSxcbiAgICAgICAgICAgIHNvcnQ6IFt7X3Njb3JlOiB7b3JkZXI6ICdkZXNjJ319LCB7J2RlYWxOdW1iZXIua2V5d29yZCc6IHtvcmRlcjogJ2FzYyd9fV0sXG4gICAgICAgICAgICBzaXplOiA1MFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICd1bml0eS13b3JrLXJlY29yZConIDpcbiAgICAgICAgICBib2R5LnB1c2goe1xuICAgICAgICAgICAgcXVlcnk6IHtkaXNfbWF4OiB7cXVlcmllczogW3t3aWxkY2FyZDoge3dvcmtSZWNvcmRJZDoge3ZhbHVlOiAnKicgKyB0ZXh0ICsgJyonfX19XX19LFxuICAgICAgICAgICAgc29ydDogW3snd29ya1JlY29yZElkLmtleXdvcmQnOiB7b3JkZXI6ICdhc2MnfX1dLFxuICAgICAgICAgICAgc2l6ZTogNTBcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAndW5pdHktaW52b2ljZSonIDpcbiAgICAgICAgICBib2R5LnB1c2goe1xuICAgICAgICAgICAgcXVlcnk6IHtkaXNfbWF4OiB7cXVlcmllczogW3t3aWxkY2FyZDoge251bWJlcjoge3ZhbHVlOiAnKicgKyB0ZXh0ICsgJyonfX19XX19LFxuICAgICAgICAgICAgc29ydDogW3snbnVtYmVyLmtleXdvcmQnOiB7b3JkZXI6ICdhc2MnfX1dLFxuICAgICAgICAgICAgc2l6ZTogNTBcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAndW5pdHktdGhpcmQtcGFydHkqJyA6XG4gICAgICAgICAgYm9keS5wdXNoKHtcbiAgICAgICAgICAgIHF1ZXJ5OiB7XG4gICAgICAgICAgICAgIGRpc19tYXg6IHtcbiAgICAgICAgICAgICAgICBxdWVyaWVzOiBbe3dpbGRjYXJkOiB7Y29tcGFueU9yUGVyc29uTmFtZToge3ZhbHVlOiAnKicgKyB0ZXh0ICsgJyonfX19LCB7d2lsZGNhcmQ6IHtjb21wYW55T3JQZXJzb25OYW1lOiB7dmFsdWU6IHRleHQgKyAnKid9fX0sIHt3aWxkY2FyZDoge2NvbXBhbnlPclBlcnNvbk5hbWU6IHt2YWx1ZTogdGV4dH19fV0sXG4gICAgICAgICAgICAgICAgdGllX2JyZWFrZXI6IDAuNVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc29ydDogW3tfc2NvcmU6IHtvcmRlcjogJ2Rlc2MnfX0sIHtjb21wYW55T3JQZXJzb25OYW1lOiB7b3JkZXI6ICdhc2MnfX1dLFxuICAgICAgICAgICAgc2l6ZTogNTBcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAndW5pdHktY29udHJhY3QqJyA6XG4gICAgICAgICAgYm9keS5wdXNoKHtcbiAgICAgICAgICAgIHF1ZXJ5OiB7Ym9vbDogdGhpcy5jb21wb3NlQ29udHJhY3RRdWVyeSh0ZXh0LCB1c2VyLnN1YnNpZGlhcmllcyl9LFxuICAgICAgICAgICAgc29ydDogW3snbGlzYUlkLmtleXdvcmQnOiB7b3JkZXI6ICdhc2MnfX1dLFxuICAgICAgICAgICAgc2l6ZTogNTBcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAndW5pdHktcm95YWx0eS1jb250cmFjdCcgOlxuICAgICAgICAgIGJvZHkucHVzaCh7XG4gICAgICAgICAgICBxdWVyeToge2Rpc19tYXg6IHtxdWVyaWVzOiBbe3dpbGRjYXJkOiB7Y29udHJhY3ROdW1iZXI6IHt2YWx1ZTogJyonICsgdGV4dCArICcqJ319fV19fSxcbiAgICAgICAgICAgIHNvcnQ6IFt7J2NvbnRyYWN0TnVtYmVyLmtleXdvcmQnOiB7b3JkZXI6ICdhc2MnfX1dLFxuICAgICAgICAgICAgc2l6ZTogNTBcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAndW5pdHktcm95YWx0eS1jb3VudCcgOlxuICAgICAgICAgIGJvZHkucHVzaCh7XG4gICAgICAgICAgICBxdWVyeToge2Rpc19tYXg6IHtxdWVyaWVzOiBbe3dpbGRjYXJkOiB7Y291bnROdW1iZXI6IHt2YWx1ZTogJyonICsgdGV4dCArICcqJ319fV19fSxcbiAgICAgICAgICAgIHNvcnQ6IFt7J2NvdW50TnVtYmVyLmtleXdvcmQnOiB7b3JkZXI6ICdhc2MnfX1dLFxuICAgICAgICAgICAgc2l6ZTogNTBcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAndW5pdHktcm95YWx0eS1pbnZvaWNlJyA6XG4gICAgICAgICAgYm9keS5wdXNoKHtcbiAgICAgICAgICAgIHF1ZXJ5OiB7ZGlzX21heDoge3F1ZXJpZXM6IFt7d2lsZGNhcmQ6IHtpbnZvaWNlTnVtYmVyOiB7dmFsdWU6ICcqJyArIHRleHQgKyAnKid9fX1dfX0sXG4gICAgICAgICAgICBzb3J0OiBbeydpbnZvaWNlTnVtYmVyLmtleXdvcmQnOiB7b3JkZXI6ICdhc2MnfX1dLFxuICAgICAgICAgICAgc2l6ZTogNTBcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZyb20odGhpcy5nZXRFbGFzdGljc2VhcmNoQ2xpZW50KCkubXNlYXJjaCh7Ym9keX0pKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXREb2N1bWVudHMoc2VhcmNoUmVzcG9uc2U6IGFueSk6IChQdXJjaGFzZU9yZGVyUmFwaWRTZWFyY2hNb2RlbCB8IFByb2R1Y3RSYXBpZFNlYXJjaE1vZGVsIHxcbiAgICBXb3JrVmVyc2lvblJhcGlkU2VhcmNoTW9kZWwgfCBEZWFsUmFwaWRTZWFyY2hNb2RlbCB8IFdvcmtSZWNvcmRSYXBpZFNlYXJjaE1vZGVsIHwgVGhpcmRQYXJ0eVJhcGlkU2VhcmNoTW9kZWwgfCBDb250cmFjdFJhcGlkU2VhcmNoTW9kZWwpW10ge1xuICAgIGxldCByZXN1bHRzID0gW107XG4gICAgaWYgKHNlYXJjaFJlc3BvbnNlICYmIHNlYXJjaFJlc3BvbnNlLnJlc3BvbnNlcykge1xuICAgICAgZm9yIChjb25zdCByIG9mIHNlYXJjaFJlc3BvbnNlLnJlc3BvbnNlcykge1xuICAgICAgICBpZiAoci5lcnJvciB8fCAhci5oaXRzKSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpdGVtID0gci5oaXRzLmhpdHMgJiYgci5oaXRzLmhpdHMubGVuZ3RoID4gMCA/IHIuaGl0cy5oaXRzLm1hcCh2ID0+IHRoaXMubWFwRG9jdW1lbnQodikpIDogW107XG4gICAgICAgIHJlc3VsdHMgPSByZXN1bHRzLmNvbmNhdChpdGVtKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdHM7XG4gIH1cblxuICBtYXBEb2N1bWVudChkb2M6IGFueSk6IGFueSB7XG4gICAgc3dpdGNoIChkb2MuX3NvdXJjZS5kb2NUeXBlKSB7XG4gICAgICBjYXNlICdJTlZPSUNFJzpcbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24obmV3IEludm9pY2VSYXBpZFNlYXJjaE1vZGVsKCksIGRvYy5fc291cmNlKTtcbiAgICAgIGNhc2UgJ1dPUktfUkVDT1JEJzpcbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24obmV3IFdvcmtSZWNvcmRSYXBpZFNlYXJjaE1vZGVsKCksIGRvYy5fc291cmNlKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBkb2MuX3NvdXJjZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNvbXBvc2VDb250cmFjdFF1ZXJ5KHRleHQ6IHN0cmluZywgc3Vic2lkaWFkaWVzKSB7XG4gICAgY29uc3Qgc29jaWV0ZXMgPSB0aGlzLnN1YnNpZGlhcmllc01hcHBpbmdTZXJ2aWNlLmdldFNvY2lldGVBcHBhcnRlbmFuY2Uoc3Vic2lkaWFkaWVzKTtcbiAgICBjb25zdCBtdXN0OiBhbnlbXSA9IFtcbiAgICAgIHt3aWxkY2FyZDoge2xpc2FJZDoge3ZhbHVlOiAnKicgKyB0ZXh0ICsgJyonfX19XG4gICAgXTtcbiAgICBjb25zdCBzaG91bGQ6IGFueVtdID0gW107XG4gICAgc2hvdWxkLnB1c2goe2Jvb2w6IHttdXN0X25vdDoge2V4aXN0czoge2ZpZWxkOiAnc29jaWV0ZUFwcGFydGVuYW5jZSd9fX19KTtcbiAgICBpZiAoc29jaWV0ZXMgJiYgc29jaWV0ZXMubGVuZ3RoID4gMCkge1xuICAgICAgc2hvdWxkLnB1c2goe3Rlcm1zOiB7c29jaWV0ZUFwcGFydGVuYW5jZTogc29jaWV0ZXN9fSk7XG4gICAgfVxuICAgIGNvbnN0IGJvb2xRdWVyeTogYW55ID0ge211c3R9O1xuICAgIGJvb2xRdWVyeS5zaG91bGQgPSBzaG91bGQ7XG4gICAgYm9vbFF1ZXJ5Lm1pbmltdW1fc2hvdWxkX21hdGNoID0gMTtcbiAgICByZXR1cm4gYm9vbFF1ZXJ5XG4gIH1cblxufVxuIl19
@@ -0,0 +1,48 @@
1
+ import { inject, Injectable } from "@angular/core";
2
+ import { LegalApiService } from "../api/legal-api.service";
3
+ import * as i0 from "@angular/core";
4
+ export class SubsidiariesService {
5
+ constructor() {
6
+ this.legalService = inject(LegalApiService);
7
+ this.defaultMapping = {
8
+ 1: [4991],
9
+ 2: [332, 333, 334, 739, 335, 1379, 1380, 4988, 4990],
10
+ 3: [332, 333, 334, 739, 335, 1379, 1380, 4988, 4990],
11
+ 4: [332, 333, 334, 739, 335, 1379, 1380, 4988, 4990],
12
+ 5: [332, 333, 334, 739, 335, 1379, 1380, 4988, 4990],
13
+ 6: [332, 333, 334, 739, 335, 1379, 1380, 4988, 4990],
14
+ 7: [332, 333, 334, 739, 335, 1379, 1380, 4988, 4990]
15
+ };
16
+ this.subsidiaryToSocieteMapLegal = {};
17
+ this.loadTableSocieteAppartenance();
18
+ }
19
+ loadTableSocieteAppartenance() {
20
+ this.legalService.getMappingSocietesSubsidiaries().subscribe({
21
+ next: (map) => {
22
+ this.subsidiaryToSocieteMapLegal = map;
23
+ },
24
+ error: () => {
25
+ console.log('Default mapping for subsidiaryToSocieteMapLegal');
26
+ this.subsidiaryToSocieteMapLegal = { ...this.defaultMapping };
27
+ }
28
+ });
29
+ }
30
+ getSocieteAppartenance(subsidiaries) {
31
+ if (subsidiaries === null) {
32
+ return null;
33
+ }
34
+ return subsidiaries
35
+ .reduce((acc, sub) => {
36
+ const societes = this.subsidiaryToSocieteMapLegal[sub.id] || [];
37
+ return acc.concat(societes);
38
+ }, [])
39
+ .filter((v, i, arr) => arr.indexOf(v) === i);
40
+ }
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SubsidiariesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
42
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SubsidiariesService, providedIn: 'root' }); }
43
+ }
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SubsidiariesService, decorators: [{
45
+ type: Injectable,
46
+ args: [{ providedIn: 'root' }]
47
+ }], ctorParameters: function () { return []; } });
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2lkaWFyaWVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXctZnJvbnQtY29tbW9uLWxpYnJhcnkvc3JjL2xpYi91dGlsL3NlcnZpY2VzL2VsYXN0aWNzZWFyY2gvc3Vic2lkaWFyaWVzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDOztBQUd6RCxNQUFNLE9BQU8sbUJBQW1CO0lBZ0I5QjtRQWRpQixpQkFBWSxHQUFvQixNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFakUsbUJBQWMsR0FBNkI7WUFDakQsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDO1lBQ1QsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7WUFDcEQsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7WUFDcEQsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7WUFDcEQsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7WUFDcEQsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7WUFDcEQsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7U0FDckQsQ0FBQTtRQUVPLGdDQUEyQixHQUE2QixFQUFFLENBQUM7UUFHakUsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUNELDRCQUE0QjtRQUMxQixJQUFJLENBQUMsWUFBWSxDQUFDLDhCQUE4QixFQUFFLENBQUMsU0FBUyxDQUFDO1lBQzNELElBQUksRUFBRSxDQUFDLEdBQTZCLEVBQUUsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLDJCQUEyQixHQUFHLEdBQUcsQ0FBQztZQUN6QyxDQUFDO1lBQ0QsS0FBSyxFQUFFLEdBQUcsRUFBRTtnQkFDVixPQUFPLENBQUMsR0FBRyxDQUFDLGlEQUFpRCxDQUFDLENBQUM7Z0JBQy9ELElBQUksQ0FBQywyQkFBMkIsR0FBRyxFQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBQyxDQUFDO1lBQzlELENBQUM7U0FDRixDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsc0JBQXNCLENBQUMsWUFBK0I7UUFDcEQsSUFBSSxZQUFZLEtBQUssSUFBSSxFQUFFO1lBQ3pCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxPQUFPLFlBQVk7YUFDaEIsTUFBTSxDQUFDLENBQUMsR0FBYSxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQzdCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2hFLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QixDQUFDLEVBQUUsRUFBRSxDQUFDO2FBQ0wsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDakQsQ0FBQzsrR0F6Q1UsbUJBQW1CO21IQUFuQixtQkFBbUIsY0FEUCxNQUFNOzs0RkFDbEIsbUJBQW1CO2tCQUQvQixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtTdWJzaWRpYXJ5TW9kZWx9IGZyb20gXCIuLi8uLi9tb2RlbHNcIjtcbmltcG9ydCB7TGVnYWxBcGlTZXJ2aWNlfSBmcm9tIFwiLi4vYXBpL2xlZ2FsLWFwaS5zZXJ2aWNlXCI7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIFN1YnNpZGlhcmllc1NlcnZpY2Uge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbGVnYWxTZXJ2aWNlOiBMZWdhbEFwaVNlcnZpY2UgPSBpbmplY3QoTGVnYWxBcGlTZXJ2aWNlKTtcblxuICBwcml2YXRlIGRlZmF1bHRNYXBwaW5nOiBSZWNvcmQ8bnVtYmVyLCBudW1iZXJbXT4gPSB7XG4gICAgMTogWzQ5OTFdLFxuICAgIDI6IFszMzIsIDMzMywgMzM0LCA3MzksIDMzNSwgMTM3OSwgMTM4MCwgNDk4OCwgNDk5MF0sXG4gICAgMzogWzMzMiwgMzMzLCAzMzQsIDczOSwgMzM1LCAxMzc5LCAxMzgwLCA0OTg4LCA0OTkwXSxcbiAgICA0OiBbMzMyLCAzMzMsIDMzNCwgNzM5LCAzMzUsIDEzNzksIDEzODAsIDQ5ODgsIDQ5OTBdLFxuICAgIDU6IFszMzIsIDMzMywgMzM0LCA3MzksIDMzNSwgMTM3OSwgMTM4MCwgNDk4OCwgNDk5MF0sXG4gICAgNjogWzMzMiwgMzMzLCAzMzQsIDczOSwgMzM1LCAxMzc5LCAxMzgwLCA0OTg4LCA0OTkwXSxcbiAgICA3OiBbMzMyLCAzMzMsIDMzNCwgNzM5LCAzMzUsIDEzNzksIDEzODAsIDQ5ODgsIDQ5OTBdXG4gIH1cblxuICBwcml2YXRlIHN1YnNpZGlhcnlUb1NvY2lldGVNYXBMZWdhbDogUmVjb3JkPG51bWJlciwgbnVtYmVyW10+ID0ge307XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5sb2FkVGFibGVTb2NpZXRlQXBwYXJ0ZW5hbmNlKCk7XG4gIH1cbiAgbG9hZFRhYmxlU29jaWV0ZUFwcGFydGVuYW5jZSgpIHtcbiAgICB0aGlzLmxlZ2FsU2VydmljZS5nZXRNYXBwaW5nU29jaWV0ZXNTdWJzaWRpYXJpZXMoKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKG1hcDogUmVjb3JkPG51bWJlciwgbnVtYmVyW10+KSA9PiB7XG4gICAgICAgIHRoaXMuc3Vic2lkaWFyeVRvU29jaWV0ZU1hcExlZ2FsID0gbWFwO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdEZWZhdWx0IG1hcHBpbmcgZm9yIHN1YnNpZGlhcnlUb1NvY2lldGVNYXBMZWdhbCcpO1xuICAgICAgICB0aGlzLnN1YnNpZGlhcnlUb1NvY2lldGVNYXBMZWdhbCA9IHsuLi50aGlzLmRlZmF1bHRNYXBwaW5nfTtcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgZ2V0U29jaWV0ZUFwcGFydGVuYW5jZShzdWJzaWRpYXJpZXM6IFN1YnNpZGlhcnlNb2RlbFtdKSB7XG4gICAgaWYgKHN1YnNpZGlhcmllcyA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiBzdWJzaWRpYXJpZXNcbiAgICAgIC5yZWR1Y2UoKGFjYzogbnVtYmVyW10sIHN1YikgPT4ge1xuICAgICAgICBjb25zdCBzb2NpZXRlcyA9IHRoaXMuc3Vic2lkaWFyeVRvU29jaWV0ZU1hcExlZ2FsW3N1Yi5pZF0gfHwgW107XG4gICAgICAgIHJldHVybiBhY2MuY29uY2F0KHNvY2lldGVzKTtcbiAgICAgIH0sIFtdKVxuICAgICAgLmZpbHRlcigodiwgaSwgYXJyKSA9PiBhcnIuaW5kZXhPZih2KSA9PT0gaSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,25 @@
1
+ import { EventEmitter, Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class FormActionsEventsService {
4
+ constructor() {
5
+ this.updateEvent = new EventEmitter(true);
6
+ this.consultToEdit = new EventEmitter(true);
7
+ this.EditToConsult = new EventEmitter(true);
8
+ this.consultToDuplicate = new EventEmitter(true);
9
+ }
10
+ emitUpdateEvent() {
11
+ this.updateEvent.emit();
12
+ }
13
+ emitEventIsUpdateTrue() {
14
+ this.consultToEdit.emit(true);
15
+ }
16
+ emitConsultEvent() {
17
+ this.EditToConsult.emit();
18
+ }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormActionsEventsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
20
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormActionsEventsService }); }
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormActionsEventsService, decorators: [{
23
+ type: Injectable
24
+ }], ctorParameters: function () { return []; } });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1hY3Rpb25zLWV2ZW50cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV3LWZyb250LWNvbW1vbi1saWJyYXJ5L3NyYy9saWIvdXRpbC9zZXJ2aWNlcy9mb3JtLWFjdGlvbi9mb3JtLWFjdGlvbnMtZXZlbnRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBR3pELE1BQU0sT0FBTyx3QkFBd0I7SUFPakM7UUFMTyxnQkFBVyxHQUEwQixJQUFJLFlBQVksQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUNyRSxrQkFBYSxHQUEwQixJQUFJLFlBQVksQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUN2RSxrQkFBYSxHQUEwQixJQUFJLFlBQVksQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUN2RSx1QkFBa0IsR0FBMEIsSUFBSSxZQUFZLENBQVUsSUFBSSxDQUFDLENBQUM7SUFHbkYsQ0FBQztJQUVNLGVBQWU7UUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU0scUJBQXFCO1FBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxnQkFBZ0I7UUFDbkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM5QixDQUFDOytHQXBCUSx3QkFBd0I7bUhBQXhCLHdCQUF3Qjs7NEZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRm9ybUFjdGlvbnNFdmVudHNTZXJ2aWNlIHtcblxuICAgIHB1YmxpYyB1cGRhdGVFdmVudDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPih0cnVlKTtcbiAgICBwdWJsaWMgY29uc3VsdFRvRWRpdDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPih0cnVlKTtcbiAgICBwdWJsaWMgRWRpdFRvQ29uc3VsdDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPih0cnVlKTtcbiAgICBwdWJsaWMgY29uc3VsdFRvRHVwbGljYXRlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KHRydWUpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgfVxuXG4gICAgcHVibGljIGVtaXRVcGRhdGVFdmVudCgpIHtcbiAgICAgICAgdGhpcy51cGRhdGVFdmVudC5lbWl0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGVtaXRFdmVudElzVXBkYXRlVHJ1ZSgpIHtcbiAgICAgICAgdGhpcy5jb25zdWx0VG9FZGl0LmVtaXQodHJ1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGVtaXRDb25zdWx0RXZlbnQoKSB7XG4gICAgICAgIHRoaXMuRWRpdFRvQ29uc3VsdC5lbWl0KCk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,32 @@
1
+ import { WEB_CONFIG } from '../../config';
2
+ import { CookieService } from 'ngx-cookie-service';
3
+ import { CommonApiService } from '../api/common-api.service';
4
+ import { catchError, map } from 'rxjs/operators';
5
+ import { inject } from '@angular/core';
6
+ import { AuthService } from '../auth/auth.service';
7
+ import { of } from "rxjs";
8
+ export const authGuard = (route, state) => {
9
+ const cookieService = inject(CookieService);
10
+ const commonApiService = inject(CommonApiService);
11
+ const webConfig = inject(WEB_CONFIG);
12
+ const authService = inject(AuthService);
13
+ if (state.url.includes('/login/invalid')) {
14
+ return true;
15
+ }
16
+ if (commonApiService.isTokenValid()) {
17
+ authService.setAuthenticated(true);
18
+ return true;
19
+ }
20
+ const user = commonApiService.getUserDataFromToken();
21
+ const email = user.secondary ? user.email : cookieService.get('auth-mail');
22
+ return commonApiService.ssoLogin(email).pipe(map((data) => {
23
+ user.secondary ? commonApiService.setSecondaryToken(data.token) : commonApiService.setToken(data.token);
24
+ authService.setAuthenticated(true);
25
+ return true;
26
+ }), catchError(() => {
27
+ authService.setAuthenticated(false);
28
+ window.location.href = webConfig.api_url + '/login/invalid';
29
+ return of(false);
30
+ }));
31
+ };
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldy1mcm9udC1jb21tb24tbGlicmFyeS9zcmMvbGliL3V0aWwvc2VydmljZXMvZ3VhcmQvYXV0aC5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFMUIsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFrQixDQUN0QyxLQUE2QixFQUM3QixLQUEwQixFQUMxQixFQUFFO0lBQ0YsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzVDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbEQsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3JDLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUV4QyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEVBQUU7UUFDeEMsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELElBQUksZ0JBQWdCLENBQUMsWUFBWSxFQUFFLEVBQUU7UUFDbkMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFFRCxNQUFNLElBQUksR0FBa0IsZ0JBQWdCLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUNwRSxNQUFNLEtBQUssR0FBVyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRW5GLE9BQU8sZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FDMUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDWCxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEcsV0FBVyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLEdBQUcsRUFBRTtRQUNkLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUMsT0FBTyxHQUFHLGdCQUFnQixDQUFDO1FBQzVELE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25CLENBQUMsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FjdGl2YXRlZFJvdXRlU25hcHNob3QsIENhbkFjdGl2YXRlRm4sIFJvdXRlclN0YXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgV0VCX0NPTkZJRyB9IGZyb20gJy4uLy4uL2NvbmZpZyc7XG5pbXBvcnQgeyBDb29raWVTZXJ2aWNlIH0gZnJvbSAnbmd4LWNvb2tpZS1zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbkFwaVNlcnZpY2UgfSBmcm9tICcuLi9hcGkvY29tbW9uLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEF1dGhVc2VyTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uL2F1dGgvYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IG9mIH0gZnJvbSBcInJ4anNcIjtcblxuZXhwb3J0IGNvbnN0IGF1dGhHdWFyZDogQ2FuQWN0aXZhdGVGbiA9IChcbiAgcm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXG4gIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90XG4pID0+IHtcbiAgY29uc3QgY29va2llU2VydmljZSA9IGluamVjdChDb29raWVTZXJ2aWNlKTtcbiAgY29uc3QgY29tbW9uQXBpU2VydmljZSA9IGluamVjdChDb21tb25BcGlTZXJ2aWNlKTtcbiAgY29uc3Qgd2ViQ29uZmlnID0gaW5qZWN0KFdFQl9DT05GSUcpO1xuICBjb25zdCBhdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSk7XG5cbiAgaWYgKHN0YXRlLnVybC5pbmNsdWRlcygnL2xvZ2luL2ludmFsaWQnKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKGNvbW1vbkFwaVNlcnZpY2UuaXNUb2tlblZhbGlkKCkpIHtcbiAgICBhdXRoU2VydmljZS5zZXRBdXRoZW50aWNhdGVkKHRydWUpO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgY29uc3QgdXNlcjogQXV0aFVzZXJNb2RlbCA9IGNvbW1vbkFwaVNlcnZpY2UuZ2V0VXNlckRhdGFGcm9tVG9rZW4oKTtcbiAgY29uc3QgZW1haWw6IHN0cmluZyA9IHVzZXIuc2Vjb25kYXJ5ID8gdXNlci5lbWFpbCA6IGNvb2tpZVNlcnZpY2UuZ2V0KCdhdXRoLW1haWwnKTtcblxuICByZXR1cm4gY29tbW9uQXBpU2VydmljZS5zc29Mb2dpbihlbWFpbCkucGlwZShcbiAgICBtYXAoKGRhdGEpID0+IHtcbiAgICAgIHVzZXIuc2Vjb25kYXJ5ID8gY29tbW9uQXBpU2VydmljZS5zZXRTZWNvbmRhcnlUb2tlbihkYXRhLnRva2VuKSA6IGNvbW1vbkFwaVNlcnZpY2Uuc2V0VG9rZW4oZGF0YS50b2tlbik7XG4gICAgICBhdXRoU2VydmljZS5zZXRBdXRoZW50aWNhdGVkKHRydWUpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSksXG4gICAgY2F0Y2hFcnJvcigoKSA9PiB7XG4gICAgICBhdXRoU2VydmljZS5zZXRBdXRoZW50aWNhdGVkKGZhbHNlKTtcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gd2ViQ29uZmlnLmFwaV91cmwgKyAnL2xvZ2luL2ludmFsaWQnO1xuICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcbiAgICB9KVxuICApO1xufTtcbiJdfQ==
@@ -0,0 +1,23 @@
1
+ import { inject } from '@angular/core';
2
+ import { MatDialog } from '@angular/material/dialog';
3
+ import { MyDialogPopupLoginComponent } from '../../component/popup/popup-login/popup-login.component';
4
+ import { AuthService } from '../auth/auth.service';
5
+ import { map } from "rxjs/operators";
6
+ export const loginGuard = () => {
7
+ const dialog = inject(MatDialog);
8
+ const authService = inject(AuthService);
9
+ if (sessionStorage.getItem('authToken') !== null) {
10
+ authService.setAuthenticated(true);
11
+ return true;
12
+ }
13
+ else {
14
+ const dialogRef = dialog.open(MyDialogPopupLoginComponent, {
15
+ disableClose: true
16
+ });
17
+ return dialogRef.afterClosed().pipe(map((res) => {
18
+ authService.setAuthenticated(res);
19
+ return res;
20
+ }));
21
+ }
22
+ };
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXctZnJvbnQtY29tbW9uLWxpYnJhcnkvc3JjL2xpYi91dGlsL3NlcnZpY2VzL2d1YXJkL2xvZ2luLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkMsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLEdBQUcsRUFBRTtJQUMzQixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDakMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRTFDLElBQUksY0FBYyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsS0FBSyxJQUFJLEVBQUU7UUFDOUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDO0tBQ2Y7U0FBTTtRQUNMLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsMkJBQTJCLEVBQUU7WUFDekQsWUFBWSxFQUFFLElBQUk7U0FDbkIsQ0FBQyxDQUFDO1FBRUgsT0FBTyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUNqQyxHQUFHLENBQUMsQ0FBQyxHQUFZLEVBQUUsRUFBRTtZQUNuQixXQUFXLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbEMsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLENBQUMsQ0FDSCxDQUFDO0tBQ0g7QUFDSCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNeURpYWxvZ1BvcHVwTG9naW5Db21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnQvcG9wdXAvcG9wdXAtbG9naW4vcG9wdXAtbG9naW4uY29tcG9uZW50JztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vYXV0aC9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHttYXB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5leHBvcnQgY29uc3QgbG9naW5HdWFyZCA9ICgpID0+IHtcbiAgICBjb25zdCBkaWFsb2cgPSBpbmplY3QoTWF0RGlhbG9nKTtcbiAgICBjb25zdCBhdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSk7XG5cbiAgaWYgKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2F1dGhUb2tlbicpICE9PSBudWxsKSB7XG4gICAgICBhdXRoU2VydmljZS5zZXRBdXRoZW50aWNhdGVkKHRydWUpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gZGlhbG9nLm9wZW4oTXlEaWFsb2dQb3B1cExvZ2luQ29tcG9uZW50LCB7XG4gICAgICBkaXNhYmxlQ2xvc2U6IHRydWVcbiAgICB9KTtcblxuICAgIHJldHVybiBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5waXBlKFxuICAgICAgbWFwKChyZXM6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgYXV0aFNlcnZpY2Uuc2V0QXV0aGVudGljYXRlZChyZXMpO1xuICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgfSlcbiAgICApO1xuICB9XG59O1xuIl19
@@ -0,0 +1,39 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../storage/local-storage.service";
4
+ export class HistoryService {
5
+ constructor(localStorage) {
6
+ this.localStorage = localStorage;
7
+ }
8
+ add(type, id, ref) {
9
+ let history = [];
10
+ if (this.localStorage.exist('history')) {
11
+ history = this.localStorage.get('history');
12
+ }
13
+ // DELETE EXISTING SCREEN
14
+ history.forEach((element, index) => {
15
+ if (this.exist(type, id, ref, element))
16
+ history.splice(index, 1);
17
+ });
18
+ // ADD THE LAST CONSULTED SCREEN TO THE BEGINNING
19
+ history.unshift({ type: type, id: id, ref: ref });
20
+ // SHOW ONLY THE 10 LAST CONSULTED SCREENS
21
+ if (history.length >= 10) {
22
+ history = history.slice(0, 10);
23
+ }
24
+ // POST TO LOCAL STORAGE
25
+ this.localStorage.post('history', history);
26
+ }
27
+ exist(type, id, ref, history) {
28
+ if (type == history.type && id == history.id && ref == history.ref) {
29
+ return true;
30
+ }
31
+ return false;
32
+ }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HistoryService, deps: [{ token: i1.LocalStorageService }], target: i0.ɵɵFactoryTarget.Injectable }); }
34
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HistoryService }); }
35
+ }
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HistoryService, decorators: [{
37
+ type: Injectable
38
+ }], ctorParameters: function () { return [{ type: i1.LocalStorageService }]; } });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV3LWZyb250LWNvbW1vbi1saWJyYXJ5L3NyYy9saWIvdXRpbC9zZXJ2aWNlcy9oaXN0b3J5L2hpc3Rvcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFJM0MsTUFBTSxPQUFPLGNBQWM7SUFFdkIsWUFBb0IsWUFBaUM7UUFBakMsaUJBQVksR0FBWixZQUFZLENBQXFCO0lBQ3JELENBQUM7SUFFTSxHQUFHLENBQUMsSUFBd0csRUFBRSxFQUFVLEVBQUUsR0FBUTtRQUNySSxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDakIsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNwQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDOUM7UUFDRCx5QkFBeUI7UUFDekIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUMvQixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsT0FBTyxDQUFDO2dCQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3JFLENBQUMsQ0FBQyxDQUFDO1FBQ0gsaURBQWlEO1FBQ2pELE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBQyxDQUFDLENBQUM7UUFFaEQsMENBQTBDO1FBQzFDLElBQUksT0FBTyxDQUFDLE1BQU0sSUFBSSxFQUFFLEVBQUU7WUFDdEIsT0FBTyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ2xDO1FBRUQsd0JBQXdCO1FBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU8sS0FBSyxDQUFDLElBQXdHLEVBQUUsRUFBVSxFQUFFLEdBQVcsRUFBRSxPQUFZO1FBQ3pKLElBQUksSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksRUFBRSxJQUFJLE9BQU8sQ0FBQyxFQUFFLElBQUksR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUU7WUFDaEUsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7K0dBL0JRLGNBQWM7bUhBQWQsY0FBYzs7NEZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi9zdG9yYWdlL2xvY2FsLXN0b3JhZ2Uuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBIaXN0b3J5U2VydmljZSB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxvY2FsU3RvcmFnZTogTG9jYWxTdG9yYWdlU2VydmljZSkge1xuICAgIH1cblxuICAgIHB1YmxpYyBhZGQodHlwZTogJ1BST0RVQ1QnIHwgJ1BPJyB8ICdERUFMJyB8ICdXT1JLJyB8ICdDT05UUkFDVF9BQ1EnIHwgJ0NPTlRSQUNUX0NFU1MnIHwgJ0NPTlRSQUNUX0FVVEgnIHwgJ0JVREdFVCcsIGlkOiBzdHJpbmcsIHJlZjogYW55KSB7XG4gICAgICAgIGxldCBoaXN0b3J5ID0gW107XG4gICAgICAgIGlmICh0aGlzLmxvY2FsU3RvcmFnZS5leGlzdCgnaGlzdG9yeScpKSB7XG4gICAgICAgICAgICBoaXN0b3J5ID0gdGhpcy5sb2NhbFN0b3JhZ2UuZ2V0KCdoaXN0b3J5Jyk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gREVMRVRFIEVYSVNUSU5HIFNDUkVFTlxuICAgICAgICBoaXN0b3J5LmZvckVhY2goKGVsZW1lbnQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5leGlzdCh0eXBlLCBpZCwgcmVmLCBlbGVtZW50KSkgaGlzdG9yeS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICB9KTtcbiAgICAgICAgLy8gQUREIFRIRSBMQVNUIENPTlNVTFRFRCBTQ1JFRU4gVE8gVEhFIEJFR0lOTklOR1xuICAgICAgICBoaXN0b3J5LnVuc2hpZnQoe3R5cGU6IHR5cGUsIGlkOiBpZCwgcmVmOiByZWZ9KTtcblxuICAgICAgICAvLyBTSE9XIE9OTFkgVEhFIDEwIExBU1QgQ09OU1VMVEVEIFNDUkVFTlNcbiAgICAgICAgaWYgKGhpc3RvcnkubGVuZ3RoID49IDEwKSB7XG4gICAgICAgICAgICBoaXN0b3J5ID0gaGlzdG9yeS5zbGljZSgwLCAxMCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBQT1NUIFRPIExPQ0FMIFNUT1JBR0VcbiAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2UucG9zdCgnaGlzdG9yeScsIGhpc3RvcnkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZXhpc3QodHlwZTogJ1BST0RVQ1QnIHwgJ1BPJyB8ICdERUFMJyB8ICdXT1JLJyB8ICdDT05UUkFDVF9BQ1EnIHwgJ0NPTlRSQUNUX0NFU1MnIHwgJ0NPTlRSQUNUX0FVVEgnIHwgJ0JVREdFVCcsIGlkOiBzdHJpbmcsIHJlZjogc3RyaW5nLCBoaXN0b3J5OiBhbnkpIHtcbiAgICAgICAgaWYgKHR5cGUgPT0gaGlzdG9yeS50eXBlICYmIGlkID09IGhpc3RvcnkuaWQgJiYgcmVmID09IGhpc3RvcnkucmVmKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG59XG4iXX0=
@@ -0,0 +1,53 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import { filter, switchMap, take } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../api/common-api.service";
6
+ import * as i2 from "ngx-cookie-service";
7
+ export class AuthInterceptor {
8
+ constructor(authService, cookieService) {
9
+ this.authService = authService;
10
+ this.cookieService = cookieService;
11
+ this.refreshTokenInProgress = false;
12
+ this.refreshTokenSubject = new BehaviorSubject(null);
13
+ }
14
+ intercept(request, next) {
15
+ if (request.url.includes('/login/email') || request.url.includes('/login/findUser') || request.url.startsWith('./')) {
16
+ return next.handle(request);
17
+ }
18
+ if (!this.authService.isTokenValid()) {
19
+ if (this.refreshTokenInProgress) {
20
+ return this.refreshTokenSubject.pipe(filter((result) => result !== null), take(1), switchMap(() => next.handle(this.addToken(request))));
21
+ }
22
+ else {
23
+ this.refreshTokenInProgress = true;
24
+ this.refreshTokenSubject.next(null);
25
+ const user = this.authService.getUserDataFromToken();
26
+ const email = user.secondary ? user.email : this.cookieService.get('auth-mail');
27
+ return this.authService.ssoLogin(email)
28
+ .pipe(switchMap((data) => {
29
+ this.authService.setToken(data.token);
30
+ this.refreshTokenInProgress = false;
31
+ this.refreshTokenSubject.next(data.token);
32
+ return next.handle(this.addToken(request));
33
+ }));
34
+ }
35
+ }
36
+ return next.handle(this.addToken(request));
37
+ }
38
+ addToken(request) {
39
+ const token = this.authService.getToken();
40
+ if (!token) {
41
+ return request;
42
+ }
43
+ return request.clone({
44
+ headers: request.headers.set('Authorization', `Bearer ${token}`)
45
+ });
46
+ }
47
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AuthInterceptor, deps: [{ token: i1.CommonApiService }, { token: i2.CookieService }], target: i0.ɵɵFactoryTarget.Injectable }); }
48
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AuthInterceptor }); }
49
+ }
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AuthInterceptor, decorators: [{
51
+ type: Injectable
52
+ }], ctorParameters: function () { return [{ type: i1.CommonApiService }, { type: i2.CookieService }]; } });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldy1mcm9udC1jb21tb24tbGlicmFyeS9zcmMvbGliL3V0aWwvc2VydmljZXMvaW50ZXJjZXB0b3IvYXV0aC5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFNekQsTUFBTSxPQUFPLGVBQWU7SUFPeEIsWUFDWSxXQUE2QixFQUM3QixhQUE0QjtRQUQ1QixnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFDN0Isa0JBQWEsR0FBYixhQUFhLENBQWU7UUFQaEMsMkJBQXNCLEdBQUcsS0FBSyxDQUFDO1FBQy9CLHdCQUFtQixHQUF5QixJQUFJLGVBQWUsQ0FDbkUsSUFBSSxDQUNQLENBQUM7SUFNRixDQUFDO0lBRUQsU0FBUyxDQUFDLE9BQXlCLEVBQUUsSUFBaUI7UUFDbEQsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2pILE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUMvQjtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxFQUFFO1lBQ2xDLElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFO2dCQUM3QixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQ2hDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxFQUNuQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQ3ZELENBQUM7YUFDTDtpQkFBTTtnQkFDSCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDO2dCQUNuQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNwQyxNQUFNLElBQUksR0FBa0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2dCQUNwRSxNQUFNLEtBQUssR0FBVyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFFeEYsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7cUJBQ2xDLElBQUksQ0FDRCxTQUFTLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRTtvQkFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUN0QyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsS0FBSyxDQUFDO29CQUNwQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDMUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztnQkFDL0MsQ0FBQyxDQUFDLENBQ0wsQ0FBQzthQUNUO1NBQ0o7UUFFRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTyxRQUFRLENBQUMsT0FBeUI7UUFDdEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1IsT0FBTyxPQUFPLENBQUM7U0FDbEI7UUFFRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDakIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxVQUFVLEtBQUssRUFBRSxDQUFDO1NBQ25FLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBdkRRLGVBQWU7bUhBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBFdmVudCwgSHR0cEhhbmRsZXIsIEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3QgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgc3dpdGNoTWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29va2llU2VydmljZSB9IGZyb20gJ25neC1jb29raWUtc2VydmljZSc7XG5pbXBvcnQgeyBDb21tb25BcGlTZXJ2aWNlIH0gZnJvbSAnLi4vYXBpL2NvbW1vbi1hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoVXNlck1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEF1dGhJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG5cbiAgICBwcml2YXRlIHJlZnJlc2hUb2tlbkluUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgICBwcml2YXRlIHJlZnJlc2hUb2tlblN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KFxuICAgICAgICBudWxsXG4gICAgKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBDb21tb25BcGlTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNvb2tpZVNlcnZpY2U6IENvb2tpZVNlcnZpY2VcbiAgICApIHtcbiAgICB9XG5cbiAgICBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XG4gICAgICAgIGlmIChyZXF1ZXN0LnVybC5pbmNsdWRlcygnL2xvZ2luL2VtYWlsJykgfHwgcmVxdWVzdC51cmwuaW5jbHVkZXMoJy9sb2dpbi9maW5kVXNlcicpIHx8IHJlcXVlc3QudXJsLnN0YXJ0c1dpdGgoJy4vJykpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5hdXRoU2VydmljZS5pc1Rva2VuVmFsaWQoKSkge1xuICAgICAgICAgICAgaWYgKHRoaXMucmVmcmVzaFRva2VuSW5Qcm9ncmVzcykge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnJlZnJlc2hUb2tlblN1YmplY3QucGlwZShcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyKChyZXN1bHQpID0+IHJlc3VsdCAhPT0gbnVsbCksXG4gICAgICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiBuZXh0LmhhbmRsZSh0aGlzLmFkZFRva2VuKHJlcXVlc3QpKSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlZnJlc2hUb2tlbkluUHJvZ3Jlc3MgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMucmVmcmVzaFRva2VuU3ViamVjdC5uZXh0KG51bGwpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHVzZXI6IEF1dGhVc2VyTW9kZWwgPSB0aGlzLmF1dGhTZXJ2aWNlLmdldFVzZXJEYXRhRnJvbVRva2VuKCk7XG4gICAgICAgICAgICAgICAgY29uc3QgZW1haWw6IHN0cmluZyA9IHVzZXIuc2Vjb25kYXJ5ID8gdXNlci5lbWFpbCA6IHRoaXMuY29va2llU2VydmljZS5nZXQoJ2F1dGgtbWFpbCcpO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYXV0aFNlcnZpY2Uuc3NvTG9naW4oZW1haWwpXG4gICAgICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoTWFwKChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLnNldFRva2VuKGRhdGEudG9rZW4pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVmcmVzaFRva2VuSW5Qcm9ncmVzcyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVmcmVzaFRva2VuU3ViamVjdC5uZXh0KGRhdGEudG9rZW4pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXh0LmhhbmRsZSh0aGlzLmFkZFRva2VuKHJlcXVlc3QpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUodGhpcy5hZGRUb2tlbihyZXF1ZXN0KSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRUb2tlbihyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+KTogSHR0cFJlcXVlc3Q8YW55PiB7XG4gICAgICAgIGNvbnN0IHRva2VuID0gdGhpcy5hdXRoU2VydmljZS5nZXRUb2tlbigpO1xuICAgICAgICBpZiAoIXRva2VuKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVxdWVzdDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXF1ZXN0LmNsb25lKHtcbiAgICAgICAgICAgIGhlYWRlcnM6IHJlcXVlc3QuaGVhZGVycy5zZXQoJ0F1dGhvcml6YXRpb24nLCBgQmVhcmVyICR7dG9rZW59YClcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,34 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as CryptoJS from 'crypto-js';
3
+ import * as i0 from "@angular/core";
4
+ export class AesService {
5
+ // private cipherText: string;
6
+ constructor() {
7
+ // private SECRET_CODE: string ;
8
+ this.SECRET_CODE = '1234567891234567';
9
+ this.keySize = 128 / 32;
10
+ this.iterationCount = 1000;
11
+ }
12
+ generateKey(salt) {
13
+ // this.SECRET_CODE = sessionStorage.getItem('_uniqueKey');
14
+ const key = CryptoJS.PBKDF2(this.SECRET_CODE, CryptoJS.enc.Hex.parse(salt), { keySize: this.keySize, iterations: this.iterationCount });
15
+ return key;
16
+ }
17
+ encrypt(planText) {
18
+ const iv = CryptoJS.lib.WordArray.random(16).toString(CryptoJS.enc.Hex);
19
+ const salt = CryptoJS.lib.WordArray.random(16).toString(CryptoJS.enc.Hex);
20
+ const key = this.generateKey(salt);
21
+ const encrypted = CryptoJS.AES.encrypt(planText, key, { iv: CryptoJS.enc.Hex.parse(iv) });
22
+ const cipherText = encrypted.ciphertext.toString(CryptoJS.enc.Base64);
23
+ const aesPassword = (iv + '::' + salt + '::' + cipherText);
24
+ // conversion en base 64
25
+ this.pwdEncrypted = btoa(aesPassword);
26
+ return this.pwdEncrypted;
27
+ }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
29
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AesService }); }
30
+ }
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AesService, decorators: [{
32
+ type: Injectable
33
+ }], ctorParameters: function () { return []; } });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXctZnJvbnQtY29tbW9uLWxpYnJhcnkvc3JjL2xpYi91dGlsL3NlcnZpY2VzL2p3dC1zZWN1cml0eS9hZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sS0FBSyxRQUFRLE1BQU0sV0FBVyxDQUFDOztBQUd0QyxNQUFNLE9BQU8sVUFBVTtJQVVuQiw4QkFBOEI7SUFFOUI7UUFWQSxnQ0FBZ0M7UUFDZixnQkFBVyxHQUFXLGtCQUFrQixDQUFDO1FBQ2xELFlBQU8sR0FBVyxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQzNCLG1CQUFjLEdBQUcsSUFBSSxDQUFDO0lBUTlCLENBQUM7SUFFTSxXQUFXLENBQUMsSUFBWTtRQUUzQiwyREFBMkQ7UUFDM0QsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FDdkIsSUFBSSxDQUFDLFdBQVcsRUFDaEIsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUM1QixFQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFDLENBQUMsQ0FBQztRQUU5RCxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7SUFFTSxPQUFPLENBQUMsUUFBZ0I7UUFDM0IsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hFLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUUxRSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRW5DLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsRUFBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQztRQUV4RixNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXRFLE1BQU0sV0FBVyxHQUFHLENBQUMsRUFBRSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLFVBQVUsQ0FBQyxDQUFDO1FBQzNELHdCQUF3QjtRQUN4QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUV0QyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQzsrR0F6Q1EsVUFBVTttSEFBVixVQUFVOzs0RkFBVixVQUFVO2tCQUR0QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgQ3J5cHRvSlMgZnJvbSAnY3J5cHRvLWpzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFlc1NlcnZpY2Uge1xuXG4gICAgLy8gcHJpdmF0ZSBTRUNSRVRfQ09ERTogc3RyaW5nIDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IFNFQ1JFVF9DT0RFOiBzdHJpbmcgPSAnMTIzNDU2Nzg5MTIzNDU2Nyc7XG4gICAgcHJpdmF0ZSBrZXlTaXplOiBudW1iZXIgPSAxMjggLyAzMjtcbiAgICBwcml2YXRlIGl0ZXJhdGlvbkNvdW50ID0gMTAwMDtcbiAgICAvLyBwcml2YXRlICBpdjogc3RyaW5nICA7XG4gICAgLy8gcHJpdmF0ZSBzYWx0OiBzdHJpbmcgO1xuICAgIHByaXZhdGUgcHdkRW5jcnlwdGVkOiBzdHJpbmc7XG5cbiAgICAvLyBwcml2YXRlIGNpcGhlclRleHQ6IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgIH1cblxuICAgIHB1YmxpYyBnZW5lcmF0ZUtleShzYWx0OiBzdHJpbmcpIHtcblxuICAgICAgICAvLyB0aGlzLlNFQ1JFVF9DT0RFID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnX3VuaXF1ZUtleScpO1xuICAgICAgICBjb25zdCBrZXkgPSBDcnlwdG9KUy5QQktERjIoXG4gICAgICAgICAgICB0aGlzLlNFQ1JFVF9DT0RFLFxuICAgICAgICAgICAgQ3J5cHRvSlMuZW5jLkhleC5wYXJzZShzYWx0KSxcbiAgICAgICAgICAgIHtrZXlTaXplOiB0aGlzLmtleVNpemUsIGl0ZXJhdGlvbnM6IHRoaXMuaXRlcmF0aW9uQ291bnR9KTtcblxuICAgICAgICByZXR1cm4ga2V5O1xuICAgIH1cblxuICAgIHB1YmxpYyBlbmNyeXB0KHBsYW5UZXh0OiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgaXYgPSBDcnlwdG9KUy5saWIuV29yZEFycmF5LnJhbmRvbSgxNikudG9TdHJpbmcoQ3J5cHRvSlMuZW5jLkhleCk7XG4gICAgICAgIGNvbnN0IHNhbHQgPSBDcnlwdG9KUy5saWIuV29yZEFycmF5LnJhbmRvbSgxNikudG9TdHJpbmcoQ3J5cHRvSlMuZW5jLkhleCk7XG5cbiAgICAgICAgY29uc3Qga2V5ID0gdGhpcy5nZW5lcmF0ZUtleShzYWx0KTtcblxuICAgICAgICBjb25zdCBlbmNyeXB0ZWQgPSBDcnlwdG9KUy5BRVMuZW5jcnlwdChwbGFuVGV4dCwga2V5LCB7aXY6IENyeXB0b0pTLmVuYy5IZXgucGFyc2UoaXYpfSk7XG5cbiAgICAgICAgY29uc3QgY2lwaGVyVGV4dCA9IGVuY3J5cHRlZC5jaXBoZXJ0ZXh0LnRvU3RyaW5nKENyeXB0b0pTLmVuYy5CYXNlNjQpO1xuXG4gICAgICAgIGNvbnN0IGFlc1Bhc3N3b3JkID0gKGl2ICsgJzo6JyArIHNhbHQgKyAnOjonICsgY2lwaGVyVGV4dCk7XG4gICAgICAgIC8vIGNvbnZlcnNpb24gZW4gYmFzZSA2NFxuICAgICAgICB0aGlzLnB3ZEVuY3J5cHRlZCA9IGJ0b2EoYWVzUGFzc3dvcmQpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnB3ZEVuY3J5cHRlZDtcbiAgICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,18 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ const AUTH_HEADER_KEY = 'Authorization';
4
+ const AUTH_PREFIX = 'Bearer ';
5
+ const TOKEN_NAME = 'authToken';
6
+ export class InterceptorHttpService {
7
+ intercept(req, next) {
8
+ const token = `${AUTH_PREFIX}${sessionStorage.getItem(TOKEN_NAME)}`;
9
+ req.headers.set(AUTH_HEADER_KEY, `${AUTH_PREFIX} ${token}`);
10
+ return next.handle(req);
11
+ }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InterceptorHttpService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
13
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InterceptorHttpService }); }
14
+ }
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InterceptorHttpService, decorators: [{
16
+ type: Injectable
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJjZXB0b3JodHRwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXctZnJvbnQtY29tbW9uLWxpYnJhcnkvc3JjL2xpYi91dGlsL3NlcnZpY2VzL2p3dC1zZWN1cml0eS9pbnRlcmNlcHRvcmh0dHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUkzQyxNQUFNLGVBQWUsR0FBRyxlQUFlLENBQUM7QUFDeEMsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDO0FBQzlCLE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQztBQUcvQixNQUFNLE9BQU8sc0JBQXNCO0lBRS9CLFNBQVMsQ0FBQyxHQUFxQixFQUFFLElBQWlCO1FBQzlDLE1BQU0sS0FBSyxHQUFHLEdBQUcsV0FBVyxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztRQUNwRSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsR0FBRyxXQUFXLElBQUksS0FBSyxFQUFFLENBQUMsQ0FBQztRQUM1RCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUIsQ0FBQzsrR0FOUSxzQkFBc0I7bUhBQXRCLHNCQUFzQjs7NEZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBFdmVudCwgSHR0cEhhbmRsZXIsIEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3QgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmNvbnN0IEFVVEhfSEVBREVSX0tFWSA9ICdBdXRob3JpemF0aW9uJztcbmNvbnN0IEFVVEhfUFJFRklYID0gJ0JlYXJlciAnO1xuY29uc3QgVE9LRU5fTkFNRSA9ICdhdXRoVG9rZW4nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSW50ZXJjZXB0b3JIdHRwU2VydmljZSBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG5cbiAgICBpbnRlcmNlcHQocmVxOiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcbiAgICAgICAgY29uc3QgdG9rZW4gPSBgJHtBVVRIX1BSRUZJWH0ke3Nlc3Npb25TdG9yYWdlLmdldEl0ZW0oVE9LRU5fTkFNRSl9YDtcbiAgICAgICAgcmVxLmhlYWRlcnMuc2V0KEFVVEhfSEVBREVSX0tFWSwgYCR7QVVUSF9QUkVGSVh9ICR7dG9rZW59YCk7XG4gICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpO1xuICAgIH1cblxuICAgIC8vIFRPRE8gw6AgcmVmYWlyZSBsb3JzcXVlIGwnb24gcsOpYWN0aXZlcmEgbCdpbnRlcmNlcHRvciBkdSBCQUNLIGQnb3JwaGVcbiAgICAvLyBwdWJsaWMgcmVxdWVzdCh1cmw6IHN0cmluZyB8IFJlcXVlc3QpOiBPYnNlcnZhYmxlPFJlc3BvbnNlPiB7XG4gICAgLy9cbiAgICAvLyAgIGNvbnN0IHRva2VuID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShUT0tFTl9OQU1FKTtcbiAgICAvL1xuICAgIC8vICAgY29uc3Qgb3B0aW9ucyA9IHtoZWFkZXJzOiBuZXcgSGVhZGVycygpfTtcbiAgICAvLyAgIGlmICh0eXBlb2YgdXJsID09PSAnc3RyaW5nJykge1xuICAgIC8vXG4gICAgLy8gICAgIG9wdGlvbnMuaGVhZGVycy5zZXQoQVVUSF9IRUFERVJfS0VZLCBgJHtBVVRIX1BSRUZJWH0gJHt0b2tlbn1gKTtcbiAgICAvLyAgIH0gZWxzZSB7XG4gICAgLy8gICAgIHVybC5oZWFkZXJzLnNldChBVVRIX0hFQURFUl9LRVksIGAke0FVVEhfUFJFRklYfSAke3Rva2VufWApO1xuICAgIC8vICAgfVxuICAgIC8vICAgcmV0dXJuIHN1cGVyLnJlcXVlc3QodXJsLCBvcHRpb25zKS5jYXRjaCh0aGlzLmNhdGNoRXJyb3IpO1xuICAgIC8vIH1cbiAgICAvL1xuICAgIC8vIHB1YmxpYyBnZXQodXJsOiBzdHJpbmcsIG9wdGlvbnM/KTogT2JzZXJ2YWJsZTxSZXNwb25zZT4ge1xuICAgIC8vICAgY29uc3QgZW5oYWNlZE9wdGlvbnMgPSB0aGlzLnNldEF1dGhvcml6YXRpb25IZWFkZXIob3B0aW9ucyk7XG4gICAgLy8gICByZXR1cm4gc3VwZXIuZ2V0KHVybCwgZW5oYWNlZE9wdGlvbnMpLnBpcGUoY2F0Y2hFcnJvcih0aGlzLmNhdGNoRXJyb3IpKTtcbiAgICAvLyB9XG4gICAgLy9cbiAgICAvLyBwdWJsaWMgcG9zdCh1cmw6IHN0cmluZywgYm9keTogYW55LCBvcHRpb25zPyk6IE9ic2VydmFibGU8UmVzcG9uc2U+IHtcbiAgICAvLyAgIGNvbnN0IGVuaGFjZWRPcHRpb25zID0gdGhpcy5zZXRBdXRob3JpemF0aW9uSGVhZGVyKG9wdGlvbnMpO1xuICAgIC8vICAgcmV0dXJuIHN1cGVyLnBvc3QodXJsLCBib2R5LCBlbmhhY2VkT3B0aW9ucykucGlwZShjYXRjaEVycm9yKHRoaXMuY2F0Y2hFcnJvcikpO1xuICAgIC8vIH1cbiAgICAvL1xuICAgIC8vIHB1YmxpYyBwdXQodXJsOiBzdHJpbmcsIGJvZHk6IGFueSwgb3B0aW9ucz8pOiBPYnNlcnZhYmxlPFJlc3BvbnNlPiB7XG4gICAgLy8gICBjb25zdCBlbmhhY2VkT3B0aW9ucyA9IHRoaXMuc2V0QXV0aG9yaXphdGlvbkhlYWRlcihvcHRpb25zKTtcbiAgICAvLyAgIHJldHVybiBzdXBlci5wdXQodXJsLCBib2R5LCBlbmhhY2VkT3B0aW9ucykucGlwZShjYXRjaEVycm9yKHRoaXMuY2F0Y2hFcnJvcikpO1xuICAgIC8vIH1cbiAgICAvL1xuICAgIC8vIHB1YmxpYyBkZWxldGUodXJsOiBzdHJpbmcsIG9wdGlvbnM/KTogT2JzZXJ2YWJsZTxSZXNwb25zZT4ge1xuICAgIC8vICAgY29uc3QgZW5oYWNlZE9wdGlvbnMgPSB0aGlzLnNldEF1dGhvcml6YXRpb25IZWFkZXIob3B0aW9ucyk7XG4gICAgLy8gICByZXR1cm4gc3VwZXIuZGVsZXRlKHVybCwgZW5oYWNlZE9wdGlvbnMpLnBpcGUoY2F0Y2hFcnJvcih0aGlzLmNhdGNoRXJyb3IpKTtcbiAgICAvLyB9XG4gICAgLy9cbiAgICAvLyBwdWJsaWMgcGF0Y2godXJsOiBzdHJpbmcsIGJvZHk6IGFueSwgb3B0aW9ucz8pOiBPYnNlcnZhYmxlPFJlc3BvbnNlPiB7XG4gICAgLy8gICBjb25zdCBlbmhhY2VkT3B0aW9ucyA9IHRoaXMuc2V0QXV0aG9yaXphdGlvbkhlYWRlcihvcHRpb25zKTtcbiAgICAvLyAgIHJldHVybiBzdXBlci5wYXRjaCh1cmwsIGJvZHksIGVuaGFjZWRPcHRpb25zKS5waXBlKGNhdGNoRXJyb3IodGhpcy5jYXRjaEVycm9yKSk7XG4gICAgLy8gfVxuICAgIC8vXG4gICAgLy8gcHVibGljIGhlYWQodXJsOiBzdHJpbmcsIG9wdGlvbnM/KTogT2JzZXJ2YWJsZTxSZXNwb25zZT4ge1xuICAgIC8vICAgY29uc3QgZW5oYWNlZE9wdGlvbnMgPSB0aGlzLnNldEF1dGhvcml6YXRpb25IZWFkZXIob3B0aW9ucyk7XG4gICAgLy8gICByZXR1cm4gc3VwZXIuaGVhZCh1cmwsIGVuaGFjZWRPcHRpb25zKS5waXBlKGNhdGNoRXJyb3IodGhpcy5jYXRjaEVycm9yKSk7XG4gICAgLy8gfVxuICAgIC8vXG4gICAgLy8gcHVibGljIG9wdGlvbnModXJsOiBzdHJpbmcsIG9wdGlvbnM/KTogT2JzZXJ2YWJsZTxSZXNwb25zZT4ge1xuICAgIC8vICAgY29uc3QgZW5oYWNlZE9wdGlvbnMgPSB0aGlzLnNldEF1dGhvcml6YXRpb25IZWFkZXIob3B0aW9ucyk7XG4gICAgLy8gICByZXR1cm4gc3VwZXIub3B0aW9ucyh1cmwsIGVuaGFjZWRPcHRpb25zKS5waXBlKGNhdGNoRXJyb3IodGhpcy5jYXRjaEVycm9yKSk7XG4gICAgLy8gfVxuICAgIC8vXG4gICAgLy8gLy8gQWpvdXQgZGUgbCdhdHRyaWJ1dCBBdXRob3JpemF0aW9uIGF1IEhlYWRlclxuICAgIC8vIHByaXZhdGUgc2V0QXV0aG9yaXphdGlvbkhlYWRlcihvcHRpb25zPykge1xuICAgIC8vXG4gICAgLy8gICBjb25zdCB0b2tlbiA9IGAke0FVVEhfUFJFRklYfSR7c2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShUT0tFTl9OQU1FKX1gO1xuICAgIC8vICAgLy8gQ29waWUgZHUgaGVhZGVyIGRhbnMgbGUgUmVxdWVzdE9wdGlvbnMgZXQgYWpvdXQgZHUgdG9rZW4gYSAnQXV0aG9yaXphdGlvbidcbiAgICAvLyAgIGNvbnN0IGhlYWRlcnMgPSB7XG4gICAgLy8gICAgIC4uLm9wdGlvbnMuaGVhZGVycy50b0pTT04oKSxcbiAgICAvLyAgICAgQXV0aG9yaXphdGlvbjogdG9rZW5cbiAgICAvLyAgIH07XG4gICAgLy8gICBvcHRpb25zLmhlYWRlcnMgPSBuZXcgSGVhZGVycyhoZWFkZXJzKTtcbiAgICAvLyAgIHJldHVybiBvcHRpb25zO1xuICAgIC8vIH1cbiAgICAvL1xuICAgIC8vIC8vIFJlc3BvbnNlIEludGVyY2VwdG9yXG4gICAgLy8gcHJpdmF0ZSBjYXRjaEVycm9yKGVycm9yOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIC8vXG4gICAgLy8gICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgIC8vICAgICByZXR1cm4gT2JzZXJ2YWJsZS50aHJvdyhlcnJvcik7XG4gICAgLy8gICB9IGVsc2UgaWYgKGVycm9yIGluc3RhbmNlb2YgUmVzcG9uc2UpIHtcbiAgICAvLyAgICAgaWYgKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2xvZ2luRmxhZycpID09PSAndHJ1ZScgJiYgZXJyb3Iuc3RhdHVzID09PSA0MDEpIHtcbiAgICAvLyAgICAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKFRPS0VOX05BTUUpO1xuICAgIC8vICAgICAgIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oJ2xvZ2luRmxhZycpO1xuICAgIC8vICAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcbiAgICAvLyAgICAgfVxuICAgIC8vICAgICByZXR1cm4gT2JzZXJ2YWJsZS50aHJvdyhlcnJvcik7XG4gICAgLy8gICB9IGVsc2Uge1xuICAgIC8vICAgICByZXR1cm4gT2JzZXJ2YWJsZS50aHJvdyhlcnJvcik7XG4gICAgLy8gICB9XG4gICAgLy8gfVxufVxuXG4iXX0=
@@ -0,0 +1,34 @@
1
+ export class JwtHelper {
2
+ decodeToken(token) {
3
+ let parts = token.split('.');
4
+ if (parts.length !== 3) {
5
+ throw new Error('JWT must have 3 parts');
6
+ }
7
+ let decoded = this.urlBase64Decode(parts[1]);
8
+ if (!decoded) {
9
+ throw new Error('Cannot decode the token');
10
+ }
11
+ return JSON.parse(decoded);
12
+ }
13
+ urlBase64Decode(str) {
14
+ let output = str.replace(/-/g, '+').replace(/_/g, '/');
15
+ switch (output.length % 4) {
16
+ case 0: {
17
+ break;
18
+ }
19
+ case 2: {
20
+ output += '==';
21
+ break;
22
+ }
23
+ case 3: {
24
+ output += '=';
25
+ break;
26
+ }
27
+ default: {
28
+ throw 'Illegal base64url string!';
29
+ }
30
+ }
31
+ return decodeURIComponent(window.escape(window.atob(output)));
32
+ }
33
+ }
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiand0LmhlbHBoZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXctZnJvbnQtY29tbW9uLWxpYnJhcnkvc3JjL2xpYi91dGlsL3NlcnZpY2VzL2p3dC1zZWN1cml0eS9qd3QuaGVscGhlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sU0FBUztJQUVYLFdBQVcsQ0FBQyxLQUFhO1FBQzVCLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0IsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7U0FDNUM7UUFDRCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDVixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7U0FDOUM7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVPLGVBQWUsQ0FBQyxHQUFXO1FBQy9CLElBQUksTUFBTSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDdkQsUUFBUSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN2QixLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUNKLE1BQU07YUFDVDtZQUNELEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQ0osTUFBTSxJQUFJLElBQUksQ0FBQztnQkFDZixNQUFNO2FBQ1Q7WUFDRCxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUNKLE1BQU0sSUFBSSxHQUFHLENBQUM7Z0JBQ2QsTUFBTTthQUNUO1lBQ0QsT0FBTyxDQUFDLENBQUM7Z0JBQ0wsTUFBTSwyQkFBMkIsQ0FBQzthQUNyQztTQUNKO1FBQ0QsT0FBTyxrQkFBa0IsQ0FBTyxNQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXpFLENBQUM7Q0FHSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBKd3RIZWxwZXIge1xuXG4gICAgcHVibGljIGRlY29kZVRva2VuKHRva2VuOiBzdHJpbmcpIHtcbiAgICAgICAgbGV0IHBhcnRzID0gdG9rZW4uc3BsaXQoJy4nKTtcbiAgICAgICAgaWYgKHBhcnRzLmxlbmd0aCAhPT0gMykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdKV1QgbXVzdCBoYXZlIDMgcGFydHMnKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgZGVjb2RlZCA9IHRoaXMudXJsQmFzZTY0RGVjb2RlKHBhcnRzWzFdKTtcbiAgICAgICAgaWYgKCFkZWNvZGVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBkZWNvZGUgdGhlIHRva2VuJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UoZGVjb2RlZCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cmxCYXNlNjREZWNvZGUoc3RyOiBzdHJpbmcpIHtcbiAgICAgICAgbGV0IG91dHB1dCA9IHN0ci5yZXBsYWNlKC8tL2csICcrJykucmVwbGFjZSgvXy9nLCAnLycpO1xuICAgICAgICBzd2l0Y2ggKG91dHB1dC5sZW5ndGggJSA0KSB7XG4gICAgICAgICAgICBjYXNlIDA6IHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgMjoge1xuICAgICAgICAgICAgICAgIG91dHB1dCArPSAnPT0nO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAzOiB7XG4gICAgICAgICAgICAgICAgb3V0cHV0ICs9ICc9JztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICB0aHJvdyAnSWxsZWdhbCBiYXNlNjR1cmwgc3RyaW5nISc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudCgoPGFueT53aW5kb3cpLmVzY2FwZSh3aW5kb3cuYXRvYihvdXRwdXQpKSk7XG5cbiAgICB9XG5cblxufVxuIl19