monkey-front-core 0.0.98 → 0.0.102
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/README.md +24 -24
- package/esm2020/lib/components/closed-to-maintenance/closed-to-maintenance.component.mjs +29 -0
- package/{esm2015/lib/components/closed-to-maintenance/closed-to-maintenance.module.js → esm2020/lib/components/closed-to-maintenance/closed-to-maintenance.module.mjs} +5 -5
- package/{esm2015/lib/components/closed-to-maintenance/index.js → esm2020/lib/components/closed-to-maintenance/index.mjs} +1 -1
- package/{esm2015/lib/components/index.js → esm2020/lib/components/index.mjs} +0 -0
- package/{esm2015/lib/components/progress-bar/index.js → esm2020/lib/components/progress-bar/index.mjs} +1 -1
- package/esm2020/lib/components/progress-bar/progress-bar.component.mjs +23 -0
- package/{esm2015/lib/components/progress-bar/progress-bar.module.js → esm2020/lib/components/progress-bar/progress-bar.module.mjs} +5 -5
- package/esm2020/lib/components/progress-bar/progress-bar.service.mjs +50 -0
- package/{esm2015/lib/components/version-changed/index.js → esm2020/lib/components/version-changed/index.mjs} +1 -1
- package/esm2020/lib/components/version-changed/version-changed.component.mjs +24 -0
- package/{esm2015/lib/components/version-changed/version-changed.module.js → esm2020/lib/components/version-changed/version-changed.module.mjs} +5 -5
- package/{esm2015/lib/core/decorators/index.js → esm2020/lib/core/decorators/index.mjs} +1 -1
- package/{esm2015/lib/core/decorators/monkeyecx-charts-decorators.js → esm2020/lib/core/decorators/monkeyecx-charts-decorators.mjs} +1 -1
- package/esm2020/lib/core/decorators/monkeyecx-decorators.mjs +111 -0
- package/esm2020/lib/core/decorators/monkeyecx-download-decorators.mjs +26 -0
- package/esm2020/lib/core/decorators/monkeyecx-upload-decorators.mjs +26 -0
- package/{esm2015/lib/core/directives/index.js → esm2020/lib/core/directives/index.mjs} +1 -1
- package/{esm2015/lib/core/directives/monkeyecx-directives-module.js → esm2020/lib/core/directives/monkeyecx-directives-module.mjs} +5 -5
- package/esm2020/lib/core/directives/monkeyecx-drag-drop.mjs +57 -0
- package/esm2020/lib/core/directives/monkeyecx-feature-directive.mjs +68 -0
- package/{esm2015/lib/core/directives/monkeyecx-format-currency.js → esm2020/lib/core/directives/monkeyecx-format-currency.mjs} +4 -4
- package/esm2020/lib/core/directives/monkeyecx-format-upper.mjs +67 -0
- package/{esm2015/lib/core/directives/monkeyecx-only-alpha-numeric-directive.js → esm2020/lib/core/directives/monkeyecx-only-alpha-numeric-directive.mjs} +4 -4
- package/{esm2015/lib/core/directives/monkeyecx-only-number-directive.js → esm2020/lib/core/directives/monkeyecx-only-number-directive.mjs} +4 -4
- package/esm2020/lib/core/directives/monkeyecx-security-directive.mjs +69 -0
- package/esm2020/lib/core/directives/monkeyecx-tooltip-directive.mjs +123 -0
- package/{esm2015/lib/core/index.js → esm2020/lib/core/index.mjs} +1 -1
- package/{esm2015/lib/core/interceptors/index.js → esm2020/lib/core/interceptors/index.mjs} +1 -1
- package/esm2020/lib/core/interceptors/monkeyecx-http-config-error.interceptor.mjs +39 -0
- package/esm2020/lib/core/interceptors/monkeyecx-http-config-header.interceptor.mjs +32 -0
- package/{esm2015/lib/core/interceptors/monkeyecx-http-config-interceptor.module.js → esm2020/lib/core/interceptors/monkeyecx-http-config-interceptor.module.mjs} +5 -5
- package/esm2020/lib/core/interceptors/monkeyecx-http-config-loading-in-progress.interceptor.mjs +43 -0
- package/esm2020/lib/core/interceptors/monkeyecx-http-config-queue.interceptor.mjs +37 -0
- package/{esm2015/lib/core/interfaces/index.js → esm2020/lib/core/interfaces/index.mjs} +1 -1
- package/esm2020/lib/core/interfaces/monkeyecx-auth-credentials.mjs +2 -0
- package/{esm2015/lib/core/interfaces/monkeyecx-company.js → esm2020/lib/core/interfaces/monkeyecx-company.mjs} +1 -1
- package/esm2020/lib/core/interfaces/monkeyecx-config-boostrap.mjs +2 -0
- package/esm2020/lib/core/interfaces/monkeyecx-config.mjs +2 -0
- package/{esm2015/lib/core/interfaces/monkeyecx-error-response.js → esm2020/lib/core/interfaces/monkeyecx-error-response.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/monkeyecx-handled-error-response.js → esm2020/lib/core/interfaces/monkeyecx-handled-error-response.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/monkeyecx-header-credentials.js → esm2020/lib/core/interfaces/monkeyecx-header-credentials.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/monkeyecx-intercom-options.js → esm2020/lib/core/interfaces/monkeyecx-intercom-options.mjs} +1 -1
- package/esm2020/lib/core/interfaces/monkeyecx-me-credentials.mjs +2 -0
- package/esm2020/lib/core/interfaces/monkeyecx-navigation.mjs +2 -0
- package/{esm2015/lib/core/interfaces/monkeyecx-program.js → esm2020/lib/core/interfaces/monkeyecx-program.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/monkeyecx-releases.js → esm2020/lib/core/interfaces/monkeyecx-releases.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/monkeyecx-request-in-progress.js → esm2020/lib/core/interfaces/monkeyecx-request-in-progress.mjs} +1 -1
- package/esm2020/lib/core/interfaces/monkeyecx-request-paged.mjs +2 -0
- package/{esm2015/lib/core/interfaces/monkeyecx-response-links.js → esm2020/lib/core/interfaces/monkeyecx-response-links.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/monkeyecx-response-paged.js → esm2020/lib/core/interfaces/monkeyecx-response-paged.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/monkeyecx-saved-state.js → esm2020/lib/core/interfaces/monkeyecx-saved-state.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/monkeyecx-scroll-options.js → esm2020/lib/core/interfaces/monkeyecx-scroll-options.mjs} +1 -1
- package/esm2020/lib/core/interfaces/monkeyecx-service-credentials.mjs +2 -0
- package/{esm2015/lib/core/interfaces/monkeyecx-support-options.js → esm2020/lib/core/interfaces/monkeyecx-support-options.mjs} +1 -1
- package/esm2020/lib/core/interfaces/monkeyecx-token-credentials.mjs +2 -0
- package/{esm2015/lib/core/interfaces/monkeyecx-translate-options.js → esm2020/lib/core/interfaces/monkeyecx-translate-options.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/request-download/index.js → esm2020/lib/core/interfaces/request-download/index.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/request-download/monkeyecx-request-download.js → esm2020/lib/core/interfaces/request-download/monkeyecx-request-download.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/request-download/monkeyecx-request-downloaded.js → esm2020/lib/core/interfaces/request-download/monkeyecx-request-downloaded.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/request-download/monkeyecx-request-item-download.js → esm2020/lib/core/interfaces/request-download/monkeyecx-request-item-download.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/request-queue/index.js → esm2020/lib/core/interfaces/request-queue/index.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/request-queue/monkeyecx-request-item-queue.js → esm2020/lib/core/interfaces/request-queue/monkeyecx-request-item-queue.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/request-queue/monkeyecx-request-progress-queue.js → esm2020/lib/core/interfaces/request-queue/monkeyecx-request-progress-queue.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/request-queue/monkeyecx-request-queue.js → esm2020/lib/core/interfaces/request-queue/monkeyecx-request-queue.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/request-upload/index.js → esm2020/lib/core/interfaces/request-upload/index.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/request-upload/monkeyecx-request-item-upload.js → esm2020/lib/core/interfaces/request-upload/monkeyecx-request-item-upload.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/request-upload/monkeyecx-request-upload.js → esm2020/lib/core/interfaces/request-upload/monkeyecx-request-upload.mjs} +1 -1
- package/{esm2015/lib/core/interfaces/schedules/index.js → esm2020/lib/core/interfaces/schedules/index.mjs} +1 -1
- package/esm2020/lib/core/interfaces/schedules/monkeyecx-request-schedule.mjs +2 -0
- package/{esm2015/lib/core/model/index.js → esm2020/lib/core/model/index.mjs} +1 -1
- package/{esm2015/lib/core/model/monkeyecx-model.js → esm2020/lib/core/model/monkeyecx-model.mjs} +1 -1
- package/{esm2015/lib/core/pipes/index.js → esm2020/lib/core/pipes/index.mjs} +0 -0
- package/{esm2015/lib/core/pipes/monkeyecx-display-first-name.js → esm2020/lib/core/pipes/monkeyecx-display-first-name.mjs} +4 -4
- package/{esm2015/lib/core/pipes/monkeyecx-format-address.js → esm2020/lib/core/pipes/monkeyecx-format-address.mjs} +4 -4
- package/{esm2015/lib/core/pipes/monkeyecx-format-currency.js → esm2020/lib/core/pipes/monkeyecx-format-currency.mjs} +4 -4
- package/esm2020/lib/core/pipes/monkeyecx-format-date-group.mjs +45 -0
- package/{esm2015/lib/core/pipes/monkeyecx-format-date-timelapse.js → esm2020/lib/core/pipes/monkeyecx-format-date-timelapse.mjs} +4 -4
- package/{esm2015/lib/core/pipes/monkeyecx-format-document.js → esm2020/lib/core/pipes/monkeyecx-format-document.mjs} +4 -4
- package/{esm2015/lib/core/pipes/monkeyecx-format-number.js → esm2020/lib/core/pipes/monkeyecx-format-number.mjs} +4 -4
- package/{esm2015/lib/core/pipes/monkeyecx-format-phone.js → esm2020/lib/core/pipes/monkeyecx-format-phone.mjs} +4 -4
- package/{esm2015/lib/core/pipes/monkeyecx-format-size.js → esm2020/lib/core/pipes/monkeyecx-format-size.mjs} +4 -4
- package/{esm2015/lib/core/pipes/monkeyecx-format-type-document.js → esm2020/lib/core/pipes/monkeyecx-format-type-document.mjs} +4 -4
- package/{esm2015/lib/core/pipes/monkeyecx-format-value.js → esm2020/lib/core/pipes/monkeyecx-format-value.mjs} +4 -4
- package/{esm2015/lib/core/pipes/monkeyecx-format-zipcode.js → esm2020/lib/core/pipes/monkeyecx-format-zipcode.mjs} +4 -4
- package/{esm2015/lib/core/pipes/monkeyecx-pipes.module.js → esm2020/lib/core/pipes/monkeyecx-pipes.module.mjs} +5 -5
- package/{esm2015/lib/core/pipes/monkeyecx-text-truncate.js → esm2020/lib/core/pipes/monkeyecx-text-truncate.mjs} +4 -4
- package/{esm2015/lib/core/pipes/monkeyecx-truncate-qtd.js → esm2020/lib/core/pipes/monkeyecx-truncate-qtd.mjs} +4 -4
- package/{esm2015/lib/core/services/auth/index.js → esm2020/lib/core/services/auth/index.mjs} +1 -1
- package/{esm2015/lib/core/services/auth/monkeyecx-auth-guard-login.service.js → esm2020/lib/core/services/auth/monkeyecx-auth-guard-login.service.mjs} +4 -4
- package/{esm2015/lib/core/services/auth/monkeyecx-auth-guard.service.js → esm2020/lib/core/services/auth/monkeyecx-auth-guard.service.mjs} +4 -4
- package/esm2020/lib/core/services/auth/monkeyecx-authentication.service.mjs +61 -0
- package/{esm2015/lib/core/services/commons/index.js → esm2020/lib/core/services/commons/index.mjs} +1 -1
- package/esm2020/lib/core/services/commons/monkeyecx-commons.service.mjs +280 -0
- package/{esm2015/lib/core/services/config/monkeyecx-config.module.js → esm2020/lib/core/services/config/monkeyecx-config.module.mjs} +5 -5
- package/{esm2015/lib/core/services/config/monkeyecx-config.service.js → esm2020/lib/core/services/config/monkeyecx-config.service.mjs} +11 -9
- package/esm2020/lib/core/services/config/monkeyecx-error-config.service.mjs +85 -0
- package/esm2020/lib/core/services/config/monkeyecx-feature-toggle.service.mjs +67 -0
- package/esm2020/lib/core/services/config/monkeyecx-i18n-config.service.mjs +74 -0
- package/esm2020/lib/core/services/config/monkeyecx-logs-config.service.mjs +34 -0
- package/{esm2015/lib/core/services/config/monkeyecx-maintenance-config.service.js → esm2020/lib/core/services/config/monkeyecx-maintenance-config.service.mjs} +4 -4
- package/esm2020/lib/core/services/config/monkeyecx-security-console-config.service.mjs +42 -0
- package/esm2020/lib/core/services/config/monkeyecx-service-worker-config.service.mjs +53 -0
- package/{esm2015/lib/core/services/error/index.js → esm2020/lib/core/services/error/index.mjs} +1 -1
- package/{esm2015/lib/core/services/error/monkeyecx-error-handling.module.js → esm2020/lib/core/services/error/monkeyecx-error-handling.module.mjs} +5 -5
- package/esm2020/lib/core/services/error/monkeyecx-error-handling.service.mjs +41 -0
- package/esm2020/lib/core/services/error/monkeyecx-http-error-handling.service.mjs +127 -0
- package/{esm2015/lib/core/services/error/monkeyecx-others-errors-handling.service.js → esm2020/lib/core/services/error/monkeyecx-others-errors-handling.service.mjs} +4 -4
- package/{esm2015/lib/core/services/index.js → esm2020/lib/core/services/index.mjs} +1 -1
- package/{esm2015/lib/core/services/logged/index.js → esm2020/lib/core/services/logged/index.mjs} +1 -1
- package/{esm2015/lib/core/services/logged/monkeyecx-logged-handling.service.js → esm2020/lib/core/services/logged/monkeyecx-logged-handling.service.mjs} +4 -4
- package/esm2020/lib/core/services/monkeyecx-handling.service.mjs +50 -0
- package/esm2020/lib/core/services/monkeyecx-service.service.mjs +104 -0
- package/{esm2015/lib/core/services/request-download/index.js → esm2020/lib/core/services/request-download/index.mjs} +1 -1
- package/esm2020/lib/core/services/request-download/monkeyecx-request-download-handling.service.mjs +93 -0
- package/esm2020/lib/core/services/request-download/monkeyecx-request-downloaded-handling.service.mjs +61 -0
- package/{esm2015/lib/core/services/request-paged/index.js → esm2020/lib/core/services/request-paged/index.mjs} +1 -1
- package/esm2020/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.mjs +37 -0
- package/{esm2015/lib/core/services/request-queue/index.js → esm2020/lib/core/services/request-queue/index.mjs} +1 -1
- package/esm2020/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.mjs +114 -0
- package/esm2020/lib/core/services/request-queue/monkeyecx-request-queue-modal-handling.service.mjs +119 -0
- package/{esm2015/lib/core/services/routes/index.js → esm2020/lib/core/services/routes/index.mjs} +1 -1
- package/esm2020/lib/core/services/routes/monkeyecx-dicovery-params.service.mjs +54 -0
- package/{esm2015/lib/core/services/schedules/index.js → esm2020/lib/core/services/schedules/index.mjs} +1 -1
- package/esm2020/lib/core/services/schedules/monkeyecx-request-schedule.service.mjs +113 -0
- package/{esm2015/lib/core/services/storage/index.js → esm2020/lib/core/services/storage/index.mjs} +1 -1
- package/{esm2015/lib/core/services/storage/monkeyecx-cookie-storage.service.js → esm2020/lib/core/services/storage/monkeyecx-cookie-storage.service.mjs} +4 -4
- package/esm2020/lib/core/services/storage/monkeyecx-token-storage.service.mjs +126 -0
- package/{esm2015/lib/core/specification-search/index.js → esm2020/lib/core/specification-search/index.mjs} +1 -1
- package/{esm2015/lib/core/specification-search/monkeyecx-specification-search.js → esm2020/lib/core/specification-search/monkeyecx-specification-search.mjs} +2 -3
- package/esm2020/lib/core/utils/decorators-utils.mjs +40 -0
- package/{esm2015/lib/core/utils/index.js → esm2020/lib/core/utils/index.mjs} +1 -1
- package/{esm2015/lib/core/utils/statics.js → esm2020/lib/core/utils/statics.mjs} +1 -1
- package/esm2020/lib/core/utils/utils.mjs +218 -0
- package/esm2020/lib/core/utils/validate-utils.mjs +206 -0
- package/esm2020/lib/core/utils/validators.mjs +208 -0
- package/{esm2015/lib/monkey-front-core.module.js → esm2020/lib/monkey-front-core.module.mjs} +5 -5
- package/{esm2015/monkey-front-core.js → esm2020/monkey-front-core.mjs} +0 -0
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +1 -1
- package/fesm2015/{monkey-front-core.js → monkey-front-core.mjs} +217 -228
- package/fesm2015/monkey-front-core.mjs.map +1 -0
- package/fesm2020/monkey-front-core.mjs +4265 -0
- package/fesm2020/monkey-front-core.mjs.map +1 -0
- package/lib/core/pipes/monkeyecx-format-currency.d.ts +1 -1
- package/lib/core/services/auth/monkeyecx-authentication.service.d.ts +3 -3
- package/lib/core/services/commons/monkeyecx-commons.service.d.ts +15 -15
- package/lib/core/services/schedules/monkeyecx-request-schedule.service.d.ts +1 -1
- package/lib/core/utils/validate-utils.d.ts +13 -13
- package/monkey-front-core-0.0.102.tgz +0 -0
- package/package.json +20 -7
- package/bundles/monkey-front-core.umd.js +0 -4900
- package/bundles/monkey-front-core.umd.js.map +0 -1
- package/esm2015/lib/components/closed-to-maintenance/closed-to-maintenance.component.js +0 -35
- package/esm2015/lib/components/progress-bar/progress-bar.component.js +0 -29
- package/esm2015/lib/components/progress-bar/progress-bar.service.js +0 -53
- package/esm2015/lib/components/version-changed/version-changed.component.js +0 -29
- package/esm2015/lib/core/decorators/monkeyecx-decorators.js +0 -112
- package/esm2015/lib/core/decorators/monkeyecx-download-decorators.js +0 -25
- package/esm2015/lib/core/decorators/monkeyecx-upload-decorators.js +0 -25
- package/esm2015/lib/core/directives/monkeyecx-drag-drop.js +0 -57
- package/esm2015/lib/core/directives/monkeyecx-feature-directive.js +0 -68
- package/esm2015/lib/core/directives/monkeyecx-format-upper.js +0 -69
- package/esm2015/lib/core/directives/monkeyecx-security-directive.js +0 -69
- package/esm2015/lib/core/directives/monkeyecx-tooltip-directive.js +0 -124
- package/esm2015/lib/core/interceptors/monkeyecx-http-config-error.interceptor.js +0 -40
- package/esm2015/lib/core/interceptors/monkeyecx-http-config-header.interceptor.js +0 -33
- package/esm2015/lib/core/interceptors/monkeyecx-http-config-loading-in-progress.interceptor.js +0 -44
- package/esm2015/lib/core/interceptors/monkeyecx-http-config-queue.interceptor.js +0 -38
- package/esm2015/lib/core/interfaces/monkeyecx-auth-credentials.js +0 -2
- package/esm2015/lib/core/interfaces/monkeyecx-config-boostrap.js +0 -2
- package/esm2015/lib/core/interfaces/monkeyecx-config.js +0 -2
- package/esm2015/lib/core/interfaces/monkeyecx-me-credentials.js +0 -2
- package/esm2015/lib/core/interfaces/monkeyecx-navigation.js +0 -2
- package/esm2015/lib/core/interfaces/monkeyecx-request-paged.js +0 -2
- package/esm2015/lib/core/interfaces/monkeyecx-service-credentials.js +0 -2
- package/esm2015/lib/core/interfaces/monkeyecx-token-credentials.js +0 -2
- package/esm2015/lib/core/interfaces/schedules/monkeyecx-request-schedule.js +0 -2
- package/esm2015/lib/core/pipes/monkeyecx-format-date-group.js +0 -46
- package/esm2015/lib/core/services/auth/monkeyecx-authentication.service.js +0 -61
- package/esm2015/lib/core/services/commons/monkeyecx-commons.service.js +0 -265
- package/esm2015/lib/core/services/config/monkeyecx-error-config.service.js +0 -85
- package/esm2015/lib/core/services/config/monkeyecx-feature-toggle.service.js +0 -70
- package/esm2015/lib/core/services/config/monkeyecx-i18n-config.service.js +0 -72
- package/esm2015/lib/core/services/config/monkeyecx-logs-config.service.js +0 -34
- package/esm2015/lib/core/services/config/monkeyecx-security-console-config.service.js +0 -42
- package/esm2015/lib/core/services/config/monkeyecx-service-worker-config.service.js +0 -54
- package/esm2015/lib/core/services/error/monkeyecx-error-handling.service.js +0 -41
- package/esm2015/lib/core/services/error/monkeyecx-http-error-handling.service.js +0 -132
- package/esm2015/lib/core/services/monkeyecx-handling.service.js +0 -50
- package/esm2015/lib/core/services/monkeyecx-service.service.js +0 -102
- package/esm2015/lib/core/services/request-download/monkeyecx-request-download-handling.service.js +0 -81
- package/esm2015/lib/core/services/request-download/monkeyecx-request-downloaded-handling.service.js +0 -55
- package/esm2015/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.js +0 -37
- package/esm2015/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.js +0 -101
- package/esm2015/lib/core/services/request-queue/monkeyecx-request-queue-modal-handling.service.js +0 -106
- package/esm2015/lib/core/services/routes/monkeyecx-dicovery-params.service.js +0 -55
- package/esm2015/lib/core/services/schedules/monkeyecx-request-schedule.service.js +0 -99
- package/esm2015/lib/core/services/storage/monkeyecx-token-storage.service.js +0 -123
- package/esm2015/lib/core/utils/decorators-utils.js +0 -37
- package/esm2015/lib/core/utils/utils.js +0 -219
- package/esm2015/lib/core/utils/validate-utils.js +0 -210
- package/esm2015/lib/core/utils/validators.js +0 -211
- package/fesm2015/monkey-front-core.js.map +0 -1
- package/monkey-front-core-0.0.98.tgz +0 -0
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/* eslint-disable no-console */
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { MonkeyEcxCommonsService } from '../commons';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@ngx-translate/core";
|
|
6
|
-
export class MonkeyEcxSecurityConsoleConfigService extends MonkeyEcxCommonsService {
|
|
7
|
-
constructor(translateService) {
|
|
8
|
-
super();
|
|
9
|
-
this.translateService = translateService;
|
|
10
|
-
this.geti18n(this.translateService, 'SERVICES.WARNING.CONSOLE');
|
|
11
|
-
}
|
|
12
|
-
handleValidation() {
|
|
13
|
-
this.__oni18nDataChanged$.subscribe(() => {
|
|
14
|
-
const { __i18n } = this;
|
|
15
|
-
const title = __i18n === null || __i18n === void 0 ? void 0 : __i18n.TITLE;
|
|
16
|
-
const message = __i18n === null || __i18n === void 0 ? void 0 : __i18n.MESSAGE;
|
|
17
|
-
if (title) {
|
|
18
|
-
console.log(`%c${title}`, 'background: #f2f061; color: #ff0000; font-size: x-large');
|
|
19
|
-
console.log(`%c${message}`, 'font-size: x-large');
|
|
20
|
-
console.log('%c __ __ _ ______ \n ' +
|
|
21
|
-
'| \\/ | ___ _ __ | | _____ _ _\\ \\ \\ \\ \n ' +
|
|
22
|
-
"| |\\/| |/ _ \\| '_ \\| |/ / _ \\ | | |\\ \\ \\ \\ \n " +
|
|
23
|
-
'| | | | (_) | | | | < __/ |_| |/ / / / \n ' +
|
|
24
|
-
'|_| |_|\\___/|_| |_|_|\\_\\___|\\__, /_/_/_/ \n ' +
|
|
25
|
-
' |___/ \n ' +
|
|
26
|
-
'Join us: https://monkeyecx.gupy.io', 'background: #1976d2; color: #fff');
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
apply() {
|
|
31
|
-
this.handleValidation();
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
MonkeyEcxSecurityConsoleConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxSecurityConsoleConfigService, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
35
|
-
MonkeyEcxSecurityConsoleConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxSecurityConsoleConfigService, providedIn: 'root' });
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxSecurityConsoleConfigService, decorators: [{
|
|
37
|
-
type: Injectable,
|
|
38
|
-
args: [{
|
|
39
|
-
providedIn: 'root'
|
|
40
|
-
}]
|
|
41
|
-
}], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXNlY3VyaXR5LWNvbnNvbGUtY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc2VydmljZXMvY29uZmlnL21vbmtleWVjeC1zZWN1cml0eS1jb25zb2xlLWNvbmZpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFlBQVksQ0FBQzs7O0FBS3JELE1BQU0sT0FBTyxxQ0FBc0MsU0FBUSx1QkFBdUI7SUFDaEYsWUFBb0IsZ0JBQWtDO1FBQ3BELEtBQUssRUFBRSxDQUFDO1FBRFUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUdwRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSwwQkFBMEIsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdkMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQztZQUN4QixNQUFNLEtBQUssR0FBRyxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsS0FBSyxDQUFDO1lBQzVCLE1BQU0sT0FBTyxHQUFHLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxPQUFPLENBQUM7WUFDaEMsSUFBSSxLQUFLLEVBQUU7Z0JBQ1QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEtBQUssRUFBRSxFQUFFLHlEQUF5RCxDQUFDLENBQUM7Z0JBQ3JGLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxPQUFPLEVBQUUsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO2dCQUNsRCxPQUFPLENBQUMsR0FBRyxDQUNULG1EQUFtRDtvQkFDbkQscURBQXFEO29CQUNyRCx3REFBd0Q7b0JBQ3hELGdEQUFnRDtvQkFDaEQsb0RBQW9EO29CQUNwRCxnREFBZ0Q7b0JBQ2hELG9DQUFvQyxFQUFFLGtDQUFrQyxDQUN6RSxDQUFDO2FBQ0g7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQzs7bUlBOUJVLHFDQUFxQzt1SUFBckMscUNBQXFDLGNBRnBDLE1BQU07NEZBRVAscUNBQXFDO2tCQUhqRCxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IE1vbmtleUVjeENvbW1vbnNTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9ucyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hTZWN1cml0eUNvbnNvbGVDb25maWdTZXJ2aWNlIGV4dGVuZHMgTW9ua2V5RWN4Q29tbW9uc1NlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSkge1xyXG4gICAgc3VwZXIoKTtcclxuXHJcbiAgICB0aGlzLmdldGkxOG4odGhpcy50cmFuc2xhdGVTZXJ2aWNlLCAnU0VSVklDRVMuV0FSTklORy5DT05TT0xFJyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZVZhbGlkYXRpb24oKSB7XHJcbiAgICB0aGlzLl9fb25pMThuRGF0YUNoYW5nZWQkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IHsgX19pMThuIH0gPSB0aGlzO1xyXG4gICAgICBjb25zdCB0aXRsZSA9IF9faTE4bj8uVElUTEU7XHJcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBfX2kxOG4/Lk1FU1NBR0U7XHJcbiAgICAgIGlmICh0aXRsZSkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGAlYyR7dGl0bGV9YCwgJ2JhY2tncm91bmQ6ICNmMmYwNjE7IGNvbG9yOiAjZmYwMDAwOyBmb250LXNpemU6IHgtbGFyZ2UnKTtcclxuICAgICAgICBjb25zb2xlLmxvZyhgJWMke21lc3NhZ2V9YCwgJ2ZvbnQtc2l6ZTogeC1sYXJnZScpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFxyXG4gICAgICAgICAgJyVjICBfXyAgX18gICAgICAgICAgICAgXyAgICAgICAgICAgICBfX19fX18gICBcXG4gJyArXHJcbiAgICAgICAgICAnfCAgXFxcXC8gIHwgX19fICBfIF9fIHwgfCBfX19fXyBfICAgX1xcXFwgXFxcXCBcXFxcIFxcXFwgIFxcbiAnICtcclxuICAgICAgICAgIFwifCB8XFxcXC98IHwvIF8gXFxcXHwgJ18gXFxcXHwgfC8gLyBfIFxcXFwgfCB8IHxcXFxcIFxcXFwgXFxcXCBcXFxcIFxcbiBcIiArXHJcbiAgICAgICAgICAnfCB8ICB8IHwgKF8pIHwgfCB8IHwgICA8ICBfXy8gfF98IHwvIC8gLyAvIFxcbiAnICtcclxuICAgICAgICAgICd8X3wgIHxffFxcXFxfX18vfF98IHxffF98XFxcXF9cXFxcX19ffFxcXFxfXywgL18vXy9fLyAgXFxuICcgK1xyXG4gICAgICAgICAgJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfF9fXy8gICAgICAgICBcXG4gJyArXHJcbiAgICAgICAgICAnSm9pbiB1czogaHR0cHM6Ly9tb25rZXllY3guZ3VweS5pbycsICdiYWNrZ3JvdW5kOiAjMTk3NmQyOyBjb2xvcjogI2ZmZidcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhcHBseSgpIHtcclxuICAgIHRoaXMuaGFuZGxlVmFsaWRhdGlvbigpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { concat, interval } from 'rxjs';
|
|
3
|
-
import { first } from 'rxjs/operators';
|
|
4
|
-
import { VersionChangedComponent } from '../../../components/version-changed';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/service-worker";
|
|
7
|
-
import * as i2 from "monkey-style-guide";
|
|
8
|
-
export class MonkeyEcxServiceWorkerConfigService {
|
|
9
|
-
constructor(appRef, updates, modalService) {
|
|
10
|
-
this.appRef = appRef;
|
|
11
|
-
this.updates = updates;
|
|
12
|
-
this.modalService = modalService;
|
|
13
|
-
// not to do
|
|
14
|
-
}
|
|
15
|
-
handleValidation(config) {
|
|
16
|
-
var _a;
|
|
17
|
-
const { updates, modalService } = this;
|
|
18
|
-
(_a = updates === null || updates === void 0 ? void 0 : updates.available) === null || _a === void 0 ? void 0 : _a.subscribe(() => {
|
|
19
|
-
if (!config.showNewVersion || config.maintenance.closed) {
|
|
20
|
-
document.location.reload();
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
modalService.open(VersionChangedComponent, {
|
|
24
|
-
color: 'theme',
|
|
25
|
-
size: 'md'
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
verify() {
|
|
31
|
-
const { appRef, updates } = this;
|
|
32
|
-
const appIsStable$ = appRef.isStable
|
|
33
|
-
.pipe(first((isStable) => { return isStable === true; }));
|
|
34
|
-
const everyHour$ = interval(1 * 60 * 60 * 1000);
|
|
35
|
-
const everyHourOnceAppIsStable$ = concat(appIsStable$, everyHour$);
|
|
36
|
-
everyHourOnceAppIsStable$.subscribe(() => {
|
|
37
|
-
updates.checkForUpdate();
|
|
38
|
-
});
|
|
39
|
-
updates.checkForUpdate();
|
|
40
|
-
}
|
|
41
|
-
apply(config) {
|
|
42
|
-
this.handleValidation(config);
|
|
43
|
-
this.verify();
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
MonkeyEcxServiceWorkerConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxServiceWorkerConfigService, deps: [{ token: i0.ApplicationRef }, { token: i1.SwUpdate }, { token: i2.MonkeyStyleGuideModalService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
47
|
-
MonkeyEcxServiceWorkerConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxServiceWorkerConfigService, providedIn: 'root' });
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxServiceWorkerConfigService, decorators: [{
|
|
49
|
-
type: Injectable,
|
|
50
|
-
args: [{
|
|
51
|
-
providedIn: 'root'
|
|
52
|
-
}]
|
|
53
|
-
}], ctorParameters: function () { return [{ type: i0.ApplicationRef }, { type: i1.SwUpdate }, { type: i2.MonkeyStyleGuideModalService }]; } });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXNlcnZpY2Utd29ya2VyLWNvbmZpZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvcmUvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL2NvbmZpZy9tb25rZXllY3gtc2VydmljZS13b3JrZXItY29uZmlnLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQixVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7O0FBTTlFLE1BQU0sT0FBTyxtQ0FBbUM7SUFDOUMsWUFDVSxNQUFzQixFQUN0QixPQUFpQixFQUNqQixZQUEwQztRQUYxQyxXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUN0QixZQUFPLEdBQVAsT0FBTyxDQUFVO1FBQ2pCLGlCQUFZLEdBQVosWUFBWSxDQUE4QjtRQUNsRCxZQUFZO0lBQ2QsQ0FBQztJQUVPLGdCQUFnQixDQUFDLE1BQStCOztRQUN0RCxNQUFNLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxHQUFHLElBQUksQ0FBQztRQUN2QyxNQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxTQUFTLDBDQUFFLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUU7Z0JBQ3ZELFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDNUI7aUJBQU07Z0JBQ0wsWUFBWSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRTtvQkFDekMsS0FBSyxFQUFFLE9BQU87b0JBQ2QsSUFBSSxFQUFFLElBQUk7aUJBQ1gsQ0FBQyxDQUFDO2FBQ0o7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxNQUFNO1FBQ1osTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDakMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLFFBQVE7YUFDakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQWlCLEVBQUUsRUFBRSxHQUFHLE9BQU8sUUFBUSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckUsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ2hELE1BQU0seUJBQXlCLEdBQUcsTUFBTSxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNuRSx5QkFBeUIsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3ZDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU0sS0FBSyxDQUFDLE1BQStCO1FBQzFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQzs7aUlBckNVLG1DQUFtQztxSUFBbkMsbUNBQW1DLGNBRmxDLE1BQU07NEZBRVAsbUNBQW1DO2tCQUgvQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcGxpY2F0aW9uUmVmLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTd1VwZGF0ZSB9IGZyb20gJ0Bhbmd1bGFyL3NlcnZpY2Utd29ya2VyJztcbmltcG9ydCB7IE1vbmtleVN0eWxlR3VpZGVNb2RhbFNlcnZpY2UgfSBmcm9tICdtb25rZXktc3R5bGUtZ3VpZGUnO1xuaW1wb3J0IHsgY29uY2F0LCBpbnRlcnZhbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBWZXJzaW9uQ2hhbmdlZENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvdmVyc2lvbi1jaGFuZ2VkJztcbmltcG9ydCB7IE1vbmtleUVjeENvbmZpZ0Jvb3N0cmFwIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE1vbmtleUVjeFNlcnZpY2VXb3JrZXJDb25maWdTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhcHBSZWY6IEFwcGxpY2F0aW9uUmVmLFxuICAgIHByaXZhdGUgdXBkYXRlczogU3dVcGRhdGUsXG4gICAgcHJpdmF0ZSBtb2RhbFNlcnZpY2U6IE1vbmtleVN0eWxlR3VpZGVNb2RhbFNlcnZpY2UpIHtcbiAgICAvLyBub3QgdG8gZG9cbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlVmFsaWRhdGlvbihjb25maWc6IE1vbmtleUVjeENvbmZpZ0Jvb3N0cmFwKSB7XG4gICAgY29uc3QgeyB1cGRhdGVzLCBtb2RhbFNlcnZpY2UgfSA9IHRoaXM7XG4gICAgdXBkYXRlcz8uYXZhaWxhYmxlPy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgaWYgKCFjb25maWcuc2hvd05ld1ZlcnNpb24gfHwgY29uZmlnLm1haW50ZW5hbmNlLmNsb3NlZCkge1xuICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5yZWxvYWQoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG1vZGFsU2VydmljZS5vcGVuKFZlcnNpb25DaGFuZ2VkQ29tcG9uZW50LCB7XG4gICAgICAgICAgY29sb3I6ICd0aGVtZScsXG4gICAgICAgICAgc2l6ZTogJ21kJ1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdmVyaWZ5KCkge1xuICAgIGNvbnN0IHsgYXBwUmVmLCB1cGRhdGVzIH0gPSB0aGlzO1xuICAgIGNvbnN0IGFwcElzU3RhYmxlJCA9IGFwcFJlZi5pc1N0YWJsZVxuICAgICAgLnBpcGUoZmlyc3QoKGlzU3RhYmxlOiBib29sZWFuKSA9PiB7IHJldHVybiBpc1N0YWJsZSA9PT0gdHJ1ZTsgfSkpO1xuICAgIGNvbnN0IGV2ZXJ5SG91ciQgPSBpbnRlcnZhbCgxICogNjAgKiA2MCAqIDEwMDApO1xuICAgIGNvbnN0IGV2ZXJ5SG91ck9uY2VBcHBJc1N0YWJsZSQgPSBjb25jYXQoYXBwSXNTdGFibGUkLCBldmVyeUhvdXIkKTtcbiAgICBldmVyeUhvdXJPbmNlQXBwSXNTdGFibGUkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB1cGRhdGVzLmNoZWNrRm9yVXBkYXRlKCk7XG4gICAgfSk7XG4gICAgdXBkYXRlcy5jaGVja0ZvclVwZGF0ZSgpO1xuICB9XG5cbiAgcHVibGljIGFwcGx5KGNvbmZpZzogTW9ua2V5RWN4Q29uZmlnQm9vc3RyYXApIHtcbiAgICB0aGlzLmhhbmRsZVZhbGlkYXRpb24oY29uZmlnKTtcbiAgICB0aGlzLnZlcmlmeSgpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { HttpErrorResponse } from '@angular/common/http';
|
|
3
|
-
import { MonkeyEcxHttpErrorHandlingService } from './monkeyecx-http-error-handling.service';
|
|
4
|
-
import { MonkeyEcxHandlingService } from '../monkeyecx-handling.service';
|
|
5
|
-
import { MonkeyEcxOthersErrorsHandlingService } from './monkeyecx-others-errors-handling.service';
|
|
6
|
-
import { MonkeyEcxUtils } from '../../utils/utils';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
export class MonkeyEcxErrorHandlingService {
|
|
9
|
-
constructor(injector) {
|
|
10
|
-
this.injector = injector;
|
|
11
|
-
// not to do
|
|
12
|
-
}
|
|
13
|
-
handleError(error, type) {
|
|
14
|
-
const { injector } = this;
|
|
15
|
-
const handlingService = injector.get(MonkeyEcxHandlingService);
|
|
16
|
-
const httpErrorHandlingService = injector.get(MonkeyEcxHttpErrorHandlingService);
|
|
17
|
-
const othersErrorsHandlingService = injector.get(MonkeyEcxOthersErrorsHandlingService);
|
|
18
|
-
console.log('======error');
|
|
19
|
-
console.log(error);
|
|
20
|
-
if (error instanceof HttpErrorResponse) {
|
|
21
|
-
const sCredentials = (handlingService === null || handlingService === void 0 ? void 0 : handlingService.getMonkeyEcxServiceCredentials()) || {};
|
|
22
|
-
if (MonkeyEcxUtils.persistNullEmptyUndefined(type) && type === 'refresh_token') {
|
|
23
|
-
httpErrorHandlingService.handleErrorRefreshToken(error, sCredentials);
|
|
24
|
-
}
|
|
25
|
-
else
|
|
26
|
-
httpErrorHandlingService.handleError(error, sCredentials);
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
othersErrorsHandlingService.handleError(error);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
MonkeyEcxErrorHandlingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxErrorHandlingService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
34
|
-
MonkeyEcxErrorHandlingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxErrorHandlingService, providedIn: 'root' });
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxErrorHandlingService, decorators: [{
|
|
36
|
-
type: Injectable,
|
|
37
|
-
args: [{
|
|
38
|
-
providedIn: 'root',
|
|
39
|
-
}]
|
|
40
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWVycm9yLWhhbmRsaW5nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc2VydmljZXMvZXJyb3IvbW9ua2V5ZWN4LWVycm9yLWhhbmRsaW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBMEIsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDNUYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDbEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQU1uRCxNQUFNLE9BQU8sNkJBQTZCO0lBQ3hDLFlBQW9CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDcEMsWUFBWTtJQUNkLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBVSxFQUFFLElBQWE7UUFDbkMsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQztRQUMxQixNQUFNLGVBQWUsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDL0QsTUFBTSx3QkFBd0IsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7UUFDakYsTUFBTSwyQkFBMkIsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7UUFFdkYsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMzQixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRW5CLElBQUksS0FBSyxZQUFZLGlCQUFpQixFQUFFO1lBQ3RDLE1BQU0sWUFBWSxHQUNoQixDQUFBLGVBQWUsYUFBZixlQUFlLHVCQUFmLGVBQWUsQ0FBRSw4QkFBOEIsRUFBRSxLQUFJLEVBQUUsQ0FBQztZQUMxRCxJQUFJLGNBQWMsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLEtBQUssZUFBZSxFQUFFO2dCQUM5RSx3QkFBd0IsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7YUFDdkU7O2dCQUFNLHdCQUF3QixDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7U0FDbEU7YUFBTTtZQUNMLDJCQUEyQixDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNoRDtJQUNILENBQUM7OzJIQXZCVSw2QkFBNkI7K0hBQTdCLDZCQUE2QixjQUY1QixNQUFNOzRGQUVQLDZCQUE2QjtrQkFIekMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciwgRXJyb3JIYW5kbGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hIdHRwRXJyb3JIYW5kbGluZ1NlcnZpY2UgfSBmcm9tICcuL21vbmtleWVjeC1odHRwLWVycm9yLWhhbmRsaW5nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hIYW5kbGluZ1NlcnZpY2UgfSBmcm9tICcuLi9tb25rZXllY3gtaGFuZGxpbmcuc2VydmljZSc7XHJcbmltcG9ydCB7IE1vbmtleUVjeE90aGVyc0Vycm9yc0hhbmRsaW5nU2VydmljZSB9IGZyb20gJy4vbW9ua2V5ZWN4LW90aGVycy1lcnJvcnMtaGFuZGxpbmcuc2VydmljZSc7XHJcbmltcG9ydCB7IE1vbmtleUVjeFV0aWxzIH0gZnJvbSAnLi4vLi4vdXRpbHMvdXRpbHMnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hTZXJ2aWNlQ3JlZGVudGlhbHMgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hFcnJvckhhbmRsaW5nU2VydmljZSBpbXBsZW1lbnRzIEVycm9ySGFuZGxlciB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICAgIC8vIG5vdCB0byBkb1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlRXJyb3IoZXJyb3I6IGFueSwgdHlwZT86IHN0cmluZykge1xyXG4gICAgY29uc3QgeyBpbmplY3RvciB9ID0gdGhpcztcclxuICAgIGNvbnN0IGhhbmRsaW5nU2VydmljZSA9IGluamVjdG9yLmdldChNb25rZXlFY3hIYW5kbGluZ1NlcnZpY2UpO1xyXG4gICAgY29uc3QgaHR0cEVycm9ySGFuZGxpbmdTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KE1vbmtleUVjeEh0dHBFcnJvckhhbmRsaW5nU2VydmljZSk7XHJcbiAgICBjb25zdCBvdGhlcnNFcnJvcnNIYW5kbGluZ1NlcnZpY2UgPSBpbmplY3Rvci5nZXQoTW9ua2V5RWN4T3RoZXJzRXJyb3JzSGFuZGxpbmdTZXJ2aWNlKTtcclxuXHJcbiAgICBjb25zb2xlLmxvZygnPT09PT09ZXJyb3InKTtcclxuICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuXHJcbiAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkge1xyXG4gICAgICBjb25zdCBzQ3JlZGVudGlhbHM6IE1vbmtleUVjeFNlcnZpY2VDcmVkZW50aWFscyA9XHJcbiAgICAgICAgaGFuZGxpbmdTZXJ2aWNlPy5nZXRNb25rZXlFY3hTZXJ2aWNlQ3JlZGVudGlhbHMoKSB8fCB7fTtcclxuICAgICAgaWYgKE1vbmtleUVjeFV0aWxzLnBlcnNpc3ROdWxsRW1wdHlVbmRlZmluZWQodHlwZSkgJiYgdHlwZSA9PT0gJ3JlZnJlc2hfdG9rZW4nKSB7XHJcbiAgICAgICAgaHR0cEVycm9ySGFuZGxpbmdTZXJ2aWNlLmhhbmRsZUVycm9yUmVmcmVzaFRva2VuKGVycm9yLCBzQ3JlZGVudGlhbHMpO1xyXG4gICAgICB9IGVsc2UgaHR0cEVycm9ySGFuZGxpbmdTZXJ2aWNlLmhhbmRsZUVycm9yKGVycm9yLCBzQ3JlZGVudGlhbHMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgb3RoZXJzRXJyb3JzSGFuZGxpbmdTZXJ2aWNlLmhhbmRsZUVycm9yKGVycm9yKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import { Injectable, NgZone } from '@angular/core';
|
|
2
|
-
import { MonkeyEcxCommonsService } from '../commons';
|
|
3
|
-
import { MonkeyEcxUtils } from '../../utils/utils';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../monkeyecx-service.service";
|
|
6
|
-
import * as i2 from "../storage";
|
|
7
|
-
import * as i3 from "../auth";
|
|
8
|
-
import * as i4 from "@angular/router";
|
|
9
|
-
import * as i5 from "monkey-style-guide";
|
|
10
|
-
import * as i6 from "@ngx-translate/core";
|
|
11
|
-
export class MonkeyEcxHttpErrorHandlingService extends MonkeyEcxCommonsService {
|
|
12
|
-
constructor(monkeyecxService, tokenStorage, monkeyecxAuthenticationService, router, snackbarService, translateService) {
|
|
13
|
-
super(monkeyecxService, tokenStorage);
|
|
14
|
-
this.monkeyecxAuthenticationService = monkeyecxAuthenticationService;
|
|
15
|
-
this.router = router;
|
|
16
|
-
this.snackbarService = snackbarService;
|
|
17
|
-
this.translateService = translateService;
|
|
18
|
-
super.resolve(null, null);
|
|
19
|
-
this.geti18n(this.translateService, 'SERVICES.WARNING');
|
|
20
|
-
}
|
|
21
|
-
isHttpCodeIgnoreMessage(tp, httpCode) {
|
|
22
|
-
var _a, _b;
|
|
23
|
-
if (!MonkeyEcxUtils.persistNullEmptyUndefined(tp) && !(tp === null || tp === void 0 ? void 0 : tp.httpResponse)) {
|
|
24
|
-
return false;
|
|
25
|
-
}
|
|
26
|
-
const found = ((_b = (((_a = tp === null || tp === void 0 ? void 0 : tp.httpResponse) === null || _a === void 0 ? void 0 : _a.httpCodeIgnore) || [])) === null || _b === void 0 ? void 0 : _b.indexOf(httpCode)) > -1;
|
|
27
|
-
return found;
|
|
28
|
-
}
|
|
29
|
-
isHttpCodeIgnoreRedirect(tp, httpCode) {
|
|
30
|
-
var _a, _b;
|
|
31
|
-
if (!MonkeyEcxUtils.persistNullEmptyUndefined(tp) && !(tp === null || tp === void 0 ? void 0 : tp.httpResponse)) {
|
|
32
|
-
return false;
|
|
33
|
-
}
|
|
34
|
-
const found = ((_b = (((_a = tp === null || tp === void 0 ? void 0 : tp.httpResponse) === null || _a === void 0 ? void 0 : _a.httpCodeIgnoreRedirect) || [])) === null || _b === void 0 ? void 0 : _b.indexOf(httpCode)) > -1;
|
|
35
|
-
return found;
|
|
36
|
-
}
|
|
37
|
-
getMessageType(status) {
|
|
38
|
-
if (status === 409 || status === 400) {
|
|
39
|
-
return 'warning';
|
|
40
|
-
}
|
|
41
|
-
return 'error';
|
|
42
|
-
}
|
|
43
|
-
showMessage(message, error, mkc) {
|
|
44
|
-
var _a;
|
|
45
|
-
const { snackbarService } = this;
|
|
46
|
-
if (!this.isHttpCodeIgnoreMessage(mkc, error.status)) {
|
|
47
|
-
snackbarService.show({
|
|
48
|
-
title: (_a = this.__i18n) === null || _a === void 0 ? void 0 : _a.TITLE,
|
|
49
|
-
message,
|
|
50
|
-
type: this.getMessageType(error.status),
|
|
51
|
-
duration: 4000,
|
|
52
|
-
horizontalPosition: 'center',
|
|
53
|
-
verticalPosition: 'top'
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
handleMessage(error, mkc) {
|
|
58
|
-
var _a;
|
|
59
|
-
// eslint-disable-next-line camelcase
|
|
60
|
-
const { notifications, error_description, message } = error.error;
|
|
61
|
-
let customMessage = '';
|
|
62
|
-
if (message) {
|
|
63
|
-
customMessage = message;
|
|
64
|
-
}
|
|
65
|
-
// eslint-disable-next-line camelcase
|
|
66
|
-
if (error_description) {
|
|
67
|
-
// eslint-disable-next-line camelcase
|
|
68
|
-
customMessage = error_description;
|
|
69
|
-
}
|
|
70
|
-
if (notifications) {
|
|
71
|
-
customMessage = notifications;
|
|
72
|
-
}
|
|
73
|
-
if (!customMessage) {
|
|
74
|
-
if (error.error instanceof Blob) {
|
|
75
|
-
const blob = new Blob([error.error], {
|
|
76
|
-
type: 'application/json'
|
|
77
|
-
});
|
|
78
|
-
const reader = new FileReader();
|
|
79
|
-
reader.addEventListener('loadend', (e) => {
|
|
80
|
-
var _a;
|
|
81
|
-
const text = (_a = e === null || e === void 0 ? void 0 : e.target) === null || _a === void 0 ? void 0 : _a.result;
|
|
82
|
-
const jsonResp = JSON.parse(text);
|
|
83
|
-
customMessage = jsonResp.notifications;
|
|
84
|
-
this.showMessage(customMessage, error, mkc);
|
|
85
|
-
});
|
|
86
|
-
reader.readAsText(blob);
|
|
87
|
-
}
|
|
88
|
-
else {
|
|
89
|
-
this.showMessage((_a = this.__i18n['ERROR-HANDLING']) === null || _a === void 0 ? void 0 : _a.ERROR, error, mkc);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
this.showMessage(customMessage, error, mkc);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
handleError(error, mkc) {
|
|
97
|
-
const { router } = this;
|
|
98
|
-
const { status } = error;
|
|
99
|
-
const routes = {
|
|
100
|
-
403: 'forbidden',
|
|
101
|
-
500: 'service-problems',
|
|
102
|
-
503: 'service-problems'
|
|
103
|
-
};
|
|
104
|
-
const found = routes[status];
|
|
105
|
-
let timeout = 0;
|
|
106
|
-
if (found && !this.isHttpCodeIgnoreRedirect(mkc, error === null || error === void 0 ? void 0 : error.status)) {
|
|
107
|
-
const route = `/app/pages/${found}`.toLowerCase();
|
|
108
|
-
timeout = 800;
|
|
109
|
-
router.navigate([route]);
|
|
110
|
-
}
|
|
111
|
-
setTimeout(() => {
|
|
112
|
-
this.handleMessage(error, mkc);
|
|
113
|
-
}, timeout);
|
|
114
|
-
}
|
|
115
|
-
handleErrorRefreshToken(error, mkc) {
|
|
116
|
-
if (error.status === 401 || error.status === 400) {
|
|
117
|
-
NgZone.call(this.monkeyecxAuthenticationService.redirectLoginWelcomeBack(), {});
|
|
118
|
-
}
|
|
119
|
-
else if (!this.isHttpCodeIgnoreMessage(mkc, error.status)) {
|
|
120
|
-
this.handleMessage(error, mkc);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
MonkeyEcxHttpErrorHandlingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxHttpErrorHandlingService, deps: [{ token: i1.MonkeyEcxService }, { token: i2.MonkeyEcxTokenStorageService }, { token: i3.MonkeyEcxAuthenticationService }, { token: i4.Router }, { token: i5.MonkeyStyleGuideSnackbarService }, { token: i6.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
125
|
-
MonkeyEcxHttpErrorHandlingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxHttpErrorHandlingService, providedIn: 'root' });
|
|
126
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxHttpErrorHandlingService, decorators: [{
|
|
127
|
-
type: Injectable,
|
|
128
|
-
args: [{
|
|
129
|
-
providedIn: 'root'
|
|
130
|
-
}]
|
|
131
|
-
}], ctorParameters: function () { return [{ type: i1.MonkeyEcxService }, { type: i2.MonkeyEcxTokenStorageService }, { type: i3.MonkeyEcxAuthenticationService }, { type: i4.Router }, { type: i5.MonkeyStyleGuideSnackbarService }, { type: i6.TranslateService }]; } });
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWh0dHAtZXJyb3ItaGFuZGxpbmcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9lcnJvci9tb25rZXllY3gtaHR0cC1lcnJvci1oYW5kbGluZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBUW5ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7O0FBS25ELE1BQU0sT0FBTyxpQ0FBa0MsU0FBUSx1QkFBdUI7SUFDNUUsWUFDRSxnQkFBa0MsRUFDbEMsWUFBMEMsRUFDbEMsOEJBQThELEVBQzlELE1BQWMsRUFDZCxlQUFnRCxFQUNoRCxnQkFBa0M7UUFFMUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLFlBQVksQ0FBQyxDQUFDO1FBTDlCLG1DQUE4QixHQUE5Qiw4QkFBOEIsQ0FBZ0M7UUFDOUQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG9CQUFlLEdBQWYsZUFBZSxDQUFpQztRQUNoRCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBSTFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTFCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVPLHVCQUF1QixDQUFDLEVBQStCLEVBQUUsUUFBZ0I7O1FBQy9FLElBQUksQ0FBQyxjQUFjLENBQUMseUJBQXlCLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFBLEVBQUUsYUFBRixFQUFFLHVCQUFGLEVBQUUs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R0FBRyxDQUFDO1lBQ2QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDMUI7UUFFRCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDakMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2QsQ0FBQztJQUVNLHVCQUF1QixDQUFDLEtBQXdCLEVBQUUsR0FBZ0M7UUFDdkYsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtZQUNoRCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyx3QkFBd0IsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ2pGO2FBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzNELElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ2hDO0lBQ0gsQ0FBQzs7K0hBdklVLGlDQUFpQzttSUFBakMsaUNBQWlDLGNBRmhDLE1BQU07NEZBRVAsaUNBQWlDO2tCQUg3QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBNb25rZXlTdHlsZUd1aWRlU25hY2tiYXJTZXJ2aWNlIH0gZnJvbSAnbW9ua2V5LXN0eWxlLWd1aWRlJztcclxuaW1wb3J0IHsgTW9ua2V5RWN4QXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vYXV0aCc7XHJcbmltcG9ydCB7IE1vbmtleUVjeFNlcnZpY2UgfSBmcm9tICcuLi9tb25rZXllY3gtc2VydmljZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTW9ua2V5RWN4VG9rZW5TdG9yYWdlU2VydmljZSB9IGZyb20gJy4uL3N0b3JhZ2UnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hDb21tb25zU2VydmljZSB9IGZyb20gJy4uL2NvbW1vbnMnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hTZXJ2aWNlQ3JlZGVudGlhbHMgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgTW9ua2V5RWN4VXRpbHMgfSBmcm9tICcuLi8uLi91dGlscy91dGlscyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hIdHRwRXJyb3JIYW5kbGluZ1NlcnZpY2UgZXh0ZW5kcyBNb25rZXlFY3hDb21tb25zU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBtb25rZXllY3hTZXJ2aWNlOiBNb25rZXlFY3hTZXJ2aWNlLFxyXG4gICAgdG9rZW5TdG9yYWdlOiBNb25rZXlFY3hUb2tlblN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtb25rZXllY3hBdXRoZW50aWNhdGlvblNlcnZpY2U6IE1vbmtleUVjeEF1dGhlbnRpY2F0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIHNuYWNrYmFyU2VydmljZTogTW9ua2V5U3R5bGVHdWlkZVNuYWNrYmFyU2VydmljZSxcclxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIobW9ua2V5ZWN4U2VydmljZSwgdG9rZW5TdG9yYWdlKTtcclxuXHJcbiAgICBzdXBlci5yZXNvbHZlKG51bGwsIG51bGwpO1xyXG5cclxuICAgIHRoaXMuZ2V0aTE4bih0aGlzLnRyYW5zbGF0ZVNlcnZpY2UsICdTRVJWSUNFUy5XQVJOSU5HJyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzSHR0cENvZGVJZ25vcmVNZXNzYWdlKHRwOiBNb25rZXlFY3hTZXJ2aWNlQ3JlZGVudGlhbHMsIGh0dHBDb2RlOiBudW1iZXIpOiBib29sZWFuIHtcclxuICAgIGlmICghTW9ua2V5RWN4VXRpbHMucGVyc2lzdE51bGxFbXB0eVVuZGVmaW5lZCh0cCkgJiYgIXRwPy5odHRwUmVzcG9uc2UpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGZvdW5kID0gKHRwPy5odHRwUmVzcG9uc2U/Lmh0dHBDb2RlSWdub3JlIHx8IFtdKT8uaW5kZXhPZihodHRwQ29kZSkgPiAtMTtcclxuXHJcbiAgICByZXR1cm4gZm91bmQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzSHR0cENvZGVJZ25vcmVSZWRpcmVjdChcclxuICAgIHRwOiBNb25rZXlFY3hTZXJ2aWNlQ3JlZGVudGlhbHMsXHJcbiAgICBodHRwQ29kZTogbnVtYmVyXHJcbiAgKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIU1vbmtleUVjeFV0aWxzLnBlcnNpc3ROdWxsRW1wdHlVbmRlZmluZWQodHApICYmICF0cD8uaHR0cFJlc3BvbnNlKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBmb3VuZCA9ICh0cD8uaHR0cFJlc3BvbnNlPy5odHRwQ29kZUlnbm9yZVJlZGlyZWN0IHx8IFtdKT8uaW5kZXhPZihodHRwQ29kZSkgPiAtMTtcclxuXHJcbiAgICByZXR1cm4gZm91bmQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldE1lc3NhZ2VUeXBlKHN0YXR1czogbnVtYmVyKTogJ3RoZW1lJyB8ICd3YXJuaW5nJyB8ICdzdWNjZXNzJyB8ICdlcnJvcicgfCAncXVlc3Rpb24nIHtcclxuICAgIGlmIChzdGF0dXMgPT09IDQwOSB8fCBzdGF0dXMgPT09IDQwMCkge1xyXG4gICAgICByZXR1cm4gJ3dhcm5pbmcnO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiAnZXJyb3InO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzaG93TWVzc2FnZShcclxuICAgIG1lc3NhZ2U6IHN0cmluZyxcclxuICAgIGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSxcclxuICAgIG1rYzogTW9ua2V5RWN4U2VydmljZUNyZWRlbnRpYWxzXHJcbiAgKSB7XHJcbiAgICBjb25zdCB7IHNuYWNrYmFyU2VydmljZSB9ID0gdGhpcztcclxuICAgIGlmICghdGhpcy5pc0h0dHBDb2RlSWdub3JlTWVzc2FnZShta2MsIGVycm9yLnN0YXR1cykpIHtcclxuICAgICAgc25hY2tiYXJTZXJ2aWNlLnNob3coe1xyXG4gICAgICAgIHRpdGxlOiB0aGlzLl9faTE4bj8uVElUTEUsXHJcbiAgICAgICAgbWVzc2FnZSxcclxuICAgICAgICB0eXBlOiB0aGlzLmdldE1lc3NhZ2VUeXBlKGVycm9yLnN0YXR1cyksXHJcbiAgICAgICAgZHVyYXRpb246IDQwMDAsXHJcbiAgICAgICAgaG9yaXpvbnRhbFBvc2l0aW9uOiAnY2VudGVyJyxcclxuICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uOiAndG9wJ1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlTWVzc2FnZShlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UsIG1rYzogTW9ua2V5RWN4U2VydmljZUNyZWRlbnRpYWxzKSB7XHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY2FtZWxjYXNlXHJcbiAgICBjb25zdCB7IG5vdGlmaWNhdGlvbnMsIGVycm9yX2Rlc2NyaXB0aW9uLCBtZXNzYWdlIH0gPSBlcnJvci5lcnJvcjtcclxuICAgIGxldCBjdXN0b21NZXNzYWdlID0gJyc7XHJcblxyXG4gICAgaWYgKG1lc3NhZ2UpIHtcclxuICAgICAgY3VzdG9tTWVzc2FnZSA9IG1lc3NhZ2U7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNhbWVsY2FzZVxyXG4gICAgaWYgKGVycm9yX2Rlc2NyaXB0aW9uKSB7XHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjYW1lbGNhc2VcclxuICAgICAgY3VzdG9tTWVzc2FnZSA9IGVycm9yX2Rlc2NyaXB0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChub3RpZmljYXRpb25zKSB7XHJcbiAgICAgIGN1c3RvbU1lc3NhZ2UgPSBub3RpZmljYXRpb25zO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghY3VzdG9tTWVzc2FnZSkge1xyXG4gICAgICBpZiAoZXJyb3IuZXJyb3IgaW5zdGFuY2VvZiBCbG9iKSB7XHJcbiAgICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtlcnJvci5lcnJvcl0sIHtcclxuICAgICAgICAgIHR5cGU6ICdhcHBsaWNhdGlvbi9qc29uJ1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcbiAgICAgICAgcmVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWRlbmQnLCAoZSkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgdGV4dCA9IGU/LnRhcmdldD8ucmVzdWx0O1xyXG4gICAgICAgICAgY29uc3QganNvblJlc3AgPSBKU09OLnBhcnNlKHRleHQgYXMgc3RyaW5nKTtcclxuICAgICAgICAgIGN1c3RvbU1lc3NhZ2UgPSBqc29uUmVzcC5ub3RpZmljYXRpb25zO1xyXG4gICAgICAgICAgdGhpcy5zaG93TWVzc2FnZShjdXN0b21NZXNzYWdlLCBlcnJvciwgbWtjKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZWFkZXIucmVhZEFzVGV4dChibG9iKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNob3dNZXNzYWdlKHRoaXMuX19pMThuWydFUlJPUi1IQU5ETElORyddPy5FUlJPUiwgZXJyb3IsIG1rYyk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2hvd01lc3NhZ2UoY3VzdG9tTWVzc2FnZSwgZXJyb3IsIG1rYyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRXJyb3IoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlLCBta2M6IE1vbmtleUVjeFNlcnZpY2VDcmVkZW50aWFscykge1xyXG4gICAgY29uc3QgeyByb3V0ZXIgfSA9IHRoaXM7XHJcbiAgICBjb25zdCB7IHN0YXR1cyB9ID0gZXJyb3I7XHJcblxyXG4gICAgY29uc3Qgcm91dGVzOiBhbnkgPSB7XHJcbiAgICAgIDQwMzogJ2ZvcmJpZGRlbicsXHJcbiAgICAgIDUwMDogJ3NlcnZpY2UtcHJvYmxlbXMnLFxyXG4gICAgICA1MDM6ICdzZXJ2aWNlLXByb2JsZW1zJ1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBmb3VuZCA9IHJvdXRlc1tzdGF0dXNdO1xyXG4gICAgbGV0IHRpbWVvdXQgPSAwO1xyXG5cclxuICAgIGlmIChmb3VuZCAmJiAhdGhpcy5pc0h0dHBDb2RlSWdub3JlUmVkaXJlY3QobWtjLCBlcnJvcj8uc3RhdHVzKSkge1xyXG4gICAgICBjb25zdCByb3V0ZSA9IGAvYXBwL3BhZ2VzLyR7Zm91bmR9YC50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICB0aW1lb3V0ID0gODAwO1xyXG4gICAgICByb3V0ZXIubmF2aWdhdGUoW3JvdXRlXSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuaGFuZGxlTWVzc2FnZShlcnJvciwgbWtjKTtcclxuICAgIH0sIHRpbWVvdXQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUVycm9yUmVmcmVzaFRva2VuKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSwgbWtjOiBNb25rZXlFY3hTZXJ2aWNlQ3JlZGVudGlhbHMpIHtcclxuICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDQwMSB8fCBlcnJvci5zdGF0dXMgPT09IDQwMCkge1xyXG4gICAgICBOZ1pvbmUuY2FsbCh0aGlzLm1vbmtleWVjeEF1dGhlbnRpY2F0aW9uU2VydmljZS5yZWRpcmVjdExvZ2luV2VsY29tZUJhY2soKSwge30pO1xyXG4gICAgfSBlbHNlIGlmICghdGhpcy5pc0h0dHBDb2RlSWdub3JlTWVzc2FnZShta2MsIGVycm9yLnN0YXR1cykpIHtcclxuICAgICAgdGhpcy5oYW5kbGVNZXNzYWdlKGVycm9yLCBta2MpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
/* eslint-disable max-len */
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class MonkeyEcxHandlingService {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.monkeyecxServiceCredentials = null;
|
|
7
|
-
this.monkeyecxRequestQueue = null;
|
|
8
|
-
this.monkeyecxRequestDownload = null;
|
|
9
|
-
this.monkeyecxRequestUpload = null;
|
|
10
|
-
}
|
|
11
|
-
clearAll() {
|
|
12
|
-
this.monkeyecxServiceCredentials = null;
|
|
13
|
-
this.monkeyecxRequestQueue = null;
|
|
14
|
-
this.monkeyecxRequestDownload = null;
|
|
15
|
-
this.monkeyecxRequestUpload = null;
|
|
16
|
-
}
|
|
17
|
-
setMonkeyEcxServiceCredentials(param) {
|
|
18
|
-
this.monkeyecxServiceCredentials = param;
|
|
19
|
-
}
|
|
20
|
-
getMonkeyEcxServiceCredentials() {
|
|
21
|
-
return this.monkeyecxServiceCredentials;
|
|
22
|
-
}
|
|
23
|
-
setMonkeyEcxRequestQueue(queue) {
|
|
24
|
-
this.monkeyecxRequestQueue = queue;
|
|
25
|
-
}
|
|
26
|
-
getMonkeyEcxRequestQueue() {
|
|
27
|
-
return this.monkeyecxRequestQueue;
|
|
28
|
-
}
|
|
29
|
-
setMonkeyEcxRequestDownload(download) {
|
|
30
|
-
this.monkeyecxRequestDownload = download;
|
|
31
|
-
}
|
|
32
|
-
getMonkeyEcxRequestDownload() {
|
|
33
|
-
return this.monkeyecxRequestDownload;
|
|
34
|
-
}
|
|
35
|
-
setMonkeyEcxRequestUpload(upload) {
|
|
36
|
-
this.monkeyecxRequestUpload = upload;
|
|
37
|
-
}
|
|
38
|
-
getMonkeyEcxRequestUpload() {
|
|
39
|
-
return this.monkeyecxRequestUpload;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
MonkeyEcxHandlingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxHandlingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
43
|
-
MonkeyEcxHandlingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxHandlingService, providedIn: 'root' });
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxHandlingService, decorators: [{
|
|
45
|
-
type: Injectable,
|
|
46
|
-
args: [{
|
|
47
|
-
providedIn: 'root'
|
|
48
|
-
}]
|
|
49
|
-
}] });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWhhbmRsaW5nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc2VydmljZXMvbW9ua2V5ZWN4LWhhbmRsaW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNEJBQTRCO0FBQzVCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUzNDLE1BQU0sT0FBZ0Isd0JBQXdCO0lBSDlDO1FBSVUsZ0NBQTJCLEdBQXVDLElBQUksQ0FBQztRQUV2RSwwQkFBcUIsR0FBaUMsSUFBSSxDQUFDO1FBRTNELDZCQUF3QixHQUFvQyxJQUFJLENBQUM7UUFFakUsMkJBQXNCLEdBQWtDLElBQUksQ0FBQztLQXdDdEU7SUF0Q1EsUUFBUTtRQUNiLElBQUksQ0FBQywyQkFBMkIsR0FBRyxJQUFJLENBQUM7UUFDeEMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQztRQUNsQyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUM7SUFDckMsQ0FBQztJQUVNLDhCQUE4QixDQUFDLEtBQWtDO1FBQ3RFLElBQUksQ0FBQywyQkFBMkIsR0FBRyxLQUFLLENBQUM7SUFDM0MsQ0FBQztJQUVNLDhCQUE4QjtRQUNuQyxPQUFPLElBQUksQ0FBQywyQkFBMkIsQ0FBQztJQUMxQyxDQUFDO0lBRU0sd0JBQXdCLENBQUMsS0FBNEI7UUFDMUQsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FBQztJQUNyQyxDQUFDO0lBRU0sd0JBQXdCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDO0lBQ3BDLENBQUM7SUFFTSwyQkFBMkIsQ0FBQyxRQUFrQztRQUNuRSxJQUFJLENBQUMsd0JBQXdCLEdBQUcsUUFBUSxDQUFDO0lBQzNDLENBQUM7SUFFTSwyQkFBMkI7UUFDaEMsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUM7SUFDdkMsQ0FBQztJQUVNLHlCQUF5QixDQUFDLE1BQThCO1FBQzdELElBQUksQ0FBQyxzQkFBc0IsR0FBRyxNQUFNLENBQUM7SUFDdkMsQ0FBQztJQUVNLHlCQUF5QjtRQUM5QixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztJQUNyQyxDQUFDOztzSEE5Q21CLHdCQUF3QjswSEFBeEIsd0JBQXdCLGNBRmhDLE1BQU07NEZBRUUsd0JBQXdCO2tCQUg3QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi9cclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hSZXF1ZXN0RG93bmxvYWQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3JlcXVlc3QtZG93bmxvYWQvbW9ua2V5ZWN4LXJlcXVlc3QtZG93bmxvYWQnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hSZXF1ZXN0UXVldWUgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3JlcXVlc3QtcXVldWUvbW9ua2V5ZWN4LXJlcXVlc3QtcXVldWUnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hSZXF1ZXN0VXBsb2FkIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9yZXF1ZXN0LXVwbG9hZC9tb25rZXllY3gtcmVxdWVzdC11cGxvYWQnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hTZXJ2aWNlQ3JlZGVudGlhbHMgfSBmcm9tICcuLi9pbnRlcmZhY2VzL21vbmtleWVjeC1zZXJ2aWNlLWNyZWRlbnRpYWxzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE1vbmtleUVjeEhhbmRsaW5nU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBtb25rZXllY3hTZXJ2aWNlQ3JlZGVudGlhbHM6IE1vbmtleUVjeFNlcnZpY2VDcmVkZW50aWFscyB8IG51bGwgPSBudWxsO1xyXG5cclxuICBwcml2YXRlIG1vbmtleWVjeFJlcXVlc3RRdWV1ZTogTW9ua2V5RWN4UmVxdWVzdFF1ZXVlIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIHByaXZhdGUgbW9ua2V5ZWN4UmVxdWVzdERvd25sb2FkOiBNb25rZXlFY3hSZXF1ZXN0RG93bmxvYWQgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgcHJpdmF0ZSBtb25rZXllY3hSZXF1ZXN0VXBsb2FkOiBNb25rZXlFY3hSZXF1ZXN0VXBsb2FkIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIHB1YmxpYyBjbGVhckFsbCgpIHtcclxuICAgIHRoaXMubW9ua2V5ZWN4U2VydmljZUNyZWRlbnRpYWxzID0gbnVsbDtcclxuICAgIHRoaXMubW9ua2V5ZWN4UmVxdWVzdFF1ZXVlID0gbnVsbDtcclxuICAgIHRoaXMubW9ua2V5ZWN4UmVxdWVzdERvd25sb2FkID0gbnVsbDtcclxuICAgIHRoaXMubW9ua2V5ZWN4UmVxdWVzdFVwbG9hZCA9IG51bGw7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0TW9ua2V5RWN4U2VydmljZUNyZWRlbnRpYWxzKHBhcmFtOiBNb25rZXlFY3hTZXJ2aWNlQ3JlZGVudGlhbHMpIHtcclxuICAgIHRoaXMubW9ua2V5ZWN4U2VydmljZUNyZWRlbnRpYWxzID0gcGFyYW07XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0TW9ua2V5RWN4U2VydmljZUNyZWRlbnRpYWxzKCk6IE1vbmtleUVjeFNlcnZpY2VDcmVkZW50aWFscyB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMubW9ua2V5ZWN4U2VydmljZUNyZWRlbnRpYWxzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldE1vbmtleUVjeFJlcXVlc3RRdWV1ZShxdWV1ZTogTW9ua2V5RWN4UmVxdWVzdFF1ZXVlKSB7XHJcbiAgICB0aGlzLm1vbmtleWVjeFJlcXVlc3RRdWV1ZSA9IHF1ZXVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldE1vbmtleUVjeFJlcXVlc3RRdWV1ZSgpOiBNb25rZXlFY3hSZXF1ZXN0UXVldWUgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLm1vbmtleWVjeFJlcXVlc3RRdWV1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRNb25rZXlFY3hSZXF1ZXN0RG93bmxvYWQoZG93bmxvYWQ6IE1vbmtleUVjeFJlcXVlc3REb3dubG9hZCkge1xyXG4gICAgdGhpcy5tb25rZXllY3hSZXF1ZXN0RG93bmxvYWQgPSBkb3dubG9hZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRNb25rZXlFY3hSZXF1ZXN0RG93bmxvYWQoKTogTW9ua2V5RWN4UmVxdWVzdERvd25sb2FkIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5tb25rZXllY3hSZXF1ZXN0RG93bmxvYWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0TW9ua2V5RWN4UmVxdWVzdFVwbG9hZCh1cGxvYWQ6IE1vbmtleUVjeFJlcXVlc3RVcGxvYWQpIHtcclxuICAgIHRoaXMubW9ua2V5ZWN4UmVxdWVzdFVwbG9hZCA9IHVwbG9hZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRNb25rZXlFY3hSZXF1ZXN0VXBsb2FkKCk6IE1vbmtleUVjeFJlcXVlc3RVcGxvYWQgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLm1vbmtleWVjeFJlcXVlc3RVcGxvYWQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { throwError } from 'rxjs';
|
|
3
|
-
import { catchError, map } from 'rxjs/operators';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/common/http";
|
|
6
|
-
import * as i2 from "./monkeyecx-handling.service";
|
|
7
|
-
export class MonkeyEcxService {
|
|
8
|
-
constructor(http, monkeyecxHandlingService) {
|
|
9
|
-
this.http = http;
|
|
10
|
-
this.monkeyecxHandlingService = monkeyecxHandlingService;
|
|
11
|
-
// not to do
|
|
12
|
-
}
|
|
13
|
-
handlelize(params) {
|
|
14
|
-
if (!params) {
|
|
15
|
-
return params;
|
|
16
|
-
}
|
|
17
|
-
// eslint-disable-next-line no-restricted-syntax
|
|
18
|
-
for (const field of [
|
|
19
|
-
'createdAt',
|
|
20
|
-
'createUserId',
|
|
21
|
-
'updatedAt',
|
|
22
|
-
'lastUserId',
|
|
23
|
-
'_links',
|
|
24
|
-
'governmentIdType',
|
|
25
|
-
'governmentIdMask',
|
|
26
|
-
'screenType',
|
|
27
|
-
'screenTab',
|
|
28
|
-
]) {
|
|
29
|
-
delete params[field];
|
|
30
|
-
}
|
|
31
|
-
return params;
|
|
32
|
-
}
|
|
33
|
-
get(url, options) {
|
|
34
|
-
return this.http.get(url, options);
|
|
35
|
-
}
|
|
36
|
-
post(url, params, options) {
|
|
37
|
-
return this.http.post(url, params, options);
|
|
38
|
-
}
|
|
39
|
-
put(url, params) {
|
|
40
|
-
return this.http.put(url, this.handlelize(Object.assign({}, params)));
|
|
41
|
-
}
|
|
42
|
-
delete(url, params) {
|
|
43
|
-
return this.http.delete(url, params);
|
|
44
|
-
}
|
|
45
|
-
download(url, options, filename) {
|
|
46
|
-
this.http.get(url, options).subscribe((resp) => {
|
|
47
|
-
const { headers, body } = resp;
|
|
48
|
-
const contentType = headers.get('Content-Type');
|
|
49
|
-
const contentDisposition = headers.get('Content-Disposition');
|
|
50
|
-
if (contentDisposition) {
|
|
51
|
-
filename = contentDisposition
|
|
52
|
-
.split(';')[1]
|
|
53
|
-
.split('filename')[1]
|
|
54
|
-
.split('=')[1]
|
|
55
|
-
.trim()
|
|
56
|
-
.replace(new RegExp(/"/g), '');
|
|
57
|
-
}
|
|
58
|
-
const blob = new Blob([body], {
|
|
59
|
-
type: `${contentType}`,
|
|
60
|
-
});
|
|
61
|
-
return {
|
|
62
|
-
filename,
|
|
63
|
-
blob,
|
|
64
|
-
};
|
|
65
|
-
}, (err) => {
|
|
66
|
-
throwError(err);
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
downloadOb(url, options, filename) {
|
|
70
|
-
return this.http.get(url, options).pipe(map((resp) => {
|
|
71
|
-
const { headers, body } = resp;
|
|
72
|
-
const contentType = headers.get('Content-Type');
|
|
73
|
-
const contentDisposition = headers.get('Content-Disposition');
|
|
74
|
-
if (contentDisposition) {
|
|
75
|
-
filename = contentDisposition
|
|
76
|
-
.split(';')[1]
|
|
77
|
-
.split('filename')[1]
|
|
78
|
-
.split('=')[1]
|
|
79
|
-
.trim()
|
|
80
|
-
.replace(new RegExp(/"/g), '');
|
|
81
|
-
}
|
|
82
|
-
const blob = new Blob([body], {
|
|
83
|
-
type: `${contentType}`,
|
|
84
|
-
});
|
|
85
|
-
return {
|
|
86
|
-
filename,
|
|
87
|
-
blob,
|
|
88
|
-
};
|
|
89
|
-
}), catchError((err) => {
|
|
90
|
-
return throwError(err);
|
|
91
|
-
}));
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
MonkeyEcxService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxService, deps: [{ token: i1.HttpClient }, { token: i2.MonkeyEcxHandlingService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
95
|
-
MonkeyEcxService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxService, providedIn: 'root' });
|
|
96
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxService, decorators: [{
|
|
97
|
-
type: Injectable,
|
|
98
|
-
args: [{
|
|
99
|
-
providedIn: 'root',
|
|
100
|
-
}]
|
|
101
|
-
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.MonkeyEcxHandlingService }]; } });
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXNlcnZpY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9tb25rZXllY3gtc2VydmljZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBTWpELE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsWUFDWSxJQUFnQixFQUNuQix3QkFBa0Q7UUFEL0MsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNuQiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBRXpELFlBQVk7SUFDZCxDQUFDO0lBRU8sVUFBVSxDQUFDLE1BQVc7UUFDNUIsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE9BQU8sTUFBTSxDQUFDO1NBQ2Y7UUFFRCxnREFBZ0Q7UUFDaEQsS0FBSyxNQUFNLEtBQUssSUFBSTtZQUNsQixXQUFXO1lBQ1gsY0FBYztZQUNkLFdBQVc7WUFDWCxZQUFZO1lBQ1osUUFBUTtZQUNSLGtCQUFrQjtZQUNsQixrQkFBa0I7WUFDbEIsWUFBWTtZQUNaLFdBQVc7U0FDWixFQUFFO1lBQ0QsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdEI7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU0sR0FBRyxDQUFJLEdBQVcsRUFBRSxPQUFXO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUksR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTSxJQUFJLENBQUksR0FBVyxFQUFFLE1BQVMsRUFBRSxP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O1lBQ0gsT0FBTztnQkFDTCxRQUFRO2dCQUNSLElBQUk7YUFDTCxDQUFDO1FBQ0osQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDdEIsT0FBTyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7OzhHQXpHVSxnQkFBZ0I7a0hBQWhCLGdCQUFnQixjQUZmLE1BQU07NEZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hIYW5kbGluZ1NlcnZpY2UgfSBmcm9tICcuL21vbmtleWVjeC1oYW5kbGluZy5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHVibGljIG1vbmtleWVjeEhhbmRsaW5nU2VydmljZTogTW9ua2V5RWN4SGFuZGxpbmdTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICAvLyBub3QgdG8gZG9cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlbGl6ZShwYXJhbXM6IGFueSk6IGFueSB7XHJcbiAgICBpZiAoIXBhcmFtcykge1xyXG4gICAgICByZXR1cm4gcGFyYW1zO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZXN0cmljdGVkLXN5bnRheFxyXG4gICAgZm9yIChjb25zdCBmaWVsZCBvZiBbXHJcbiAgICAgICdjcmVhdGVkQXQnLFxyXG4gICAgICAnY3JlYXRlVXNlcklkJyxcclxuICAgICAgJ3VwZGF0ZWRBdCcsXHJcbiAgICAgICdsYXN0VXNlcklkJyxcclxuICAgICAgJ19saW5rcycsXHJcbiAgICAgICdnb3Zlcm5tZW50SWRUeXBlJyxcclxuICAgICAgJ2dvdmVybm1lbnRJZE1hc2snLFxyXG4gICAgICAnc2NyZWVuVHlwZScsXHJcbiAgICAgICdzY3JlZW5UYWInLFxyXG4gICAgXSkge1xyXG4gICAgICBkZWxldGUgcGFyYW1zW2ZpZWxkXTtcclxuICAgIH1cclxuICAgIHJldHVybiBwYXJhbXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0PFQ+KHVybDogc3RyaW5nLCBvcHRpb25zPzogVCk6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8VD4odXJsLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwb3N0PFQ+KHVybDogc3RyaW5nLCBwYXJhbXM6IFQsIG9wdGlvbnM/OiBUKTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8VD4odXJsLCBwYXJhbXMsIG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHB1dDxUPih1cmw6IHN0cmluZywgcGFyYW1zOiBUKTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxUPihcclxuICAgICAgdXJsLFxyXG4gICAgICB0aGlzLmhhbmRsZWxpemUoe1xyXG4gICAgICAgIC4uLnBhcmFtcyxcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZGVsZXRlPFQ+KHVybDogc3RyaW5nLCBwYXJhbXM/OiBUKTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxUPih1cmwsIHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZG93bmxvYWQ8VD4odXJsOiBzdHJpbmcsIG9wdGlvbnM/OiBULCBmaWxlbmFtZT86IHN0cmluZykge1xyXG4gICAgdGhpcy5odHRwLmdldDxUPih1cmwsIG9wdGlvbnMpLnN1YnNjcmliZShcclxuICAgICAgKHJlc3A6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHsgaGVhZGVycywgYm9keSB9ID0gcmVzcDtcclxuICAgICAgICBjb25zdCBjb250ZW50VHlwZSA9IGhlYWRlcnMuZ2V0KCdDb250ZW50LVR5cGUnKTtcclxuICAgICAgICBjb25zdCBjb250ZW50RGlzcG9zaXRpb24gPSBoZWFkZXJzLmdldCgnQ29udGVudC1EaXNwb3NpdGlvbicpO1xyXG4gICAgICAgIGlmIChjb250ZW50RGlzcG9zaXRpb24pIHtcclxuICAgICAgICAgIGZpbGVuYW1lID0gY29udGVudERpc3Bvc2l0aW9uXHJcbiAgICAgICAgICAgIC5zcGxpdCgnOycpWzFdXHJcbiAgICAgICAgICAgIC5zcGxpdCgnZmlsZW5hbWUnKVsxXVxyXG4gICAgICAgICAgICAuc3BsaXQoJz0nKVsxXVxyXG4gICAgICAgICAgICAudHJpbSgpXHJcbiAgICAgICAgICAgIC5yZXBsYWNlKG5ldyBSZWdFeHAoL1wiL2cpLCAnJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbYm9keV0sIHtcclxuICAgICAgICAgIHR5cGU6IGAke2NvbnRlbnRUeXBlfWAsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGZpbGVuYW1lLFxyXG4gICAgICAgICAgYmxvYixcclxuICAgICAgICB9O1xyXG4gICAgICB9LFxyXG4gICAgICAoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIHRocm93RXJyb3IoZXJyKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBkb3dubG9hZE9iPFQ+KHVybDogc3RyaW5nLCBvcHRpb25zPzogVCwgZmlsZW5hbWU/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55Pih1cmwsIG9wdGlvbnMpLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcDogYW55KSA9PiB7XHJcbiAgICAgICAgY29uc3QgeyBoZWFkZXJzLCBib2R5IH0gPSByZXNwO1xyXG4gICAgICAgIGNvbnN0IGNvbnRlbnRUeXBlID0gaGVhZGVycy5nZXQoJ0NvbnRlbnQtVHlwZScpO1xyXG4gICAgICAgIGNvbnN0IGNvbnRlbnREaXNwb3NpdGlvbiA9IGhlYWRlcnMuZ2V0KCdDb250ZW50LURpc3Bvc2l0aW9uJyk7XHJcbiAgICAgICAgaWYgKGNvbnRlbnREaXNwb3NpdGlvbikge1xyXG4gICAgICAgICAgZmlsZW5hbWUgPSBjb250ZW50RGlzcG9zaXRpb25cclxuICAgICAgICAgICAgLnNwbGl0KCc7JylbMV1cclxuICAgICAgICAgICAgLnNwbGl0KCdmaWxlbmFtZScpWzFdXHJcbiAgICAgICAgICAgIC5zcGxpdCgnPScpWzFdXHJcbiAgICAgICAgICAgIC50cmltKClcclxuICAgICAgICAgICAgLnJlcGxhY2UobmV3IFJlZ0V4cCgvXCIvZyksICcnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtib2R5XSwge1xyXG4gICAgICAgICAgdHlwZTogYCR7Y29udGVudFR5cGV9YCxcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgZmlsZW5hbWUsXHJcbiAgICAgICAgICBibG9iLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH0pLFxyXG4gICAgICBjYXRjaEVycm9yKChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycik7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
|
package/esm2015/lib/core/services/request-download/monkeyecx-request-download-handling.service.js
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject } from 'rxjs';
|
|
3
|
-
import { MonkeyEcxUtils } from '../../utils/utils';
|
|
4
|
-
import { MonkeyEcxDownloadEvents } from '../../utils/statics';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class MonkeyEcxRequestDownloadHandlingService {
|
|
7
|
-
constructor() {
|
|
8
|
-
this.download = [];
|
|
9
|
-
this.download$ = new BehaviorSubject([]);
|
|
10
|
-
}
|
|
11
|
-
addTo(q) {
|
|
12
|
-
this.download.push(q);
|
|
13
|
-
this.download$.next(this.download);
|
|
14
|
-
}
|
|
15
|
-
markItemAsFinish(q, status) {
|
|
16
|
-
const saved = [...this.download];
|
|
17
|
-
this.download = [
|
|
18
|
-
...saved
|
|
19
|
-
.map((val) => {
|
|
20
|
-
if (val.status === MonkeyEcxDownloadEvents.OnGoing) {
|
|
21
|
-
const valSaved = Object.assign({}, val);
|
|
22
|
-
if (valSaved.item.id === q.item.id) {
|
|
23
|
-
return Object.assign(Object.assign({}, valSaved), { status: status || MonkeyEcxDownloadEvents.Finished });
|
|
24
|
-
}
|
|
25
|
-
return valSaved;
|
|
26
|
-
}
|
|
27
|
-
return null;
|
|
28
|
-
})
|
|
29
|
-
.filter((_) => {
|
|
30
|
-
return _;
|
|
31
|
-
})
|
|
32
|
-
];
|
|
33
|
-
this.download = this.download.filter((_) => {
|
|
34
|
-
return _.status === MonkeyEcxDownloadEvents.OnGoing;
|
|
35
|
-
});
|
|
36
|
-
this.download$.next(this.download);
|
|
37
|
-
}
|
|
38
|
-
updateItem(q, loaded, total) {
|
|
39
|
-
const saved = [...this.download];
|
|
40
|
-
this.download = [
|
|
41
|
-
...saved.map((val) => {
|
|
42
|
-
const valSaved = Object.assign({}, val);
|
|
43
|
-
const currentPecentage = Math.floor(((loaded || 0) / (total || 0)) * 100);
|
|
44
|
-
const totalPercentage = 100;
|
|
45
|
-
if (valSaved.item.id === q.item.id) {
|
|
46
|
-
return Object.assign(Object.assign({}, valSaved), { loaded,
|
|
47
|
-
total, currentPercentage: currentPecentage, totalPercentage });
|
|
48
|
-
}
|
|
49
|
-
return valSaved;
|
|
50
|
-
})
|
|
51
|
-
];
|
|
52
|
-
this.download$.next(this.download);
|
|
53
|
-
}
|
|
54
|
-
set(q) {
|
|
55
|
-
this.addTo(q);
|
|
56
|
-
}
|
|
57
|
-
get() {
|
|
58
|
-
return this.download$.asObservable();
|
|
59
|
-
}
|
|
60
|
-
update(q, loaded, total) {
|
|
61
|
-
this.updateItem(q, loaded, total);
|
|
62
|
-
}
|
|
63
|
-
finishItem(q, status) {
|
|
64
|
-
this.markItemAsFinish(q, status);
|
|
65
|
-
}
|
|
66
|
-
hasDownloadOnGoing() {
|
|
67
|
-
const found = this.download.find((_) => {
|
|
68
|
-
return _.status === MonkeyEcxDownloadEvents.OnGoing;
|
|
69
|
-
});
|
|
70
|
-
return MonkeyEcxUtils.persistNullEmptyUndefined(found);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
MonkeyEcxRequestDownloadHandlingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxRequestDownloadHandlingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
74
|
-
MonkeyEcxRequestDownloadHandlingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxRequestDownloadHandlingService, providedIn: 'root' });
|
|
75
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxRequestDownloadHandlingService, decorators: [{
|
|
76
|
-
type: Injectable,
|
|
77
|
-
args: [{
|
|
78
|
-
providedIn: 'root'
|
|
79
|
-
}]
|
|
80
|
-
}], ctorParameters: function () { return []; } });
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXJlcXVlc3QtZG93bmxvYWQtaGFuZGxpbmcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9yZXF1ZXN0LWRvd25sb2FkL21vbmtleWVjeC1yZXF1ZXN0LWRvd25sb2FkLWhhbmRsaW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFLOUQsTUFBTSxPQUFPLHVDQUF1QztJQUtsRDtRQUpRLGFBQVEsR0FBK0IsRUFBRSxDQUFDO1FBS2hELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVPLEtBQUssQ0FBQyxDQUEyQjtRQUN2QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVPLGdCQUFnQixDQUFDLENBQTJCLEVBQUUsTUFBZTtRQUNuRSxNQUFNLEtBQUssR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUc7WUFDZCxHQUFHLEtBQUs7aUJBQ0wsR0FBRyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2hCLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyx1QkFBdUIsQ0FB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dEMsTUFBTTs0RkFFUCx1Q0FBdUM7a0JBSG5ELFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTW9ua2V5RWN4VXRpbHMgfSBmcm9tICcuLi8uLi91dGlscy91dGlscyc7XHJcbmltcG9ydCB7IE1vbmtleUVjeFJlcXVlc3REb3dubG9hZCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hEb3dubG9hZEV2ZW50cyB9IGZyb20gJy4uLy4uL3V0aWxzL3N0YXRpY3MnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTW9ua2V5RWN4UmVxdWVzdERvd25sb2FkSGFuZGxpbmdTZXJ2aWNlIHtcclxuICBwcml2YXRlIGRvd25sb2FkOiBNb25rZXlFY3hSZXF1ZXN0RG93bmxvYWRbXSA9IFtdO1xyXG5cclxuICBwcml2YXRlIGRvd25sb2FkJDogQmVoYXZpb3JTdWJqZWN0PE1vbmtleUVjeFJlcXVlc3REb3dubG9hZFtdIHwgYW55PjtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLmRvd25sb2FkJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoW10pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhZGRUbyhxOiBNb25rZXlFY3hSZXF1ZXN0RG93bmxvYWQpIHtcclxuICAgIHRoaXMuZG93bmxvYWQucHVzaChxKTtcclxuICAgIHRoaXMuZG93bmxvYWQkLm5leHQodGhpcy5kb3dubG9hZCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG1hcmtJdGVtQXNGaW5pc2gocTogTW9ua2V5RWN4UmVxdWVzdERvd25sb2FkLCBzdGF0dXM/OiBudW1iZXIpIHtcclxuICAgIGNvbnN0IHNhdmVkID0gWy4uLnRoaXMuZG93bmxvYWRdO1xyXG4gICAgdGhpcy5kb3dubG9hZCA9IFtcclxuICAgICAgLi4uc2F2ZWRcclxuICAgICAgICAubWFwKCh2YWw6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHZhbC5zdGF0dXMgPT09IE1vbmtleUVjeERvd25sb2FkRXZlbnRzLk9uR29pbmcpIHtcclxuICAgICAgICAgICAgY29uc3QgdmFsU2F2ZWQgPSB7XHJcbiAgICAgICAgICAgICAgLi4udmFsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIGlmICh2YWxTYXZlZC5pdGVtLmlkID09PSBxLml0ZW0uaWQpIHtcclxuICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgLi4udmFsU2F2ZWQsXHJcbiAgICAgICAgICAgICAgICBzdGF0dXM6IHN0YXR1cyB8fCBNb25rZXlFY3hEb3dubG9hZEV2ZW50cy5GaW5pc2hlZFxyXG4gICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHZhbFNhdmVkO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuZmlsdGVyKChfOiBhbnkpID0+IHtcclxuICAgICAgICAgIHJldHVybiBfO1xyXG4gICAgICAgIH0pXHJcbiAgICBdO1xyXG5cclxuICAgIHRoaXMuZG93bmxvYWQgPSB0aGlzLmRvd25sb2FkLmZpbHRlcigoXzogYW55KSA9PiB7XHJcbiAgICAgIHJldHVybiBfLnN0YXR1cyA9PT0gTW9ua2V5RWN4RG93bmxvYWRFdmVudHMuT25Hb2luZztcclxuICAgIH0pO1xyXG4gICAgdGhpcy5kb3dubG9hZCQubmV4dCh0aGlzLmRvd25sb2FkKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlSXRlbShxOiBNb25rZXlFY3hSZXF1ZXN0RG93bmxvYWQsIGxvYWRlZD86IG51bWJlciwgdG90YWw/OiBudW1iZXIpIHtcclxuICAgIGNvbnN0IHNhdmVkID0gWy4uLnRoaXMuZG93bmxvYWRdO1xyXG4gICAgdGhpcy5kb3dubG9hZCA9IFtcclxuICAgICAgLi4uc2F2ZWQubWFwKCh2YWw6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHZhbFNhdmVkID0ge1xyXG4gICAgICAgICAgLi4udmFsXHJcbiAgICAgICAgfTtcclxuICAgICAgICBjb25zdCBjdXJyZW50UGVjZW50YWdlID0gTWF0aC5mbG9vcigoKGxvYWRlZCB8fCAwKSAvICh0b3RhbCB8fCAwKSkgKiAxMDApO1xyXG4gICAgICAgIGNvbnN0IHRvdGFsUGVyY2VudGFnZSA9IDEwMDtcclxuICAgICAgICBpZiAodmFsU2F2ZWQuaXRlbS5pZCA9PT0gcS5pdGVtLmlkKSB7XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAuLi52YWxTYXZlZCxcclxuICAgICAgICAgICAgbG9hZGVkLFxyXG4gICAgICAgICAgICB0b3RhbCxcclxuICAgICAgICAgICAgY3VycmVudFBlcmNlbnRhZ2U6IGN1cnJlbnRQZWNlbnRhZ2UsXHJcbiAgICAgICAgICAgIHRvdGFsUGVyY2VudGFnZVxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHZhbFNhdmVkO1xyXG4gICAgICB9KVxyXG4gICAgXTtcclxuICAgIHRoaXMuZG93bmxvYWQkLm5leHQodGhpcy5kb3dubG9hZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0KHE6IE1vbmtleUVjeFJlcXVlc3REb3dubG9hZCkge1xyXG4gICAgdGhpcy5hZGRUbyhxKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQoKTogT2JzZXJ2YWJsZTxNb25rZXlFY3hSZXF1ZXN0RG93bmxvYWRbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZG93bmxvYWQkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZShxOiBNb25rZXlFY3hSZXF1ZXN0RG93bmxvYWQsIGxvYWRlZD86IG51bWJlciwgdG90YWw/OiBudW1iZXIpIHtcclxuICAgIHRoaXMudXBkYXRlSXRlbShxLCBsb2FkZWQsIHRvdGFsKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBmaW5pc2hJdGVtKHE6IE1vbmtleUVjeFJlcXVlc3REb3dubG9hZCwgc3RhdHVzPzogbnVtYmVyKSB7XHJcbiAgICB0aGlzLm1hcmtJdGVtQXNGaW5pc2gocSwgc3RhdHVzKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYXNEb3dubG9hZE9uR29pbmcoKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBmb3VuZCA9IHRoaXMuZG93bmxvYWQuZmluZCgoXzogYW55KSA9PiB7XHJcbiAgICAgIHJldHVybiBfLnN0YXR1cyA9PT0gTW9ua2V5RWN4RG93bmxvYWRFdmVudHMuT25Hb2luZztcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIE1vbmtleUVjeFV0aWxzLnBlcnNpc3ROdWxsRW1wdHlVbmRlZmluZWQoZm91bmQpO1xyXG4gIH1cclxufVxyXG4iXX0=
|