ng-pli-commons 0.0.1908 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (471) hide show
  1. package/esm2022/lib/components/backoffice.commons.component.mjs +40 -0
  2. package/esm2022/lib/components/common.lists.component.mjs +194 -0
  3. package/{esm2020 → esm2022}/lib/components/configuration-token/configuration-token-subject.service.mjs +23 -23
  4. package/esm2022/lib/components/configuration-token/configuration-token.component.mjs +665 -0
  5. package/esm2022/lib/components/configuration-token/guarantee-token/guarantee-token.component.mjs +103 -0
  6. package/esm2022/lib/components/configuration-token/snapshot-token/snapshot-token.component.mjs +108 -0
  7. package/esm2022/lib/components/configuration.commons.component.mjs +40 -0
  8. package/{esm2020 → esm2022}/lib/components/dashboard.commons.component.mjs +84 -84
  9. package/esm2022/lib/components/dynamic-filter/dynamic-filter.component.mjs +131 -0
  10. package/esm2022/lib/components/excel-to-json/excel-to-json.component.mjs +54 -0
  11. package/esm2022/lib/components/frontoffice.commons.component.mjs +86 -0
  12. package/esm2022/lib/components/pdf-analyzer/pdf-analyzer.component.mjs +162 -0
  13. package/{esm2020 → esm2022}/lib/components/pdf-config/pdf-config.component.mjs +170 -170
  14. package/esm2022/lib/components/pdf-generator/pdf-generator.component.mjs +223 -0
  15. package/esm2022/lib/components/pdf-merge-visualizer/pdf-merge-visualizer.component.mjs +307 -0
  16. package/esm2022/lib/components/pdf-visualizer/pdf-visualizer.component.mjs +387 -0
  17. package/esm2022/lib/components/progress-bar/progress-bar.component.mjs +92 -0
  18. package/esm2022/lib/components/segmentation-tokens/segmentation-tokens.component.mjs +199 -0
  19. package/esm2022/lib/components/select-ppp/select-ppp.component.mjs +199 -0
  20. package/esm2022/lib/components/show-hide-columns/show-hide-columns-table.component.mjs +116 -0
  21. package/esm2022/lib/components/token/token.component.mjs +1006 -0
  22. package/esm2022/lib/components/tokens-calculator/tokens-calculator.component.mjs +128 -0
  23. package/{esm2020 → esm2022}/lib/directives/currency-colfuturo-formatter.directive.mjs +47 -47
  24. package/{esm2020 → esm2022}/lib/directives/currency-decimal-colfuturo-formatter.directive.mjs +34 -34
  25. package/esm2022/lib/ng-pli-commons.module.mjs +387 -0
  26. package/{esm2020 → esm2022}/lib/ng-pli-commons.service.mjs +14 -14
  27. package/esm2022/lib/pipes/currency-colfuturo.pipe.mjs +35 -0
  28. package/{esm2020 → esm2022}/lib/pipes/currency-decimal-colfuturo.pipe.mjs +36 -36
  29. package/{esm2020 → esm2022}/lib/pipes/currency-print-colfuturo.pipe.mjs +33 -33
  30. package/esm2022/lib/pipes/thousands.pipe.mjs +60 -0
  31. package/{esm2020 → esm2022}/lib/services/application-fill-percentage.service.mjs +30 -30
  32. package/{esm2020 → esm2022}/lib/services/application-tag.service.mjs +56 -56
  33. package/{esm2020 → esm2022}/lib/services/application.service.mjs +247 -247
  34. package/esm2022/lib/services/authentication.service.mjs +133 -0
  35. package/{esm2020 → esm2022}/lib/services/blocked-beneficiary.service.mjs +42 -42
  36. package/esm2022/lib/services/budget-application.service.mjs +265 -0
  37. package/{esm2020 → esm2022}/lib/services/budget-simulation.service.mjs +61 -61
  38. package/esm2022/lib/services/budget.service.mjs +205 -0
  39. package/{esm2020 → esm2022}/lib/services/closure-wallet.service.mjs +39 -39
  40. package/{esm2020 → esm2022}/lib/services/cnf-correspondence-document-manager.service.mjs +39 -39
  41. package/{esm2020 → esm2022}/lib/services/committee-money.service.mjs +44 -44
  42. package/{esm2020 → esm2022}/lib/services/committee-pdf.service.mjs +27 -27
  43. package/{esm2020 → esm2022}/lib/services/committee-snapshot.service.mjs +60 -60
  44. package/{esm2020 → esm2022}/lib/services/common-info.service.mjs +51 -51
  45. package/esm2022/lib/services/common.service.mjs +291 -0
  46. package/esm2022/lib/services/configuration-document.service.mjs +297 -0
  47. package/{esm2020 → esm2022}/lib/services/configuration-minisite.service.mjs +26 -26
  48. package/{esm2020 → esm2022}/lib/services/configuration.service.mjs +53 -53
  49. package/{esm2020 → esm2022}/lib/services/correspondence-document-category.service.mjs +31 -31
  50. package/{esm2020 → esm2022}/lib/services/correspondence-manager.service.mjs +67 -67
  51. package/{esm2020 → esm2022}/lib/services/credit-score.service.mjs +48 -48
  52. package/{esm2020 → esm2022}/lib/services/credit-study.service.mjs +292 -292
  53. package/{esm2020 → esm2022}/lib/services/cube.service.mjs +27 -27
  54. package/{esm2020 → esm2022}/lib/services/data-form-history.service.mjs +25 -25
  55. package/{esm2020 → esm2022}/lib/services/data-form.service.mjs +176 -176
  56. package/{esm2020 → esm2022}/lib/services/data-letter-segmentation.service.mjs +64 -64
  57. package/{esm2020 → esm2022}/lib/services/document-analysis-auto.service.mjs +27 -27
  58. package/{esm2020 → esm2022}/lib/services/document-history.service.mjs +43 -43
  59. package/{esm2020 → esm2022}/lib/services/document-management.service.mjs +57 -57
  60. package/{esm2020 → esm2022}/lib/services/document-validation-attempt.service.mjs +32 -32
  61. package/{esm2020 → esm2022}/lib/services/document.service.mjs +131 -131
  62. package/esm2022/lib/services/documentary.type.service.mjs +69 -0
  63. package/{esm2020 → esm2022}/lib/services/email.service.mjs +30 -30
  64. package/{esm2020 → esm2022}/lib/services/evaluation.service.mjs +181 -181
  65. package/{esm2020 → esm2022}/lib/services/export-excel.service.mjs +32 -32
  66. package/esm2022/lib/services/file.service.mjs +153 -0
  67. package/{esm2020 → esm2022}/lib/services/form.service.mjs +112 -112
  68. package/{esm2020 → esm2022}/lib/services/gic-client-disbursement-metadata.service.mjs +31 -31
  69. package/{esm2020 → esm2022}/lib/services/gic-client.service.mjs +49 -49
  70. package/{esm2020 → esm2022}/lib/services/gic-cnf-bankvision-transaction.service.mjs +31 -31
  71. package/{esm2020 → esm2022}/lib/services/gic-cnf-closing-date.service.mjs +34 -34
  72. package/{esm2020 → esm2022}/lib/services/gic-cnf-maintenance.service.mjs +30 -30
  73. package/{esm2020 → esm2022}/lib/services/gic-collection.service.mjs +53 -53
  74. package/{esm2020 → esm2022}/lib/services/gic-disbursement.service.mjs +39 -39
  75. package/{esm2020 → esm2022}/lib/services/gic-extract.service.mjs +41 -41
  76. package/{esm2020 → esm2022}/lib/services/gic-log.service.mjs +41 -41
  77. package/{esm2020 → esm2022}/lib/services/gic-payment-application.service.mjs +35 -35
  78. package/{esm2020 → esm2022}/lib/services/gic-payment-plan-cube.service.mjs +27 -27
  79. package/{esm2020 → esm2022}/lib/services/gic-payment-plan.service.mjs +32 -32
  80. package/{esm2020 → esm2022}/lib/services/gic-trm.service.mjs +27 -27
  81. package/{esm2020 → esm2022}/lib/services/global.show.task.service.mjs +37 -37
  82. package/{esm2020 → esm2022}/lib/services/guarantee-document.service.mjs +52 -52
  83. package/{esm2020 → esm2022}/lib/services/guarantee-enrollment.service.mjs +37 -37
  84. package/esm2022/lib/services/guarantee.service.mjs +128 -0
  85. package/{esm2020 → esm2022}/lib/services/hash.service.mjs +36 -36
  86. package/{esm2020 → esm2022}/lib/services/import-data.service.mjs +27 -27
  87. package/{esm2020 → esm2022}/lib/services/import-excel-gic.service.mjs +45 -45
  88. package/{esm2020 → esm2022}/lib/services/initial-configuration-gic-parameters.service.mjs +51 -51
  89. package/{esm2020 → esm2022}/lib/services/initial-record.service.mjs +51 -51
  90. package/{esm2020 → esm2022}/lib/services/integration-ado.service.mjs +54 -54
  91. package/{esm2020 → esm2022}/lib/services/interaction-application-user.service.mjs +81 -81
  92. package/{esm2020 → esm2022}/lib/services/interest-adjustment.service.mjs +34 -34
  93. package/esm2022/lib/services/keys-assignation.service.mjs +127 -0
  94. package/{esm2020 → esm2022}/lib/services/legalization.service.mjs +150 -150
  95. package/{esm2020 → esm2022}/lib/services/letter-campaing.service.mjs +49 -49
  96. package/{esm2020 → esm2022}/lib/services/letter-task-mapping.service.mjs +40 -40
  97. package/{esm2020 → esm2022}/lib/services/log.service.mjs +41 -41
  98. package/{esm2020 → esm2022}/lib/services/maintenance.service.mjs +66 -66
  99. package/{esm2020 → esm2022}/lib/services/master-category.service.mjs +66 -66
  100. package/{esm2020 → esm2022}/lib/services/master-program.service.mjs +78 -78
  101. package/{esm2020 → esm2022}/lib/services/master-university.service.mjs +68 -68
  102. package/{esm2020 → esm2022}/lib/services/migration-plis.service.mjs +27 -27
  103. package/{esm2020 → esm2022}/lib/services/migration-survey-queue.service.mjs +24 -24
  104. package/{esm2020 → esm2022}/lib/services/page.service.mjs +38 -38
  105. package/{esm2020 → esm2022}/lib/services/partner-system.service.mjs +30 -30
  106. package/{esm2020 → esm2022}/lib/services/partner.service.mjs +34 -34
  107. package/{esm2020 → esm2022}/lib/services/pdf-analyzer.service.mjs +33 -33
  108. package/{esm2020 → esm2022}/lib/services/people-master.service.mjs +42 -42
  109. package/{esm2020 → esm2022}/lib/services/permission.service.mjs +29 -29
  110. package/{esm2020 → esm2022}/lib/services/pli-cnf-acuity-fields.service.mjs +34 -34
  111. package/{esm2020 → esm2022}/lib/services/pli-cnf-app-card-filter.service.mjs +40 -40
  112. package/{esm2020 → esm2022}/lib/services/pli-cnf-appointment-type.service.mjs +41 -41
  113. package/{esm2020 → esm2022}/lib/services/pli-cnf-budget-program-type.service.mjs +54 -54
  114. package/{esm2020 → esm2022}/lib/services/pli-cnf-budget.service.mjs +31 -31
  115. package/{esm2020 → esm2022}/lib/services/pli-cnf-cloning.service.mjs +27 -27
  116. package/{esm2020 → esm2022}/lib/services/pli-cnf-committee-pdf-config-table-config.service.mjs +47 -47
  117. package/{esm2020 → esm2022}/lib/services/pli-cnf-committee-pdf-gen-status.service.mjs +30 -30
  118. package/{esm2020 → esm2022}/lib/services/pli-cnf-committee-valpro-columns.service.mjs +42 -42
  119. package/{esm2020 → esm2022}/lib/services/pli-cnf-committee-visualization-mode.service.mjs +42 -42
  120. package/{esm2020 → esm2022}/lib/services/pli-cnf-committee.service.mjs +51 -51
  121. package/{esm2020 → esm2022}/lib/services/pli-cnf-config-minisite.service.mjs +90 -90
  122. package/{esm2020 → esm2022}/lib/services/pli-cnf-configuration-credit-study.service.mjs +41 -41
  123. package/{esm2020 → esm2022}/lib/services/pli-cnf-document-management.service.mjs +40 -40
  124. package/{esm2020 → esm2022}/lib/services/pli-cnf-dynamic-keys-assign.service.mjs +52 -52
  125. package/{esm2020 → esm2022}/lib/services/pli-cnf-evaluation-task-mailing.service.mjs +31 -31
  126. package/esm2022/lib/services/pli-cnf-evaluation-task.service.mjs +112 -0
  127. package/{esm2020 → esm2022}/lib/services/pli-cnf-evaluation-template.service.mjs +95 -95
  128. package/{esm2020 → esm2022}/lib/services/pli-cnf-form-edit.service.mjs +68 -68
  129. package/{esm2020 → esm2022}/lib/services/pli-cnf-form-multiaplicacion.service.mjs +46 -46
  130. package/{esm2020 → esm2022}/lib/services/pli-cnf-guarantee-documents-template.service.mjs +40 -40
  131. package/{esm2020 → esm2022}/lib/services/pli-cnf-guarantee-token.service.mjs +42 -42
  132. package/{esm2020 → esm2022}/lib/services/pli-cnf-header.service.mjs +39 -39
  133. package/{esm2020 → esm2022}/lib/services/pli-cnf-indicator.service.mjs +39 -39
  134. package/{esm2020 → esm2022}/lib/services/pli-cnf-information-system.service.mjs +24 -24
  135. package/{esm2020 → esm2022}/lib/services/pli-cnf-interaction.service.mjs +78 -78
  136. package/{esm2020 → esm2022}/lib/services/pli-cnf-letter-template-type.service.mjs +29 -29
  137. package/{esm2020 → esm2022}/lib/services/pli-cnf-letter-template.service.mjs +48 -48
  138. package/{esm2020 → esm2022}/lib/services/pli-cnf-look-and-feel.service.mjs +28 -28
  139. package/{esm2020 → esm2022}/lib/services/pli-cnf-mail.service.mjs +30 -30
  140. package/{esm2020 → esm2022}/lib/services/pli-cnf-menu-form.service.mjs +34 -34
  141. package/{esm2020 → esm2022}/lib/services/pli-cnf-migration-plis-field-budget.service.mjs +33 -33
  142. package/{esm2020 → esm2022}/lib/services/pli-cnf-migration-plis-field.service.mjs +47 -47
  143. package/{esm2020 → esm2022}/lib/services/pli-cnf-migration-status-plis.service.mjs +44 -44
  144. package/{esm2020 → esm2022}/lib/services/pli-cnf-page-section-form.service.mjs +66 -66
  145. package/{esm2020 → esm2022}/lib/services/pli-cnf-page-sub-process.service.mjs +25 -25
  146. package/{esm2020 → esm2022}/lib/services/pli-cnf-pdfs.service.mjs +31 -31
  147. package/{esm2020 → esm2022}/lib/services/pli-cnf-profile-form.service.mjs +40 -40
  148. package/{esm2020 → esm2022}/lib/services/pli-cnf-profile-user.service.mjs +49 -49
  149. package/{esm2020 → esm2022}/lib/services/pli-cnf-project-summary.service.mjs +39 -39
  150. package/{esm2020 → esm2022}/lib/services/pli-cnf-scenario.service.mjs +47 -47
  151. package/{esm2020 → esm2022}/lib/services/pli-cnf-segmentation.service.mjs +72 -72
  152. package/{esm2020 → esm2022}/lib/services/pli-cnf-snapshot-token.service.mjs +42 -42
  153. package/{esm2020 → esm2022}/lib/services/pli-cnf-status-flow-interaction.service.mjs +74 -74
  154. package/{esm2020 → esm2022}/lib/services/pli-cnf-status-flow.service.mjs +56 -56
  155. package/{esm2020 → esm2022}/lib/services/pli-cnf-support-document-category.service.mjs +47 -47
  156. package/{esm2020 → esm2022}/lib/services/pli-cnf-support-document.service.mjs +56 -56
  157. package/{esm2020 → esm2022}/lib/services/pli-cnf-survey-document.service.mjs +37 -37
  158. package/{esm2020 → esm2022}/lib/services/pli-cnf-survey-pdf.service.mjs +34 -34
  159. package/{esm2020 → esm2022}/lib/services/pli-cnf-survey.service.mjs +46 -46
  160. package/{esm2020 → esm2022}/lib/services/pli-cnf-task-group.service.mjs +33 -33
  161. package/{esm2020 → esm2022}/lib/services/pli-cnf-text-category.service.mjs +38 -38
  162. package/{esm2020 → esm2022}/lib/services/pli-cnf-text-option.service.mjs +39 -39
  163. package/{esm2020 → esm2022}/lib/services/pli-cnf-text.service.mjs +62 -62
  164. package/{esm2020 → esm2022}/lib/services/pli-cnf-type-text.service.mjs +45 -45
  165. package/{esm2020 → esm2022}/lib/services/pli-cnf-university-article.service.mjs +39 -39
  166. package/{esm2020 → esm2022}/lib/services/pli-cnf-user-calendar.service.mjs +36 -36
  167. package/{esm2020 → esm2022}/lib/services/pli-cnf-user-workspace.service.mjs +35 -35
  168. package/{esm2020 → esm2022}/lib/services/pli-cnf-valpro-keys.service.mjs +35 -35
  169. package/{esm2020 → esm2022}/lib/services/pli-cnf-workspace-segmentation.service.mjs +31 -31
  170. package/{esm2020 → esm2022}/lib/services/pli-message-type.service.mjs +40 -40
  171. package/{esm2020 → esm2022}/lib/services/pli-multiple-value-filter.service.mjs +39 -39
  172. package/{esm2020 → esm2022}/lib/services/pli-promocion-username.service.mjs +57 -57
  173. package/{esm2020 → esm2022}/lib/services/pli-seg-action-user.service.mjs +37 -37
  174. package/{esm2020 → esm2022}/lib/services/pli-segmentation.service.mjs +130 -130
  175. package/{esm2020 → esm2022}/lib/services/pli-tag-assignment.service.mjs +36 -36
  176. package/{esm2020 → esm2022}/lib/services/pli-tag.service.mjs +55 -55
  177. package/{esm2020 → esm2022}/lib/services/pli-user.service.mjs +51 -51
  178. package/{esm2020 → esm2022}/lib/services/plis-beneficiario.service.mjs +29 -29
  179. package/{esm2020 → esm2022}/lib/services/plis-estatus-change.service.mjs +30 -30
  180. package/esm2022/lib/services/ppp.service.mjs +360 -0
  181. package/{esm2020 → esm2022}/lib/services/profile.service.mjs +60 -60
  182. package/esm2022/lib/services/progress-bar.service.mjs +40 -0
  183. package/{esm2020 → esm2022}/lib/services/promotion-score.service.mjs +44 -44
  184. package/{esm2020 → esm2022}/lib/services/registry-identifier.service.mjs +39 -39
  185. package/{esm2020 → esm2022}/lib/services/return-refund.service.mjs +53 -53
  186. package/esm2022/lib/services/segmentation-tokens.service.mjs +43 -0
  187. package/{esm2020 → esm2022}/lib/services/segmentation-user-service.service.mjs +90 -90
  188. package/{esm2020 → esm2022}/lib/services/segmentation.service.mjs +31 -31
  189. package/esm2022/lib/services/send-application.service.mjs +492 -0
  190. package/{esm2020 → esm2022}/lib/services/sesion-form.service.mjs +31 -31
  191. package/{esm2020 → esm2022}/lib/services/sesion.service.mjs +48 -48
  192. package/{esm2020 → esm2022}/lib/services/spinner.service.mjs +16 -16
  193. package/{esm2020 → esm2022}/lib/services/sponsorship-letter.service.mjs +68 -68
  194. package/{esm2020 → esm2022}/lib/services/status.service.mjs +100 -100
  195. package/{esm2020 → esm2022}/lib/services/summary-budget.service.mjs +24 -24
  196. package/{esm2020 → esm2022}/lib/services/survey-metadata.service.mjs +28 -28
  197. package/{esm2020 → esm2022}/lib/services/survey-queue.service.mjs +24 -24
  198. package/{esm2020 → esm2022}/lib/services/survey.service.mjs +52 -52
  199. package/{esm2020 → esm2022}/lib/services/tasa.cambio.service.mjs +35 -35
  200. package/{esm2020 → esm2022}/lib/services/token-transformation.service.mjs +62 -62
  201. package/esm2022/lib/services/token.service.mjs +1345 -0
  202. package/{esm2020 → esm2022}/lib/services/university.service.mjs +50 -50
  203. package/esm2022/lib/services/upload-documents.service.mjs +60 -0
  204. package/{esm2020 → esm2022}/lib/services/user.service.mjs +28 -28
  205. package/{esm2020 → esm2022}/lib/services/visualization-committee.service.mjs +84 -84
  206. package/esm2022/lib/utils/custom-validator.mjs +95 -0
  207. package/esm2022/lib/utils/form-util.mjs +35 -0
  208. package/esm2022/lib/utils/formio-util.mjs +582 -0
  209. package/{esm2020 → esm2022}/lib/utils/version-commons.mjs +9 -9
  210. package/{esm2020 → esm2022}/ng-pli-commons.mjs +4 -4
  211. package/{esm2020 → esm2022}/public-api.mjs +214 -214
  212. package/{esm2020 → esm2022}/version.mjs +29 -29
  213. package/{fesm2020 → fesm2022}/ng-pli-commons.mjs +16724 -16725
  214. package/fesm2022/ng-pli-commons.mjs.map +1 -0
  215. package/{ng-pli-commons.d.ts → index.d.ts} +5 -5
  216. package/lib/components/backoffice.commons.component.d.ts +15 -15
  217. package/lib/components/common.lists.component.d.ts +61 -61
  218. package/lib/components/configuration-token/configuration-token-subject.service.d.ts +10 -10
  219. package/lib/components/configuration-token/configuration-token.component.d.ts +124 -124
  220. package/lib/components/configuration-token/guarantee-token/guarantee-token.component.d.ts +33 -33
  221. package/lib/components/configuration-token/snapshot-token/snapshot-token.component.d.ts +37 -37
  222. package/lib/components/configuration.commons.component.d.ts +15 -15
  223. package/lib/components/dashboard.commons.component.d.ts +39 -39
  224. package/lib/components/dynamic-filter/dynamic-filter.component.d.ts +50 -50
  225. package/lib/components/excel-to-json/excel-to-json.component.d.ts +12 -12
  226. package/lib/components/frontoffice.commons.component.d.ts +26 -26
  227. package/lib/components/pdf-analyzer/pdf-analyzer.component.d.ts +36 -36
  228. package/lib/components/pdf-config/pdf-config.component.d.ts +78 -78
  229. package/lib/components/pdf-generator/pdf-generator.component.d.ts +69 -69
  230. package/lib/components/pdf-merge-visualizer/pdf-merge-visualizer.component.d.ts +114 -114
  231. package/lib/components/pdf-visualizer/pdf-visualizer.component.d.ts +147 -147
  232. package/lib/components/progress-bar/progress-bar.component.d.ts +30 -30
  233. package/lib/components/segmentation-tokens/segmentation-tokens.component.d.ts +48 -48
  234. package/lib/components/select-ppp/select-ppp.component.d.ts +42 -42
  235. package/lib/components/show-hide-columns/show-hide-columns-table.component.d.ts +39 -39
  236. package/lib/components/token/token.component.d.ts +99 -99
  237. package/lib/components/tokens-calculator/tokens-calculator.component.d.ts +37 -37
  238. package/lib/directives/currency-colfuturo-formatter.directive.d.ts +14 -14
  239. package/lib/directives/currency-decimal-colfuturo-formatter.directive.d.ts +13 -13
  240. package/lib/ng-pli-commons.module.d.ts +47 -47
  241. package/lib/ng-pli-commons.service.d.ts +6 -6
  242. package/lib/pipes/currency-colfuturo.pipe.d.ts +12 -12
  243. package/lib/pipes/currency-decimal-colfuturo.pipe.d.ts +11 -11
  244. package/lib/pipes/currency-print-colfuturo.pipe.d.ts +11 -11
  245. package/lib/pipes/thousands.pipe.d.ts +9 -9
  246. package/lib/services/application-fill-percentage.service.d.ts +15 -15
  247. package/lib/services/application-tag.service.d.ts +23 -23
  248. package/lib/services/application.service.d.ts +107 -107
  249. package/lib/services/authentication.service.d.ts +45 -45
  250. package/lib/services/blocked-beneficiary.service.d.ts +17 -17
  251. package/lib/services/budget-application.service.d.ts +52 -52
  252. package/lib/services/budget-simulation.service.d.ts +32 -32
  253. package/lib/services/budget.service.d.ts +65 -65
  254. package/lib/services/closure-wallet.service.d.ts +16 -16
  255. package/lib/services/cnf-correspondence-document-manager.service.d.ts +14 -14
  256. package/lib/services/committee-money.service.d.ts +12 -12
  257. package/lib/services/committee-pdf.service.d.ts +13 -13
  258. package/lib/services/committee-snapshot.service.d.ts +24 -24
  259. package/lib/services/common-info.service.d.ts +30 -30
  260. package/lib/services/common.service.d.ts +103 -103
  261. package/lib/services/configuration-document.service.d.ts +84 -84
  262. package/lib/services/configuration-minisite.service.d.ts +13 -13
  263. package/lib/services/configuration.service.d.ts +15 -15
  264. package/lib/services/correspondence-document-category.service.d.ts +12 -12
  265. package/lib/services/correspondence-manager.service.d.ts +21 -21
  266. package/lib/services/credit-score.service.d.ts +14 -14
  267. package/lib/services/credit-study.service.d.ts +52 -52
  268. package/lib/services/cube.service.d.ts +14 -14
  269. package/lib/services/data-form-history.service.d.ts +13 -13
  270. package/lib/services/data-form.service.d.ts +82 -82
  271. package/lib/services/data-letter-segmentation.service.d.ts +20 -20
  272. package/lib/services/document-analysis-auto.service.d.ts +14 -14
  273. package/lib/services/document-history.service.d.ts +18 -18
  274. package/lib/services/document-management.service.d.ts +22 -22
  275. package/lib/services/document-validation-attempt.service.d.ts +13 -13
  276. package/lib/services/document.service.d.ts +51 -51
  277. package/lib/services/documentary.type.service.d.ts +23 -23
  278. package/lib/services/email.service.d.ts +15 -15
  279. package/lib/services/evaluation.service.d.ts +58 -58
  280. package/lib/services/export-excel.service.d.ts +8 -8
  281. package/lib/services/file.service.d.ts +63 -63
  282. package/lib/services/form.service.d.ts +39 -39
  283. package/lib/services/gic-client-disbursement-metadata.service.d.ts +12 -12
  284. package/lib/services/gic-client.service.d.ts +20 -20
  285. package/lib/services/gic-cnf-bankvision-transaction.service.d.ts +13 -13
  286. package/lib/services/gic-cnf-closing-date.service.d.ts +15 -15
  287. package/lib/services/gic-cnf-maintenance.service.d.ts +13 -13
  288. package/lib/services/gic-collection.service.d.ts +19 -19
  289. package/lib/services/gic-disbursement.service.d.ts +16 -16
  290. package/lib/services/gic-extract.service.d.ts +15 -15
  291. package/lib/services/gic-log.service.d.ts +17 -17
  292. package/lib/services/gic-payment-application.service.d.ts +15 -15
  293. package/lib/services/gic-payment-plan-cube.service.d.ts +13 -13
  294. package/lib/services/gic-payment-plan.service.d.ts +19 -19
  295. package/lib/services/gic-trm.service.d.ts +14 -14
  296. package/lib/services/global.show.task.service.d.ts +20 -20
  297. package/lib/services/guarantee-document.service.d.ts +17 -17
  298. package/lib/services/guarantee-enrollment.service.d.ts +14 -14
  299. package/lib/services/guarantee.service.d.ts +34 -34
  300. package/lib/services/hash.service.d.ts +18 -18
  301. package/lib/services/import-data.service.d.ts +14 -14
  302. package/lib/services/import-excel-gic.service.d.ts +22 -22
  303. package/lib/services/initial-configuration-gic-parameters.service.d.ts +19 -19
  304. package/lib/services/initial-record.service.d.ts +24 -24
  305. package/lib/services/integration-ado.service.d.ts +15 -15
  306. package/lib/services/interaction-application-user.service.d.ts +28 -28
  307. package/lib/services/interest-adjustment.service.d.ts +16 -16
  308. package/lib/services/keys-assignation.service.d.ts +33 -33
  309. package/lib/services/legalization.service.d.ts +46 -46
  310. package/lib/services/letter-campaing.service.d.ts +24 -24
  311. package/lib/services/letter-task-mapping.service.d.ts +22 -22
  312. package/lib/services/log.service.d.ts +17 -17
  313. package/lib/services/maintenance.service.d.ts +23 -23
  314. package/lib/services/master-category.service.d.ts +40 -40
  315. package/lib/services/master-program.service.d.ts +45 -45
  316. package/lib/services/master-university.service.d.ts +40 -40
  317. package/lib/services/migration-plis.service.d.ts +14 -14
  318. package/lib/services/migration-survey-queue.service.d.ts +12 -12
  319. package/lib/services/page.service.d.ts +18 -18
  320. package/lib/services/partner-system.service.d.ts +13 -13
  321. package/lib/services/partner.service.d.ts +17 -17
  322. package/lib/services/pdf-analyzer.service.d.ts +11 -11
  323. package/lib/services/people-master.service.d.ts +14 -14
  324. package/lib/services/permission.service.d.ts +14 -14
  325. package/lib/services/pli-cnf-acuity-fields.service.d.ts +14 -14
  326. package/lib/services/pli-cnf-app-card-filter.service.d.ts +20 -20
  327. package/lib/services/pli-cnf-appointment-type.service.d.ts +16 -16
  328. package/lib/services/pli-cnf-budget-program-type.service.d.ts +18 -18
  329. package/lib/services/pli-cnf-budget.service.d.ts +13 -13
  330. package/lib/services/pli-cnf-cloning.service.d.ts +12 -12
  331. package/lib/services/pli-cnf-committee-pdf-config-table-config.service.d.ts +19 -19
  332. package/lib/services/pli-cnf-committee-pdf-gen-status.service.d.ts +13 -13
  333. package/lib/services/pli-cnf-committee-valpro-columns.service.d.ts +15 -15
  334. package/lib/services/pli-cnf-committee-visualization-mode.service.d.ts +17 -17
  335. package/lib/services/pli-cnf-committee.service.d.ts +21 -21
  336. package/lib/services/pli-cnf-config-minisite.service.d.ts +26 -26
  337. package/lib/services/pli-cnf-configuration-credit-study.service.d.ts +16 -16
  338. package/lib/services/pli-cnf-document-management.service.d.ts +15 -15
  339. package/lib/services/pli-cnf-dynamic-keys-assign.service.d.ts +21 -21
  340. package/lib/services/pli-cnf-evaluation-task-mailing.service.d.ts +13 -13
  341. package/lib/services/pli-cnf-evaluation-task.service.d.ts +35 -35
  342. package/lib/services/pli-cnf-evaluation-template.service.d.ts +44 -44
  343. package/lib/services/pli-cnf-form-edit.service.d.ts +29 -29
  344. package/lib/services/pli-cnf-form-multiaplicacion.service.d.ts +21 -21
  345. package/lib/services/pli-cnf-guarantee-documents-template.service.d.ts +17 -17
  346. package/lib/services/pli-cnf-guarantee-token.service.d.ts +16 -16
  347. package/lib/services/pli-cnf-header.service.d.ts +18 -18
  348. package/lib/services/pli-cnf-indicator.service.d.ts +20 -20
  349. package/lib/services/pli-cnf-information-system.service.d.ts +12 -12
  350. package/lib/services/pli-cnf-interaction.service.d.ts +31 -31
  351. package/lib/services/pli-cnf-letter-template-type.service.d.ts +15 -15
  352. package/lib/services/pli-cnf-letter-template.service.d.ts +22 -22
  353. package/lib/services/pli-cnf-look-and-feel.service.d.ts +13 -13
  354. package/lib/services/pli-cnf-mail.service.d.ts +13 -13
  355. package/lib/services/pli-cnf-menu-form.service.d.ts +16 -16
  356. package/lib/services/pli-cnf-migration-plis-field-budget.service.d.ts +14 -14
  357. package/lib/services/pli-cnf-migration-plis-field.service.d.ts +17 -17
  358. package/lib/services/pli-cnf-migration-status-plis.service.d.ts +17 -17
  359. package/lib/services/pli-cnf-page-section-form.service.d.ts +24 -24
  360. package/lib/services/pli-cnf-page-sub-process.service.d.ts +12 -12
  361. package/lib/services/pli-cnf-pdfs.service.d.ts +14 -14
  362. package/lib/services/pli-cnf-profile-form.service.d.ts +20 -20
  363. package/lib/services/pli-cnf-profile-user.service.d.ts +24 -24
  364. package/lib/services/pli-cnf-project-summary.service.d.ts +16 -16
  365. package/lib/services/pli-cnf-scenario.service.d.ts +23 -23
  366. package/lib/services/pli-cnf-segmentation.service.d.ts +32 -32
  367. package/lib/services/pli-cnf-snapshot-token.service.d.ts +16 -16
  368. package/lib/services/pli-cnf-status-flow-interaction.service.d.ts +28 -28
  369. package/lib/services/pli-cnf-status-flow.service.d.ts +26 -26
  370. package/lib/services/pli-cnf-support-document-category.service.d.ts +17 -17
  371. package/lib/services/pli-cnf-support-document.service.d.ts +23 -23
  372. package/lib/services/pli-cnf-survey-document.service.d.ts +16 -16
  373. package/lib/services/pli-cnf-survey-pdf.service.d.ts +15 -15
  374. package/lib/services/pli-cnf-survey.service.d.ts +19 -19
  375. package/lib/services/pli-cnf-task-group.service.d.ts +15 -15
  376. package/lib/services/pli-cnf-text-category.service.d.ts +15 -15
  377. package/lib/services/pli-cnf-text-option.service.d.ts +15 -15
  378. package/lib/services/pli-cnf-text.service.d.ts +21 -21
  379. package/lib/services/pli-cnf-type-text.service.d.ts +16 -16
  380. package/lib/services/pli-cnf-university-article.service.d.ts +20 -20
  381. package/lib/services/pli-cnf-user-calendar.service.d.ts +16 -16
  382. package/lib/services/pli-cnf-user-workspace.service.d.ts +18 -18
  383. package/lib/services/pli-cnf-valpro-keys.service.d.ts +18 -18
  384. package/lib/services/pli-cnf-workspace-segmentation.service.d.ts +16 -16
  385. package/lib/services/pli-message-type.service.d.ts +15 -15
  386. package/lib/services/pli-multiple-value-filter.service.d.ts +17 -17
  387. package/lib/services/pli-promocion-username.service.d.ts +26 -26
  388. package/lib/services/pli-seg-action-user.service.d.ts +20 -20
  389. package/lib/services/pli-segmentation.service.d.ts +48 -48
  390. package/lib/services/pli-tag-assignment.service.d.ts +15 -15
  391. package/lib/services/pli-tag.service.d.ts +21 -21
  392. package/lib/services/pli-user.service.d.ts +24 -24
  393. package/lib/services/plis-beneficiario.service.d.ts +10 -10
  394. package/lib/services/plis-estatus-change.service.d.ts +13 -13
  395. package/lib/services/ppp.service.d.ts +77 -77
  396. package/lib/services/profile.service.d.ts +26 -26
  397. package/lib/services/progress-bar.service.d.ts +14 -14
  398. package/lib/services/promotion-score.service.d.ts +14 -14
  399. package/lib/services/registry-identifier.service.d.ts +16 -16
  400. package/lib/services/return-refund.service.d.ts +20 -20
  401. package/lib/services/segmentation-tokens.service.d.ts +22 -22
  402. package/lib/services/segmentation-user-service.service.d.ts +26 -26
  403. package/lib/services/segmentation.service.d.ts +16 -16
  404. package/lib/services/send-application.service.d.ts +71 -71
  405. package/lib/services/sesion-form.service.d.ts +16 -16
  406. package/lib/services/sesion.service.d.ts +27 -27
  407. package/lib/services/spinner.service.d.ts +6 -6
  408. package/lib/services/sponsorship-letter.service.d.ts +34 -34
  409. package/lib/services/status.service.d.ts +31 -31
  410. package/lib/services/summary-budget.service.d.ts +11 -11
  411. package/lib/services/survey-metadata.service.d.ts +13 -13
  412. package/lib/services/survey-queue.service.d.ts +12 -12
  413. package/lib/services/survey.service.d.ts +17 -17
  414. package/lib/services/tasa.cambio.service.d.ts +14 -14
  415. package/lib/services/token-transformation.service.d.ts +19 -19
  416. package/lib/services/token.service.d.ts +270 -270
  417. package/lib/services/university.service.d.ts +28 -28
  418. package/lib/services/upload-documents.service.d.ts +21 -21
  419. package/lib/services/user.service.d.ts +12 -12
  420. package/lib/services/visualization-committee.service.d.ts +32 -32
  421. package/lib/utils/custom-validator.d.ts +19 -19
  422. package/lib/utils/form-util.d.ts +11 -11
  423. package/lib/utils/formio-util.d.ts +105 -105
  424. package/lib/utils/version-commons.d.ts +4 -4
  425. package/package.json +10 -16
  426. package/public-api.d.ts +210 -210
  427. package/version.d.ts +25 -25
  428. package/esm2020/lib/components/backoffice.commons.component.mjs +0 -40
  429. package/esm2020/lib/components/common.lists.component.mjs +0 -194
  430. package/esm2020/lib/components/configuration-token/configuration-token.component.mjs +0 -665
  431. package/esm2020/lib/components/configuration-token/guarantee-token/guarantee-token.component.mjs +0 -103
  432. package/esm2020/lib/components/configuration-token/snapshot-token/snapshot-token.component.mjs +0 -108
  433. package/esm2020/lib/components/configuration.commons.component.mjs +0 -40
  434. package/esm2020/lib/components/dynamic-filter/dynamic-filter.component.mjs +0 -131
  435. package/esm2020/lib/components/excel-to-json/excel-to-json.component.mjs +0 -54
  436. package/esm2020/lib/components/frontoffice.commons.component.mjs +0 -86
  437. package/esm2020/lib/components/pdf-analyzer/pdf-analyzer.component.mjs +0 -162
  438. package/esm2020/lib/components/pdf-generator/pdf-generator.component.mjs +0 -223
  439. package/esm2020/lib/components/pdf-merge-visualizer/pdf-merge-visualizer.component.mjs +0 -307
  440. package/esm2020/lib/components/pdf-visualizer/pdf-visualizer.component.mjs +0 -387
  441. package/esm2020/lib/components/progress-bar/progress-bar.component.mjs +0 -92
  442. package/esm2020/lib/components/segmentation-tokens/segmentation-tokens.component.mjs +0 -199
  443. package/esm2020/lib/components/select-ppp/select-ppp.component.mjs +0 -199
  444. package/esm2020/lib/components/show-hide-columns/show-hide-columns-table.component.mjs +0 -116
  445. package/esm2020/lib/components/token/token.component.mjs +0 -1006
  446. package/esm2020/lib/components/tokens-calculator/tokens-calculator.component.mjs +0 -128
  447. package/esm2020/lib/ng-pli-commons.module.mjs +0 -390
  448. package/esm2020/lib/pipes/currency-colfuturo.pipe.mjs +0 -35
  449. package/esm2020/lib/pipes/thousands.pipe.mjs +0 -60
  450. package/esm2020/lib/services/authentication.service.mjs +0 -133
  451. package/esm2020/lib/services/budget-application.service.mjs +0 -265
  452. package/esm2020/lib/services/budget.service.mjs +0 -205
  453. package/esm2020/lib/services/common.service.mjs +0 -291
  454. package/esm2020/lib/services/configuration-document.service.mjs +0 -297
  455. package/esm2020/lib/services/documentary.type.service.mjs +0 -69
  456. package/esm2020/lib/services/file.service.mjs +0 -153
  457. package/esm2020/lib/services/guarantee.service.mjs +0 -128
  458. package/esm2020/lib/services/keys-assignation.service.mjs +0 -127
  459. package/esm2020/lib/services/pli-cnf-evaluation-task.service.mjs +0 -112
  460. package/esm2020/lib/services/ppp.service.mjs +0 -360
  461. package/esm2020/lib/services/progress-bar.service.mjs +0 -40
  462. package/esm2020/lib/services/segmentation-tokens.service.mjs +0 -43
  463. package/esm2020/lib/services/send-application.service.mjs +0 -492
  464. package/esm2020/lib/services/token.service.mjs +0 -1345
  465. package/esm2020/lib/services/upload-documents.service.mjs +0 -60
  466. package/esm2020/lib/utils/custom-validator.mjs +0 -95
  467. package/esm2020/lib/utils/form-util.mjs +0 -35
  468. package/esm2020/lib/utils/formio-util.mjs +0 -580
  469. package/fesm2015/ng-pli-commons.mjs +0 -17373
  470. package/fesm2015/ng-pli-commons.mjs.map +0 -1
  471. package/fesm2020/ng-pli-commons.mjs.map +0 -1
@@ -0,0 +1,133 @@
1
+ import { Injectable, Inject } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import { HttpParams } from '@angular/common/http';
4
+ import { HEADER_JSON, AuthenticationUtil } from 'ng-pli-util';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common/http";
7
+ import * as i2 from "./hash.service";
8
+ export class AuthenticationService {
9
+ constructor(environment, httpClient, hashService) {
10
+ this.environment = environment;
11
+ this.httpClient = httpClient;
12
+ this.hashService = hashService;
13
+ /** This observable allows to verify if the user is authenticated */
14
+ this.isLoginSubject = new BehaviorSubject(AuthenticationUtil.hasToken());
15
+ }
16
+ /**
17
+ * It allows to login with the app with username and password
18
+ * @param user It
19
+ */
20
+ login(user) {
21
+ localStorage.clear();
22
+ return this.httpClient.post(this.environment.host.backend.configuration + 'sesion/getByLoginAndSesion', user, HEADER_JSON);
23
+ }
24
+ /*_login(user: any) {
25
+ return this.httpClient.post(
26
+ this.environment.host.backend.configuration + 'sesion/getByLoginAndSesion',
27
+ user,
28
+ HEADER_JSON
29
+ );
30
+ }*/
31
+ getUserByLogin(user) {
32
+ return this.httpClient.post(this.environment.host.backend.configuration + 'sesion/getByLogin', user, HEADER_JSON);
33
+ }
34
+ /** It returns the session info */
35
+ getTokenByLogin(login) {
36
+ return this.httpClient.get(this.environment.host.backend.plis + 'login/getSession', {
37
+ params: new HttpParams().set('login', login)
38
+ });
39
+ }
40
+ /**
41
+ * It allows to logout
42
+ */
43
+ logout(redirectURL) {
44
+ this.removeTokens();
45
+ window.location.href = redirectURL ? redirectURL : this.environment.host.frontend.login;
46
+ }
47
+ /**
48
+ * It allows to assign a new value to the token
49
+ * @param token
50
+ */
51
+ setToken(token_request) {
52
+ AuthenticationUtil.setToken(token_request);
53
+ this.isLoginSubject.next(true);
54
+ }
55
+ /** it verifies if there is token */
56
+ verifyToken() {
57
+ this.isLoginSubject.next(AuthenticationUtil.verifyToken());
58
+ }
59
+ /**
60
+ * It allows to remove the token
61
+ */
62
+ removeTokens() {
63
+ localStorage.clear();
64
+ this.isLoginSubject.next(false);
65
+ }
66
+ /**
67
+ * It has a observable to notify if the user is authenticated
68
+ */
69
+ isAuthenticated() {
70
+ return this.isLoginSubject.asObservable();
71
+ }
72
+ getHash(idPatrocinador, idPlataforma, idPatrocinadorPLIC) {
73
+ const errorMessage = 'No se pudo generar el hash';
74
+ return new Promise((resolve, reject) => {
75
+ this.hashService.getHash(idPatrocinador, idPlataforma, idPatrocinadorPLIC).subscribe((response) => {
76
+ if (response && response.hash) {
77
+ resolve(response.hash);
78
+ }
79
+ else {
80
+ reject(errorMessage);
81
+ }
82
+ }, (error) => reject(errorMessage));
83
+ });
84
+ }
85
+ async getLink(patCodigo) {
86
+ //https://dev.colfuturo.org/plic/frontoffice/registro-multiaplicacion/create/74
87
+ let loginMultiUrl = '';
88
+ let registerForm = 'registro-multiaplicacion/create/' + patCodigo;
89
+ const loginUrl = new URL(this.environment.host.frontend.frontoffice + registerForm);
90
+ try {
91
+ loginMultiUrl = loginUrl.href;
92
+ }
93
+ catch (error) { }
94
+ return loginMultiUrl;
95
+ }
96
+ async getLinkMono(promCodigo) {
97
+ // https://dev.colfuturo.org/plic/frontoffice/term/362/-1
98
+ let loginMultiUrl = '';
99
+ let termsLink = 'term/' + promCodigo + '/-1';
100
+ const loginUrl = new URL(this.environment.host.frontend.frontoffice + termsLink);
101
+ try {
102
+ loginMultiUrl = loginUrl.href;
103
+ }
104
+ catch (error) { }
105
+ return loginMultiUrl;
106
+ }
107
+ async getLinkOld(patCodigo) {
108
+ let logoutUrl = '';
109
+ const loginUrl = new URL(this.environment.host.frontend.login);
110
+ const idPatrocinador = loginUrl.searchParams.get('idPatrocinador');
111
+ const idPlataforma = loginUrl.searchParams.get('idPlataforma');
112
+ loginUrl.searchParams.append('idPatrocinadorPLIC', patCodigo);
113
+ try {
114
+ let hash = await this.getHash(idPatrocinador, idPlataforma, patCodigo);
115
+ loginUrl.searchParams.set('hash', hash);
116
+ logoutUrl = loginUrl.href;
117
+ }
118
+ catch (error) { }
119
+ return logoutUrl;
120
+ }
121
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuthenticationService, deps: [{ token: 'environment' }, { token: i1.HttpClient }, { token: i2.HashService }], target: i0.ɵɵFactoryTarget.Injectable }); }
122
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuthenticationService, providedIn: 'root' }); }
123
+ }
124
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuthenticationService, decorators: [{
125
+ type: Injectable,
126
+ args: [{
127
+ providedIn: 'root'
128
+ }]
129
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
130
+ type: Inject,
131
+ args: ['environment']
132
+ }] }, { type: i1.HttpClient }, { type: i2.HashService }] });
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXBsaS1jb21tb25zL3NyYy9saWIvc2VydmljZXMvYXV0aGVudGljYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFRLE1BQU0sYUFBYSxDQUFDOzs7O0FBTXBFLE1BQU0sT0FBTyxxQkFBcUI7SUFJakMsWUFDZ0MsV0FBZ0IsRUFDdkMsVUFBc0IsRUFDdEIsV0FBd0I7UUFGRCxnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUN2QyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBTmpDLG9FQUFvRTtRQUM1RCxtQkFBYyxHQUFHLElBQUksZUFBZSxDQUFVLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFLakQsQ0FBQztJQUVyQzs7O09BR0c7SUFDSCxLQUFLLENBQUMsSUFBUztRQUNkLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNyQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxHQUFHLDRCQUE0QixFQUMxRSxJQUFJLEVBQ0osV0FBVyxDQUNYLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBRUgsY0FBYyxDQUFDLElBQVM7UUFDdkIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDMUIsSUFBSSxDQUFDLFdBQVcs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QU8sS0FBSyxFQUFFLENBQUMsQ0FBQSxDQUFDO1FBQ2xCLE9BQU8sU0FBUyxDQUFDO0lBQ2xCLENBQUM7K0dBeElXLHFCQUFxQixrQkFLeEIsYUFBYTttSEFMVixxQkFBcUIsY0FGckIsTUFBTTs7NEZBRU4scUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQjs7MEJBTUUsTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBIRUFERVJfSlNPTiwgQXV0aGVudGljYXRpb25VdGlsLCBVc2VyIH0gZnJvbSAnbmctcGxpLXV0aWwnO1xyXG5pbXBvcnQgeyBIYXNoU2VydmljZSB9IGZyb20gJy4vaGFzaC5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEF1dGhlbnRpY2F0aW9uU2VydmljZSB7XHJcblx0LyoqIFRoaXMgb2JzZXJ2YWJsZSBhbGxvd3MgdG8gdmVyaWZ5IGlmIHRoZSB1c2VyIGlzIGF1dGhlbnRpY2F0ZWQgKi9cclxuXHRwcml2YXRlIGlzTG9naW5TdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihBdXRoZW50aWNhdGlvblV0aWwuaGFzVG9rZW4oKSk7XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0QEluamVjdCgnZW52aXJvbm1lbnQnKSBwcml2YXRlIGVudmlyb25tZW50OiBhbnksXHJcblx0XHRwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXHJcblx0XHRwcml2YXRlIGhhc2hTZXJ2aWNlOiBIYXNoU2VydmljZSkge31cclxuXHJcblx0LyoqXHJcblx0ICogSXQgYWxsb3dzIHRvIGxvZ2luIHdpdGggdGhlIGFwcCB3aXRoIHVzZXJuYW1lIGFuZCBwYXNzd29yZFxyXG5cdCAqIEBwYXJhbSB1c2VyIEl0XHJcblx0ICovXHJcblx0bG9naW4odXNlcjogYW55KSB7XHJcblx0XHRsb2NhbFN0b3JhZ2UuY2xlYXIoKTtcclxuXHRcdHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdChcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuY29uZmlndXJhdGlvbiArICdzZXNpb24vZ2V0QnlMb2dpbkFuZFNlc2lvbicsXHJcblx0XHRcdHVzZXIsXHJcblx0XHRcdEhFQURFUl9KU09OXHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0LypfbG9naW4odXNlcjogYW55KSB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QoXHJcblx0XHRcdHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmNvbmZpZ3VyYXRpb24gKyAnc2VzaW9uL2dldEJ5TG9naW5BbmRTZXNpb24nLFxyXG5cdFx0XHR1c2VyLFxyXG5cdFx0XHRIRUFERVJfSlNPTlxyXG5cdFx0KTtcclxuXHR9Ki9cclxuXHJcblx0Z2V0VXNlckJ5TG9naW4odXNlcjogYW55KSB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QoXHJcblx0XHRcdHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmNvbmZpZ3VyYXRpb24gKyAnc2VzaW9uL2dldEJ5TG9naW4nLFxyXG5cdFx0XHR1c2VyLFxyXG5cdFx0XHRIRUFERVJfSlNPTlxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdC8qKiBJdCByZXR1cm5zIHRoZSBzZXNzaW9uIGluZm8gKi9cclxuXHRnZXRUb2tlbkJ5TG9naW4obG9naW46IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldCh0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5wbGlzICsgJ2xvZ2luL2dldFNlc3Npb24nLCB7XHJcblx0XHRcdHBhcmFtczogbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ2xvZ2luJywgbG9naW4pXHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEl0IGFsbG93cyB0byBsb2dvdXRcclxuXHQgKi9cclxuXHRsb2dvdXQocmVkaXJlY3RVUkw/OiBzdHJpbmcpIHtcclxuXHRcdHRoaXMucmVtb3ZlVG9rZW5zKCk7XHJcblx0XHR3aW5kb3cubG9jYXRpb24uaHJlZiA9IHJlZGlyZWN0VVJMID8gcmVkaXJlY3RVUkwgOiB0aGlzLmVudmlyb25tZW50Lmhvc3QuZnJvbnRlbmQubG9naW47XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBJdCBhbGxvd3MgdG8gYXNzaWduIGEgbmV3IHZhbHVlIHRvIHRoZSB0b2tlblxyXG5cdCAqIEBwYXJhbSB0b2tlblxyXG5cdCAqL1xyXG5cdHNldFRva2VuKHRva2VuX3JlcXVlc3Q6IHN0cmluZykge1xyXG5cdFx0QXV0aGVudGljYXRpb25VdGlsLnNldFRva2VuKHRva2VuX3JlcXVlc3QpO1xyXG5cdFx0dGhpcy5pc0xvZ2luU3ViamVjdC5uZXh0KHRydWUpO1xyXG5cdH1cclxuXHJcblx0LyoqIGl0IHZlcmlmaWVzIGlmIHRoZXJlIGlzIHRva2VuICovXHJcblx0dmVyaWZ5VG9rZW4oKSB7XHJcblx0XHR0aGlzLmlzTG9naW5TdWJqZWN0Lm5leHQoQXV0aGVudGljYXRpb25VdGlsLnZlcmlmeVRva2VuKCkpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogSXQgYWxsb3dzIHRvIHJlbW92ZSB0aGUgdG9rZW5cclxuXHQgKi9cclxuXHRwcml2YXRlIHJlbW92ZVRva2VucygpIHtcclxuXHRcdGxvY2FsU3RvcmFnZS5jbGVhcigpO1xyXG5cdFx0dGhpcy5pc0xvZ2luU3ViamVjdC5uZXh0KGZhbHNlKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEl0IGhhcyBhIG9ic2VydmFibGUgdG8gbm90aWZ5IGlmIHRoZSB1c2VyIGlzIGF1dGhlbnRpY2F0ZWRcclxuXHQgKi9cclxuXHRpc0F1dGhlbnRpY2F0ZWQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcblx0XHRyZXR1cm4gdGhpcy5pc0xvZ2luU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgZ2V0SGFzaChcclxuXHRcdGlkUGF0cm9jaW5hZG9yOiBzdHJpbmcsXHJcblx0XHRpZFBsYXRhZm9ybWE6IHN0cmluZyxcclxuXHRcdGlkUGF0cm9jaW5hZG9yUExJQzogc3RyaW5nXHJcblx0KTogUHJvbWlzZTxzdHJpbmc+IHtcclxuXHRcdGNvbnN0IGVycm9yTWVzc2FnZSA9ICdObyBzZSBwdWRvIGdlbmVyYXIgZWwgaGFzaCc7XHJcblx0XHRyZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG5cdFx0XHR0aGlzLmhhc2hTZXJ2aWNlLmdldEhhc2goaWRQYXRyb2NpbmFkb3IsIGlkUGxhdGFmb3JtYSwgaWRQYXRyb2NpbmFkb3JQTElDKS5zdWJzY3JpYmUoXHJcblx0XHRcdFx0KHJlc3BvbnNlKSA9PiB7XHJcblx0XHRcdFx0XHRpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UuaGFzaCkge1xyXG5cdFx0XHRcdFx0XHRyZXNvbHZlKHJlc3BvbnNlLmhhc2gpO1xyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0cmVqZWN0KGVycm9yTWVzc2FnZSk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHQoZXJyb3IpID0+IHJlamVjdChlcnJvck1lc3NhZ2UpXHJcblx0XHRcdCk7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdGFzeW5jIGdldExpbmsocGF0Q29kaWdvOiBzdHJpbmcpIHtcclxuXHRcdC8vaHR0cHM6Ly9kZXYuY29sZnV0dXJvLm9yZy9wbGljL2Zyb250b2ZmaWNlL3JlZ2lzdHJvLW11bHRpYXBsaWNhY2lvbi9jcmVhdGUvNzRcclxuXHRcdGxldCBsb2dpbk11bHRpVXJsID0gJyc7XHJcblx0XHRsZXQgcmVnaXN0ZXJGb3JtID0gJ3JlZ2lzdHJvLW11bHRpYXBsaWNhY2lvbi9jcmVhdGUvJyArIHBhdENvZGlnbztcclxuXHRcdGNvbnN0IGxvZ2luVXJsID0gbmV3IFVSTCh0aGlzLmVudmlyb25tZW50Lmhvc3QuZnJvbnRlbmQuZnJvbnRvZmZpY2UgKyByZWdpc3RlckZvcm0pO1xyXG5cdFx0dHJ5IHtcclxuXHRcdFx0bG9naW5NdWx0aVVybCA9IGxvZ2luVXJsLmhyZWY7XHJcblx0XHR9IGNhdGNoIChlcnJvcikge31cclxuXHRcdHJldHVybiBsb2dpbk11bHRpVXJsO1xyXG5cdH1cclxuXHJcblx0YXN5bmMgZ2V0TGlua01vbm8ocHJvbUNvZGlnbzogc3RyaW5nKSB7XHJcblx0XHQvLyBodHRwczovL2Rldi5jb2xmdXR1cm8ub3JnL3BsaWMvZnJvbnRvZmZpY2UvdGVybS8zNjIvLTFcclxuXHRcdGxldCBsb2dpbk11bHRpVXJsID0gJyc7XHJcblx0XHRsZXQgdGVybXNMaW5rID0gJ3Rlcm0vJyArIHByb21Db2RpZ28gKyAnLy0xJztcclxuXHRcdGNvbnN0IGxvZ2luVXJsID0gbmV3IFVSTCh0aGlzLmVudmlyb25tZW50Lmhvc3QuZnJvbnRlbmQuZnJvbnRvZmZpY2UgKyB0ZXJtc0xpbmspO1xyXG5cdFx0dHJ5IHtcclxuXHRcdFx0bG9naW5NdWx0aVVybCA9IGxvZ2luVXJsLmhyZWY7XHJcblx0XHR9IGNhdGNoIChlcnJvcikge31cclxuXHRcdHJldHVybiBsb2dpbk11bHRpVXJsO1xyXG5cdH1cclxuXHJcblx0YXN5bmMgZ2V0TGlua09sZChwYXRDb2RpZ286IHN0cmluZykge1xyXG5cdFx0bGV0IGxvZ291dFVybCA9ICcnO1xyXG5cdFx0Y29uc3QgbG9naW5VcmwgPSBuZXcgVVJMKHRoaXMuZW52aXJvbm1lbnQuaG9zdC5mcm9udGVuZC5sb2dpbik7XHJcblx0XHRjb25zdCBpZFBhdHJvY2luYWRvciA9IGxvZ2luVXJsLnNlYXJjaFBhcmFtcy5nZXQoJ2lkUGF0cm9jaW5hZG9yJyk7XHJcblx0XHRjb25zdCBpZFBsYXRhZm9ybWEgPSBsb2dpblVybC5zZWFyY2hQYXJhbXMuZ2V0KCdpZFBsYXRhZm9ybWEnKTtcclxuXHRcdGxvZ2luVXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2lkUGF0cm9jaW5hZG9yUExJQycsIHBhdENvZGlnbyk7XHJcblx0XHR0cnkge1xyXG5cdFx0XHRsZXQgaGFzaCA9IGF3YWl0IHRoaXMuZ2V0SGFzaChpZFBhdHJvY2luYWRvciwgaWRQbGF0YWZvcm1hLCBwYXRDb2RpZ28pO1xyXG5cdFx0XHRsb2dpblVybC5zZWFyY2hQYXJhbXMuc2V0KCdoYXNoJywgaGFzaCk7XHJcblx0XHRcdGxvZ291dFVybCA9IGxvZ2luVXJsLmhyZWY7XHJcblx0XHR9IGNhdGNoIChlcnJvcikge31cclxuXHRcdHJldHVybiBsb2dvdXRVcmw7XHJcblx0fVxyXG5cclxufVxyXG4iXX0=
@@ -1,42 +1,42 @@
1
- import { HttpHeaders, HttpParams } from '@angular/common/http';
2
- import { Inject, Injectable } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common/http";
5
- export class BlockedBeneficiaryService {
6
- constructor(environment, httpClient) {
7
- this.environment = environment;
8
- this.httpClient = httpClient;
9
- this.headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };
10
- }
11
- getByDataTablesParameters(dataTableParameters) {
12
- return this.httpClient.post(this.environment.host.backend.backoffice +
13
- 'blocked_beneficiary/getByDataTablesParameters', dataTableParameters, this.headerJson);
14
- }
15
- /** It saves a BlockedBeneficiary */
16
- save(blockedBeneficiary) {
17
- return this.httpClient.post(this.environment.host.backend.backoffice + 'blocked_beneficiary/save', blockedBeneficiary, this.headerJson);
18
- }
19
- enableBeneficiary(blockedBeneficiary) {
20
- return this.httpClient.post(this.environment.host.backend.backoffice + 'blocked_beneficiary/enableBeneficiary', blockedBeneficiary, this.headerJson);
21
- }
22
- getByIdentificationAndPromCodigo(identification, promCodigo) {
23
- return this.httpClient.get(this.environment.host.backend.backoffice +
24
- 'blocked_beneficiary/getByIdentificationAndPromCodigo', {
25
- params: new HttpParams()
26
- .set('promCodigo', promCodigo)
27
- .set('identification', identification)
28
- });
29
- }
30
- }
31
- BlockedBeneficiaryServicefac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BlockedBeneficiaryService, deps: [{ token: 'environment' }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
32
- BlockedBeneficiaryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BlockedBeneficiaryService, providedIn: 'root' });
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BlockedBeneficiaryService, decorators: [{
34
- type: Injectable,
35
- args: [{
36
- providedIn: 'root'
37
- }]
38
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
39
- type: Inject,
40
- args: ['environment']
41
- }] }, { type: i1.HttpClient }]; } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tlZC1iZW5lZmljaWFyeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcGxpLWNvbW1vbnMvc3JjL2xpYi9zZXJ2aWNlcy9ibG9ja2VkLWJlbmVmaWNpYXJ5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBT25ELE1BQU0sT0FBTyx5QkFBeUI7SUFHckMsWUFBMkMsV0FBZ0IsRUFBVSxVQUFzQjtRQUFoRCxnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUFVLGVBQVUsR0FBVixVQUFVLENBQVk7UUFGbkYsZUFBVSxHQUFHLEVBQUUsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLENBQUMsRUFBRSxDQUFDO0lBRUksQ0FBQztJQUUvRix5QkFBeUIsQ0FBQyxtQkFBd0M7UUFDakUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVU7WUFDdkMsK0NBQStDLEVBQ2hELG1CQUFtQixFQUNuQixJQUFJLENBQUMsVUFBVSxDQUNmLENBQUM7SUFDSCxDQUFDO0lBRUQsb0NBQW9DO0lBQ3BDLElBQUksQ0FBQyxrQkFBc0M7UUFDMUMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsR0FBRywwQkFBMEIsRUFDckUsa0JBQWtCLEVBQ2xCLElBQUksQ0FBQyxVQUFVLENBQ2YsQ0FBQztJQUNILENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxrQkFBc0M7UUFDdkQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsR0FBRyx1Q0FBdUMsRUFDbEYsa0JBQWtCLEVBQ2xCLElBQUksQ0FBQyxVQUFVLENBQ2YsQ0FBQztJQUNILENBQUM7SUFFRCxnQ0FBZ0MsQ0FBQyxjQUFzQixFQUFFLFVBQWtCO1FBQzFFLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVO1lBQ3ZDLHNEQUFzRCxFQUN2RDtZQUNDLE1BQU0sRUFBRSxJQUFJLFVBQVUsRUFBRTtpQkFDdEIsR0FBRyxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUM7aUJBQzdCLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxjQUFjLENBQUM7U0FDdkMsQ0FDRCxDQUFDO0lBQ0gsQ0FBQzs7c0hBekNXLHlCQUF5QixrQkFHakIsYUFBYTswSEFIckIseUJBQXlCLGNBRnpCLE1BQU07MkZBRU4seUJBQXlCO2tCQUhyQyxVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQjs7MEJBSWEsTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCbG9ja2VkQmVuZWZpY2lhcnksIERhdGFUYWJsZVBhcmFtZXRlcnMgfSBmcm9tICduZy1wbGktdXRpbCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEJsb2NrZWRCZW5lZmljaWFyeVNlcnZpY2Uge1xyXG5cdHByaXZhdGUgaGVhZGVySnNvbiA9IHsgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9KSB9O1xyXG5cclxuXHRjb25zdHJ1Y3RvcihASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgZW52aXJvbm1lbnQ6IGFueSwgcHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50KSB7fVxyXG5cclxuXHRnZXRCeURhdGFUYWJsZXNQYXJhbWV0ZXJzKGRhdGFUYWJsZVBhcmFtZXRlcnM6IERhdGFUYWJsZVBhcmFtZXRlcnMpIHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdChcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuYmFja29mZmljZSArXHJcblx0XHRcdFx0J2Jsb2NrZWRfYmVuZWZpY2lhcnkvZ2V0QnlEYXRhVGFibGVzUGFyYW1ldGVycycsXHJcblx0XHRcdGRhdGFUYWJsZVBhcmFtZXRlcnMsXHJcblx0XHRcdHRoaXMuaGVhZGVySnNvblxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdC8qKiBJdCBzYXZlcyBhIEJsb2NrZWRCZW5lZmljaWFyeSAqL1xyXG5cdHNhdmUoYmxvY2tlZEJlbmVmaWNpYXJ5OiBCbG9ja2VkQmVuZWZpY2lhcnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KFxyXG5cdFx0XHR0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5iYWNrb2ZmaWNlICsgJ2Jsb2NrZWRfYmVuZWZpY2lhcnkvc2F2ZScsXHJcblx0XHRcdGJsb2NrZWRCZW5lZmljaWFyeSxcclxuXHRcdFx0dGhpcy5oZWFkZXJKc29uXHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0ZW5hYmxlQmVuZWZpY2lhcnkoYmxvY2tlZEJlbmVmaWNpYXJ5OiBCbG9ja2VkQmVuZWZpY2lhcnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KFxyXG5cdFx0XHR0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5iYWNrb2ZmaWNlICsgJ2Jsb2NrZWRfYmVuZWZpY2lhcnkvZW5hYmxlQmVuZWZpY2lhcnknLFxyXG5cdFx0XHRibG9ja2VkQmVuZWZpY2lhcnksXHJcblx0XHRcdHRoaXMuaGVhZGVySnNvblxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdGdldEJ5SWRlbnRpZmljYXRpb25BbmRQcm9tQ29kaWdvKGlkZW50aWZpY2F0aW9uOiBzdHJpbmcsIHByb21Db2RpZ286IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuYmFja29mZmljZSArXHJcblx0XHRcdFx0J2Jsb2NrZWRfYmVuZWZpY2lhcnkvZ2V0QnlJZGVudGlmaWNhdGlvbkFuZFByb21Db2RpZ28nLFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0cGFyYW1zOiBuZXcgSHR0cFBhcmFtcygpXHJcblx0XHRcdFx0XHQuc2V0KCdwcm9tQ29kaWdvJywgcHJvbUNvZGlnbylcclxuXHRcdFx0XHRcdC5zZXQoJ2lkZW50aWZpY2F0aW9uJywgaWRlbnRpZmljYXRpb24pXHJcblx0XHRcdH1cclxuXHRcdCk7XHJcblx0fVxyXG59XHJcbiJdfQ==
1
+ import { HttpHeaders, HttpParams } from '@angular/common/http';
2
+ import { Inject, Injectable } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common/http";
5
+ export class BlockedBeneficiaryService {
6
+ constructor(environment, httpClient) {
7
+ this.environment = environment;
8
+ this.httpClient = httpClient;
9
+ this.headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };
10
+ }
11
+ getByDataTablesParameters(dataTableParameters) {
12
+ return this.httpClient.post(this.environment.host.backend.backoffice +
13
+ 'blocked_beneficiary/getByDataTablesParameters', dataTableParameters, this.headerJson);
14
+ }
15
+ /** It saves a BlockedBeneficiary */
16
+ save(blockedBeneficiary) {
17
+ return this.httpClient.post(this.environment.host.backend.backoffice + 'blocked_beneficiary/save', blockedBeneficiary, this.headerJson);
18
+ }
19
+ enableBeneficiary(blockedBeneficiary) {
20
+ return this.httpClient.post(this.environment.host.backend.backoffice + 'blocked_beneficiary/enableBeneficiary', blockedBeneficiary, this.headerJson);
21
+ }
22
+ getByIdentificationAndPromCodigo(identification, promCodigo) {
23
+ return this.httpClient.get(this.environment.host.backend.backoffice +
24
+ 'blocked_beneficiary/getByIdentificationAndPromCodigo', {
25
+ params: new HttpParams()
26
+ .set('promCodigo', promCodigo)
27
+ .set('identification', identification)
28
+ });
29
+ }
30
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BlockedBeneficiaryService, deps: [{ token: 'environment' }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
31
+ static { thisprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BlockedBeneficiaryService, providedIn: 'root' }); }
32
+ }
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BlockedBeneficiaryService, decorators: [{
34
+ type: Injectable,
35
+ args: [{
36
+ providedIn: 'root'
37
+ }]
38
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
39
+ type: Inject,
40
+ args: ['environment']
41
+ }] }, { type: i1.HttpClient }] });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tlZC1iZW5lZmljaWFyeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcGxpLWNvbW1vbnMvc3JjL2xpYi9zZXJ2aWNlcy9ibG9ja2VkLWJlbmVmaWNpYXJ5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBT25ELE1BQU0sT0FBTyx5QkFBeUI7SUFHckMsWUFBMkMsV0FBZ0IsRUFBVSxVQUFzQjtRQUFoRCxnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUFVLGVBQVUsR0FBVixVQUFVLENBQVk7UUFGbkYsZUFBVSxHQUFHLEVBQUUsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLENBQUMsRUFBRSxDQUFDO0lBRUksQ0FBQztJQUUvRix5QkFBeUIsQ0FBQyxtQkFBd0M7UUFDakUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVU7WUFDdkMsK0NBQStDLEVBQ2hELG1CQUFtQixFQUNuQixJQUFJLENBQUMsVUFBVSxDQUNmLENBQUM7SUFDSCxDQUFDO0lBRUQsb0NBQW9DO0lBQ3BDLElBQUksQ0FBQyxrQkFBc0M7UUFDMUMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsR0FBRywwQkFBMEIsRUFDckUsa0JBQWtCLEVBQ2xCLElBQUksQ0FBQyxVQUFVLENBQ2YsQ0FBQztJQUNILENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxrQkFBc0M7UUFDdkQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsR0FBRyx1Q0FBdUMsRUFDbEYsa0JBQWtCLEVBQ2xCLElBQUksQ0FBQyxVQUFVLENBQ2YsQ0FBQztJQUNILENBQUM7SUFFRCxnQ0FBZ0MsQ0FBQyxjQUFzQixFQUFFLFVBQWtCO1FBQzFFLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVO1lBQ3ZDLHNEQUFzRCxFQUN2RDtZQUNDLE1BQU0sRUFBRSxJQUFJLFVBQVUsRUFBRTtpQkFDdEIsR0FBRyxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUM7aUJBQzdCLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxjQUFjLENBQUM7U0FDdkMsQ0FDRCxDQUFDO0lBQ0gsQ0FBQzsrR0F6Q1cseUJBQXlCLGtCQUdqQixhQUFhO21IQUhyQix5QkFBeUIsY0FGekIsTUFBTTs7NEZBRU4seUJBQXlCO2tCQUhyQyxVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQjs7MEJBSWEsTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCbG9ja2VkQmVuZWZpY2lhcnksIERhdGFUYWJsZVBhcmFtZXRlcnMgfSBmcm9tICduZy1wbGktdXRpbCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEJsb2NrZWRCZW5lZmljaWFyeVNlcnZpY2Uge1xyXG5cdHByaXZhdGUgaGVhZGVySnNvbiA9IHsgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9KSB9O1xyXG5cclxuXHRjb25zdHJ1Y3RvcihASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgZW52aXJvbm1lbnQ6IGFueSwgcHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50KSB7fVxyXG5cclxuXHRnZXRCeURhdGFUYWJsZXNQYXJhbWV0ZXJzKGRhdGFUYWJsZVBhcmFtZXRlcnM6IERhdGFUYWJsZVBhcmFtZXRlcnMpIHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdChcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuYmFja29mZmljZSArXHJcblx0XHRcdFx0J2Jsb2NrZWRfYmVuZWZpY2lhcnkvZ2V0QnlEYXRhVGFibGVzUGFyYW1ldGVycycsXHJcblx0XHRcdGRhdGFUYWJsZVBhcmFtZXRlcnMsXHJcblx0XHRcdHRoaXMuaGVhZGVySnNvblxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdC8qKiBJdCBzYXZlcyBhIEJsb2NrZWRCZW5lZmljaWFyeSAqL1xyXG5cdHNhdmUoYmxvY2tlZEJlbmVmaWNpYXJ5OiBCbG9ja2VkQmVuZWZpY2lhcnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KFxyXG5cdFx0XHR0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5iYWNrb2ZmaWNlICsgJ2Jsb2NrZWRfYmVuZWZpY2lhcnkvc2F2ZScsXHJcblx0XHRcdGJsb2NrZWRCZW5lZmljaWFyeSxcclxuXHRcdFx0dGhpcy5oZWFkZXJKc29uXHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0ZW5hYmxlQmVuZWZpY2lhcnkoYmxvY2tlZEJlbmVmaWNpYXJ5OiBCbG9ja2VkQmVuZWZpY2lhcnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KFxyXG5cdFx0XHR0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5iYWNrb2ZmaWNlICsgJ2Jsb2NrZWRfYmVuZWZpY2lhcnkvZW5hYmxlQmVuZWZpY2lhcnknLFxyXG5cdFx0XHRibG9ja2VkQmVuZWZpY2lhcnksXHJcblx0XHRcdHRoaXMuaGVhZGVySnNvblxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdGdldEJ5SWRlbnRpZmljYXRpb25BbmRQcm9tQ29kaWdvKGlkZW50aWZpY2F0aW9uOiBzdHJpbmcsIHByb21Db2RpZ286IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuYmFja29mZmljZSArXHJcblx0XHRcdFx0J2Jsb2NrZWRfYmVuZWZpY2lhcnkvZ2V0QnlJZGVudGlmaWNhdGlvbkFuZFByb21Db2RpZ28nLFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0cGFyYW1zOiBuZXcgSHR0cFBhcmFtcygpXHJcblx0XHRcdFx0XHQuc2V0KCdwcm9tQ29kaWdvJywgcHJvbUNvZGlnbylcclxuXHRcdFx0XHRcdC5zZXQoJ2lkZW50aWZpY2F0aW9uJywgaWRlbnRpZmljYXRpb24pXHJcblx0XHRcdH1cclxuXHRcdCk7XHJcblx0fVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,265 @@
1
+ import { Injectable, Inject } from '@angular/core';
2
+ import { throwError, Subject } from 'rxjs';
3
+ import { catchError } from 'rxjs/operators';
4
+ import { HttpParams } from '@angular/common/http';
5
+ import { HttpHeaders } from '@angular/common/http';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common/http";
8
+ const URLS = {
9
+ menu: 'budget/menu',
10
+ getById: 'budget/getById',
11
+ getByApplicationId: 'budget/getByApplicationId',
12
+ getByPromCodigo: 'budget/getByPromCodigo',
13
+ getByPromCodigoRubro: 'budget/getByPromCodigoRubro',
14
+ save: 'budget/save',
15
+ summarizedSave: 'budget/summarizedSave',
16
+ summarizedReset: 'budget/summarizedReset',
17
+ delete: 'budget/delete',
18
+ update: 'budget/update',
19
+ mybudget: 'budget/mybudget',
20
+ mysimplebudget: 'budget/mysimplebudget',
21
+ wizard: 'budget/wizard',
22
+ generate: 'budget/generate',
23
+ deleteWizard: 'budget/deleteWizard',
24
+ budgetsByProm: 'budget/getBudgetsByProm',
25
+ updateWizard: 'budget/updateWizard',
26
+ getConfiguredCurrency: 'budget_setup/getConfiguredCurrency'
27
+ };
28
+ const httpOptions = {
29
+ headers: new HttpHeaders({
30
+ 'Content-Type': 'application/json'
31
+ // 'Authorization': 'my-auth-token'
32
+ })
33
+ };
34
+ export class BudgetApplicationService {
35
+ //private lGlobalBudgetWizard!: PliCnfPresupuestoAsistente[];
36
+ constructor(environment, http) {
37
+ this.environment = environment;
38
+ this.http = http;
39
+ this.headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };
40
+ this.subjectValidateBudgetCheck = new Subject();
41
+ }
42
+ //https://angular.io/guide/http#error-handling
43
+ handleError(error) {
44
+ if (error.error instanceof ErrorEvent) {
45
+ // A client-side or network error occurred. Handle it accordingly.
46
+ // console.error('A client-side error occurred:', error.error.message);
47
+ }
48
+ else {
49
+ // The backend returned an unsuccessful response code.
50
+ // The response body may contain clues as to what went wrong,
51
+ // console.error(
52
+ // `Backend returned code ${error.status}, ` +
53
+ // `body was: ${error.error}`);
54
+ }
55
+ // return an observable with a user-facing error message
56
+ return throwError(error);
57
+ }
58
+ getBudget(budgetId) {
59
+ let options = new HttpParams().set('budgetId', budgetId);
60
+ return this.http
61
+ .get(this.environment.host.backend.frontoffice + URLS.getById, {
62
+ headers: httpOptions.headers,
63
+ params: options
64
+ })
65
+ .pipe(catchError(this.handleError));
66
+ }
67
+ updateBudget(budget) {
68
+ return this.http
69
+ .post(this.environment.host.backend.frontoffice + URLS.update, budget, {
70
+ headers: httpOptions.headers
71
+ })
72
+ .pipe(catchError(this.handleError));
73
+ }
74
+ summarizedSave(budget) {
75
+ return this.http
76
+ .post(this.environment.host.backend.frontoffice + URLS.summarizedSave, budget, {
77
+ headers: httpOptions.headers
78
+ })
79
+ .pipe(catchError(this.handleError));
80
+ }
81
+ summarizedReset(programTypeId, applicationId) {
82
+ let options = new HttpParams()
83
+ .set('applicationId', applicationId)
84
+ .set('programTypeId', String(programTypeId));
85
+ return this.http
86
+ .post(this.environment.host.backend.frontoffice + URLS.summarizedReset, null, {
87
+ headers: httpOptions.headers,
88
+ params: options
89
+ })
90
+ .pipe(catchError(this.handleError));
91
+ }
92
+ getMyBudgetsList(applicationId) {
93
+ let options = new HttpParams().set('applicationId', applicationId);
94
+ return this.http
95
+ .get(this.environment.host.backend.frontoffice + URLS.menu, {
96
+ headers: httpOptions.headers,
97
+ params: options
98
+ })
99
+ .pipe(catchError(this.handleError));
100
+ }
101
+ getMyBudget(applicationId, budgetSetupId, promCode, tag) {
102
+ let options = new HttpParams()
103
+ .set('applicationId', applicationId)
104
+ .set('promCode', promCode + '')
105
+ .set('budgetSetupId', budgetSetupId)
106
+ .set('tag', tag);
107
+ return this.http
108
+ .get(this.environment.host.backend.frontoffice + URLS.mybudget, {
109
+ headers: httpOptions.headers,
110
+ params: options
111
+ })
112
+ .pipe(catchError(this.handleError));
113
+ }
114
+ getMySimpleBudget(applicationId, tag) {
115
+ let options = new HttpParams().set('applicationId', applicationId).set('tag', tag);
116
+ return this.http
117
+ .get(this.environment.host.backend.frontoffice + URLS.mysimplebudget, {
118
+ headers: httpOptions.headers,
119
+ params: options
120
+ })
121
+ .pipe(catchError(this.handleError));
122
+ }
123
+ getBudgetsByProm(applicationId, promCode, tag) {
124
+ let options = new HttpParams()
125
+ .set('applicationId', applicationId)
126
+ .set('promCode', promCode + '')
127
+ .set('tag', tag);
128
+ return this.http
129
+ .get(this.environment.host.backend.frontoffice + URLS.budgetsByProm, {
130
+ headers: httpOptions.headers,
131
+ params: options
132
+ })
133
+ .pipe(catchError(this.handleError));
134
+ }
135
+ /**@deprecated */
136
+ newWizard(request) {
137
+ return this.http
138
+ .post(this.environment.host.backend.frontoffice + URLS.wizard, request, {
139
+ headers: httpOptions.headers
140
+ })
141
+ .pipe(catchError(this.handleError));
142
+ }
143
+ generate(wizard) {
144
+ return this.http
145
+ .post(this.environment.host.backend.frontoffice + URLS.generate, wizard, {
146
+ headers: httpOptions.headers
147
+ })
148
+ .pipe(catchError(this.handleError));
149
+ }
150
+ /**@deprecated */
151
+ menu(promCode) {
152
+ let options = new HttpParams().set('promCode', promCode + '');
153
+ return this.http
154
+ .get(this.environment.host.backend.frontoffice + URLS.menu, {
155
+ headers: httpOptions.headers,
156
+ params: options
157
+ })
158
+ .pipe(catchError(this.handleError));
159
+ }
160
+ deleteWizard(wizardId) {
161
+ let options = new HttpParams().set('wizardId', wizardId);
162
+ return this.http
163
+ .delete(this.environment.host.backend.frontoffice + URLS.deleteWizard, {
164
+ headers: httpOptions.headers,
165
+ params: options
166
+ })
167
+ .pipe(catchError(this.handleError));
168
+ }
169
+ /** It returns the observable of budget own fund by application Id*/
170
+ getBudgetOwnFundByApplicationId(applicationId) {
171
+ return this.http.get(this.environment.host.backend.frontoffice + 'budgetOwnFund/getByApplicationId', { params: new HttpParams().set('applicationId', applicationId) });
172
+ }
173
+ /** It saves the budget own fund */
174
+ saveBudgetOwnFund(budgetOwnFund) {
175
+ return this.http.post(this.environment.host.backend.frontoffice + 'budgetOwnFund/save', budgetOwnFund, this.headerJson);
176
+ }
177
+ /** It returns the observable of other budget info different of the budgetSetupId send */
178
+ getOtherBudgetByPromCodigo(promCode, budgetSetupId, applicationId) {
179
+ return this.http.get(this.environment.host.backend.frontoffice + 'budget/otherBudget', {
180
+ params: new HttpParams()
181
+ .set('promCode', promCode.toString())
182
+ .set('budgetSetupId', budgetSetupId)
183
+ .set('applicationId', applicationId)
184
+ });
185
+ }
186
+ /** It returns the observable of budget setup by prom codigo */
187
+ getBudgetSetupPliCnfByPromCodigo(promCodigo, cargarListas) {
188
+ return this.http.get(this.environment.host.backend.frontoffice + 'budget_setup/getPliCnfByPromCodigo', {
189
+ params: new HttpParams()
190
+ .set('promCodigo', promCodigo.toString())
191
+ .set('cargarListas', cargarListas.toString())
192
+ });
193
+ }
194
+ /** It returns the observable of budget setup by prom codigo */
195
+ getBudgetSetupByPromCodigo(promCode) {
196
+ return this.http.get(this.environment.host.backend.frontoffice + 'budget_setup/getByPromCodigo', { params: new HttpParams().set('promCode', promCode.toString()) });
197
+ }
198
+ /** It returns the observable of PliCnfPresupuestoAsistente setup by prom codigo */
199
+ getBudgetSetupByPromCodigoRubro(rubCodigo, promCode) {
200
+ return this.http.get(this.environment.host.backend.frontoffice + 'budget_setup/getByPromCodigoRubro', { params: new HttpParams()
201
+ .set('rubCodigo', rubCodigo.toString())
202
+ .set('promCode', promCode.toString()) });
203
+ }
204
+ updateWizard(wizard) {
205
+ return this.http
206
+ .post(this.environment.host.backend.frontoffice + URLS.updateWizard, wizard, {
207
+ headers: httpOptions.headers
208
+ })
209
+ .pipe(catchError(this.handleError));
210
+ }
211
+ /** It returns the list of budget by application id */
212
+ getByApplicationId(applicationId) {
213
+ return this.http.get(this.environment.host.backend.frontoffice + URLS.getByApplicationId, {
214
+ params: new HttpParams().set('applicationId', applicationId)
215
+ });
216
+ }
217
+ /** It returns the list of budget by promCOdigo id */
218
+ getByPromCodigo(promCodigo) {
219
+ return this.http.get(this.environment.host.backend.frontoffice + URLS.getByPromCodigo, {
220
+ params: new HttpParams().set('promCodigo', promCodigo.toString())
221
+ });
222
+ }
223
+ /** It returns the list of budget by promCOdigo id */
224
+ /*
225
+ getByPromCodigoRubro(rubCodigo: number, promCodigo: number): Observable<any> {
226
+ return this.http.get(this.environment.host.backend.frontoffice + URLS.getByPromCodigoRubro, {
227
+ params: new HttpParams()
228
+ .set('rubCodigo', rubCodigo.toString())
229
+ .set('promCodigo', promCodigo.toString())
230
+
231
+ });
232
+ }
233
+ */
234
+ /** It returns the configured currency of the budget */
235
+ getConfiguredCurrency(promCodigo) {
236
+ return this.http.get(this.environment.host.backend.frontoffice + URLS.getConfiguredCurrency, { params: new HttpParams().set('promCode', promCodigo.toString()) });
237
+ }
238
+ getSubjectValidateBudgetCheck() {
239
+ return this.subjectValidateBudgetCheck.asObservable();
240
+ }
241
+ setSubjectValidateBudgetCheck(subjectValidateBudgetCheck = true) {
242
+ this.subjectValidateBudgetCheck.next(subjectValidateBudgetCheck);
243
+ }
244
+ isFullBudget(applicationId) {
245
+ return this.http.get(this.environment.host.backend.frontoffice + 'budget/isFullBudget', {
246
+ params: new HttpParams().set('applicationId', applicationId)
247
+ });
248
+ }
249
+ updateCompletedFlag(applicationId, completed) {
250
+ return this.http.get(this.environment.host.backend.frontoffice + 'budget/updateCompletedFlag', {
251
+ params: new HttpParams()
252
+ .set('applicationId', applicationId)
253
+ .set('completed', completed.toString())
254
+ });
255
+ }
256
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BudgetApplicationService, deps: [{ token: 'environment' }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
257
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BudgetApplicationService }); }
258
+ }
259
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BudgetApplicationService, decorators: [{
260
+ type: Injectable
261
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
262
+ type: Inject,
263
+ args: ['environment']
264
+ }] }, { type: i1.HttpClient }] });
265
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVkZ2V0LWFwcGxpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wbGktY29tbW9ucy9zcmMvbGliL3NlcnZpY2VzL2J1ZGdldC1hcHBsaWNhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQWMsVUFBVSxFQUFxQixNQUFNLHNCQUFzQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBWW5ELE1BQU0sSUFBSSxHQUFHO0lBQ1osSUFBSSxFQUFFLGFBQWE7SUFDbkIsT0FBTyxFQUFFLGdCQUFnQjtJQUN6QixrQkFBa0IsRUFBRSwyQkFBMkI7SUFDL0MsZUFBZSxFQUFFLHdCQUF3QjtJQUN6QyxvQkFBb0IsRUFBRSw2QkFBNkI7SUFDbkQsSUFBSSxFQUFFLGFBQWE7SUFDbkIsY0FBYyxFQUFFLHVCQUF1QjtJQUN2QyxlQUFlLEVBQUUsd0JBQXdCO0lBQ3pDLE1BQU0sRUFBRSxlQUFlO0lBQ3ZCLE1BQU0sRUFBRSxlQUFlO0lBQ3ZCLFFBQVEsRUFBRSxpQkFBaUI7SUFDM0IsY0FBYyxFQUFFLHVCQUF1QjtJQUN2QyxNQUFNLEVBQUUsZUFBZTtJQUN2QixRQUFRLEVBQUUsaUJBQWlCO0lBQzNCLFlBQVksRUFBRSxxQkFBcUI7SUFDbkMsYUFBYSxFQUFFLHlCQUF5QjtJQUN4QyxZQUFZLEVBQUUscUJBQXFCO0lBQ25DLHFCQUFxQixFQUFFLG9DQUFvQztDQUMzRCxDQUFDO0FBQ0YsTUFBTSxXQUFXLEdBQUc7SUFDbkIsT0FBTyxFQUFF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TUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHRocm93RXJyb3IsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcywgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQge1xyXG5cdEJ1ZGdldER0byxcclxuXHRCdWRnZXRXaXphcmQsXHJcblx0QnVkZ2V0RGF0YSxcclxuXHROZXdCdWRnZXREdG8sXHJcblx0QnVkZ2V0TWVudSxcclxuXHRCdWRnZXRPd25GdW5kLFxyXG5cdEJ1ZGdldFNldHVwLFxyXG5cdFBsaUNuZlByZXN1cHVlc3RvQXNpc3RlbnRlLFxyXG59IGZyb20gJ25nLXBsaS11dGlsJztcclxuXHJcbmNvbnN0IFVSTFMgPSB7XHJcblx0bWVudTogJ2J1ZGdldC9tZW51JyxcclxuXHRnZXRCeUlkOiAnYnVkZ2V0L2dldEJ5SWQnLFxyXG5cdGdldEJ5QXBwbGljYXRpb25JZDogJ2J1ZGdldC9nZXRCeUFwcGxpY2F0aW9uSWQnLFxyXG5cdGdldEJ5UHJvbUNvZGlnbzogJ2J1ZGdldC9nZXRCeVByb21Db2RpZ28nLFxyXG5cdGdldEJ5UHJvbUNvZGlnb1J1YnJvOiAnYnVkZ2V0L2dldEJ5UHJvbUNvZGlnb1J1YnJvJyxcclxuXHRzYXZlOiAnYnVkZ2V0L3NhdmUnLFxyXG5cdHN1bW1hcml6ZWRTYXZlOiAnYnVkZ2V0L3N1bW1hcml6ZWRTYXZlJyxcclxuXHRzdW1tYXJpemVkUmVzZXQ6ICdidWRnZXQvc3VtbWFyaXplZFJlc2V0JyxcclxuXHRkZWxldGU6ICdidWRnZXQvZGVsZXRlJyxcclxuXHR1cGRhdGU6ICdidWRnZXQvdXBkYXRlJyxcclxuXHRteWJ1ZGdldDogJ2J1ZGdldC9teWJ1ZGdldCcsXHJcblx0bXlzaW1wbGVidWRnZXQ6ICdidWRnZXQvbXlzaW1wbGVidWRnZXQnLFxyXG5cdHdpemFyZDogJ2J1ZGdldC93aXphcmQnLFxyXG5cdGdlbmVyYXRlOiAnYnVkZ2V0L2dlbmVyYXRlJyxcclxuXHRkZWxldGVXaXphcmQ6ICdidWRnZXQvZGVsZXRlV2l6YXJkJyxcclxuXHRidWRnZXRzQnlQcm9tOiAnYnVkZ2V0L2dldEJ1ZGdldHNCeVByb20nLFxyXG5cdHVwZGF0ZVdpemFyZDogJ2J1ZGdldC91cGRhdGVXaXphcmQnLFxyXG5cdGdldENvbmZpZ3VyZWRDdXJyZW5jeTogJ2J1ZGdldF9zZXR1cC9nZXRDb25maWd1cmVkQ3VycmVuY3knXHJcbn07XHJcbmNvbnN0IGh0dHBPcHRpb25zID0ge1xyXG5cdGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XHJcblx0XHQnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXHJcblx0XHQvLyAnQXV0aG9yaXphdGlvbic6ICdteS1hdXRoLXRva2VuJ1xyXG5cdH0pXHJcbn07XHJcblxyXG5ASW5qZWN0YWJsZSgpIC8vKHtwcm92aWRlZEluOiAncm9vdCd9KVxyXG5leHBvcnQgY2xhc3MgQnVkZ2V0QXBwbGljYXRpb25TZXJ2aWNlIHtcclxuXHRwcml2YXRlIGhlYWRlckpzb24gPSB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSkgfTtcclxuXHJcblx0cHJpdmF0ZSBzdWJqZWN0VmFsaWRhdGVCdWRnZXRDaGVjayA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcblxyXG5cdC8vcHJpdmF0ZSBsR2xvYmFsQnVkZ2V0V2l6YXJkITogUGxpQ25mUHJlc3VwdWVzdG9Bc2lzdGVudGVbXTtcclxuXHJcblx0Y29uc3RydWN0b3IoQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcml2YXRlIGVudmlyb25tZW50OiBhbnksIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge31cclxuXHJcblx0Ly9odHRwczovL2FuZ3VsYXIuaW8vZ3VpZGUvaHR0cCNlcnJvci1oYW5kbGluZ1xyXG5cdHByaXZhdGUgaGFuZGxlRXJyb3IoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSB7XHJcblx0XHRpZiAoZXJyb3IuZXJyb3IgaW5zdGFuY2VvZiBFcnJvckV2ZW50KSB7XHJcblx0XHRcdC8vIEEgY2xpZW50LXNpZGUgb3IgbmV0d29yayBlcnJvciBvY2N1cnJlZC4gSGFuZGxlIGl0IGFjY29yZGluZ2x5LlxyXG5cdFx0XHQvLyBjb25zb2xlLmVycm9yKCdBIGNsaWVudC1zaWRlIGVycm9yIG9jY3VycmVkOicsIGVycm9yLmVycm9yLm1lc3NhZ2UpO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0Ly8gVGhlIGJhY2tlbmQgcmV0dXJuZWQgYW4gdW5zdWNjZXNzZnVsIHJlc3BvbnNlIGNvZGUuXHJcblx0XHRcdC8vIFRoZSByZXNwb25zZSBib2R5IG1heSBjb250YWluIGNsdWVzIGFzIHRvIHdoYXQgd2VudCB3cm9uZyxcclxuXHRcdFx0Ly8gY29uc29sZS5lcnJvcihcclxuXHRcdFx0Ly8gICBgQmFja2VuZCByZXR1cm5lZCBjb2RlICR7ZXJyb3Iuc3RhdHVzfSwgYCArXHJcblx0XHRcdC8vICAgYGJvZHkgd2FzOiAke2Vycm9yLmVycm9yfWApO1xyXG5cdFx0fVxyXG5cdFx0Ly8gcmV0dXJuIGFuIG9ic2VydmFibGUgd2l0aCBhIHVzZXItZmFjaW5nIGVycm9yIG1lc3NhZ2VcclxuXHRcdHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcclxuXHR9XHJcblxyXG5cdGdldEJ1ZGdldChidWRnZXRJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdGxldCBvcHRpb25zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ2J1ZGdldElkJywgYnVkZ2V0SWQpO1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cFxyXG5cdFx0XHQuZ2V0PEJ1ZGdldER0bz4odGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuZnJvbnRvZmZpY2UgKyBVUkxTLmdldEJ5SWQsIHtcclxuXHRcdFx0XHRoZWFkZXJzOiBodHRwT3B0aW9ucy5oZWFkZXJzLFxyXG5cdFx0XHRcdHBhcmFtczogb3B0aW9uc1xyXG5cdFx0XHR9KVxyXG5cdFx0XHQucGlwZShjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpKTtcclxuXHR9XHJcblxyXG5cdHVwZGF0ZUJ1ZGdldChidWRnZXQ6IEJ1ZGdldERhdGEpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cFxyXG5cdFx0XHQucG9zdDxCdWRnZXREYXRhPih0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5mcm9udG9mZmljZSArIFVSTFMudXBkYXRlLCBidWRnZXQsIHtcclxuXHRcdFx0XHRoZWFkZXJzOiBodHRwT3B0aW9ucy5oZWFkZXJzXHJcblx0XHRcdH0pXHJcblx0XHRcdC5waXBlKGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcikpO1xyXG5cdH1cclxuXHJcblx0c3VtbWFyaXplZFNhdmUoYnVkZ2V0OiBCdWRnZXREYXRhKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHBcclxuXHRcdFx0LnBvc3Q8QnVkZ2V0RGF0YT4oXHJcblx0XHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuZnJvbnRvZmZpY2UgKyBVUkxTLnN1bW1hcml6ZWRTYXZlLFxyXG5cdFx0XHRcdGJ1ZGdldCxcclxuXHRcdFx0XHR7XHJcblx0XHRcdFx0XHRoZWFkZXJzOiBodHRwT3B0aW9ucy5oZWFkZXJzXHJcblx0XHRcdFx0fVxyXG5cdFx0XHQpXHJcblx0XHRcdC5waXBlKGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcikpO1xyXG5cdH1cclxuXHJcblx0c3VtbWFyaXplZFJlc2V0KHByb2dyYW1UeXBlSWQ6IG51bWJlciwgYXBwbGljYXRpb25JZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdGxldCBvcHRpb25zID0gbmV3IEh0dHBQYXJhbXMoKVxyXG5cdFx0XHQuc2V0KCdhcHBsaWNhdGlvbklkJywgYXBwbGljYXRpb25JZClcclxuXHRcdFx0LnNldCgncHJvZ3JhbVR5cGVJZCcsIFN0cmluZyhwcm9ncmFtVHlwZUlkKSk7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwXHJcblx0XHRcdC5wb3N0KHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmZyb250b2ZmaWNlICsgVVJMUy5zdW1tYXJpemVkUmVzZXQsIG51bGwsIHtcclxuXHRcdFx0XHRoZWFkZXJzOiBodHRwT3B0aW9ucy5oZWFkZXJzLFxyXG5cdFx0XHRcdHBhcmFtczogb3B0aW9uc1xyXG5cdFx0XHR9KVxyXG5cdFx0XHQucGlwZShjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpKTtcclxuXHR9XHJcblxyXG5cdGdldE15QnVkZ2V0c0xpc3QoYXBwbGljYXRpb25JZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdGxldCBvcHRpb25zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ2FwcGxpY2F0aW9uSWQnLCBhcHBsaWNhdGlvbklkKTtcclxuXHRcdHJldHVybiB0aGlzLmh0dHBcclxuXHRcdFx0LmdldDxCdWRnZXREYXRhW10+KHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmZyb250b2ZmaWNlICsgVVJMUy5tZW51LCB7XHJcblx0XHRcdFx0aGVhZGVyczogaHR0cE9wdGlvbnMuaGVhZGVycyxcclxuXHRcdFx0XHRwYXJhbXM6IG9wdGlvbnNcclxuXHRcdFx0fSlcclxuXHRcdFx0LnBpcGUoY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XHJcblx0fVxyXG5cclxuXHRnZXRNeUJ1ZGdldChcclxuXHRcdGFwcGxpY2F0aW9uSWQ6IHN0cmluZyxcclxuXHRcdGJ1ZGdldFNldHVwSWQ6IHN0cmluZyxcclxuXHRcdHByb21Db2RlOiBudW1iZXIsXHJcblx0XHR0YWc6IHN0cmluZ1xyXG5cdCk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRsZXQgb3B0aW9ucyA9IG5ldyBIdHRwUGFyYW1zKClcclxuXHRcdFx0LnNldCgnYXBwbGljYXRpb25JZCcsIGFwcGxpY2F0aW9uSWQpXHJcblx0XHRcdC5zZXQoJ3Byb21Db2RlJywgcHJvbUNvZGUgKyAnJylcclxuXHRcdFx0LnNldCgnYnVkZ2V0U2V0dXBJZCcsIGJ1ZGdldFNldHVwSWQpXHJcblx0XHRcdC5zZXQoJ3RhZycsIHRhZyk7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwXHJcblx0XHRcdC5nZXQ8QnVkZ2V0RHRvPih0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5mcm9udG9mZmljZSArIFVSTFMubXlidWRnZXQsIHtcclxuXHRcdFx0XHRoZWFkZXJzOiBodHRwT3B0aW9ucy5oZWFkZXJzLFxyXG5cdFx0XHRcdHBhcmFtczogb3B0aW9uc1xyXG5cdFx0XHR9KVxyXG5cdFx0XHQucGlwZShjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpKTtcclxuXHR9XHJcblxyXG5cdGdldE15U2ltcGxlQnVkZ2V0KGFwcGxpY2F0aW9uSWQ6IHN0cmluZywgdGFnOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0bGV0IG9wdGlvbnMgPSBuZXcgSHR0cFBhcmFtcygpLnNldCgnYXBwbGljYXRpb25JZCcsIGFwcGxpY2F0aW9uSWQpLnNldCgndGFnJywgdGFnKTtcclxuXHRcdHJldHVybiB0aGlzLmh0dHBcclxuXHRcdFx0LmdldDxCdWRnZXREYXRhPih0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5mcm9udG9mZmljZSArIFVSTFMubXlzaW1wbGVidWRnZXQsIHtcclxuXHRcdFx0XHRoZWFkZXJzOiBodHRwT3B0aW9ucy5oZWFkZXJzLFxyXG5cdFx0XHRcdHBhcmFtczogb3B0aW9uc1xyXG5cdFx0XHR9KVxyXG5cdFx0XHQucGlwZShjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpKTtcclxuXHR9XHJcblxyXG5cdGdldEJ1ZGdldHNCeVByb20oYXBwbGljYXRpb25JZDogc3RyaW5nLCBwcm9tQ29kZTogbnVtYmVyLCB0YWc6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRsZXQgb3B0aW9ucyA9IG5ldyBIdHRwUGFyYW1zKClcclxuXHRcdFx0LnNldCgnYXBwbGljYXRpb25JZCcsIGFwcGxpY2F0aW9uSWQpXHJcblx0XHRcdC5zZXQoJ3Byb21Db2RlJywgcHJvbUNvZGUgKyAnJylcclxuXHRcdFx0LnNldCgndGFnJywgdGFnKTtcclxuXHRcdHJldHVybiB0aGlzLmh0dHBcclxuXHRcdFx0LmdldDxCdWRnZXREdG9bXT4odGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuZnJvbnRvZmZpY2UgKyBVUkxTLmJ1ZGdldHNCeVByb20sIHtcclxuXHRcdFx0XHRoZWFkZXJzOiBodHRwT3B0aW9ucy5oZWFkZXJzLFxyXG5cdFx0XHRcdHBhcmFtczogb3B0aW9uc1xyXG5cdFx0XHR9KVxyXG5cdFx0XHQucGlwZShjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpKTtcclxuXHR9XHJcblxyXG5cdC8qKkBkZXByZWNhdGVkICovXHJcblx0bmV3V2l6YXJkKHJlcXVlc3Q6IE5ld0J1ZGdldER0byk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwXHJcblx0XHRcdC5wb3N0PEJ1ZGdldFdpemFyZD4odGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuZnJvbnRvZmZpY2UgKyBVUkxTLndpemFyZCwgcmVxdWVzdCwge1xyXG5cdFx0XHRcdGhlYWRlcnM6IGh0dHBPcHRpb25zLmhlYWRlcnNcclxuXHRcdFx0fSlcclxuXHRcdFx0LnBpcGUoY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XHJcblx0fVxyXG5cclxuXHRnZW5lcmF0ZSh3aXphcmQ6IEJ1ZGdldFdpemFyZCk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwXHJcblx0XHRcdC5wb3N0PEJ1ZGdldERhdGE+KHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmZyb250b2ZmaWNlICsgVVJMUy5nZW5lcmF0ZSwgd2l6YXJkLCB7XHJcblx0XHRcdFx0aGVhZGVyczogaHR0cE9wdGlvbnMuaGVhZGVyc1xyXG5cdFx0XHR9KVxyXG5cdFx0XHQucGlwZShjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpKTtcclxuXHR9XHJcblxyXG5cdC8qKkBkZXByZWNhdGVkICovXHJcblx0bWVudShwcm9tQ29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdGxldCBvcHRpb25zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ3Byb21Db2RlJywgcHJvbUNvZGUgKyAnJyk7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwXHJcblx0XHRcdC5nZXQ8QnVkZ2V0TWVudT4odGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuZnJvbnRvZmZpY2UgKyBVUkxTLm1lbnUsIHtcclxuXHRcdFx0XHRoZWFkZXJzOiBodHRwT3B0aW9ucy5oZWFkZXJzLFxyXG5cdFx0XHRcdHBhcmFtczogb3B0aW9uc1xyXG5cdFx0XHR9KVxyXG5cdFx0XHQucGlwZShjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpKTtcclxuXHR9XHJcblxyXG5cdGRlbGV0ZVdpemFyZCh3aXphcmRJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdGxldCBvcHRpb25zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ3dpemFyZElkJywgd2l6YXJkSWQpO1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cFxyXG5cdFx0XHQuZGVsZXRlKHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmZyb250b2ZmaWNlICsgVVJMUy5kZWxldGVXaXphcmQsIHtcclxuXHRcdFx0XHRoZWFkZXJzOiBodHRwT3B0aW9ucy5oZWFkZXJzLFxyXG5cdFx0XHRcdHBhcmFtczogb3B0aW9uc1xyXG5cdFx0XHR9KVxyXG5cdFx0XHQucGlwZShjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpKTtcclxuXHR9XHJcblxyXG5cdC8qKiBJdCByZXR1cm5zIHRoZSBvYnNlcnZhYmxlIG9mIGJ1ZGdldCBvd24gZnVuZCBieSBhcHBsaWNhdGlvbiBJZCovXHJcblx0Z2V0QnVkZ2V0T3duRnVuZEJ5QXBwbGljYXRpb25JZChhcHBsaWNhdGlvbklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5nZXQoXHJcblx0XHRcdHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmZyb250b2ZmaWNlICsgJ2J1ZGdldE93bkZ1bmQvZ2V0QnlBcHBsaWNhdGlvbklkJyxcclxuXHRcdFx0eyBwYXJhbXM6IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdhcHBsaWNhdGlvbklkJywgYXBwbGljYXRpb25JZCkgfVxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdC8qKiBJdCBzYXZlcyB0aGUgYnVkZ2V0IG93biBmdW5kICovXHJcblx0c2F2ZUJ1ZGdldE93bkZ1bmQoYnVkZ2V0T3duRnVuZDogQnVkZ2V0T3duRnVuZCk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwLnBvc3QoXHJcblx0XHRcdHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmZyb250b2ZmaWNlICsgJ2J1ZGdldE93bkZ1bmQvc2F2ZScsXHJcblx0XHRcdGJ1ZGdldE93bkZ1bmQsXHJcblx0XHRcdHRoaXMuaGVhZGVySnNvblxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdC8qKiBJdCByZXR1cm5zIHRoZSBvYnNlcnZhYmxlIG9mIG90aGVyIGJ1ZGdldCBpbmZvIGRpZmZlcmVudCBvZiB0aGUgYnVkZ2V0U2V0dXBJZCBzZW5kICovXHJcblx0Z2V0T3RoZXJCdWRnZXRCeVByb21Db2RpZ28oXHJcblx0XHRwcm9tQ29kZTogbnVtYmVyLFxyXG5cdFx0YnVkZ2V0U2V0dXBJZDogc3RyaW5nLFxyXG5cdFx0YXBwbGljYXRpb25JZDogc3RyaW5nXHJcblx0KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmZyb250b2ZmaWNlICsgJ2J1ZGdldC9vdGhlckJ1ZGdldCcsIHtcclxuXHRcdFx0cGFyYW1zOiBuZXcgSHR0cFBhcmFtcygpXHJcblx0XHRcdFx0LnNldCgncHJvbUNvZGUnLCBwcm9tQ29kZS50b1N0cmluZygpKVxyXG5cdFx0XHRcdC5zZXQoJ2J1ZGdldFNldHVwSWQnLCBidWRnZXRTZXR1cElkKVxyXG5cdFx0XHRcdC5zZXQoJ2FwcGxpY2F0aW9uSWQnLCBhcHBsaWNhdGlvbklkKVxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHQvKiogSXQgcmV0dXJucyB0aGUgb2JzZXJ2YWJsZSBvZiBidWRnZXQgc2V0dXAgYnkgcHJvbSBjb2RpZ28gKi9cclxuXHRnZXRCdWRnZXRTZXR1cFBsaUNuZkJ5UHJvbUNvZGlnbyhwcm9tQ29kaWdvOiBudW1iZXIsIGNhcmdhckxpc3RhczogYm9vbGVhbik6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwLmdldChcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuZnJvbnRvZmZpY2UgKyAnYnVkZ2V0X3NldHVwL2dldFBsaUNuZkJ5UHJvbUNvZGlnbycsXHJcblx0XHRcdHtcclxuXHRcdFx0XHRwYXJhbXM6IG5ldyBIdHRwUGFyYW1zKClcclxuXHRcdFx0XHRcdC5zZXQoJ3Byb21Db2RpZ28nLCBwcm9tQ29kaWdvLnRvU3RyaW5nKCkpXHJcblx0XHRcdFx0XHQuc2V0KCdjYXJnYXJMaXN0YXMnLCBjYXJnYXJMaXN0YXMudG9TdHJpbmcoKSlcclxuXHRcdFx0fVxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdC8qKiBJdCByZXR1cm5zIHRoZSBvYnNlcnZhYmxlIG9mIGJ1ZGdldCBzZXR1cCBieSBwcm9tIGNvZGlnbyAqL1xyXG5cdGdldEJ1ZGdldFNldHVwQnlQcm9tQ29kaWdvKHByb21Db2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5nZXQ8QnVkZ2V0U2V0dXBbXT4oXHJcblx0XHRcdHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmZyb250b2ZmaWNlICsgJ2J1ZGdldF9zZXR1cC9nZXRCeVByb21Db2RpZ28nLFxyXG5cdFx0XHR7IHBhcmFtczogbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ3Byb21Db2RlJywgcHJvbUNvZGUudG9TdHJpbmcoKSkgfVxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdFxyXG5cdC8qKiBJdCByZXR1cm5zIHRoZSBvYnNlcnZhYmxlIG9mIFBsaUNuZlByZXN1cHVlc3RvQXNpc3RlbnRlIHNldHVwIGJ5IHByb20gY29kaWdvICovXHJcblx0Z2V0QnVkZ2V0U2V0dXBCeVByb21Db2RpZ29SdWJybyhydWJDb2RpZ286IG51bWJlciwgcHJvbUNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwLmdldDxQbGlDbmZQcmVzdXB1ZXN0b0FzaXN0ZW50ZVtdPihcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuZnJvbnRvZmZpY2UgKyAnYnVkZ2V0X3NldHVwL2dldEJ5UHJvbUNvZGlnb1J1YnJvJyxcclxuXHRcdFx0eyBwYXJhbXM6IG5ldyBIdHRwUGFyYW1zKClcclxuXHRcdFx0XHQuc2V0KCdydWJDb2RpZ28nLCBydWJDb2RpZ28udG9TdHJpbmcoKSlcclxuXHRcdFx0XHQuc2V0KCdwcm9tQ29kZScsIHByb21Db2RlLnRvU3RyaW5nKCkpIH1cclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHR1cGRhdGVXaXphcmQod2l6YXJkOiBCdWRnZXRXaXphcmQpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cFxyXG5cdFx0XHQucG9zdDxCdWRnZXRXaXphcmQ+KFxyXG5cdFx0XHRcdHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmZyb250b2ZmaWNlICsgVVJMUy51cGRhdGVXaXphcmQsXHJcblx0XHRcdFx0d2l6YXJkLFxyXG5cdFx0XHRcdHtcclxuXHRcdFx0XHRcdGhlYWRlcnM6IGh0dHBPcHRpb25zLmhlYWRlcnNcclxuXHRcdFx0XHR9XHJcblx0XHRcdClcclxuXHRcdFx0LnBpcGUoY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XHJcblx0fVxyXG5cclxuXHQvKiogSXQgcmV0dXJucyB0aGUgbGlzdCBvZiBidWRnZXQgYnkgYXBwbGljYXRpb24gaWQgKi9cclxuXHRnZXRCeUFwcGxpY2F0aW9uSWQoYXBwbGljYXRpb25JZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmZyb250b2ZmaWNlICsgVVJMUy5nZXRCeUFwcGxpY2F0aW9uSWQsIHtcclxuXHRcdFx0cGFyYW1zOiBuZXcgSHR0cFBhcmFtcygpLnNldCgnYXBwbGljYXRpb25JZCcsIGFwcGxpY2F0aW9uSWQpXHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdC8qKiBJdCByZXR1cm5zIHRoZSBsaXN0IG9mIGJ1ZGdldCBieSBwcm9tQ09kaWdvIGlkICovXHJcblx0Z2V0QnlQcm9tQ29kaWdvKHByb21Db2RpZ286IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5mcm9udG9mZmljZSArIFVSTFMuZ2V0QnlQcm9tQ29kaWdvLCB7XHJcblx0XHRcdHBhcmFtczogbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ3Byb21Db2RpZ28nLCBwcm9tQ29kaWdvLnRvU3RyaW5nKCkpXHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdC8qKiBJdCByZXR1cm5zIHRoZSBsaXN0IG9mIGJ1ZGdldCBieSBwcm9tQ09kaWdvIGlkICovXHJcblx0LypcclxuXHRnZXRCeVByb21Db2RpZ29SdWJybyhydWJDb2RpZ286IG51bWJlciwgcHJvbUNvZGlnbzogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmZyb250b2ZmaWNlICsgVVJMUy5nZXRCeVByb21Db2RpZ29SdWJybywge1xyXG5cdFx0XHRwYXJhbXM6IG5ldyBIdHRwUGFyYW1zKClcclxuXHRcdFx0XHRcdC5zZXQoJ3J1YkNvZGlnbycsIHJ1YkNvZGlnby50b1N0cmluZygpKVxyXG5cdFx0XHRcdFx0LnNldCgncHJvbUNvZGlnbycsIHByb21Db2RpZ28udG9TdHJpbmcoKSlcclxuXHJcblx0XHR9KTtcclxuXHR9XHJcblx0Ki9cclxuXHJcblx0XHJcblxyXG5cdC8qKiBJdCByZXR1cm5zIHRoZSBjb25maWd1cmVkIGN1cnJlbmN5IG9mIHRoZSBidWRnZXQgKi9cclxuXHRnZXRDb25maWd1cmVkQ3VycmVuY3kocHJvbUNvZGlnbzogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAuZ2V0KFxyXG5cdFx0XHR0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5mcm9udG9mZmljZSArIFVSTFMuZ2V0Q29uZmlndXJlZEN1cnJlbmN5LFxyXG5cdFx0XHR7IHBhcmFtczogbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ3Byb21Db2RlJywgcHJvbUNvZGlnby50b1N0cmluZygpKSB9XHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0Z2V0U3ViamVjdFZhbGlkYXRlQnVkZ2V0Q2hlY2soKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcblx0XHRyZXR1cm4gdGhpcy5zdWJqZWN0VmFsaWRhdGVCdWRnZXRDaGVjay5hc09ic2VydmFibGUoKTtcclxuXHR9XHJcblxyXG5cdHNldFN1YmplY3RWYWxpZGF0ZUJ1ZGdldENoZWNrKHN1YmplY3RWYWxpZGF0ZUJ1ZGdldENoZWNrOiBib29sZWFuID0gdHJ1ZSkge1xyXG5cdFx0dGhpcy5zdWJqZWN0VmFsaWRhdGVCdWRnZXRDaGVjay5uZXh0KHN1YmplY3RWYWxpZGF0ZUJ1ZGdldENoZWNrKTtcclxuXHR9XHJcblxyXG5cdGlzRnVsbEJ1ZGdldChhcHBsaWNhdGlvbklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuZnJvbnRvZmZpY2UgKyAnYnVkZ2V0L2lzRnVsbEJ1ZGdldCcsIHtcclxuXHRcdFx0cGFyYW1zOiBuZXcgSHR0cFBhcmFtcygpLnNldCgnYXBwbGljYXRpb25JZCcsIGFwcGxpY2F0aW9uSWQpXHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHVwZGF0ZUNvbXBsZXRlZEZsYWcoYXBwbGljYXRpb25JZDogc3RyaW5nLCBjb21wbGV0ZWQ6IGJvb2xlYW4pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5nZXQoXHJcblx0XHRcdHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmZyb250b2ZmaWNlICsgJ2J1ZGdldC91cGRhdGVDb21wbGV0ZWRGbGFnJyxcclxuXHRcdFx0e1xyXG5cdFx0XHRcdHBhcmFtczogbmV3IEh0dHBQYXJhbXMoKVxyXG5cdFx0XHRcdFx0LnNldCgnYXBwbGljYXRpb25JZCcsIGFwcGxpY2F0aW9uSWQpXHJcblx0XHRcdFx0XHQuc2V0KCdjb21wbGV0ZWQnLCBjb21wbGV0ZWQudG9TdHJpbmcoKSlcclxuXHRcdFx0fVxyXG5cdFx0KTtcclxuXHR9XHJcbn1cclxuIl19