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.
- package/esm2022/lib/components/backoffice.commons.component.mjs +40 -0
- package/esm2022/lib/components/common.lists.component.mjs +194 -0
- package/{esm2020 → esm2022}/lib/components/configuration-token/configuration-token-subject.service.mjs +23 -23
- package/esm2022/lib/components/configuration-token/configuration-token.component.mjs +665 -0
- package/esm2022/lib/components/configuration-token/guarantee-token/guarantee-token.component.mjs +103 -0
- package/esm2022/lib/components/configuration-token/snapshot-token/snapshot-token.component.mjs +108 -0
- package/esm2022/lib/components/configuration.commons.component.mjs +40 -0
- package/{esm2020 → esm2022}/lib/components/dashboard.commons.component.mjs +84 -84
- package/esm2022/lib/components/dynamic-filter/dynamic-filter.component.mjs +131 -0
- package/esm2022/lib/components/excel-to-json/excel-to-json.component.mjs +54 -0
- package/esm2022/lib/components/frontoffice.commons.component.mjs +86 -0
- package/esm2022/lib/components/pdf-analyzer/pdf-analyzer.component.mjs +162 -0
- package/{esm2020 → esm2022}/lib/components/pdf-config/pdf-config.component.mjs +170 -170
- package/esm2022/lib/components/pdf-generator/pdf-generator.component.mjs +223 -0
- package/esm2022/lib/components/pdf-merge-visualizer/pdf-merge-visualizer.component.mjs +307 -0
- package/esm2022/lib/components/pdf-visualizer/pdf-visualizer.component.mjs +387 -0
- package/esm2022/lib/components/progress-bar/progress-bar.component.mjs +92 -0
- package/esm2022/lib/components/segmentation-tokens/segmentation-tokens.component.mjs +199 -0
- package/esm2022/lib/components/select-ppp/select-ppp.component.mjs +199 -0
- package/esm2022/lib/components/show-hide-columns/show-hide-columns-table.component.mjs +116 -0
- package/esm2022/lib/components/token/token.component.mjs +1006 -0
- package/esm2022/lib/components/tokens-calculator/tokens-calculator.component.mjs +128 -0
- package/{esm2020 → esm2022}/lib/directives/currency-colfuturo-formatter.directive.mjs +47 -47
- package/{esm2020 → esm2022}/lib/directives/currency-decimal-colfuturo-formatter.directive.mjs +34 -34
- package/esm2022/lib/ng-pli-commons.module.mjs +387 -0
- package/{esm2020 → esm2022}/lib/ng-pli-commons.service.mjs +14 -14
- package/esm2022/lib/pipes/currency-colfuturo.pipe.mjs +35 -0
- package/{esm2020 → esm2022}/lib/pipes/currency-decimal-colfuturo.pipe.mjs +36 -36
- package/{esm2020 → esm2022}/lib/pipes/currency-print-colfuturo.pipe.mjs +33 -33
- package/esm2022/lib/pipes/thousands.pipe.mjs +60 -0
- package/{esm2020 → esm2022}/lib/services/application-fill-percentage.service.mjs +30 -30
- package/{esm2020 → esm2022}/lib/services/application-tag.service.mjs +56 -56
- package/{esm2020 → esm2022}/lib/services/application.service.mjs +247 -247
- package/esm2022/lib/services/authentication.service.mjs +133 -0
- package/{esm2020 → esm2022}/lib/services/blocked-beneficiary.service.mjs +42 -42
- package/esm2022/lib/services/budget-application.service.mjs +265 -0
- package/{esm2020 → esm2022}/lib/services/budget-simulation.service.mjs +61 -61
- package/esm2022/lib/services/budget.service.mjs +205 -0
- package/{esm2020 → esm2022}/lib/services/closure-wallet.service.mjs +39 -39
- package/{esm2020 → esm2022}/lib/services/cnf-correspondence-document-manager.service.mjs +39 -39
- package/{esm2020 → esm2022}/lib/services/committee-money.service.mjs +44 -44
- package/{esm2020 → esm2022}/lib/services/committee-pdf.service.mjs +27 -27
- package/{esm2020 → esm2022}/lib/services/committee-snapshot.service.mjs +60 -60
- package/{esm2020 → esm2022}/lib/services/common-info.service.mjs +51 -51
- package/esm2022/lib/services/common.service.mjs +291 -0
- package/esm2022/lib/services/configuration-document.service.mjs +297 -0
- package/{esm2020 → esm2022}/lib/services/configuration-minisite.service.mjs +26 -26
- package/{esm2020 → esm2022}/lib/services/configuration.service.mjs +53 -53
- package/{esm2020 → esm2022}/lib/services/correspondence-document-category.service.mjs +31 -31
- package/{esm2020 → esm2022}/lib/services/correspondence-manager.service.mjs +67 -67
- package/{esm2020 → esm2022}/lib/services/credit-score.service.mjs +48 -48
- package/{esm2020 → esm2022}/lib/services/credit-study.service.mjs +292 -292
- package/{esm2020 → esm2022}/lib/services/cube.service.mjs +27 -27
- package/{esm2020 → esm2022}/lib/services/data-form-history.service.mjs +25 -25
- package/{esm2020 → esm2022}/lib/services/data-form.service.mjs +176 -176
- package/{esm2020 → esm2022}/lib/services/data-letter-segmentation.service.mjs +64 -64
- package/{esm2020 → esm2022}/lib/services/document-analysis-auto.service.mjs +27 -27
- package/{esm2020 → esm2022}/lib/services/document-history.service.mjs +43 -43
- package/{esm2020 → esm2022}/lib/services/document-management.service.mjs +57 -57
- package/{esm2020 → esm2022}/lib/services/document-validation-attempt.service.mjs +32 -32
- package/{esm2020 → esm2022}/lib/services/document.service.mjs +131 -131
- package/esm2022/lib/services/documentary.type.service.mjs +69 -0
- package/{esm2020 → esm2022}/lib/services/email.service.mjs +30 -30
- package/{esm2020 → esm2022}/lib/services/evaluation.service.mjs +181 -181
- package/{esm2020 → esm2022}/lib/services/export-excel.service.mjs +32 -32
- package/esm2022/lib/services/file.service.mjs +153 -0
- package/{esm2020 → esm2022}/lib/services/form.service.mjs +112 -112
- package/{esm2020 → esm2022}/lib/services/gic-client-disbursement-metadata.service.mjs +31 -31
- package/{esm2020 → esm2022}/lib/services/gic-client.service.mjs +49 -49
- package/{esm2020 → esm2022}/lib/services/gic-cnf-bankvision-transaction.service.mjs +31 -31
- package/{esm2020 → esm2022}/lib/services/gic-cnf-closing-date.service.mjs +34 -34
- package/{esm2020 → esm2022}/lib/services/gic-cnf-maintenance.service.mjs +30 -30
- package/{esm2020 → esm2022}/lib/services/gic-collection.service.mjs +53 -53
- package/{esm2020 → esm2022}/lib/services/gic-disbursement.service.mjs +39 -39
- package/{esm2020 → esm2022}/lib/services/gic-extract.service.mjs +41 -41
- package/{esm2020 → esm2022}/lib/services/gic-log.service.mjs +41 -41
- package/{esm2020 → esm2022}/lib/services/gic-payment-application.service.mjs +35 -35
- package/{esm2020 → esm2022}/lib/services/gic-payment-plan-cube.service.mjs +27 -27
- package/{esm2020 → esm2022}/lib/services/gic-payment-plan.service.mjs +32 -32
- package/{esm2020 → esm2022}/lib/services/gic-trm.service.mjs +27 -27
- package/{esm2020 → esm2022}/lib/services/global.show.task.service.mjs +37 -37
- package/{esm2020 → esm2022}/lib/services/guarantee-document.service.mjs +52 -52
- package/{esm2020 → esm2022}/lib/services/guarantee-enrollment.service.mjs +37 -37
- package/esm2022/lib/services/guarantee.service.mjs +128 -0
- package/{esm2020 → esm2022}/lib/services/hash.service.mjs +36 -36
- package/{esm2020 → esm2022}/lib/services/import-data.service.mjs +27 -27
- package/{esm2020 → esm2022}/lib/services/import-excel-gic.service.mjs +45 -45
- package/{esm2020 → esm2022}/lib/services/initial-configuration-gic-parameters.service.mjs +51 -51
- package/{esm2020 → esm2022}/lib/services/initial-record.service.mjs +51 -51
- package/{esm2020 → esm2022}/lib/services/integration-ado.service.mjs +54 -54
- package/{esm2020 → esm2022}/lib/services/interaction-application-user.service.mjs +81 -81
- package/{esm2020 → esm2022}/lib/services/interest-adjustment.service.mjs +34 -34
- package/esm2022/lib/services/keys-assignation.service.mjs +127 -0
- package/{esm2020 → esm2022}/lib/services/legalization.service.mjs +150 -150
- package/{esm2020 → esm2022}/lib/services/letter-campaing.service.mjs +49 -49
- package/{esm2020 → esm2022}/lib/services/letter-task-mapping.service.mjs +40 -40
- package/{esm2020 → esm2022}/lib/services/log.service.mjs +41 -41
- package/{esm2020 → esm2022}/lib/services/maintenance.service.mjs +66 -66
- package/{esm2020 → esm2022}/lib/services/master-category.service.mjs +66 -66
- package/{esm2020 → esm2022}/lib/services/master-program.service.mjs +78 -78
- package/{esm2020 → esm2022}/lib/services/master-university.service.mjs +68 -68
- package/{esm2020 → esm2022}/lib/services/migration-plis.service.mjs +27 -27
- package/{esm2020 → esm2022}/lib/services/migration-survey-queue.service.mjs +24 -24
- package/{esm2020 → esm2022}/lib/services/page.service.mjs +38 -38
- package/{esm2020 → esm2022}/lib/services/partner-system.service.mjs +30 -30
- package/{esm2020 → esm2022}/lib/services/partner.service.mjs +34 -34
- package/{esm2020 → esm2022}/lib/services/pdf-analyzer.service.mjs +33 -33
- package/{esm2020 → esm2022}/lib/services/people-master.service.mjs +42 -42
- package/{esm2020 → esm2022}/lib/services/permission.service.mjs +29 -29
- package/{esm2020 → esm2022}/lib/services/pli-cnf-acuity-fields.service.mjs +34 -34
- package/{esm2020 → esm2022}/lib/services/pli-cnf-app-card-filter.service.mjs +40 -40
- package/{esm2020 → esm2022}/lib/services/pli-cnf-appointment-type.service.mjs +41 -41
- package/{esm2020 → esm2022}/lib/services/pli-cnf-budget-program-type.service.mjs +54 -54
- package/{esm2020 → esm2022}/lib/services/pli-cnf-budget.service.mjs +31 -31
- package/{esm2020 → esm2022}/lib/services/pli-cnf-cloning.service.mjs +27 -27
- package/{esm2020 → esm2022}/lib/services/pli-cnf-committee-pdf-config-table-config.service.mjs +47 -47
- package/{esm2020 → esm2022}/lib/services/pli-cnf-committee-pdf-gen-status.service.mjs +30 -30
- package/{esm2020 → esm2022}/lib/services/pli-cnf-committee-valpro-columns.service.mjs +42 -42
- package/{esm2020 → esm2022}/lib/services/pli-cnf-committee-visualization-mode.service.mjs +42 -42
- package/{esm2020 → esm2022}/lib/services/pli-cnf-committee.service.mjs +51 -51
- package/{esm2020 → esm2022}/lib/services/pli-cnf-config-minisite.service.mjs +90 -90
- package/{esm2020 → esm2022}/lib/services/pli-cnf-configuration-credit-study.service.mjs +41 -41
- package/{esm2020 → esm2022}/lib/services/pli-cnf-document-management.service.mjs +40 -40
- package/{esm2020 → esm2022}/lib/services/pli-cnf-dynamic-keys-assign.service.mjs +52 -52
- package/{esm2020 → esm2022}/lib/services/pli-cnf-evaluation-task-mailing.service.mjs +31 -31
- package/esm2022/lib/services/pli-cnf-evaluation-task.service.mjs +112 -0
- package/{esm2020 → esm2022}/lib/services/pli-cnf-evaluation-template.service.mjs +95 -95
- package/{esm2020 → esm2022}/lib/services/pli-cnf-form-edit.service.mjs +68 -68
- package/{esm2020 → esm2022}/lib/services/pli-cnf-form-multiaplicacion.service.mjs +46 -46
- package/{esm2020 → esm2022}/lib/services/pli-cnf-guarantee-documents-template.service.mjs +40 -40
- package/{esm2020 → esm2022}/lib/services/pli-cnf-guarantee-token.service.mjs +42 -42
- package/{esm2020 → esm2022}/lib/services/pli-cnf-header.service.mjs +39 -39
- package/{esm2020 → esm2022}/lib/services/pli-cnf-indicator.service.mjs +39 -39
- package/{esm2020 → esm2022}/lib/services/pli-cnf-information-system.service.mjs +24 -24
- package/{esm2020 → esm2022}/lib/services/pli-cnf-interaction.service.mjs +78 -78
- package/{esm2020 → esm2022}/lib/services/pli-cnf-letter-template-type.service.mjs +29 -29
- package/{esm2020 → esm2022}/lib/services/pli-cnf-letter-template.service.mjs +48 -48
- package/{esm2020 → esm2022}/lib/services/pli-cnf-look-and-feel.service.mjs +28 -28
- package/{esm2020 → esm2022}/lib/services/pli-cnf-mail.service.mjs +30 -30
- package/{esm2020 → esm2022}/lib/services/pli-cnf-menu-form.service.mjs +34 -34
- package/{esm2020 → esm2022}/lib/services/pli-cnf-migration-plis-field-budget.service.mjs +33 -33
- package/{esm2020 → esm2022}/lib/services/pli-cnf-migration-plis-field.service.mjs +47 -47
- package/{esm2020 → esm2022}/lib/services/pli-cnf-migration-status-plis.service.mjs +44 -44
- package/{esm2020 → esm2022}/lib/services/pli-cnf-page-section-form.service.mjs +66 -66
- package/{esm2020 → esm2022}/lib/services/pli-cnf-page-sub-process.service.mjs +25 -25
- package/{esm2020 → esm2022}/lib/services/pli-cnf-pdfs.service.mjs +31 -31
- package/{esm2020 → esm2022}/lib/services/pli-cnf-profile-form.service.mjs +40 -40
- package/{esm2020 → esm2022}/lib/services/pli-cnf-profile-user.service.mjs +49 -49
- package/{esm2020 → esm2022}/lib/services/pli-cnf-project-summary.service.mjs +39 -39
- package/{esm2020 → esm2022}/lib/services/pli-cnf-scenario.service.mjs +47 -47
- package/{esm2020 → esm2022}/lib/services/pli-cnf-segmentation.service.mjs +72 -72
- package/{esm2020 → esm2022}/lib/services/pli-cnf-snapshot-token.service.mjs +42 -42
- package/{esm2020 → esm2022}/lib/services/pli-cnf-status-flow-interaction.service.mjs +74 -74
- package/{esm2020 → esm2022}/lib/services/pli-cnf-status-flow.service.mjs +56 -56
- package/{esm2020 → esm2022}/lib/services/pli-cnf-support-document-category.service.mjs +47 -47
- package/{esm2020 → esm2022}/lib/services/pli-cnf-support-document.service.mjs +56 -56
- package/{esm2020 → esm2022}/lib/services/pli-cnf-survey-document.service.mjs +37 -37
- package/{esm2020 → esm2022}/lib/services/pli-cnf-survey-pdf.service.mjs +34 -34
- package/{esm2020 → esm2022}/lib/services/pli-cnf-survey.service.mjs +46 -46
- package/{esm2020 → esm2022}/lib/services/pli-cnf-task-group.service.mjs +33 -33
- package/{esm2020 → esm2022}/lib/services/pli-cnf-text-category.service.mjs +38 -38
- package/{esm2020 → esm2022}/lib/services/pli-cnf-text-option.service.mjs +39 -39
- package/{esm2020 → esm2022}/lib/services/pli-cnf-text.service.mjs +62 -62
- package/{esm2020 → esm2022}/lib/services/pli-cnf-type-text.service.mjs +45 -45
- package/{esm2020 → esm2022}/lib/services/pli-cnf-university-article.service.mjs +39 -39
- package/{esm2020 → esm2022}/lib/services/pli-cnf-user-calendar.service.mjs +36 -36
- package/{esm2020 → esm2022}/lib/services/pli-cnf-user-workspace.service.mjs +35 -35
- package/{esm2020 → esm2022}/lib/services/pli-cnf-valpro-keys.service.mjs +35 -35
- package/{esm2020 → esm2022}/lib/services/pli-cnf-workspace-segmentation.service.mjs +31 -31
- package/{esm2020 → esm2022}/lib/services/pli-message-type.service.mjs +40 -40
- package/{esm2020 → esm2022}/lib/services/pli-multiple-value-filter.service.mjs +39 -39
- package/{esm2020 → esm2022}/lib/services/pli-promocion-username.service.mjs +57 -57
- package/{esm2020 → esm2022}/lib/services/pli-seg-action-user.service.mjs +37 -37
- package/{esm2020 → esm2022}/lib/services/pli-segmentation.service.mjs +130 -130
- package/{esm2020 → esm2022}/lib/services/pli-tag-assignment.service.mjs +36 -36
- package/{esm2020 → esm2022}/lib/services/pli-tag.service.mjs +55 -55
- package/{esm2020 → esm2022}/lib/services/pli-user.service.mjs +51 -51
- package/{esm2020 → esm2022}/lib/services/plis-beneficiario.service.mjs +29 -29
- package/{esm2020 → esm2022}/lib/services/plis-estatus-change.service.mjs +30 -30
- package/esm2022/lib/services/ppp.service.mjs +360 -0
- package/{esm2020 → esm2022}/lib/services/profile.service.mjs +60 -60
- package/esm2022/lib/services/progress-bar.service.mjs +40 -0
- package/{esm2020 → esm2022}/lib/services/promotion-score.service.mjs +44 -44
- package/{esm2020 → esm2022}/lib/services/registry-identifier.service.mjs +39 -39
- package/{esm2020 → esm2022}/lib/services/return-refund.service.mjs +53 -53
- package/esm2022/lib/services/segmentation-tokens.service.mjs +43 -0
- package/{esm2020 → esm2022}/lib/services/segmentation-user-service.service.mjs +90 -90
- package/{esm2020 → esm2022}/lib/services/segmentation.service.mjs +31 -31
- package/esm2022/lib/services/send-application.service.mjs +492 -0
- package/{esm2020 → esm2022}/lib/services/sesion-form.service.mjs +31 -31
- package/{esm2020 → esm2022}/lib/services/sesion.service.mjs +48 -48
- package/{esm2020 → esm2022}/lib/services/spinner.service.mjs +16 -16
- package/{esm2020 → esm2022}/lib/services/sponsorship-letter.service.mjs +68 -68
- package/{esm2020 → esm2022}/lib/services/status.service.mjs +100 -100
- package/{esm2020 → esm2022}/lib/services/summary-budget.service.mjs +24 -24
- package/{esm2020 → esm2022}/lib/services/survey-metadata.service.mjs +28 -28
- package/{esm2020 → esm2022}/lib/services/survey-queue.service.mjs +24 -24
- package/{esm2020 → esm2022}/lib/services/survey.service.mjs +52 -52
- package/{esm2020 → esm2022}/lib/services/tasa.cambio.service.mjs +35 -35
- package/{esm2020 → esm2022}/lib/services/token-transformation.service.mjs +62 -62
- package/esm2022/lib/services/token.service.mjs +1345 -0
- package/{esm2020 → esm2022}/lib/services/university.service.mjs +50 -50
- package/esm2022/lib/services/upload-documents.service.mjs +60 -0
- package/{esm2020 → esm2022}/lib/services/user.service.mjs +28 -28
- package/{esm2020 → esm2022}/lib/services/visualization-committee.service.mjs +84 -84
- package/esm2022/lib/utils/custom-validator.mjs +95 -0
- package/esm2022/lib/utils/form-util.mjs +35 -0
- package/esm2022/lib/utils/formio-util.mjs +582 -0
- package/{esm2020 → esm2022}/lib/utils/version-commons.mjs +9 -9
- package/{esm2020 → esm2022}/ng-pli-commons.mjs +4 -4
- package/{esm2020 → esm2022}/public-api.mjs +214 -214
- package/{esm2020 → esm2022}/version.mjs +29 -29
- package/{fesm2020 → fesm2022}/ng-pli-commons.mjs +16724 -16725
- package/fesm2022/ng-pli-commons.mjs.map +1 -0
- package/{ng-pli-commons.d.ts → index.d.ts} +5 -5
- package/lib/components/backoffice.commons.component.d.ts +15 -15
- package/lib/components/common.lists.component.d.ts +61 -61
- package/lib/components/configuration-token/configuration-token-subject.service.d.ts +10 -10
- package/lib/components/configuration-token/configuration-token.component.d.ts +124 -124
- package/lib/components/configuration-token/guarantee-token/guarantee-token.component.d.ts +33 -33
- package/lib/components/configuration-token/snapshot-token/snapshot-token.component.d.ts +37 -37
- package/lib/components/configuration.commons.component.d.ts +15 -15
- package/lib/components/dashboard.commons.component.d.ts +39 -39
- package/lib/components/dynamic-filter/dynamic-filter.component.d.ts +50 -50
- package/lib/components/excel-to-json/excel-to-json.component.d.ts +12 -12
- package/lib/components/frontoffice.commons.component.d.ts +26 -26
- package/lib/components/pdf-analyzer/pdf-analyzer.component.d.ts +36 -36
- package/lib/components/pdf-config/pdf-config.component.d.ts +78 -78
- package/lib/components/pdf-generator/pdf-generator.component.d.ts +69 -69
- package/lib/components/pdf-merge-visualizer/pdf-merge-visualizer.component.d.ts +114 -114
- package/lib/components/pdf-visualizer/pdf-visualizer.component.d.ts +147 -147
- package/lib/components/progress-bar/progress-bar.component.d.ts +30 -30
- package/lib/components/segmentation-tokens/segmentation-tokens.component.d.ts +48 -48
- package/lib/components/select-ppp/select-ppp.component.d.ts +42 -42
- package/lib/components/show-hide-columns/show-hide-columns-table.component.d.ts +39 -39
- package/lib/components/token/token.component.d.ts +99 -99
- package/lib/components/tokens-calculator/tokens-calculator.component.d.ts +37 -37
- package/lib/directives/currency-colfuturo-formatter.directive.d.ts +14 -14
- package/lib/directives/currency-decimal-colfuturo-formatter.directive.d.ts +13 -13
- package/lib/ng-pli-commons.module.d.ts +47 -47
- package/lib/ng-pli-commons.service.d.ts +6 -6
- package/lib/pipes/currency-colfuturo.pipe.d.ts +12 -12
- package/lib/pipes/currency-decimal-colfuturo.pipe.d.ts +11 -11
- package/lib/pipes/currency-print-colfuturo.pipe.d.ts +11 -11
- package/lib/pipes/thousands.pipe.d.ts +9 -9
- package/lib/services/application-fill-percentage.service.d.ts +15 -15
- package/lib/services/application-tag.service.d.ts +23 -23
- package/lib/services/application.service.d.ts +107 -107
- package/lib/services/authentication.service.d.ts +45 -45
- package/lib/services/blocked-beneficiary.service.d.ts +17 -17
- package/lib/services/budget-application.service.d.ts +52 -52
- package/lib/services/budget-simulation.service.d.ts +32 -32
- package/lib/services/budget.service.d.ts +65 -65
- package/lib/services/closure-wallet.service.d.ts +16 -16
- package/lib/services/cnf-correspondence-document-manager.service.d.ts +14 -14
- package/lib/services/committee-money.service.d.ts +12 -12
- package/lib/services/committee-pdf.service.d.ts +13 -13
- package/lib/services/committee-snapshot.service.d.ts +24 -24
- package/lib/services/common-info.service.d.ts +30 -30
- package/lib/services/common.service.d.ts +103 -103
- package/lib/services/configuration-document.service.d.ts +84 -84
- package/lib/services/configuration-minisite.service.d.ts +13 -13
- package/lib/services/configuration.service.d.ts +15 -15
- package/lib/services/correspondence-document-category.service.d.ts +12 -12
- package/lib/services/correspondence-manager.service.d.ts +21 -21
- package/lib/services/credit-score.service.d.ts +14 -14
- package/lib/services/credit-study.service.d.ts +52 -52
- package/lib/services/cube.service.d.ts +14 -14
- package/lib/services/data-form-history.service.d.ts +13 -13
- package/lib/services/data-form.service.d.ts +82 -82
- package/lib/services/data-letter-segmentation.service.d.ts +20 -20
- package/lib/services/document-analysis-auto.service.d.ts +14 -14
- package/lib/services/document-history.service.d.ts +18 -18
- package/lib/services/document-management.service.d.ts +22 -22
- package/lib/services/document-validation-attempt.service.d.ts +13 -13
- package/lib/services/document.service.d.ts +51 -51
- package/lib/services/documentary.type.service.d.ts +23 -23
- package/lib/services/email.service.d.ts +15 -15
- package/lib/services/evaluation.service.d.ts +58 -58
- package/lib/services/export-excel.service.d.ts +8 -8
- package/lib/services/file.service.d.ts +63 -63
- package/lib/services/form.service.d.ts +39 -39
- package/lib/services/gic-client-disbursement-metadata.service.d.ts +12 -12
- package/lib/services/gic-client.service.d.ts +20 -20
- package/lib/services/gic-cnf-bankvision-transaction.service.d.ts +13 -13
- package/lib/services/gic-cnf-closing-date.service.d.ts +15 -15
- package/lib/services/gic-cnf-maintenance.service.d.ts +13 -13
- package/lib/services/gic-collection.service.d.ts +19 -19
- package/lib/services/gic-disbursement.service.d.ts +16 -16
- package/lib/services/gic-extract.service.d.ts +15 -15
- package/lib/services/gic-log.service.d.ts +17 -17
- package/lib/services/gic-payment-application.service.d.ts +15 -15
- package/lib/services/gic-payment-plan-cube.service.d.ts +13 -13
- package/lib/services/gic-payment-plan.service.d.ts +19 -19
- package/lib/services/gic-trm.service.d.ts +14 -14
- package/lib/services/global.show.task.service.d.ts +20 -20
- package/lib/services/guarantee-document.service.d.ts +17 -17
- package/lib/services/guarantee-enrollment.service.d.ts +14 -14
- package/lib/services/guarantee.service.d.ts +34 -34
- package/lib/services/hash.service.d.ts +18 -18
- package/lib/services/import-data.service.d.ts +14 -14
- package/lib/services/import-excel-gic.service.d.ts +22 -22
- package/lib/services/initial-configuration-gic-parameters.service.d.ts +19 -19
- package/lib/services/initial-record.service.d.ts +24 -24
- package/lib/services/integration-ado.service.d.ts +15 -15
- package/lib/services/interaction-application-user.service.d.ts +28 -28
- package/lib/services/interest-adjustment.service.d.ts +16 -16
- package/lib/services/keys-assignation.service.d.ts +33 -33
- package/lib/services/legalization.service.d.ts +46 -46
- package/lib/services/letter-campaing.service.d.ts +24 -24
- package/lib/services/letter-task-mapping.service.d.ts +22 -22
- package/lib/services/log.service.d.ts +17 -17
- package/lib/services/maintenance.service.d.ts +23 -23
- package/lib/services/master-category.service.d.ts +40 -40
- package/lib/services/master-program.service.d.ts +45 -45
- package/lib/services/master-university.service.d.ts +40 -40
- package/lib/services/migration-plis.service.d.ts +14 -14
- package/lib/services/migration-survey-queue.service.d.ts +12 -12
- package/lib/services/page.service.d.ts +18 -18
- package/lib/services/partner-system.service.d.ts +13 -13
- package/lib/services/partner.service.d.ts +17 -17
- package/lib/services/pdf-analyzer.service.d.ts +11 -11
- package/lib/services/people-master.service.d.ts +14 -14
- package/lib/services/permission.service.d.ts +14 -14
- package/lib/services/pli-cnf-acuity-fields.service.d.ts +14 -14
- package/lib/services/pli-cnf-app-card-filter.service.d.ts +20 -20
- package/lib/services/pli-cnf-appointment-type.service.d.ts +16 -16
- package/lib/services/pli-cnf-budget-program-type.service.d.ts +18 -18
- package/lib/services/pli-cnf-budget.service.d.ts +13 -13
- package/lib/services/pli-cnf-cloning.service.d.ts +12 -12
- package/lib/services/pli-cnf-committee-pdf-config-table-config.service.d.ts +19 -19
- package/lib/services/pli-cnf-committee-pdf-gen-status.service.d.ts +13 -13
- package/lib/services/pli-cnf-committee-valpro-columns.service.d.ts +15 -15
- package/lib/services/pli-cnf-committee-visualization-mode.service.d.ts +17 -17
- package/lib/services/pli-cnf-committee.service.d.ts +21 -21
- package/lib/services/pli-cnf-config-minisite.service.d.ts +26 -26
- package/lib/services/pli-cnf-configuration-credit-study.service.d.ts +16 -16
- package/lib/services/pli-cnf-document-management.service.d.ts +15 -15
- package/lib/services/pli-cnf-dynamic-keys-assign.service.d.ts +21 -21
- package/lib/services/pli-cnf-evaluation-task-mailing.service.d.ts +13 -13
- package/lib/services/pli-cnf-evaluation-task.service.d.ts +35 -35
- package/lib/services/pli-cnf-evaluation-template.service.d.ts +44 -44
- package/lib/services/pli-cnf-form-edit.service.d.ts +29 -29
- package/lib/services/pli-cnf-form-multiaplicacion.service.d.ts +21 -21
- package/lib/services/pli-cnf-guarantee-documents-template.service.d.ts +17 -17
- package/lib/services/pli-cnf-guarantee-token.service.d.ts +16 -16
- package/lib/services/pli-cnf-header.service.d.ts +18 -18
- package/lib/services/pli-cnf-indicator.service.d.ts +20 -20
- package/lib/services/pli-cnf-information-system.service.d.ts +12 -12
- package/lib/services/pli-cnf-interaction.service.d.ts +31 -31
- package/lib/services/pli-cnf-letter-template-type.service.d.ts +15 -15
- package/lib/services/pli-cnf-letter-template.service.d.ts +22 -22
- package/lib/services/pli-cnf-look-and-feel.service.d.ts +13 -13
- package/lib/services/pli-cnf-mail.service.d.ts +13 -13
- package/lib/services/pli-cnf-menu-form.service.d.ts +16 -16
- package/lib/services/pli-cnf-migration-plis-field-budget.service.d.ts +14 -14
- package/lib/services/pli-cnf-migration-plis-field.service.d.ts +17 -17
- package/lib/services/pli-cnf-migration-status-plis.service.d.ts +17 -17
- package/lib/services/pli-cnf-page-section-form.service.d.ts +24 -24
- package/lib/services/pli-cnf-page-sub-process.service.d.ts +12 -12
- package/lib/services/pli-cnf-pdfs.service.d.ts +14 -14
- package/lib/services/pli-cnf-profile-form.service.d.ts +20 -20
- package/lib/services/pli-cnf-profile-user.service.d.ts +24 -24
- package/lib/services/pli-cnf-project-summary.service.d.ts +16 -16
- package/lib/services/pli-cnf-scenario.service.d.ts +23 -23
- package/lib/services/pli-cnf-segmentation.service.d.ts +32 -32
- package/lib/services/pli-cnf-snapshot-token.service.d.ts +16 -16
- package/lib/services/pli-cnf-status-flow-interaction.service.d.ts +28 -28
- package/lib/services/pli-cnf-status-flow.service.d.ts +26 -26
- package/lib/services/pli-cnf-support-document-category.service.d.ts +17 -17
- package/lib/services/pli-cnf-support-document.service.d.ts +23 -23
- package/lib/services/pli-cnf-survey-document.service.d.ts +16 -16
- package/lib/services/pli-cnf-survey-pdf.service.d.ts +15 -15
- package/lib/services/pli-cnf-survey.service.d.ts +19 -19
- package/lib/services/pli-cnf-task-group.service.d.ts +15 -15
- package/lib/services/pli-cnf-text-category.service.d.ts +15 -15
- package/lib/services/pli-cnf-text-option.service.d.ts +15 -15
- package/lib/services/pli-cnf-text.service.d.ts +21 -21
- package/lib/services/pli-cnf-type-text.service.d.ts +16 -16
- package/lib/services/pli-cnf-university-article.service.d.ts +20 -20
- package/lib/services/pli-cnf-user-calendar.service.d.ts +16 -16
- package/lib/services/pli-cnf-user-workspace.service.d.ts +18 -18
- package/lib/services/pli-cnf-valpro-keys.service.d.ts +18 -18
- package/lib/services/pli-cnf-workspace-segmentation.service.d.ts +16 -16
- package/lib/services/pli-message-type.service.d.ts +15 -15
- package/lib/services/pli-multiple-value-filter.service.d.ts +17 -17
- package/lib/services/pli-promocion-username.service.d.ts +26 -26
- package/lib/services/pli-seg-action-user.service.d.ts +20 -20
- package/lib/services/pli-segmentation.service.d.ts +48 -48
- package/lib/services/pli-tag-assignment.service.d.ts +15 -15
- package/lib/services/pli-tag.service.d.ts +21 -21
- package/lib/services/pli-user.service.d.ts +24 -24
- package/lib/services/plis-beneficiario.service.d.ts +10 -10
- package/lib/services/plis-estatus-change.service.d.ts +13 -13
- package/lib/services/ppp.service.d.ts +77 -77
- package/lib/services/profile.service.d.ts +26 -26
- package/lib/services/progress-bar.service.d.ts +14 -14
- package/lib/services/promotion-score.service.d.ts +14 -14
- package/lib/services/registry-identifier.service.d.ts +16 -16
- package/lib/services/return-refund.service.d.ts +20 -20
- package/lib/services/segmentation-tokens.service.d.ts +22 -22
- package/lib/services/segmentation-user-service.service.d.ts +26 -26
- package/lib/services/segmentation.service.d.ts +16 -16
- package/lib/services/send-application.service.d.ts +71 -71
- package/lib/services/sesion-form.service.d.ts +16 -16
- package/lib/services/sesion.service.d.ts +27 -27
- package/lib/services/spinner.service.d.ts +6 -6
- package/lib/services/sponsorship-letter.service.d.ts +34 -34
- package/lib/services/status.service.d.ts +31 -31
- package/lib/services/summary-budget.service.d.ts +11 -11
- package/lib/services/survey-metadata.service.d.ts +13 -13
- package/lib/services/survey-queue.service.d.ts +12 -12
- package/lib/services/survey.service.d.ts +17 -17
- package/lib/services/tasa.cambio.service.d.ts +14 -14
- package/lib/services/token-transformation.service.d.ts +19 -19
- package/lib/services/token.service.d.ts +270 -270
- package/lib/services/university.service.d.ts +28 -28
- package/lib/services/upload-documents.service.d.ts +21 -21
- package/lib/services/user.service.d.ts +12 -12
- package/lib/services/visualization-committee.service.d.ts +32 -32
- package/lib/utils/custom-validator.d.ts +19 -19
- package/lib/utils/form-util.d.ts +11 -11
- package/lib/utils/formio-util.d.ts +105 -105
- package/lib/utils/version-commons.d.ts +4 -4
- package/package.json +10 -16
- package/public-api.d.ts +210 -210
- package/version.d.ts +25 -25
- package/esm2020/lib/components/backoffice.commons.component.mjs +0 -40
- package/esm2020/lib/components/common.lists.component.mjs +0 -194
- package/esm2020/lib/components/configuration-token/configuration-token.component.mjs +0 -665
- package/esm2020/lib/components/configuration-token/guarantee-token/guarantee-token.component.mjs +0 -103
- package/esm2020/lib/components/configuration-token/snapshot-token/snapshot-token.component.mjs +0 -108
- package/esm2020/lib/components/configuration.commons.component.mjs +0 -40
- package/esm2020/lib/components/dynamic-filter/dynamic-filter.component.mjs +0 -131
- package/esm2020/lib/components/excel-to-json/excel-to-json.component.mjs +0 -54
- package/esm2020/lib/components/frontoffice.commons.component.mjs +0 -86
- package/esm2020/lib/components/pdf-analyzer/pdf-analyzer.component.mjs +0 -162
- package/esm2020/lib/components/pdf-generator/pdf-generator.component.mjs +0 -223
- package/esm2020/lib/components/pdf-merge-visualizer/pdf-merge-visualizer.component.mjs +0 -307
- package/esm2020/lib/components/pdf-visualizer/pdf-visualizer.component.mjs +0 -387
- package/esm2020/lib/components/progress-bar/progress-bar.component.mjs +0 -92
- package/esm2020/lib/components/segmentation-tokens/segmentation-tokens.component.mjs +0 -199
- package/esm2020/lib/components/select-ppp/select-ppp.component.mjs +0 -199
- package/esm2020/lib/components/show-hide-columns/show-hide-columns-table.component.mjs +0 -116
- package/esm2020/lib/components/token/token.component.mjs +0 -1006
- package/esm2020/lib/components/tokens-calculator/tokens-calculator.component.mjs +0 -128
- package/esm2020/lib/ng-pli-commons.module.mjs +0 -390
- package/esm2020/lib/pipes/currency-colfuturo.pipe.mjs +0 -35
- package/esm2020/lib/pipes/thousands.pipe.mjs +0 -60
- package/esm2020/lib/services/authentication.service.mjs +0 -133
- package/esm2020/lib/services/budget-application.service.mjs +0 -265
- package/esm2020/lib/services/budget.service.mjs +0 -205
- package/esm2020/lib/services/common.service.mjs +0 -291
- package/esm2020/lib/services/configuration-document.service.mjs +0 -297
- package/esm2020/lib/services/documentary.type.service.mjs +0 -69
- package/esm2020/lib/services/file.service.mjs +0 -153
- package/esm2020/lib/services/guarantee.service.mjs +0 -128
- package/esm2020/lib/services/keys-assignation.service.mjs +0 -127
- package/esm2020/lib/services/pli-cnf-evaluation-task.service.mjs +0 -112
- package/esm2020/lib/services/ppp.service.mjs +0 -360
- package/esm2020/lib/services/progress-bar.service.mjs +0 -40
- package/esm2020/lib/services/segmentation-tokens.service.mjs +0 -43
- package/esm2020/lib/services/send-application.service.mjs +0 -492
- package/esm2020/lib/services/token.service.mjs +0 -1345
- package/esm2020/lib/services/upload-documents.service.mjs +0 -60
- package/esm2020/lib/utils/custom-validator.mjs +0 -95
- package/esm2020/lib/utils/form-util.mjs +0 -35
- package/esm2020/lib/utils/formio-util.mjs +0 -580
- package/fesm2015/ng-pli-commons.mjs +0 -17373
- package/fesm2015/ng-pli-commons.mjs.map +0 -1
- package/fesm2020/ng-pli-commons.mjs.map +0 -1
|
@@ -1,133 +0,0 @@
|
|
|
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
|
-
}
|
|
122
|
-
AuthenticationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AuthenticationService, deps: [{ token: 'environment' }, { token: i1.HttpClient }, { token: i2.HashService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
123
|
-
AuthenticationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AuthenticationService, providedIn: 'root' });
|
|
124
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AuthenticationService, decorators: [{
|
|
125
|
-
type: Injectable,
|
|
126
|
-
args: [{
|
|
127
|
-
providedIn: 'root'
|
|
128
|
-
}]
|
|
129
|
-
}], ctorParameters: function () { return [{ 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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QixhQUFhO3NIQUxWLHFCQUFxQixjQUZyQixNQUFNOzJGQUVOLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDWCxVQUFVLEVBQUUsTUFBTTtpQkFDbEI7OzBCQU1FLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSEVBREVSX0pTT04sIEF1dGhlbnRpY2F0aW9uVXRpbCwgVXNlciB9IGZyb20gJ25nLXBsaS11dGlsJztcclxuaW1wb3J0IHsgSGFzaFNlcnZpY2UgfSBmcm9tICcuL2hhc2guc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcblx0cHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdXRoZW50aWNhdGlvblNlcnZpY2Uge1xyXG5cdC8qKiBUaGlzIG9ic2VydmFibGUgYWxsb3dzIHRvIHZlcmlmeSBpZiB0aGUgdXNlciBpcyBhdXRoZW50aWNhdGVkICovXHJcblx0cHJpdmF0ZSBpc0xvZ2luU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oQXV0aGVudGljYXRpb25VdGlsLmhhc1Rva2VuKCkpO1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudDogYW55LFxyXG5cdFx0cHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxyXG5cdFx0cHJpdmF0ZSBoYXNoU2VydmljZTogSGFzaFNlcnZpY2UpIHt9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEl0IGFsbG93cyB0byBsb2dpbiB3aXRoIHRoZSBhcHAgd2l0aCB1c2VybmFtZSBhbmQgcGFzc3dvcmRcclxuXHQgKiBAcGFyYW0gdXNlciBJdFxyXG5cdCAqL1xyXG5cdGxvZ2luKHVzZXI6IGFueSkge1xyXG5cdFx0bG9jYWxTdG9yYWdlLmNsZWFyKCk7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QoXHJcblx0XHRcdHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmNvbmZpZ3VyYXRpb24gKyAnc2VzaW9uL2dldEJ5TG9naW5BbmRTZXNpb24nLFxyXG5cdFx0XHR1c2VyLFxyXG5cdFx0XHRIRUFERVJfSlNPTlxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdC8qX2xvZ2luKHVzZXI6IGFueSkge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KFxyXG5cdFx0XHR0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5jb25maWd1cmF0aW9uICsgJ3Nlc2lvbi9nZXRCeUxvZ2luQW5kU2VzaW9uJyxcclxuXHRcdFx0dXNlcixcclxuXHRcdFx0SEVBREVSX0pTT05cclxuXHRcdCk7XHJcblx0fSovXHJcblxyXG5cdGdldFVzZXJCeUxvZ2luKHVzZXI6IGFueSkge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KFxyXG5cdFx0XHR0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5jb25maWd1cmF0aW9uICsgJ3Nlc2lvbi9nZXRCeUxvZ2luJyxcclxuXHRcdFx0dXNlcixcclxuXHRcdFx0SEVBREVSX0pTT05cclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHQvKiogSXQgcmV0dXJucyB0aGUgc2Vzc2lvbiBpbmZvICovXHJcblx0Z2V0VG9rZW5CeUxvZ2luKGxvZ2luOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQodGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQucGxpcyArICdsb2dpbi9nZXRTZXNzaW9uJywge1xyXG5cdFx0XHRwYXJhbXM6IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdsb2dpbicsIGxvZ2luKVxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBJdCBhbGxvd3MgdG8gbG9nb3V0XHJcblx0ICovXHJcblx0bG9nb3V0KHJlZGlyZWN0VVJMPzogc3RyaW5nKSB7XHJcblx0XHR0aGlzLnJlbW92ZVRva2VucygpO1xyXG5cdFx0d2luZG93LmxvY2F0aW9uLmhyZWYgPSByZWRpcmVjdFVSTCA/IHJlZGlyZWN0VVJMIDogdGhpcy5lbnZpcm9ubWVudC5ob3N0LmZyb250ZW5kLmxvZ2luO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogSXQgYWxsb3dzIHRvIGFzc2lnbiBhIG5ldyB2YWx1ZSB0byB0aGUgdG9rZW5cclxuXHQgKiBAcGFyYW0gdG9rZW5cclxuXHQgKi9cclxuXHRzZXRUb2tlbih0b2tlbl9yZXF1ZXN0OiBzdHJpbmcpIHtcclxuXHRcdEF1dGhlbnRpY2F0aW9uVXRpbC5zZXRUb2tlbih0b2tlbl9yZXF1ZXN0KTtcclxuXHRcdHRoaXMuaXNMb2dpblN1YmplY3QubmV4dCh0cnVlKTtcclxuXHR9XHJcblxyXG5cdC8qKiBpdCB2ZXJpZmllcyBpZiB0aGVyZSBpcyB0b2tlbiAqL1xyXG5cdHZlcmlmeVRva2VuKCkge1xyXG5cdFx0dGhpcy5pc0xvZ2luU3ViamVjdC5uZXh0KEF1dGhlbnRpY2F0aW9uVXRpbC52ZXJpZnlUb2tlbigpKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEl0IGFsbG93cyB0byByZW1vdmUgdGhlIHRva2VuXHJcblx0ICovXHJcblx0cHJpdmF0ZSByZW1vdmVUb2tlbnMoKSB7XHJcblx0XHRsb2NhbFN0b3JhZ2UuY2xlYXIoKTtcclxuXHRcdHRoaXMuaXNMb2dpblN1YmplY3QubmV4dChmYWxzZSk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBJdCBoYXMgYSBvYnNlcnZhYmxlIHRvIG5vdGlmeSBpZiB0aGUgdXNlciBpcyBhdXRoZW50aWNhdGVkXHJcblx0ICovXHJcblx0aXNBdXRoZW50aWNhdGVkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuaXNMb2dpblN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGdldEhhc2goXHJcblx0XHRpZFBhdHJvY2luYWRvcjogc3RyaW5nLFxyXG5cdFx0aWRQbGF0YWZvcm1hOiBzdHJpbmcsXHJcblx0XHRpZFBhdHJvY2luYWRvclBMSUM6IHN0cmluZ1xyXG5cdCk6IFByb21pc2U8c3RyaW5nPiB7XHJcblx0XHRjb25zdCBlcnJvck1lc3NhZ2UgPSAnTm8gc2UgcHVkbyBnZW5lcmFyIGVsIGhhc2gnO1xyXG5cdFx0cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuXHRcdFx0dGhpcy5oYXNoU2VydmljZS5nZXRIYXNoKGlkUGF0cm9jaW5hZG9yLCBpZFBsYXRhZm9ybWEsIGlkUGF0cm9jaW5hZG9yUExJQykuc3Vic2NyaWJlKFxyXG5cdFx0XHRcdChyZXNwb25zZSkgPT4ge1xyXG5cdFx0XHRcdFx0aWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLmhhc2gpIHtcclxuXHRcdFx0XHRcdFx0cmVzb2x2ZShyZXNwb25zZS5oYXNoKTtcclxuXHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdHJlamVjdChlcnJvck1lc3NhZ2UpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0KGVycm9yKSA9PiByZWplY3QoZXJyb3JNZXNzYWdlKVxyXG5cdFx0XHQpO1xyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRhc3luYyBnZXRMaW5rKHBhdENvZGlnbzogc3RyaW5nKSB7XHJcblx0XHQvL2h0dHBzOi8vZGV2LmNvbGZ1dHVyby5vcmcvcGxpYy9mcm9udG9mZmljZS9yZWdpc3Ryby1tdWx0aWFwbGljYWNpb24vY3JlYXRlLzc0XHJcblx0XHRsZXQgbG9naW5NdWx0aVVybCA9ICcnO1xyXG5cdFx0bGV0IHJlZ2lzdGVyRm9ybSA9ICdyZWdpc3Ryby1tdWx0aWFwbGljYWNpb24vY3JlYXRlLycgKyBwYXRDb2RpZ287XHJcblx0XHRjb25zdCBsb2dpblVybCA9IG5ldyBVUkwodGhpcy5lbnZpcm9ubWVudC5ob3N0LmZyb250ZW5kLmZyb250b2ZmaWNlICsgcmVnaXN0ZXJGb3JtKTtcclxuXHRcdHRyeSB7XHJcblx0XHRcdGxvZ2luTXVsdGlVcmwgPSBsb2dpblVybC5ocmVmO1xyXG5cdFx0fSBjYXRjaCAoZXJyb3IpIHt9XHJcblx0XHRyZXR1cm4gbG9naW5NdWx0aVVybDtcclxuXHR9XHJcblxyXG5cdGFzeW5jIGdldExpbmtNb25vKHByb21Db2RpZ286IHN0cmluZykge1xyXG5cdFx0Ly8gaHR0cHM6Ly9kZXYuY29sZnV0dXJvLm9yZy9wbGljL2Zyb250b2ZmaWNlL3Rlcm0vMzYyLy0xXHJcblx0XHRsZXQgbG9naW5NdWx0aVVybCA9ICcnO1xyXG5cdFx0bGV0IHRlcm1zTGluayA9ICd0ZXJtLycgKyBwcm9tQ29kaWdvICsgJy8tMSc7XHJcblx0XHRjb25zdCBsb2dpblVybCA9IG5ldyBVUkwodGhpcy5lbnZpcm9ubWVudC5ob3N0LmZyb250ZW5kLmZyb250b2ZmaWNlICsgdGVybXNMaW5rKTtcclxuXHRcdHRyeSB7XHJcblx0XHRcdGxvZ2luTXVsdGlVcmwgPSBsb2dpblVybC5ocmVmO1xyXG5cdFx0fSBjYXRjaCAoZXJyb3IpIHt9XHJcblx0XHRyZXR1cm4gbG9naW5NdWx0aVVybDtcclxuXHR9XHJcblxyXG5cdGFzeW5jIGdldExpbmtPbGQocGF0Q29kaWdvOiBzdHJpbmcpIHtcclxuXHRcdGxldCBsb2dvdXRVcmwgPSAnJztcclxuXHRcdGNvbnN0IGxvZ2luVXJsID0gbmV3IFVSTCh0aGlzLmVudmlyb25tZW50Lmhvc3QuZnJvbnRlbmQubG9naW4pO1xyXG5cdFx0Y29uc3QgaWRQYXRyb2NpbmFkb3IgPSBsb2dpblVybC5zZWFyY2hQYXJhbXMuZ2V0KCdpZFBhdHJvY2luYWRvcicpO1xyXG5cdFx0Y29uc3QgaWRQbGF0YWZvcm1hID0gbG9naW5Vcmwuc2VhcmNoUGFyYW1zLmdldCgnaWRQbGF0YWZvcm1hJyk7XHJcblx0XHRsb2dpblVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdpZFBhdHJvY2luYWRvclBMSUMnLCBwYXRDb2RpZ28pO1xyXG5cdFx0dHJ5IHtcclxuXHRcdFx0bGV0IGhhc2ggPSBhd2FpdCB0aGlzLmdldEhhc2goaWRQYXRyb2NpbmFkb3IsIGlkUGxhdGFmb3JtYSwgcGF0Q29kaWdvKTtcclxuXHRcdFx0bG9naW5Vcmwuc2VhcmNoUGFyYW1zLnNldCgnaGFzaCcsIGhhc2gpO1xyXG5cdFx0XHRsb2dvdXRVcmwgPSBsb2dpblVybC5ocmVmO1xyXG5cdFx0fSBjYXRjaCAoZXJyb3IpIHt9XHJcblx0XHRyZXR1cm4gbG9nb3V0VXJsO1xyXG5cdH1cclxuXHJcbn1cclxuIl19
|
|
@@ -1,265 +0,0 @@
|
|
|
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
|
-
}
|
|
257
|
-
BudgetApplicationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BudgetApplicationService, deps: [{ token: 'environment' }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
258
|
-
BudgetApplicationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BudgetApplicationService });
|
|
259
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BudgetApplicationService, decorators: [{
|
|
260
|
-
type: Injectable
|
|
261
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
262
|
-
type: Inject,
|
|
263
|
-
args: ['environment']
|
|
264
|
-
}] }, { type: i1.HttpClient }]; } });
|
|
265
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVkZ2V0LWFwcGxpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wbGktY29tbW9ucy9zcmMvbGliL3NlcnZpY2VzL2J1ZGdldC1hcHBsaWNhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQWMsVUFBVSxFQUFxQixNQUFNLHNCQUFzQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBWW5ELE1BQU0sSUFBSSxHQUFHO0lBQ1osSUFBSSxFQUFFLGFBQWE7SUFDbkIsT0FBTyxFQUFFLGdCQUFnQjtJQUN6QixrQkFBa0IsRUFBRSwyQkFBMkI7SUFDL0MsZUFBZSxFQUFFLHdCQUF3QjtJQUN6QyxvQkFBb0IsRUFBRSw2QkFBNkI7SUFDbkQsSUFBSSxFQUFFLGFBQWE7SUFDbkIsY0FBYyxFQUFFLHVCQUF1QjtJQUN2QyxlQUFlLEVBQUUsd0JBQXdCO0lBQ3pDLE1BQU0sRUFBRSxlQUFlO0lBQ3ZCLE1BQU0sRUFBRSxlQUFlO0lBQ3ZCLFFBQVEsRUFBRSxpQkFBaUI7SUFDM0IsY0FBYyxFQUFFLHVCQUF1QjtJQUN2QyxNQUFNLEVBQUUsZUFBZTtJQUN2QixRQUFRLEVBQUUsaUJBQWlCO0lBQzNCLFlBQVksRUFBRSxxQkFBcUI7SUFDbkMsYUFBYSxFQUFFLHlCQUF5QjtJQUN4QyxZQUFZLEVBQUUscUJBQXFCO0lBQ25DLHFCQUFxQixFQUFFLG9DQUFvQztDQUMzRCxDQUFDO0FBQ0YsTUFBTSxXQUFXLEdBQUc7SUFDbkIsT0FBTyxFQUFF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dXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyB0aHJvd0Vycm9yLCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMsIEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHtcclxuXHRCdWRnZXREdG8sXHJcblx0QnVkZ2V0V2l6YXJkLFxyXG5cdEJ1ZGdldERhdGEsXHJcblx0TmV3QnVkZ2V0RHRvLFxyXG5cdEJ1ZGdldE1lbnUsXHJcblx0QnVkZ2V0T3duRnVuZCxcclxuXHRCdWRnZXRTZXR1cCxcclxuXHRQbGlDbmZQcmVzdXB1ZXN0b0FzaXN0ZW50ZSxcclxufSBmcm9tICduZy1wbGktdXRpbCc7XHJcblxyXG5jb25zdCBVUkxTID0ge1xyXG5cdG1lbnU6ICdidWRnZXQvbWVudScsXHJcblx0Z2V0QnlJZDogJ2J1ZGdldC9nZXRCeUlkJyxcclxuXHRnZXRCeUFwcGxpY2F0aW9uSWQ6ICdidWRnZXQvZ2V0QnlBcHBsaWNhdGlvbklkJyxcclxuXHRnZXRCeVByb21Db2RpZ286ICdidWRnZXQvZ2V0QnlQcm9tQ29kaWdvJyxcclxuXHRnZXRCeVByb21Db2RpZ29SdWJybzogJ2J1ZGdldC9nZXRCeVByb21Db2RpZ29SdWJybycsXHJcblx0c2F2ZTogJ2J1ZGdldC9zYXZlJyxcclxuXHRzdW1tYXJpemVkU2F2ZTogJ2J1ZGdldC9zdW1tYXJpemVkU2F2ZScsXHJcblx0c3VtbWFyaXplZFJlc2V0OiAnYnVkZ2V0L3N1bW1hcml6ZWRSZXNldCcsXHJcblx0ZGVsZXRlOiAnYnVkZ2V0L2RlbGV0ZScsXHJcblx0dXBkYXRlOiAnYnVkZ2V0L3VwZGF0ZScsXHJcblx0bXlidWRnZXQ6ICdidWRnZXQvbXlidWRnZXQnLFxyXG5cdG15c2ltcGxlYnVkZ2V0OiAnYnVkZ2V0L215c2ltcGxlYnVkZ2V0JyxcclxuXHR3aXphcmQ6ICdidWRnZXQvd2l6YXJkJyxcclxuXHRnZW5lcmF0ZTogJ2J1ZGdldC9nZW5lcmF0ZScsXHJcblx0ZGVsZXRlV2l6YXJkOiAnYnVkZ2V0L2RlbGV0ZVdpemFyZCcsXHJcblx0YnVkZ2V0c0J5UHJvbTogJ2J1ZGdldC9nZXRCdWRnZXRzQnlQcm9tJyxcclxuXHR1cGRhdGVXaXphcmQ6ICdidWRnZXQvdXBkYXRlV2l6YXJkJyxcclxuXHRnZXRDb25maWd1cmVkQ3VycmVuY3k6ICdidWRnZXRfc2V0dXAvZ2V0Q29uZmlndXJlZEN1cnJlbmN5J1xyXG59O1xyXG5jb25zdCBodHRwT3B0aW9ucyA9IHtcclxuXHRoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xyXG5cdFx0J0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJ1xyXG5cdFx0Ly8gJ0F1dGhvcml6YXRpb24nOiAnbXktYXV0aC10b2tlbidcclxuXHR9KVxyXG59O1xyXG5cclxuQEluamVjdGFibGUoKSAvLyh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcclxuZXhwb3J0IGNsYXNzIEJ1ZGdldEFwcGxpY2F0aW9uU2VydmljZSB7XHJcblx0cHJpdmF0ZSBoZWFkZXJKc29uID0geyBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0pIH07XHJcblxyXG5cdHByaXZhdGUgc3ViamVjdFZhbGlkYXRlQnVkZ2V0Q2hlY2sgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG5cclxuXHQvL3ByaXZhdGUgbEdsb2JhbEJ1ZGdldFdpemFyZCE6IFBsaUNuZlByZXN1cHVlc3RvQXNpc3RlbnRlW107XHJcblxyXG5cdGNvbnN0cnVjdG9yKEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudDogYW55LCBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHt9XHJcblxyXG5cdC8vaHR0cHM6Ly9hbmd1bGFyLmlvL2d1aWRlL2h0dHAjZXJyb3ItaGFuZGxpbmdcclxuXHRwcml2YXRlIGhhbmRsZUVycm9yKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkge1xyXG5cdFx0aWYgKGVycm9yLmVycm9yIGluc3RhbmNlb2YgRXJyb3JFdmVudCkge1xyXG5cdFx0XHQvLyBBIGNsaWVudC1zaWRlIG9yIG5ldHdvcmsgZXJyb3Igb2NjdXJyZWQuIEhhbmRsZSBpdCBhY2NvcmRpbmdseS5cclxuXHRcdFx0Ly8gY29uc29sZS5lcnJvcignQSBjbGllbnQtc2lkZSBlcnJvciBvY2N1cnJlZDonLCBlcnJvci5lcnJvci5tZXNzYWdlKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdC8vIFRoZSBiYWNrZW5kIHJldHVybmVkIGFuIHVuc3VjY2Vzc2Z1bCByZXNwb25zZSBjb2RlLlxyXG5cdFx0XHQvLyBUaGUgcmVzcG9uc2UgYm9keSBtYXkgY29udGFpbiBjbHVlcyBhcyB0byB3aGF0IHdlbnQgd3JvbmcsXHJcblx0XHRcdC8vIGNvbnNvbGUuZXJyb3IoXHJcblx0XHRcdC8vICAgYEJhY2tlbmQgcmV0dXJuZWQgY29kZSAke2Vycm9yLnN0YXR1c30sIGAgK1xyXG5cdFx0XHQvLyAgIGBib2R5IHdhczogJHtlcnJvci5lcnJvcn1gKTtcclxuXHRcdH1cclxuXHRcdC8vIHJldHVybiBhbiBvYnNlcnZhYmxlIHdpdGggYSB1c2VyLWZhY2luZyBlcnJvciBtZXNzYWdlXHJcblx0XHRyZXR1cm4gdGhyb3dFcnJvcihlcnJvcik7XHJcblx0fVxyXG5cclxuXHRnZXRCdWRnZXQoYnVkZ2V0SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRsZXQgb3B0aW9ucyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdidWRnZXRJZCcsIGJ1ZGdldElkKTtcclxuXHRcdHJldHVybiB0aGlzLmh0dHBcclxuXHRcdFx0LmdldDxCdWRnZXREdG8+KHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmZyb250b2ZmaWNlICsgVVJMUy5nZXRCeUlkLCB7XHJcblx0XHRcdFx0aGVhZGVyczogaHR0cE9wdGlvbnMuaGVhZGVycyxcclxuXHRcdFx0XHRwYXJhbXM6IG9wdGlvbnNcclxuXHRcdFx0fSlcclxuXHRcdFx0LnBpcGUoY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XHJcblx0fVxyXG5cclxuXHR1cGRhdGVCdWRnZXQoYnVkZ2V0OiBCdWRnZXREYXRhKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHBcclxuXHRcdFx0LnBvc3Q8QnVkZ2V0RGF0YT4odGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuZnJvbnRvZmZpY2UgKyBVUkxTLnVwZGF0ZSwgYnVkZ2V0LCB7XHJcblx0XHRcdFx0aGVhZGVyczogaHR0cE9wdGlvbnMuaGVhZGVyc1xyXG5cdFx0XHR9KVxyXG5cdFx0XHQucGlwZShjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpKTtcclxuXHR9XHJcblxyXG5cdHN1bW1hcml6ZWRTYXZlKGJ1ZGdldDogQnVkZ2V0RGF0YSk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwXHJcblx0XHRcdC5wb3N0PEJ1ZGdldERhdGE+KFxyXG5cdFx0XHRcdHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmZyb250b2ZmaWNlICsgVVJMUy5zdW1tYXJpemVkU2F2ZSxcclxuXHRcdFx0XHRidWRnZXQsXHJcblx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0aGVhZGVyczogaHR0cE9wdGlvbnMuaGVhZGVyc1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0KVxyXG5cdFx0XHQucGlwZShjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpKTtcclxuXHR9XHJcblxyXG5cdHN1bW1hcml6ZWRSZXNldChwcm9ncmFtVHlwZUlkOiBudW1iZXIsIGFwcGxpY2F0aW9uSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRsZXQgb3B0aW9ucyA9IG5ldyBIdHRwUGFyYW1zKClcclxuXHRcdFx0LnNldCgnYXBwbGljYXRpb25JZCcsIGFwcGxpY2F0aW9uSWQpXHJcblx0XHRcdC5zZXQoJ3Byb2dyYW1UeXBlSWQnLCBTdHJpbmcocHJvZ3JhbVR5cGVJZCkpO1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cFxyXG5cdFx0XHQucG9zdCh0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5mcm9udG9mZmljZSArIFVSTFMuc3VtbWFyaXplZFJlc2V0LCBudWxsLCB7XHJcblx0XHRcdFx0aGVhZGVyczogaHR0cE9wdGlvbnMuaGVhZGVycyxcclxuXHRcdFx0XHRwYXJhbXM6IG9wdGlvbnNcclxuXHRcdFx0fSlcclxuXHRcdFx0LnBpcGUoY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XHJcblx0fVxyXG5cclxuXHRnZXRNeUJ1ZGdldHNMaXN0KGFwcGxpY2F0aW9uSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRsZXQgb3B0aW9ucyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdhcHBsaWNhdGlvbklkJywgYXBwbGljYXRpb25JZCk7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwXHJcblx0XHRcdC5nZXQ8QnVkZ2V0RGF0YVtdPih0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5mcm9udG9mZmljZSArIFVSTFMubWVudSwge1xyXG5cdFx0XHRcdGhlYWRlcnM6IGh0dHBPcHRpb25zLmhlYWRlcnMsXHJcblx0XHRcdFx0cGFyYW1zOiBvcHRpb25zXHJcblx0XHRcdH0pXHJcblx0XHRcdC5waXBlKGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcikpO1xyXG5cdH1cclxuXHJcblx0Z2V0TXlCdWRnZXQoXHJcblx0XHRhcHBsaWNhdGlvbklkOiBzdHJpbmcsXHJcblx0XHRidWRnZXRTZXR1cElkOiBzdHJpbmcsXHJcblx0XHRwcm9tQ29kZTogbnVtYmVyLFxyXG5cdFx0dGFnOiBzdHJpbmdcclxuXHQpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0bGV0IG9wdGlvbnMgPSBuZXcgSHR0cFBhcmFtcygpXHJcblx0XHRcdC5zZXQoJ2FwcGxpY2F0aW9uSWQnLCBhcHBsaWNhdGlvbklkKVxyXG5cdFx0XHQuc2V0KCdwcm9tQ29kZScsIHByb21Db2RlICsgJycpXHJcblx0XHRcdC5zZXQoJ2J1ZGdldFNldHVwSWQnLCBidWRnZXRTZXR1cElkKVxyXG5cdFx0XHQuc2V0KCd0YWcnLCB0YWcpO1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cFxyXG5cdFx0XHQuZ2V0PEJ1ZGdldER0bz4odGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuZnJvbnRvZmZpY2UgKyBVUkxTLm15YnVkZ2V0LCB7XHJcblx0XHRcdFx0aGVhZGVyczogaHR0cE9wdGlvbnMuaGVhZGVycyxcclxuXHRcdFx0XHRwYXJhbXM6IG9wdGlvbnNcclxuXHRcdFx0fSlcclxuXHRcdFx0LnBpcGUoY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XHJcblx0fVxyXG5cclxuXHRnZXRNeVNpbXBsZUJ1ZGdldChhcHBsaWNhdGlvbklkOiBzdHJpbmcsIHRhZzogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdGxldCBvcHRpb25zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ2FwcGxpY2F0aW9uSWQnLCBhcHBsaWNhdGlvbklkKS5zZXQoJ3RhZycsIHRhZyk7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwXHJcblx0XHRcdC5nZXQ8QnVkZ2V0RGF0YT4odGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuZnJvbnRvZmZpY2UgKyBVUkxTLm15c2ltcGxlYnVkZ2V0LCB7XHJcblx0XHRcdFx0aGVhZGVyczogaHR0cE9wdGlvbnMuaGVhZGVycyxcclxuXHRcdFx0XHRwYXJhbXM6IG9wdGlvbnNcclxuXHRcdFx0fSlcclxuXHRcdFx0LnBpcGUoY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XHJcblx0fVxyXG5cclxuXHRnZXRCdWRnZXRzQnlQcm9tKGFwcGxpY2F0aW9uSWQ6IHN0cmluZywgcHJvbUNvZGU6IG51bWJlciwgdGFnOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0bGV0IG9wdGlvbnMgPSBuZXcgSHR0cFBhcmFtcygpXHJcblx0XHRcdC5zZXQoJ2FwcGxpY2F0aW9uSWQnLCBhcHBsaWNhdGlvbklkKVxyXG5cdFx0XHQuc2V0KCdwcm9tQ29kZScsIHByb21Db2RlICsgJycpXHJcblx0XHRcdC5zZXQoJ3RhZycsIHRhZyk7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwXHJcblx0XHRcdC5nZXQ8QnVkZ2V0RHRvW10+KHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmZyb250b2ZmaWNlICsgVVJMUy5idWRnZXRzQnlQcm9tLCB7XHJcblx0XHRcdFx0aGVhZGVyczogaHR0cE9wdGlvbnMuaGVhZGVycyxcclxuXHRcdFx0XHRwYXJhbXM6IG9wdGlvbnNcclxuXHRcdFx0fSlcclxuXHRcdFx0LnBpcGUoY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XHJcblx0fVxyXG5cclxuXHQvKipAZGVwcmVjYXRlZCAqL1xyXG5cdG5ld1dpemFyZChyZXF1ZXN0OiBOZXdCdWRnZXREdG8pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cFxyXG5cdFx0XHQucG9zdDxCdWRnZXRXaXphcmQ+KHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmZyb250b2ZmaWNlICsgVVJMUy53aXphcmQsIHJlcXVlc3QsIHtcclxuXHRcdFx0XHRoZWFkZXJzOiBodHRwT3B0aW9ucy5oZWFkZXJzXHJcblx0XHRcdH0pXHJcblx0XHRcdC5waXBlKGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcikpO1xyXG5cdH1cclxuXHJcblx0Z2VuZXJhdGUod2l6YXJkOiBCdWRnZXRXaXphcmQpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cFxyXG5cdFx0XHQucG9zdDxCdWRnZXREYXRhPih0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5mcm9udG9mZmljZSArIFVSTFMuZ2VuZXJhdGUsIHdpemFyZCwge1xyXG5cdFx0XHRcdGhlYWRlcnM6IGh0dHBPcHRpb25zLmhlYWRlcnNcclxuXHRcdFx0fSlcclxuXHRcdFx0LnBpcGUoY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XHJcblx0fVxyXG5cclxuXHQvKipAZGVwcmVjYXRlZCAqL1xyXG5cdG1lbnUocHJvbUNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRsZXQgb3B0aW9ucyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdwcm9tQ29kZScsIHByb21Db2RlICsgJycpO1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cFxyXG5cdFx0XHQuZ2V0PEJ1ZGdldE1lbnU+KHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmZyb250b2ZmaWNlICsgVVJMUy5tZW51LCB7XHJcblx0XHRcdFx0aGVhZGVyczogaHR0cE9wdGlvbnMuaGVhZGVycyxcclxuXHRcdFx0XHRwYXJhbXM6IG9wdGlvbnNcclxuXHRcdFx0fSlcclxuXHRcdFx0LnBpcGUoY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XHJcblx0fVxyXG5cclxuXHRkZWxldGVXaXphcmQod2l6YXJkSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRsZXQgb3B0aW9ucyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCd3aXphcmRJZCcsIHdpemFyZElkKTtcclxuXHRcdHJldHVybiB0aGlzLmh0dHBcclxuXHRcdFx0LmRlbGV0ZSh0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5mcm9udG9mZmljZSArIFVSTFMuZGVsZXRlV2l6YXJkLCB7XHJcblx0XHRcdFx0aGVhZGVyczogaHR0cE9wdGlvbnMuaGVhZGVycyxcclxuXHRcdFx0XHRwYXJhbXM6IG9wdGlvbnNcclxuXHRcdFx0fSlcclxuXHRcdFx0LnBpcGUoY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XHJcblx0fVxyXG5cclxuXHQvKiogSXQgcmV0dXJucyB0aGUgb2JzZXJ2YWJsZSBvZiBidWRnZXQgb3duIGZ1bmQgYnkgYXBwbGljYXRpb24gSWQqL1xyXG5cdGdldEJ1ZGdldE93bkZ1bmRCeUFwcGxpY2F0aW9uSWQoYXBwbGljYXRpb25JZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAuZ2V0KFxyXG5cdFx0XHR0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5mcm9udG9mZmljZSArICdidWRnZXRPd25GdW5kL2dldEJ5QXBwbGljYXRpb25JZCcsXHJcblx0XHRcdHsgcGFyYW1zOiBuZXcgSHR0cFBhcmFtcygpLnNldCgnYXBwbGljYXRpb25JZCcsIGFwcGxpY2F0aW9uSWQpIH1cclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHQvKiogSXQgc2F2ZXMgdGhlIGJ1ZGdldCBvd24gZnVuZCAqL1xyXG5cdHNhdmVCdWRnZXRPd25GdW5kKGJ1ZGdldE93bkZ1bmQ6IEJ1ZGdldE93bkZ1bmQpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5wb3N0KFxyXG5cdFx0XHR0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5mcm9udG9mZmljZSArICdidWRnZXRPd25GdW5kL3NhdmUnLFxyXG5cdFx0XHRidWRnZXRPd25GdW5kLFxyXG5cdFx0XHR0aGlzLmhlYWRlckpzb25cclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHQvKiogSXQgcmV0dXJucyB0aGUgb2JzZXJ2YWJsZSBvZiBvdGhlciBidWRnZXQgaW5mbyBkaWZmZXJlbnQgb2YgdGhlIGJ1ZGdldFNldHVwSWQgc2VuZCAqL1xyXG5cdGdldE90aGVyQnVkZ2V0QnlQcm9tQ29kaWdvKFxyXG5cdFx0cHJvbUNvZGU6IG51bWJlcixcclxuXHRcdGJ1ZGdldFNldHVwSWQ6IHN0cmluZyxcclxuXHRcdGFwcGxpY2F0aW9uSWQ6IHN0cmluZ1xyXG5cdCk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5mcm9udG9mZmljZSArICdidWRnZXQvb3RoZXJCdWRnZXQnLCB7XHJcblx0XHRcdHBhcmFtczogbmV3IEh0dHBQYXJhbXMoKVxyXG5cdFx0XHRcdC5zZXQoJ3Byb21Db2RlJywgcHJvbUNvZGUudG9TdHJpbmcoKSlcclxuXHRcdFx0XHQuc2V0KCdidWRnZXRTZXR1cElkJywgYnVkZ2V0U2V0dXBJZClcclxuXHRcdFx0XHQuc2V0KCdhcHBsaWNhdGlvbklkJywgYXBwbGljYXRpb25JZClcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0LyoqIEl0IHJldHVybnMgdGhlIG9ic2VydmFibGUgb2YgYnVkZ2V0IHNldHVwIGJ5IHByb20gY29kaWdvICovXHJcblx0Z2V0QnVkZ2V0U2V0dXBQbGlDbmZCeVByb21Db2RpZ28ocHJvbUNvZGlnbzogbnVtYmVyLCBjYXJnYXJMaXN0YXM6IGJvb2xlYW4pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5nZXQoXHJcblx0XHRcdHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmZyb250b2ZmaWNlICsgJ2J1ZGdldF9zZXR1cC9nZXRQbGlDbmZCeVByb21Db2RpZ28nLFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0cGFyYW1zOiBuZXcgSHR0cFBhcmFtcygpXHJcblx0XHRcdFx0XHQuc2V0KCdwcm9tQ29kaWdvJywgcHJvbUNvZGlnby50b1N0cmluZygpKVxyXG5cdFx0XHRcdFx0LnNldCgnY2FyZ2FyTGlzdGFzJywgY2FyZ2FyTGlzdGFzLnRvU3RyaW5nKCkpXHJcblx0XHRcdH1cclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHQvKiogSXQgcmV0dXJucyB0aGUgb2JzZXJ2YWJsZSBvZiBidWRnZXQgc2V0dXAgYnkgcHJvbSBjb2RpZ28gKi9cclxuXHRnZXRCdWRnZXRTZXR1cEJ5UHJvbUNvZGlnbyhwcm9tQ29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAuZ2V0PEJ1ZGdldFNldHVwW10+KFxyXG5cdFx0XHR0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5mcm9udG9mZmljZSArICdidWRnZXRfc2V0dXAvZ2V0QnlQcm9tQ29kaWdvJyxcclxuXHRcdFx0eyBwYXJhbXM6IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdwcm9tQ29kZScsIHByb21Db2RlLnRvU3RyaW5nKCkpIH1cclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHRcclxuXHQvKiogSXQgcmV0dXJucyB0aGUgb2JzZXJ2YWJsZSBvZiBQbGlDbmZQcmVzdXB1ZXN0b0FzaXN0ZW50ZSBzZXR1cCBieSBwcm9tIGNvZGlnbyAqL1xyXG5cdGdldEJ1ZGdldFNldHVwQnlQcm9tQ29kaWdvUnVicm8ocnViQ29kaWdvOiBudW1iZXIsIHByb21Db2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5nZXQ8UGxpQ25mUHJlc3VwdWVzdG9Bc2lzdGVudGVbXT4oXHJcblx0XHRcdHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmZyb250b2ZmaWNlICsgJ2J1ZGdldF9zZXR1cC9nZXRCeVByb21Db2RpZ29SdWJybycsXHJcblx0XHRcdHsgcGFyYW1zOiBuZXcgSHR0cFBhcmFtcygpXHJcblx0XHRcdFx0LnNldCgncnViQ29kaWdvJywgcnViQ29kaWdvLnRvU3RyaW5nKCkpXHJcblx0XHRcdFx0LnNldCgncHJvbUNvZGUnLCBwcm9tQ29kZS50b1N0cmluZygpKSB9XHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0dXBkYXRlV2l6YXJkKHdpemFyZDogQnVkZ2V0V2l6YXJkKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHBcclxuXHRcdFx0LnBvc3Q8QnVkZ2V0V2l6YXJkPihcclxuXHRcdFx0XHR0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5mcm9udG9mZmljZSArIFVSTFMudXBkYXRlV2l6YXJkLFxyXG5cdFx0XHRcdHdpemFyZCxcclxuXHRcdFx0XHR7XHJcblx0XHRcdFx0XHRoZWFkZXJzOiBodHRwT3B0aW9ucy5oZWFkZXJzXHJcblx0XHRcdFx0fVxyXG5cdFx0XHQpXHJcblx0XHRcdC5waXBlKGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcikpO1xyXG5cdH1cclxuXHJcblx0LyoqIEl0IHJldHVybnMgdGhlIGxpc3Qgb2YgYnVkZ2V0IGJ5IGFwcGxpY2F0aW9uIGlkICovXHJcblx0Z2V0QnlBcHBsaWNhdGlvbklkKGFwcGxpY2F0aW9uSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5mcm9udG9mZmljZSArIFVSTFMuZ2V0QnlBcHBsaWNhdGlvbklkLCB7XHJcblx0XHRcdHBhcmFtczogbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ2FwcGxpY2F0aW9uSWQnLCBhcHBsaWNhdGlvbklkKVxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHQvKiogSXQgcmV0dXJucyB0aGUgbGlzdCBvZiBidWRnZXQgYnkgcHJvbUNPZGlnbyBpZCAqL1xyXG5cdGdldEJ5UHJvbUNvZGlnbyhwcm9tQ29kaWdvOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuZnJvbnRvZmZpY2UgKyBVUkxTLmdldEJ5UHJvbUNvZGlnbywge1xyXG5cdFx0XHRwYXJhbXM6IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdwcm9tQ29kaWdvJywgcHJvbUNvZGlnby50b1N0cmluZygpKVxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHQvKiogSXQgcmV0dXJucyB0aGUgbGlzdCBvZiBidWRnZXQgYnkgcHJvbUNPZGlnbyBpZCAqL1xyXG5cdC8qXHJcblx0Z2V0QnlQcm9tQ29kaWdvUnVicm8ocnViQ29kaWdvOiBudW1iZXIsIHByb21Db2RpZ286IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5mcm9udG9mZmljZSArIFVSTFMuZ2V0QnlQcm9tQ29kaWdvUnVicm8sIHtcclxuXHRcdFx0cGFyYW1zOiBuZXcgSHR0cFBhcmFtcygpXHJcblx0XHRcdFx0XHQuc2V0KCdydWJDb2RpZ28nLCBydWJDb2RpZ28udG9TdHJpbmcoKSlcclxuXHRcdFx0XHRcdC5zZXQoJ3Byb21Db2RpZ28nLCBwcm9tQ29kaWdvLnRvU3RyaW5nKCkpXHJcblxyXG5cdFx0fSk7XHJcblx0fVxyXG5cdCovXHJcblxyXG5cdFxyXG5cclxuXHQvKiogSXQgcmV0dXJucyB0aGUgY29uZmlndXJlZCBjdXJyZW5jeSBvZiB0aGUgYnVkZ2V0ICovXHJcblx0Z2V0Q29uZmlndXJlZEN1cnJlbmN5KHByb21Db2RpZ286IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwLmdldChcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuZnJvbnRvZmZpY2UgKyBVUkxTLmdldENvbmZpZ3VyZWRDdXJyZW5jeSxcclxuXHRcdFx0eyBwYXJhbXM6IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdwcm9tQ29kZScsIHByb21Db2RpZ28udG9TdHJpbmcoKSkgfVxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdGdldFN1YmplY3RWYWxpZGF0ZUJ1ZGdldENoZWNrKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuc3ViamVjdFZhbGlkYXRlQnVkZ2V0Q2hlY2suYXNPYnNlcnZhYmxlKCk7XHJcblx0fVxyXG5cclxuXHRzZXRTdWJqZWN0VmFsaWRhdGVCdWRnZXRDaGVjayhzdWJqZWN0VmFsaWRhdGVCdWRnZXRDaGVjazogYm9vbGVhbiA9IHRydWUpIHtcclxuXHRcdHRoaXMuc3ViamVjdFZhbGlkYXRlQnVkZ2V0Q2hlY2submV4dChzdWJqZWN0VmFsaWRhdGVCdWRnZXRDaGVjayk7XHJcblx0fVxyXG5cclxuXHRpc0Z1bGxCdWRnZXQoYXBwbGljYXRpb25JZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmZyb250b2ZmaWNlICsgJ2J1ZGdldC9pc0Z1bGxCdWRnZXQnLCB7XHJcblx0XHRcdHBhcmFtczogbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ2FwcGxpY2F0aW9uSWQnLCBhcHBsaWNhdGlvbklkKVxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHR1cGRhdGVDb21wbGV0ZWRGbGFnKGFwcGxpY2F0aW9uSWQ6IHN0cmluZywgY29tcGxldGVkOiBib29sZWFuKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHAuZ2V0KFxyXG5cdFx0XHR0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5mcm9udG9mZmljZSArICdidWRnZXQvdXBkYXRlQ29tcGxldGVkRmxhZycsXHJcblx0XHRcdHtcclxuXHRcdFx0XHRwYXJhbXM6IG5ldyBIdHRwUGFyYW1zKClcclxuXHRcdFx0XHRcdC5zZXQoJ2FwcGxpY2F0aW9uSWQnLCBhcHBsaWNhdGlvbklkKVxyXG5cdFx0XHRcdFx0LnNldCgnY29tcGxldGVkJywgY29tcGxldGVkLnRvU3RyaW5nKCkpXHJcblx0XHRcdH1cclxuXHRcdCk7XHJcblx0fVxyXG59XHJcbiJdfQ==
|