ngx-techlify-core 11.5.2 → 14.2.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/esm2020/lib/action-popup/action-popup.component.mjs +34 -0
- package/esm2020/lib/action-popup/action-popup.model.mjs +3 -0
- package/esm2020/lib/action-popup/action-popup.module.mjs +32 -0
- package/esm2020/lib/action-popup/index.mjs +3 -0
- package/esm2020/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.mjs +18 -0
- package/esm2020/lib/audit-log/audit-log-for-model/audit-log-for-model.component.mjs +51 -0
- package/esm2020/lib/audit-log/audit-log-for-model/audit-log-for-model.module.mjs +40 -0
- package/esm2020/lib/audit-log/audit-log-list/audit-log-list-routing.module.mjs +18 -0
- package/esm2020/lib/audit-log/audit-log-list/audit-log-list.component.mjs +139 -0
- package/esm2020/lib/audit-log/audit-log-list/audit-log-list.module.mjs +48 -0
- package/esm2020/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.mjs +18 -0
- package/esm2020/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.mjs +74 -0
- package/esm2020/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.mjs +40 -0
- package/esm2020/lib/audit-log/audit-log-routing.module.mjs +25 -0
- package/esm2020/lib/audit-log/audit-log-view/audit-log-view-routing.module.mjs +18 -0
- package/esm2020/lib/audit-log/audit-log-view/audit-log-view.component.mjs +51 -0
- package/esm2020/lib/audit-log/audit-log-view/audit-log-view.module.mjs +32 -0
- package/esm2020/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.mjs +18 -0
- package/esm2020/lib/audit-log/audit-log-view-model/audit-log-view-model.component.mjs +56 -0
- package/esm2020/lib/audit-log/audit-log-view-model/audit-log-view-model.module.mjs +32 -0
- package/esm2020/lib/audit-log/audit-log.module.mjs +31 -0
- package/esm2020/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.mjs +18 -0
- package/esm2020/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.mjs +37 -0
- package/esm2020/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.mjs +32 -0
- package/esm2020/lib/base-model/index.mjs +4 -0
- package/esm2020/lib/base-model/techlify-form-component.class.mjs +49 -0
- package/esm2020/lib/base-model/techlify-listing-component.class.mjs +41 -0
- package/esm2020/lib/base-model/techlify-service.class.mjs +64 -0
- package/esm2020/lib/core/alert.service.mjs +38 -0
- package/esm2020/lib/core/api-prefix.interceptor.mjs +26 -0
- package/esm2020/lib/core/authentication.guard.mjs +35 -0
- package/esm2020/lib/core/authentication.service.mjs +54 -0
- package/esm2020/lib/core/cache.interceptor.mjs +58 -0
- package/esm2020/lib/core/config.service.mjs +45 -0
- package/esm2020/lib/core/core.module.mjs +63 -0
- package/esm2020/lib/core/credentials.service.mjs +79 -0
- package/esm2020/lib/core/dataManager.service.mjs +119 -0
- package/esm2020/lib/core/error-handler.interceptor.mjs +48 -0
- package/esm2020/lib/core/error-handler.service.mjs +55 -0
- package/esm2020/lib/core/filter.service.mjs +37 -0
- package/esm2020/lib/core/form-validator.service.mjs +24 -0
- package/esm2020/lib/core/header.interceptor.mjs +24 -0
- package/esm2020/lib/core/http-cache.service.mjs +107 -0
- package/esm2020/lib/core/http.service.mjs +84 -0
- package/esm2020/lib/core/index.mjs +22 -0
- package/esm2020/lib/core/logger.service.mjs +100 -0
- package/esm2020/lib/core/route-reusable-strategy.mjs +36 -0
- package/esm2020/lib/core/snack/snack.component.mjs +33 -0
- package/esm2020/lib/core/snack/snack.module.mjs +36 -0
- package/esm2020/lib/core/storage.service.mjs +38 -0
- package/esm2020/lib/core/techlify-config.model.mjs +28 -0
- package/esm2020/lib/core/token.interceptor.mjs +28 -0
- package/esm2020/lib/data-table/data-table.component.mjs +208 -0
- package/esm2020/lib/data-table/data-table.model.mjs +11 -0
- package/esm2020/lib/data-table/data-table.module.mjs +36 -0
- package/esm2020/lib/data-table/index.mjs +3 -0
- package/esm2020/lib/date-validator.mjs +10 -0
- package/esm2020/lib/document-viewer/document-viewer.component.mjs +65 -0
- package/esm2020/lib/document-viewer/document-viewer.module.mjs +36 -0
- package/esm2020/lib/document-viewer/index.mjs +3 -0
- package/esm2020/lib/document-viewer/viewer-config.model.mjs +3 -0
- package/esm2020/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.mjs +32 -0
- package/esm2020/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.mjs +76 -0
- package/esm2020/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.mjs +36 -0
- package/esm2020/lib/email-subscription/email-subscription-for-user/index.mjs +2 -0
- package/esm2020/lib/email-subscription/email-subscription-routing.module.mjs +18 -0
- package/esm2020/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.mjs +18 -0
- package/esm2020/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.mjs +105 -0
- package/esm2020/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.mjs +44 -0
- package/esm2020/lib/email-subscription/email-subscription-type/email-subscription-type-form/index.mjs +2 -0
- package/esm2020/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.mjs +34 -0
- package/esm2020/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.mjs +161 -0
- package/esm2020/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.mjs +44 -0
- package/esm2020/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.mjs +2 -0
- package/esm2020/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.mjs +18 -0
- package/esm2020/lib/email-subscription/email-subscription-type/email-subscription-type.module.mjs +22 -0
- package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.mjs +18 -0
- package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.mjs +101 -0
- package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.mjs +43 -0
- package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-form/index.mjs +2 -0
- package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.mjs +34 -0
- package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.mjs +165 -0
- package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.mjs +48 -0
- package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-list/index.mjs +2 -0
- package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.mjs +18 -0
- package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.mjs +52 -0
- package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.mjs +40 -0
- package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.mjs +2 -0
- package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.mjs +18 -0
- package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user.module.mjs +22 -0
- package/esm2020/lib/email-subscription/email-subscription.module.mjs +22 -0
- package/esm2020/lib/entity-files/entity-file-form/entity-file-form.component.mjs +144 -0
- package/esm2020/lib/entity-files/entity-file.service.mjs +43 -0
- package/esm2020/lib/entity-files/entity-files-view-all.component.mjs +320 -0
- package/esm2020/lib/entity-files/entity-files-view-all.module.mjs +66 -0
- package/esm2020/lib/entity-files/index.mjs +3 -0
- package/esm2020/lib/export-excel/export-excel-button/export-excel-button.component.mjs +32 -0
- package/esm2020/lib/export-excel/export-excel.module.mjs +24 -0
- package/esm2020/lib/file-dropper/file-dropper.component.mjs +125 -0
- package/esm2020/lib/file-dropper/file-dropper.model.mjs +3 -0
- package/esm2020/lib/file-dropper/file-dropper.module.mjs +30 -0
- package/esm2020/lib/file-dropper/index.mjs +3 -0
- package/esm2020/lib/import-csv/data-import/data-import.component.mjs +18 -0
- package/esm2020/lib/import-csv/failed-items-list/failed-items-list.component.mjs +35 -0
- package/esm2020/lib/import-csv/field-mapping/field-mapping.component.mjs +153 -0
- package/esm2020/lib/import-csv/import-csv-config.mjs +2 -0
- package/esm2020/lib/import-csv/import-csv.component.mjs +198 -0
- package/esm2020/lib/import-csv/import-csv.module.mjs +74 -0
- package/esm2020/lib/import-csv/import-history-list/import-history-list.component.mjs +71 -0
- package/esm2020/lib/import-csv/import-success/import-success.component.mjs +24 -0
- package/esm2020/lib/loader/index.mjs +2 -0
- package/esm2020/lib/loader/loader.component.mjs +23 -0
- package/esm2020/lib/loader/loader.module.mjs +28 -0
- package/esm2020/lib/login-history-for-user/login-history-for-user-routing.module.mjs +26 -0
- package/esm2020/lib/login-history-for-user/login-history-for-user.component.mjs +92 -0
- package/esm2020/lib/login-history-for-user/login-history-for-user.module.mjs +44 -0
- package/esm2020/lib/material.module.mjs +115 -0
- package/esm2020/lib/note/comment-form/comment-form.component.mjs +77 -0
- package/esm2020/lib/note/index.mjs +4 -0
- package/esm2020/lib/note/note-form/note-form.component.mjs +79 -0
- package/esm2020/lib/note/note-list/note-list.component.mjs +148 -0
- package/esm2020/lib/note/note.module.mjs +54 -0
- package/esm2020/lib/note/note.service.mjs +29 -0
- package/esm2020/lib/read-more/read-more.component.mjs +43 -0
- package/esm2020/lib/read-more/read-more.module.mjs +30 -0
- package/esm2020/lib/request-helper/request-helper.service.mjs +105 -0
- package/esm2020/lib/searchable-selector/index.mjs +3 -0
- package/esm2020/lib/searchable-selector/mat-select-infinite-scroll.directive.mjs +84 -0
- package/esm2020/lib/searchable-selector/searchable-selector.component.mjs +350 -0
- package/esm2020/lib/searchable-selector/searchable-selector.module.mjs +41 -0
- package/esm2020/lib/techlify-feature/on-off-switch/on-off-switch.component.mjs +24 -0
- package/esm2020/lib/techlify-feature/techlify-feature-enabled.directive.mjs +73 -0
- package/esm2020/lib/techlify-feature/techlify-feature-listing.component.mjs +172 -0
- package/esm2020/lib/techlify-feature/techlify-feature.module.mjs +48 -0
- package/esm2020/lib/techlify-feature/techlify-feature.routing.mjs +12 -0
- package/esm2020/lib/techlify-feature/techlify-feature.service.mjs +26 -0
- package/esm2020/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.mjs +15 -0
- package/esm2020/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.mjs +285 -0
- package/esm2020/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.mjs +38 -0
- package/esm2020/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.mjs +180 -0
- package/esm2020/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.mjs +46 -0
- package/esm2020/lib/techlify-update/techlify-update-form/techlify-update-form.component.mjs +114 -0
- package/esm2020/lib/techlify-update/techlify-update-form/techlify-update-form.module.mjs +38 -0
- package/esm2020/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.mjs +28 -0
- package/esm2020/lib/techlify-update/techlify-update-history/techlify-update-history.component.mjs +144 -0
- package/esm2020/lib/techlify-update/techlify-update-history/techlify-update-history.module.mjs +47 -0
- package/esm2020/lib/techlify-update/techlify-update-routing.module.mjs +28 -0
- package/esm2020/lib/techlify-update/techlify-update.module.mjs +51 -0
- package/esm2020/lib/techlify-update/techlify-update.service.mjs +41 -0
- package/esm2020/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.mjs +162 -0
- package/esm2020/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.mjs +77 -0
- package/esm2020/lib/techlify-update/update-notifier/update-notifier.component.mjs +53 -0
- package/esm2020/lib/techlify-update/update-notifier/update-notifier.module.mjs +39 -0
- package/esm2020/lib/techlify-update/update-view/update-view.component.mjs +38 -0
- package/esm2020/lib/techlify-update/update-view/update-view.module.mjs +30 -0
- package/esm2020/lib/timeline-filter/calculate-timeline.mjs +101 -0
- package/esm2020/lib/timeline-filter/index.mjs +4 -0
- package/esm2020/lib/timeline-filter/timeline-filter-routing.module.mjs +18 -0
- package/esm2020/lib/timeline-filter/timeline-filter.component.mjs +237 -0
- package/esm2020/lib/timeline-filter/timeline-filter.module.mjs +60 -0
- package/esm2020/lib/timeline-filter/timeline.model.mjs +18 -0
- package/esm2020/lib/utility/date-utils.service.mjs +50 -0
- package/esm2020/lib/utility/index.mjs +4 -0
- package/esm2020/lib/utility/num-items-selector.component.mjs +31 -0
- package/esm2020/lib/utility/number-selector.component.mjs +42 -0
- package/esm2020/lib/utility/utility.module.mjs +28 -0
- package/esm2020/ngx-techlify-core.mjs +5 -0
- package/esm2020/public-api.mjs +97 -0
- package/fesm2015/ngx-techlify-core.mjs +7888 -0
- package/fesm2015/ngx-techlify-core.mjs.map +1 -0
- package/fesm2020/ngx-techlify-core.mjs +7793 -0
- package/fesm2020/ngx-techlify-core.mjs.map +1 -0
- package/index.d.ts +6 -0
- package/lib/action-popup/action-popup.component.d.ts +18 -0
- package/lib/action-popup/action-popup.component.d.ts.map +1 -0
- package/lib/action-popup/action-popup.model.d.ts +6 -0
- package/lib/action-popup/action-popup.model.d.ts.map +1 -0
- package/lib/action-popup/action-popup.module.d.ts +11 -0
- package/lib/action-popup/action-popup.module.d.ts.map +1 -0
- package/lib/action-popup/index.d.ts +3 -0
- package/lib/action-popup/index.d.ts.map +1 -0
- package/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.d.ts +8 -0
- package/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.d.ts.map +1 -0
- package/lib/audit-log/audit-log-for-model/audit-log-for-model.component.d.ts +16 -0
- package/lib/audit-log/audit-log-for-model/audit-log-for-model.component.d.ts.map +1 -0
- package/lib/audit-log/audit-log-for-model/audit-log-for-model.module.d.ts +14 -0
- package/lib/audit-log/audit-log-for-model/audit-log-for-model.module.d.ts.map +1 -0
- package/lib/audit-log/audit-log-list/audit-log-list-routing.module.d.ts +8 -0
- package/lib/audit-log/audit-log-list/audit-log-list-routing.module.d.ts.map +1 -0
- package/lib/audit-log/audit-log-list/audit-log-list.component.d.ts +36 -0
- package/lib/audit-log/audit-log-list/audit-log-list.component.d.ts.map +1 -0
- package/lib/audit-log/audit-log-list/audit-log-list.module.d.ts +16 -0
- package/lib/audit-log/audit-log-list/audit-log-list.module.d.ts.map +1 -0
- package/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.d.ts +8 -0
- package/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.d.ts.map +1 -0
- package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.d.ts +23 -0
- package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.d.ts.map +1 -0
- package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.d.ts +14 -0
- package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.d.ts.map +1 -0
- package/lib/audit-log/audit-log-routing.module.d.ts +8 -0
- package/lib/audit-log/audit-log-routing.module.d.ts.map +1 -0
- package/lib/audit-log/audit-log-view/audit-log-view-routing.module.d.ts +8 -0
- package/lib/audit-log/audit-log-view/audit-log-view-routing.module.d.ts.map +1 -0
- package/lib/audit-log/audit-log-view/audit-log-view.component.d.ts +21 -0
- package/lib/audit-log/audit-log-view/audit-log-view.component.d.ts.map +1 -0
- package/lib/audit-log/audit-log-view/audit-log-view.module.d.ts +12 -0
- package/lib/audit-log/audit-log-view/audit-log-view.module.d.ts.map +1 -0
- package/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.d.ts +8 -0
- package/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.d.ts.map +1 -0
- package/lib/audit-log/audit-log-view-model/audit-log-view-model.component.d.ts +19 -0
- package/lib/audit-log/audit-log-view-model/audit-log-view-model.component.d.ts.map +1 -0
- package/lib/audit-log/audit-log-view-model/audit-log-view-model.module.d.ts +12 -0
- package/lib/audit-log/audit-log-view-model/audit-log-view-model.module.d.ts.map +1 -0
- package/lib/audit-log/audit-log.module.d.ts +11 -0
- package/lib/audit-log/audit-log.module.d.ts.map +1 -0
- package/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.d.ts +8 -0
- package/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.d.ts.map +1 -0
- package/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.d.ts +15 -0
- package/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.d.ts.map +1 -0
- package/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.d.ts +12 -0
- package/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.d.ts.map +1 -0
- package/lib/base-model/index.d.ts +4 -0
- package/lib/base-model/index.d.ts.map +1 -0
- package/lib/base-model/techlify-form-component.class.d.ts +44 -0
- package/lib/base-model/techlify-form-component.class.d.ts.map +1 -0
- package/lib/base-model/techlify-listing-component.class.d.ts +48 -0
- package/lib/base-model/techlify-listing-component.class.d.ts.map +1 -0
- package/lib/base-model/techlify-service.class.d.ts +53 -0
- package/lib/base-model/techlify-service.class.d.ts.map +1 -0
- package/lib/core/alert.service.d.ts +16 -0
- package/lib/core/alert.service.d.ts.map +1 -0
- package/lib/core/api-prefix.interceptor.d.ts +15 -0
- package/lib/core/api-prefix.interceptor.d.ts.map +1 -0
- package/lib/core/authentication.guard.d.ts +14 -0
- package/lib/core/authentication.guard.d.ts.map +1 -0
- package/lib/core/authentication.service.d.ts +27 -0
- package/lib/core/authentication.service.d.ts.map +1 -0
- package/lib/core/cache.interceptor.d.ts +25 -0
- package/lib/core/cache.interceptor.d.ts.map +1 -0
- package/lib/core/config.service.d.ts +23 -0
- package/lib/core/config.service.d.ts.map +1 -0
- package/lib/core/core.module.d.ts +12 -0
- package/lib/core/core.module.d.ts.map +1 -0
- package/lib/core/credentials.service.d.ts +40 -0
- package/lib/core/credentials.service.d.ts.map +1 -0
- package/{src/lib/core/dataManager.service.ts → lib/core/dataManager.service.d.ts} +26 -76
- package/lib/core/dataManager.service.d.ts.map +1 -0
- package/lib/core/error-handler.interceptor.d.ts +18 -0
- package/lib/core/error-handler.interceptor.d.ts.map +1 -0
- package/lib/core/error-handler.service.d.ts +18 -0
- package/lib/core/error-handler.service.d.ts.map +1 -0
- package/lib/core/filter.service.d.ts +12 -0
- package/lib/core/filter.service.d.ts.map +1 -0
- package/lib/core/form-validator.service.d.ts +12 -0
- package/lib/core/form-validator.service.d.ts.map +1 -0
- package/lib/core/header.interceptor.d.ts +12 -0
- package/lib/core/header.interceptor.d.ts.map +1 -0
- package/lib/core/http-cache.service.d.ts +58 -0
- package/lib/core/http-cache.service.d.ts.map +1 -0
- package/lib/core/http.service.d.ts +60 -0
- package/lib/core/http.service.d.ts.map +1 -0
- package/{src/lib/core/index.ts → lib/core/index.d.ts} +1 -1
- package/lib/core/index.d.ts.map +1 -0
- package/lib/core/logger.service.d.ts +86 -0
- package/lib/core/logger.service.d.ts.map +1 -0
- package/lib/core/route-reusable-strategy.d.ts +17 -0
- package/lib/core/route-reusable-strategy.d.ts.map +1 -0
- package/lib/core/snack/snack.component.d.ts +14 -0
- package/lib/core/snack/snack.component.d.ts.map +1 -0
- package/lib/core/snack/snack.module.d.ts +11 -0
- package/lib/core/snack/snack.module.d.ts.map +1 -0
- package/lib/core/storage.service.d.ts +19 -0
- package/lib/core/storage.service.d.ts.map +1 -0
- package/lib/core/techlify-config.model.d.ts +19 -0
- package/lib/core/techlify-config.model.d.ts.map +1 -0
- package/lib/core/token.interceptor.d.ts +15 -0
- package/lib/core/token.interceptor.d.ts.map +1 -0
- package/lib/data-table/data-table.component.d.ts +64 -0
- package/lib/data-table/data-table.component.d.ts.map +1 -0
- package/{src/lib/data-table/data-table.model.ts → lib/data-table/data-table.model.d.ts} +7 -9
- package/lib/data-table/data-table.model.d.ts.map +1 -0
- package/lib/data-table/data-table.module.d.ts +12 -0
- package/lib/data-table/data-table.module.d.ts.map +1 -0
- package/lib/data-table/index.d.ts +3 -0
- package/lib/data-table/index.d.ts.map +1 -0
- package/lib/date-validator.d.ts +2 -0
- package/lib/date-validator.d.ts.map +1 -0
- package/lib/document-viewer/document-viewer.component.d.ts +20 -0
- package/lib/document-viewer/document-viewer.component.d.ts.map +1 -0
- package/lib/document-viewer/document-viewer.module.d.ts +12 -0
- package/lib/document-viewer/document-viewer.module.d.ts.map +1 -0
- package/lib/document-viewer/index.d.ts +3 -0
- package/lib/document-viewer/index.d.ts.map +1 -0
- package/lib/document-viewer/viewer-config.model.d.ts +6 -0
- package/lib/document-viewer/viewer-config.model.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.d.ts +13 -0
- package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.d.ts +21 -0
- package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.d.ts +13 -0
- package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.d.ts.map +1 -0
- package/{src/lib/email-subscription/email-subscription-for-user/index.ts → lib/email-subscription/email-subscription-for-user/index.d.ts} +1 -0
- package/lib/email-subscription/email-subscription-for-user/index.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-routing.module.d.ts +8 -0
- package/lib/email-subscription/email-subscription-routing.module.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.d.ts +8 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.d.ts +36 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.d.ts +15 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.d.ts.map +1 -0
- package/{src/lib/email-subscription/email-subscription-type/email-subscription-type-form/index.ts → lib/email-subscription/email-subscription-type/email-subscription-type-form/index.d.ts} +1 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-form/index.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.d.ts +15 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.d.ts +34 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.d.ts +15 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.d.ts +2 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.d.ts +8 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type.module.d.ts +9 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type.module.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.d.ts +8 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.d.ts +36 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.d.ts +15 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.d.ts.map +1 -0
- package/{src/lib/email-subscription/email-subscription-user/email-subscription-user-form/index.ts → lib/email-subscription/email-subscription-user/email-subscription-user-form/index.d.ts} +1 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-form/index.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.d.ts +15 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.d.ts +36 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.d.ts +16 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.d.ts.map +1 -0
- package/{src/lib/email-subscription/email-subscription-user/email-subscription-user-list/index.ts → lib/email-subscription/email-subscription-user/email-subscription-user-list/index.d.ts} +1 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list/index.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.d.ts +8 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.d.ts +17 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.d.ts +14 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.d.ts.map +1 -0
- package/{src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.ts → lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.d.ts} +1 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.d.ts +8 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user.module.d.ts +9 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user.module.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription.module.d.ts +9 -0
- package/lib/email-subscription/email-subscription.module.d.ts.map +1 -0
- package/lib/entity-files/entity-file-form/entity-file-form.component.d.ts +42 -0
- package/lib/entity-files/entity-file-form/entity-file-form.component.d.ts.map +1 -0
- package/lib/entity-files/entity-file.service.d.ts +15 -0
- package/lib/entity-files/entity-file.service.d.ts.map +1 -0
- package/lib/entity-files/entity-files-view-all.component.d.ts +69 -0
- package/lib/entity-files/entity-files-view-all.component.d.ts.map +1 -0
- package/lib/entity-files/entity-files-view-all.module.d.ts +20 -0
- package/lib/entity-files/entity-files-view-all.module.d.ts.map +1 -0
- package/lib/entity-files/index.d.ts +3 -0
- package/lib/entity-files/index.d.ts.map +1 -0
- package/lib/export-excel/export-excel-button/export-excel-button.component.d.ts +12 -0
- package/lib/export-excel/export-excel-button/export-excel-button.component.d.ts.map +1 -0
- package/lib/export-excel/export-excel.module.d.ts +10 -0
- package/lib/export-excel/export-excel.module.d.ts.map +1 -0
- package/lib/file-dropper/file-dropper.component.d.ts +37 -0
- package/lib/file-dropper/file-dropper.component.d.ts.map +1 -0
- package/lib/file-dropper/file-dropper.model.d.ts +11 -0
- package/lib/file-dropper/file-dropper.model.d.ts.map +1 -0
- package/lib/file-dropper/file-dropper.module.d.ts +11 -0
- package/lib/file-dropper/file-dropper.module.d.ts.map +1 -0
- package/lib/file-dropper/index.d.ts +3 -0
- package/lib/file-dropper/index.d.ts.map +1 -0
- package/lib/import-csv/data-import/data-import.component.d.ts +10 -0
- package/lib/import-csv/data-import/data-import.component.d.ts.map +1 -0
- package/lib/import-csv/failed-items-list/failed-items-list.component.d.ts +16 -0
- package/lib/import-csv/failed-items-list/failed-items-list.component.d.ts.map +1 -0
- package/lib/import-csv/field-mapping/field-mapping.component.d.ts +38 -0
- package/lib/import-csv/field-mapping/field-mapping.component.d.ts.map +1 -0
- package/lib/import-csv/import-csv-config.d.ts +18 -0
- package/lib/import-csv/import-csv-config.d.ts.map +1 -0
- package/lib/import-csv/import-csv.component.d.ts +37 -0
- package/lib/import-csv/import-csv.component.d.ts.map +1 -0
- package/lib/import-csv/import-csv.module.d.ts +21 -0
- package/lib/import-csv/import-csv.module.d.ts.map +1 -0
- package/lib/import-csv/import-history-list/import-history-list.component.d.ts +25 -0
- package/lib/import-csv/import-history-list/import-history-list.component.d.ts.map +1 -0
- package/lib/import-csv/import-success/import-success.component.d.ts +12 -0
- package/lib/import-csv/import-success/import-success.component.d.ts.map +1 -0
- package/{src/lib/loader/index.ts → lib/loader/index.d.ts} +1 -0
- package/lib/loader/index.d.ts.map +1 -0
- package/lib/loader/loader.component.d.ts +12 -0
- package/lib/loader/loader.component.d.ts.map +1 -0
- package/lib/loader/loader.module.d.ts +10 -0
- package/lib/loader/loader.module.d.ts.map +1 -0
- package/lib/login-history-for-user/login-history-for-user-routing.module.d.ts +8 -0
- package/lib/login-history-for-user/login-history-for-user-routing.module.d.ts.map +1 -0
- package/lib/login-history-for-user/login-history-for-user.component.d.ts +27 -0
- package/lib/login-history-for-user/login-history-for-user.component.d.ts.map +1 -0
- package/lib/login-history-for-user/login-history-for-user.module.d.ts +15 -0
- package/lib/login-history-for-user/login-history-for-user.module.d.ts.map +1 -0
- package/lib/material.module.d.ts +27 -0
- package/lib/material.module.d.ts.map +1 -0
- package/lib/note/comment-form/comment-form.component.d.ts +26 -0
- package/lib/note/comment-form/comment-form.component.d.ts.map +1 -0
- package/{src/lib/note/index.ts → lib/note/index.d.ts} +1 -0
- package/lib/note/index.d.ts.map +1 -0
- package/lib/note/note-form/note-form.component.d.ts +31 -0
- package/lib/note/note-form/note-form.component.d.ts.map +1 -0
- package/lib/note/note-list/note-list.component.d.ts +32 -0
- package/lib/note/note-list/note-list.component.d.ts.map +1 -0
- package/lib/note/note.module.d.ts +17 -0
- package/lib/note/note.module.d.ts.map +1 -0
- package/lib/note/note.service.d.ts +13 -0
- package/lib/note/note.service.d.ts.map +1 -0
- package/lib/read-more/read-more.component.d.ts +16 -0
- package/lib/read-more/read-more.component.d.ts.map +1 -0
- package/lib/read-more/read-more.module.d.ts +11 -0
- package/lib/read-more/read-more.module.d.ts.map +1 -0
- package/lib/request-helper/request-helper.service.d.ts +41 -0
- package/lib/request-helper/request-helper.service.d.ts.map +1 -0
- package/lib/searchable-selector/index.d.ts +3 -0
- package/lib/searchable-selector/index.d.ts.map +1 -0
- package/lib/searchable-selector/mat-select-infinite-scroll.directive.d.ts +27 -0
- package/lib/searchable-selector/mat-select-infinite-scroll.directive.d.ts.map +1 -0
- package/lib/searchable-selector/searchable-selector.component.d.ts +85 -0
- package/lib/searchable-selector/searchable-selector.component.d.ts.map +1 -0
- package/lib/searchable-selector/searchable-selector.module.d.ts +13 -0
- package/lib/searchable-selector/searchable-selector.module.d.ts.map +1 -0
- package/lib/techlify-feature/on-off-switch/on-off-switch.component.d.ts +13 -0
- package/lib/techlify-feature/on-off-switch/on-off-switch.component.d.ts.map +1 -0
- package/lib/techlify-feature/techlify-feature-enabled.directive.d.ts +21 -0
- package/lib/techlify-feature/techlify-feature-enabled.directive.d.ts.map +1 -0
- package/lib/techlify-feature/techlify-feature-listing.component.d.ts +41 -0
- package/lib/techlify-feature/techlify-feature-listing.component.d.ts.map +1 -0
- package/lib/techlify-feature/techlify-feature.module.d.ts +17 -0
- package/lib/techlify-feature/techlify-feature.module.d.ts.map +1 -0
- package/lib/techlify-feature/techlify-feature.routing.d.ts +3 -0
- package/lib/techlify-feature/techlify-feature.routing.d.ts.map +1 -0
- package/lib/techlify-feature/techlify-feature.service.d.ts +12 -0
- package/lib/techlify-feature/techlify-feature.service.d.ts.map +1 -0
- package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.d.ts +13 -0
- package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.d.ts.map +1 -0
- package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.d.ts +80 -0
- package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.d.ts.map +1 -0
- package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.d.ts +13 -0
- package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.d.ts.map +1 -0
- package/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.d.ts +62 -0
- package/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.d.ts.map +1 -0
- package/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.d.ts +15 -0
- package/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.d.ts.map +1 -0
- package/lib/techlify-update/techlify-update-form/techlify-update-form.component.d.ts +34 -0
- package/lib/techlify-update/techlify-update-form/techlify-update-form.component.d.ts.map +1 -0
- package/lib/techlify-update/techlify-update-form/techlify-update-form.module.d.ts +13 -0
- package/lib/techlify-update/techlify-update-form/techlify-update-form.module.d.ts.map +1 -0
- package/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.d.ts +8 -0
- package/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.d.ts.map +1 -0
- package/lib/techlify-update/techlify-update-history/techlify-update-history.component.d.ts +35 -0
- package/lib/techlify-update/techlify-update-history/techlify-update-history.component.d.ts.map +1 -0
- package/lib/techlify-update/techlify-update-history/techlify-update-history.module.d.ts +16 -0
- package/lib/techlify-update/techlify-update-history/techlify-update-history.module.d.ts.map +1 -0
- package/lib/techlify-update/techlify-update-routing.module.d.ts +8 -0
- package/lib/techlify-update/techlify-update-routing.module.d.ts.map +1 -0
- package/lib/techlify-update/techlify-update.module.d.ts +17 -0
- package/lib/techlify-update/techlify-update.module.d.ts.map +1 -0
- package/lib/techlify-update/techlify-update.service.d.ts +17 -0
- package/lib/techlify-update/techlify-update.service.d.ts.map +1 -0
- package/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.d.ts +35 -0
- package/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.d.ts.map +1 -0
- package/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.d.ts +29 -0
- package/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.d.ts.map +1 -0
- package/lib/techlify-update/update-notifier/update-notifier.component.d.ts +20 -0
- package/lib/techlify-update/update-notifier/update-notifier.component.d.ts.map +1 -0
- package/lib/techlify-update/update-notifier/update-notifier.module.d.ts +14 -0
- package/lib/techlify-update/update-notifier/update-notifier.module.d.ts.map +1 -0
- package/lib/techlify-update/update-view/update-view.component.d.ts +18 -0
- package/lib/techlify-update/update-view/update-view.component.d.ts.map +1 -0
- package/lib/techlify-update/update-view/update-view.module.d.ts +11 -0
- package/lib/techlify-update/update-view/update-view.module.d.ts.map +1 -0
- package/lib/timeline-filter/calculate-timeline.d.ts +7 -0
- package/lib/timeline-filter/calculate-timeline.d.ts.map +1 -0
- package/lib/timeline-filter/index.d.ts +4 -0
- package/lib/timeline-filter/index.d.ts.map +1 -0
- package/lib/timeline-filter/timeline-filter-routing.module.d.ts +8 -0
- package/lib/timeline-filter/timeline-filter-routing.module.d.ts.map +1 -0
- package/lib/timeline-filter/timeline-filter.component.d.ts +66 -0
- package/lib/timeline-filter/timeline-filter.component.d.ts.map +1 -0
- package/lib/timeline-filter/timeline-filter.module.d.ts +19 -0
- package/lib/timeline-filter/timeline-filter.module.d.ts.map +1 -0
- package/lib/timeline-filter/timeline.model.d.ts +18 -0
- package/lib/timeline-filter/timeline.model.d.ts.map +1 -0
- package/lib/utility/date-utils.service.d.ts +25 -0
- package/lib/utility/date-utils.service.d.ts.map +1 -0
- package/{src/lib/utility/index.ts → lib/utility/index.d.ts} +2 -1
- package/lib/utility/index.d.ts.map +1 -0
- package/lib/utility/num-items-selector.component.d.ts +20 -0
- package/lib/utility/num-items-selector.component.d.ts.map +1 -0
- package/lib/utility/number-selector.component.d.ts +24 -0
- package/lib/utility/number-selector.component.d.ts.map +1 -0
- package/lib/utility/utility.module.d.ts +11 -0
- package/lib/utility/utility.module.d.ts.map +1 -0
- package/ngx-techlify-core.d.ts.map +1 -0
- package/package.json +49 -29
- package/{src/public-api.ts → public-api.d.ts} +1 -30
- package/public-api.d.ts.map +1 -0
- package/karma.conf.js +0 -44
- package/ng-package.json +0 -27
- package/src/lib/action-popup/action-popup.component.html +0 -21
- package/src/lib/action-popup/action-popup.component.scss +0 -0
- package/src/lib/action-popup/action-popup.component.spec.ts +0 -25
- package/src/lib/action-popup/action-popup.component.ts +0 -31
- package/src/lib/action-popup/action-popup.model.ts +0 -5
- package/src/lib/action-popup/action-popup.module.ts +0 -23
- package/src/lib/action-popup/index.ts +0 -2
- package/src/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.ts +0 -10
- package/src/lib/audit-log/audit-log-for-model/audit-log-for-model.component.html +0 -9
- package/src/lib/audit-log/audit-log-for-model/audit-log-for-model.component.scss +0 -0
- package/src/lib/audit-log/audit-log-for-model/audit-log-for-model.component.spec.ts +0 -25
- package/src/lib/audit-log/audit-log-for-model/audit-log-for-model.component.ts +0 -49
- package/src/lib/audit-log/audit-log-for-model/audit-log-for-model.module.ts +0 -24
- package/src/lib/audit-log/audit-log-list/audit-log-list-routing.module.ts +0 -10
- package/src/lib/audit-log/audit-log-list/audit-log-list.component.html +0 -92
- package/src/lib/audit-log/audit-log-list/audit-log-list.component.scss +0 -21
- package/src/lib/audit-log/audit-log-list/audit-log-list.component.spec.ts +0 -25
- package/src/lib/audit-log/audit-log-list/audit-log-list.component.ts +0 -138
- package/src/lib/audit-log/audit-log-list/audit-log-list.module.ts +0 -28
- package/src/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.ts +0 -10
- package/src/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.html +0 -49
- package/src/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.scss +0 -0
- package/src/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.spec.ts +0 -26
- package/src/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.ts +0 -74
- package/src/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.ts +0 -24
- package/src/lib/audit-log/audit-log-routing.module.ts +0 -18
- package/src/lib/audit-log/audit-log-view/audit-log-view-routing.module.ts +0 -10
- package/src/lib/audit-log/audit-log-view/audit-log-view.component.html +0 -46
- package/src/lib/audit-log/audit-log-view/audit-log-view.component.scss +0 -0
- package/src/lib/audit-log/audit-log-view/audit-log-view.component.spec.ts +0 -25
- package/src/lib/audit-log/audit-log-view/audit-log-view.component.ts +0 -54
- package/src/lib/audit-log/audit-log-view/audit-log-view.module.ts +0 -20
- package/src/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.ts +0 -10
- package/src/lib/audit-log/audit-log-view-model/audit-log-view-model.component.html +0 -38
- package/src/lib/audit-log/audit-log-view-model/audit-log-view-model.component.scss +0 -4
- package/src/lib/audit-log/audit-log-view-model/audit-log-view-model.component.spec.ts +0 -25
- package/src/lib/audit-log/audit-log-view-model/audit-log-view-model.component.ts +0 -53
- package/src/lib/audit-log/audit-log-view-model/audit-log-view-model.module.ts +0 -20
- package/src/lib/audit-log/audit-log.module.ts +0 -20
- package/src/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.ts +0 -10
- package/src/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.html +0 -4
- package/src/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.scss +0 -4
- package/src/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.spec.ts +0 -25
- package/src/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.ts +0 -28
- package/src/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.ts +0 -20
- package/src/lib/base-model/index.ts +0 -3
- package/src/lib/base-model/techlify-form-component.class.ts +0 -60
- package/src/lib/base-model/techlify-listing-component.class.ts +0 -67
- package/src/lib/base-model/techlify-service.class.ts +0 -73
- package/src/lib/core/alert.service.ts +0 -32
- package/src/lib/core/api-prefix.interceptor.ts +0 -22
- package/src/lib/core/authentication.guard.ts +0 -34
- package/src/lib/core/authentication.service.ts +0 -53
- package/src/lib/core/cache.interceptor.ts +0 -59
- package/src/lib/core/config.service.ts +0 -52
- package/src/lib/core/core.module.ts +0 -44
- package/src/lib/core/credentials.service.ts +0 -91
- package/src/lib/core/error-handler.interceptor.ts +0 -43
- package/src/lib/core/error-handler.service.ts +0 -61
- package/src/lib/core/filter.service.ts +0 -42
- package/src/lib/core/form-validator.service.ts +0 -23
- package/src/lib/core/header.interceptor.ts +0 -22
- package/src/lib/core/http-cache.service.ts +0 -122
- package/src/lib/core/http.service.ts +0 -137
- package/src/lib/core/logger.service.ts +0 -113
- package/src/lib/core/route-reusable-strategy.ts +0 -36
- package/src/lib/core/snack/error-snack.html +0 -8
- package/src/lib/core/snack/snack.component.ts +0 -19
- package/src/lib/core/snack/snack.module.ts +0 -22
- package/src/lib/core/snack/snack.scss +0 -18
- package/src/lib/core/snack/success-snack.html +0 -8
- package/src/lib/core/storage.service.ts +0 -38
- package/src/lib/core/techlify-config.model.ts +0 -32
- package/src/lib/core/token.interceptor.ts +0 -25
- package/src/lib/data-table/data-table.component.html +0 -139
- package/src/lib/data-table/data-table.component.scss +0 -54
- package/src/lib/data-table/data-table.component.spec.ts +0 -25
- package/src/lib/data-table/data-table.component.ts +0 -232
- package/src/lib/data-table/data-table.module.ts +0 -23
- package/src/lib/data-table/index.ts +0 -2
- package/src/lib/date-validator.ts +0 -12
- package/src/lib/document-viewer/document-viewer.component.css +0 -5
- package/src/lib/document-viewer/document-viewer.component.html +0 -19
- package/src/lib/document-viewer/document-viewer.component.ts +0 -66
- package/src/lib/document-viewer/document-viewer.module.ts +0 -22
- package/src/lib/document-viewer/index.ts +0 -2
- package/src/lib/document-viewer/viewer-config.model.ts +0 -5
- package/src/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.ts +0 -25
- package/src/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.html +0 -23
- package/src/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.scss +0 -4
- package/src/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.spec.ts +0 -25
- package/src/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.ts +0 -74
- package/src/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.ts +0 -22
- package/src/lib/email-subscription/email-subscription-routing.module.ts +0 -10
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.ts +0 -10
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.html +0 -47
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.scss +0 -0
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.spec.ts +0 -25
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.ts +0 -113
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.ts +0 -28
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.ts +0 -29
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.html +0 -76
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.scss +0 -4
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.spec.ts +0 -25
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.ts +0 -170
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.ts +0 -26
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.ts +0 -1
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.ts +0 -11
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type.module.ts +0 -14
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.ts +0 -10
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.html +0 -38
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.scss +0 -0
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.spec.ts +0 -25
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.ts +0 -113
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.ts +0 -26
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.ts +0 -27
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.html +0 -74
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.scss +0 -5
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.spec.ts +0 -25
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.ts +0 -174
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.ts +0 -28
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.ts +0 -10
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.html +0 -21
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.scss +0 -0
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.spec.ts +0 -25
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.ts +0 -56
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.ts +0 -24
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.ts +0 -11
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user.module.ts +0 -14
- package/src/lib/email-subscription/email-subscription.module.ts +0 -15
- package/src/lib/entity-files/entity-file-form/entity-file-form.component.css +0 -0
- package/src/lib/entity-files/entity-file-form/entity-file-form.component.html +0 -45
- package/src/lib/entity-files/entity-file-form/entity-file-form.component.ts +0 -172
- package/src/lib/entity-files/entity-file.service.ts +0 -46
- package/src/lib/entity-files/entity-files-view-all.component.css +0 -0
- package/src/lib/entity-files/entity-files-view-all.component.html +0 -236
- package/src/lib/entity-files/entity-files-view-all.component.ts +0 -325
- package/src/lib/entity-files/entity-files-view-all.module.ts +0 -38
- package/src/lib/entity-files/index.ts +0 -2
- package/src/lib/export-excel/export-excel-button/export-excel-button.component.html +0 -1
- package/src/lib/export-excel/export-excel-button/export-excel-button.component.scss +0 -0
- package/src/lib/export-excel/export-excel-button/export-excel-button.component.spec.ts +0 -25
- package/src/lib/export-excel/export-excel-button/export-excel-button.component.ts +0 -31
- package/src/lib/export-excel/export-excel.module.ts +0 -16
- package/src/lib/file-dropper/file-dropper.component.html +0 -41
- package/src/lib/file-dropper/file-dropper.component.scss +0 -8
- package/src/lib/file-dropper/file-dropper.component.ts +0 -139
- package/src/lib/file-dropper/file-dropper.model.ts +0 -10
- package/src/lib/file-dropper/file-dropper.module.ts +0 -18
- package/src/lib/file-dropper/index.ts +0 -2
- package/src/lib/import-csv/data-import/data-import.component.html +0 -11
- package/src/lib/import-csv/data-import/data-import.component.scss +0 -0
- package/src/lib/import-csv/data-import/data-import.component.spec.ts +0 -28
- package/src/lib/import-csv/data-import/data-import.component.ts +0 -16
- package/src/lib/import-csv/failed-items-list/failed-items-list.component.html +0 -61
- package/src/lib/import-csv/failed-items-list/failed-items-list.component.scss +0 -0
- package/src/lib/import-csv/failed-items-list/failed-items-list.component.spec.ts +0 -28
- package/src/lib/import-csv/failed-items-list/failed-items-list.component.ts +0 -30
- package/src/lib/import-csv/field-mapping/field-mapping.component.html +0 -70
- package/src/lib/import-csv/field-mapping/field-mapping.component.scss +0 -15
- package/src/lib/import-csv/field-mapping/field-mapping.component.ts +0 -161
- package/src/lib/import-csv/import-csv-config.ts +0 -17
- package/src/lib/import-csv/import-csv.component.html +0 -71
- package/src/lib/import-csv/import-csv.component.scss +0 -15
- package/src/lib/import-csv/import-csv.component.spec.ts +0 -28
- package/src/lib/import-csv/import-csv.component.ts +0 -198
- package/src/lib/import-csv/import-csv.module.ts +0 -43
- package/src/lib/import-csv/import-history-list/import-history-list.component.html +0 -43
- package/src/lib/import-csv/import-history-list/import-history-list.component.scss +0 -0
- package/src/lib/import-csv/import-history-list/import-history-list.component.spec.ts +0 -28
- package/src/lib/import-csv/import-history-list/import-history-list.component.ts +0 -74
- package/src/lib/import-csv/import-success/import-success.component.html +0 -22
- package/src/lib/import-csv/import-success/import-success.component.scss +0 -0
- package/src/lib/import-csv/import-success/import-success.component.spec.ts +0 -28
- package/src/lib/import-csv/import-success/import-success.component.ts +0 -17
- package/src/lib/loader/loader.component.html +0 -4
- package/src/lib/loader/loader.component.scss +0 -8
- package/src/lib/loader/loader.component.spec.ts +0 -73
- package/src/lib/loader/loader.component.ts +0 -18
- package/src/lib/loader/loader.module.ts +0 -18
- package/src/lib/login-history-for-user/login-history-for-user-routing.module.ts +0 -18
- package/src/lib/login-history-for-user/login-history-for-user.component.html +0 -31
- package/src/lib/login-history-for-user/login-history-for-user.component.scss +0 -4
- package/src/lib/login-history-for-user/login-history-for-user.component.spec.ts +0 -25
- package/src/lib/login-history-for-user/login-history-for-user.component.ts +0 -94
- package/src/lib/login-history-for-user/login-history-for-user.module.ts +0 -26
- package/src/lib/material.module.ts +0 -68
- package/src/lib/note/comment-form/comment-form.component.html +0 -45
- package/src/lib/note/comment-form/comment-form.component.scss +0 -7
- package/src/lib/note/comment-form/comment-form.component.spec.ts +0 -24
- package/src/lib/note/comment-form/comment-form.component.ts +0 -84
- package/src/lib/note/note-form/note-form.component.css +0 -0
- package/src/lib/note/note-form/note-form.component.html +0 -26
- package/src/lib/note/note-form/note-form.component.spec.ts +0 -25
- package/src/lib/note/note-form/note-form.component.ts +0 -93
- package/src/lib/note/note-list/note-list.component.css +0 -4
- package/src/lib/note/note-list/note-list.component.html +0 -58
- package/src/lib/note/note-list/note-list.component.spec.ts +0 -25
- package/src/lib/note/note-list/note-list.component.ts +0 -156
- package/src/lib/note/note.module.ts +0 -33
- package/src/lib/note/note.service.spec.ts +0 -16
- package/src/lib/note/note.service.ts +0 -26
- package/src/lib/read-more/read-more.component.html +0 -3
- package/src/lib/read-more/read-more.component.scss +0 -8
- package/src/lib/read-more/read-more.component.spec.ts +0 -24
- package/src/lib/read-more/read-more.component.ts +0 -41
- package/src/lib/read-more/read-more.module.ts +0 -18
- package/src/lib/request-helper/request-helper.service.ts +0 -92
- package/src/lib/searchable-selector/index.ts +0 -2
- package/src/lib/searchable-selector/mat-select-infinite-scroll.directive.ts +0 -89
- package/src/lib/searchable-selector/searchable-selector.component.html +0 -21
- package/src/lib/searchable-selector/searchable-selector.component.scss +0 -8
- package/src/lib/searchable-selector/searchable-selector.component.spec.ts +0 -25
- package/src/lib/searchable-selector/searchable-selector.component.ts +0 -337
- package/src/lib/searchable-selector/searchable-selector.module.ts +0 -25
- package/src/lib/techlify-feature/on-off-switch/on-off-switch.component.html +0 -4
- package/src/lib/techlify-feature/on-off-switch/on-off-switch.component.scss +0 -0
- package/src/lib/techlify-feature/on-off-switch/on-off-switch.component.spec.ts +0 -28
- package/src/lib/techlify-feature/on-off-switch/on-off-switch.component.ts +0 -25
- package/src/lib/techlify-feature/techlify-feature-enabled.directive.ts +0 -71
- package/src/lib/techlify-feature/techlify-feature-listing.component.html +0 -65
- package/src/lib/techlify-feature/techlify-feature-listing.component.scss +0 -0
- package/src/lib/techlify-feature/techlify-feature-listing.component.ts +0 -174
- package/src/lib/techlify-feature/techlify-feature.module.ts +0 -28
- package/src/lib/techlify-feature/techlify-feature.routing.ts +0 -13
- package/src/lib/techlify-feature/techlify-feature.service.ts +0 -23
- package/src/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.ts +0 -25
- package/src/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.html +0 -18
- package/src/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.scss +0 -6
- package/src/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.spec.ts +0 -25
- package/src/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.ts +0 -308
- package/src/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.ts +0 -24
- package/src/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.html +0 -8
- package/src/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.scss +0 -0
- package/src/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.spec.ts +0 -25
- package/src/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.ts +0 -180
- package/src/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.ts +0 -28
- package/src/lib/techlify-update/techlify-update-form/techlify-update-form.component.html +0 -78
- package/src/lib/techlify-update/techlify-update-form/techlify-update-form.component.scss +0 -0
- package/src/lib/techlify-update/techlify-update-form/techlify-update-form.component.spec.ts +0 -25
- package/src/lib/techlify-update/techlify-update-form/techlify-update-form.component.ts +0 -113
- package/src/lib/techlify-update/techlify-update-form/techlify-update-form.module.ts +0 -25
- package/src/lib/techlify-update/techlify-update-history/index.ts +0 -1
- package/src/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.ts +0 -21
- package/src/lib/techlify-update/techlify-update-history/techlify-update-history.component.html +0 -94
- package/src/lib/techlify-update/techlify-update-history/techlify-update-history.component.scss +0 -0
- package/src/lib/techlify-update/techlify-update-history/techlify-update-history.component.ts +0 -142
- package/src/lib/techlify-update/techlify-update-history/techlify-update-history.module.ts +0 -25
- package/src/lib/techlify-update/techlify-update-routing.module.ts +0 -21
- package/src/lib/techlify-update/techlify-update.module.ts +0 -27
- package/src/lib/techlify-update/techlify-update.service.spec.ts +0 -16
- package/src/lib/techlify-update/techlify-update.service.ts +0 -42
- package/src/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.html +0 -104
- package/src/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.scss +0 -0
- package/src/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.spec.ts +0 -25
- package/src/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.ts +0 -167
- package/src/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.html +0 -39
- package/src/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.scss +0 -57
- package/src/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.spec.ts +0 -25
- package/src/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.ts +0 -76
- package/src/lib/techlify-update/update-notifier/update-notifier.component.html +0 -0
- package/src/lib/techlify-update/update-notifier/update-notifier.component.scss +0 -3
- package/src/lib/techlify-update/update-notifier/update-notifier.component.spec.ts +0 -25
- package/src/lib/techlify-update/update-notifier/update-notifier.component.ts +0 -56
- package/src/lib/techlify-update/update-notifier/update-notifier.module.ts +0 -27
- package/src/lib/techlify-update/update-view/update-view.component.html +0 -63
- package/src/lib/techlify-update/update-view/update-view.component.scss +0 -19
- package/src/lib/techlify-update/update-view/update-view.component.spec.ts +0 -25
- package/src/lib/techlify-update/update-view/update-view.component.ts +0 -36
- package/src/lib/techlify-update/update-view/update-view.module.ts +0 -23
- package/src/lib/timeline-filter/calculate-timeline.ts +0 -109
- package/src/lib/timeline-filter/index.ts +0 -3
- package/src/lib/timeline-filter/timeline-filter-routing.module.ts +0 -10
- package/src/lib/timeline-filter/timeline-filter.component.html +0 -54
- package/src/lib/timeline-filter/timeline-filter.component.scss +0 -0
- package/src/lib/timeline-filter/timeline-filter.component.spec.ts +0 -25
- package/src/lib/timeline-filter/timeline-filter.component.ts +0 -220
- package/src/lib/timeline-filter/timeline-filter.module.ts +0 -22
- package/src/lib/timeline-filter/timeline.model.ts +0 -17
- package/src/lib/utility/date-utils.service.ts +0 -51
- package/src/lib/utility/num-items-selector.component.ts +0 -29
- package/src/lib/utility/num-items-selector.html +0 -13
- package/src/lib/utility/number-selector.component.ts +0 -38
- package/src/lib/utility/number-selector.html +0 -6
- package/src/lib/utility/utility.module.ts +0 -20
- package/src/test.ts +0 -26
- package/tsconfig.lib.json +0 -26
- package/tsconfig.lib.prod.json +0 -10
- package/tsconfig.spec.json +0 -17
- package/tslint.json +0 -17
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "./config.service";
|
|
4
|
+
/**
|
|
5
|
+
* Provides storage for authentication credentials.
|
|
6
|
+
* The Credentials interface should be replaced with proper implementation.
|
|
7
|
+
*/
|
|
8
|
+
export class CredentialsService {
|
|
9
|
+
constructor(configService) {
|
|
10
|
+
this.configService = configService;
|
|
11
|
+
this._credentials = null;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Checks is the user is authenticated.
|
|
15
|
+
* @return True if the user is authenticated.
|
|
16
|
+
*/
|
|
17
|
+
get isAuthenticated() {
|
|
18
|
+
return !!this.credentials;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Gets the user credentials.
|
|
22
|
+
* @return The user credentials or null if the user is not authenticated.
|
|
23
|
+
*/
|
|
24
|
+
get credentials() {
|
|
25
|
+
if (!this._credentials) {
|
|
26
|
+
this._credentials = JSON.parse(sessionStorage.getItem(this.configService.getCredentialsKey()) || localStorage.getItem(this.configService.getCredentialsKey()));
|
|
27
|
+
}
|
|
28
|
+
return this._credentials;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Sets the user credentials.
|
|
32
|
+
* The credentials may be persisted across sessions by setting the `remember` parameter to true.
|
|
33
|
+
* Otherwise, the credentials are only persisted for the current session.
|
|
34
|
+
* @param credentials The user credentials.
|
|
35
|
+
* @param remember True to remember credentials across sessions.
|
|
36
|
+
*/
|
|
37
|
+
setCredentials(credentials, remember) {
|
|
38
|
+
this._credentials = credentials || null;
|
|
39
|
+
if (credentials) {
|
|
40
|
+
(remember ? localStorage : sessionStorage).setItem(this.configService.getCredentialsKey(), JSON.stringify(credentials));
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
sessionStorage.clear();
|
|
44
|
+
localStorage.clear();
|
|
45
|
+
this._credentials = null;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
getAccessToken() {
|
|
49
|
+
const expiration = this.credentials?.token?.expires_in || '';
|
|
50
|
+
const token = this.credentials?.token?.access_token || '';
|
|
51
|
+
if (!token || !expiration) {
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
if (Date.now() > parseInt(expiration)) {
|
|
55
|
+
this.setCredentials();
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
return token;
|
|
59
|
+
}
|
|
60
|
+
getExpiration() {
|
|
61
|
+
return this.credentials?.token?.expires_in || '';
|
|
62
|
+
}
|
|
63
|
+
getRefreshToken() {
|
|
64
|
+
return this.credentials?.token?.refresh_token || '';
|
|
65
|
+
}
|
|
66
|
+
refresh() {
|
|
67
|
+
this._credentials = null;
|
|
68
|
+
return this;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
CredentialsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: CredentialsService, deps: [{ token: i1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
72
|
+
CredentialsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: CredentialsService, providedIn: 'root' });
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: CredentialsService, decorators: [{
|
|
74
|
+
type: Injectable,
|
|
75
|
+
args: [{
|
|
76
|
+
providedIn: 'root'
|
|
77
|
+
}]
|
|
78
|
+
}], ctorParameters: function () { return [{ type: i1.ConfigService }]; } });
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGVudGlhbHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvY29yZS9jcmVkZW50aWFscy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVMzQzs7O0dBR0c7QUFJSCxNQUFNLE9BQU8sa0JBQWtCO0lBSTdCLFlBQW9CLGFBQTRCO1FBQTVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBRnhDLGlCQUFZLEdBQXVCLElBQUksQ0FBQztJQUdoRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUksV0FBVztRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNoSztRQUNELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsY0FBYyxDQUFDLFdBQXlCLEVBQUUsUUFBa0I7UUFDMUQsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLElBQUksSUFBSSxDQUFDO1FBRXhDLElBQUksV0FBVyxFQUFFO1lBQ2YsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7U0FDekg7YUFBTTtZQUNMLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN2QixZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBRUQsY0FBYztRQUNaLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxFQUFFLFVBQVUsSUFBSSxFQUFFLENBQUM7UUFDN0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUUsWUFBWSxJQUFJLEVBQUUsQ0FBQztRQUUxRCxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3pCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDckMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3RCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxVQUFVLElBQUksRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxhQUFhLElBQUksRUFBRSxDQUFDO0lBQ3RELENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzsrR0F4RVUsa0JBQWtCO21IQUFsQixrQkFBa0IsY0FGakIsTUFBTTsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9jb25maWcuc2VydmljZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENyZWRlbnRpYWxzIHtcclxuICAvLyBDdXN0b21pemUgcmVjZWl2ZWQgY3JlZGVudGlhbHMgaGVyZVxyXG4gIHVzZXI6IGFueTtcclxuICB0b2tlbjogYW55O1xyXG59XHJcblxyXG4vKipcclxuICogUHJvdmlkZXMgc3RvcmFnZSBmb3IgYXV0aGVudGljYXRpb24gY3JlZGVudGlhbHMuXHJcbiAqIFRoZSBDcmVkZW50aWFscyBpbnRlcmZhY2Ugc2hvdWxkIGJlIHJlcGxhY2VkIHdpdGggcHJvcGVyIGltcGxlbWVudGF0aW9uLlxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3JlZGVudGlhbHNTZXJ2aWNlIHtcclxuXHJcbiAgcHJpdmF0ZSBfY3JlZGVudGlhbHM6IENyZWRlbnRpYWxzIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2tzIGlzIHRoZSB1c2VyIGlzIGF1dGhlbnRpY2F0ZWQuXHJcbiAgICogQHJldHVybiBUcnVlIGlmIHRoZSB1c2VyIGlzIGF1dGhlbnRpY2F0ZWQuXHJcbiAgICovXHJcbiAgZ2V0IGlzQXV0aGVudGljYXRlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIXRoaXMuY3JlZGVudGlhbHM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXRzIHRoZSB1c2VyIGNyZWRlbnRpYWxzLlxyXG4gICAqIEByZXR1cm4gVGhlIHVzZXIgY3JlZGVudGlhbHMgb3IgbnVsbCBpZiB0aGUgdXNlciBpcyBub3QgYXV0aGVudGljYXRlZC5cclxuICAgKi9cclxuICBnZXQgY3JlZGVudGlhbHMoKTogQ3JlZGVudGlhbHMgfCBudWxsIHtcclxuICAgIGlmICghdGhpcy5fY3JlZGVudGlhbHMpIHtcclxuICAgICAgdGhpcy5fY3JlZGVudGlhbHMgPSBKU09OLnBhcnNlKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0odGhpcy5jb25maWdTZXJ2aWNlLmdldENyZWRlbnRpYWxzS2V5KCkpIHx8IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuY29uZmlnU2VydmljZS5nZXRDcmVkZW50aWFsc0tleSgpKSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5fY3JlZGVudGlhbHM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSB1c2VyIGNyZWRlbnRpYWxzLlxyXG4gICAqIFRoZSBjcmVkZW50aWFscyBtYXkgYmUgcGVyc2lzdGVkIGFjcm9zcyBzZXNzaW9ucyBieSBzZXR0aW5nIHRoZSBgcmVtZW1iZXJgIHBhcmFtZXRlciB0byB0cnVlLlxyXG4gICAqIE90aGVyd2lzZSwgdGhlIGNyZWRlbnRpYWxzIGFyZSBvbmx5IHBlcnNpc3RlZCBmb3IgdGhlIGN1cnJlbnQgc2Vzc2lvbi5cclxuICAgKiBAcGFyYW0gY3JlZGVudGlhbHMgVGhlIHVzZXIgY3JlZGVudGlhbHMuXHJcbiAgICogQHBhcmFtIHJlbWVtYmVyIFRydWUgdG8gcmVtZW1iZXIgY3JlZGVudGlhbHMgYWNyb3NzIHNlc3Npb25zLlxyXG4gICAqL1xyXG4gIHNldENyZWRlbnRpYWxzKGNyZWRlbnRpYWxzPzogQ3JlZGVudGlhbHMsIHJlbWVtYmVyPzogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fY3JlZGVudGlhbHMgPSBjcmVkZW50aWFscyB8fCBudWxsO1xyXG5cclxuICAgIGlmIChjcmVkZW50aWFscykge1xyXG4gICAgICAocmVtZW1iZXIgPyBsb2NhbFN0b3JhZ2UgOiBzZXNzaW9uU3RvcmFnZSkuc2V0SXRlbSh0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q3JlZGVudGlhbHNLZXkoKSwgSlNPTi5zdHJpbmdpZnkoY3JlZGVudGlhbHMpKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHNlc3Npb25TdG9yYWdlLmNsZWFyKCk7XHJcbiAgICAgIGxvY2FsU3RvcmFnZS5jbGVhcigpO1xyXG4gICAgICB0aGlzLl9jcmVkZW50aWFscyA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRBY2Nlc3NUb2tlbigpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIGNvbnN0IGV4cGlyYXRpb24gPSB0aGlzLmNyZWRlbnRpYWxzPy50b2tlbj8uZXhwaXJlc19pbiB8fCAnJztcclxuICAgIGNvbnN0IHRva2VuID0gdGhpcy5jcmVkZW50aWFscz8udG9rZW4/LmFjY2Vzc190b2tlbiB8fCAnJztcclxuXHJcbiAgICBpZiAoIXRva2VuIHx8ICFleHBpcmF0aW9uKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChEYXRlLm5vdygpID4gcGFyc2VJbnQoZXhwaXJhdGlvbikpIHtcclxuICAgICAgdGhpcy5zZXRDcmVkZW50aWFscygpO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdG9rZW47XHJcbiAgfVxyXG5cclxuICBnZXRFeHBpcmF0aW9uKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5jcmVkZW50aWFscz8udG9rZW4/LmV4cGlyZXNfaW4gfHwgJyc7XHJcbiAgfVxyXG5cclxuICBnZXRSZWZyZXNoVG9rZW4oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmNyZWRlbnRpYWxzPy50b2tlbj8ucmVmcmVzaF90b2tlbiB8fCAnJztcclxuICB9XHJcblxyXG4gIHJlZnJlc2goKTogQ3JlZGVudGlhbHNTZXJ2aWNlIHtcclxuICAgIHRoaXMuX2NyZWRlbnRpYWxzID0gbnVsbDtcclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "./http.service";
|
|
4
|
+
/**
|
|
5
|
+
* Service that provides a wrapper for retrieving data from the server
|
|
6
|
+
* @deprecated use HttpService Instead
|
|
7
|
+
* @author Joshua Kissoon
|
|
8
|
+
* @since 20170709
|
|
9
|
+
*/
|
|
10
|
+
export class DataManager {
|
|
11
|
+
constructor(http) {
|
|
12
|
+
this.http = http;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Callback wrapper for the HTTP GET Call
|
|
16
|
+
*
|
|
17
|
+
* @param urlq The query part of the URL to be sent to the server
|
|
18
|
+
*
|
|
19
|
+
* @author Joshua Kissoon
|
|
20
|
+
* @since 20160826
|
|
21
|
+
* @updated 20170711 to add parameters
|
|
22
|
+
*/
|
|
23
|
+
GET(urlq, params = {}) {
|
|
24
|
+
return this.http
|
|
25
|
+
.get(urlq, { params: params })
|
|
26
|
+
.toPromise();
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Callback wrapper for the HTTP POST Call
|
|
30
|
+
*
|
|
31
|
+
* @param urlq The query part of the URL to be sent to the server
|
|
32
|
+
* @param object The object containing the POST data to be sent
|
|
33
|
+
*
|
|
34
|
+
* @author Joshua Kissoon
|
|
35
|
+
* @since 20160826
|
|
36
|
+
*/
|
|
37
|
+
POST(urlq, object) {
|
|
38
|
+
if (null == object) {
|
|
39
|
+
object = { "blank": "blank" };
|
|
40
|
+
}
|
|
41
|
+
return this.http
|
|
42
|
+
.post(urlq, object)
|
|
43
|
+
.toPromise();
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Callback wrapper for the HTTP POST Call
|
|
47
|
+
*
|
|
48
|
+
* @param urlq The query part of the URL to be sent to the server
|
|
49
|
+
* @param object The object containing the POST data to be sent
|
|
50
|
+
*
|
|
51
|
+
* @author Joshua Kissoon
|
|
52
|
+
* @since 20160826
|
|
53
|
+
*/
|
|
54
|
+
POSTRAW(urlq, object) {
|
|
55
|
+
if (null == object) {
|
|
56
|
+
object = { "blank": "blank" };
|
|
57
|
+
}
|
|
58
|
+
return this.http
|
|
59
|
+
.skipHeader()
|
|
60
|
+
.post(urlq, object)
|
|
61
|
+
.toPromise();
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Callback wrapper for the HTTP PUT Call
|
|
65
|
+
*
|
|
66
|
+
* @param urlq The query part of the URL to be sent to the server
|
|
67
|
+
* @param object The object containing the PUT data to be sent
|
|
68
|
+
*
|
|
69
|
+
* @author Joshua Kissoon
|
|
70
|
+
* @since 20160826
|
|
71
|
+
*/
|
|
72
|
+
PUT(urlq, object) {
|
|
73
|
+
if (null == object) {
|
|
74
|
+
object = { "blank": "blank" };
|
|
75
|
+
}
|
|
76
|
+
return this.http
|
|
77
|
+
.put(urlq, object)
|
|
78
|
+
.toPromise();
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Callback wrapper for the HTTP PATCH Call
|
|
82
|
+
*
|
|
83
|
+
* @param urlq The query part of the URL to be sent to the server
|
|
84
|
+
* @param object The object containing the PUT data to be sent
|
|
85
|
+
*
|
|
86
|
+
* @author Joshua Kissoon
|
|
87
|
+
* @since 20161107
|
|
88
|
+
*/
|
|
89
|
+
PATCH(urlq, object) {
|
|
90
|
+
if (null == object) {
|
|
91
|
+
object = { "blank": "blank" };
|
|
92
|
+
}
|
|
93
|
+
return this.http
|
|
94
|
+
.patch(urlq, object)
|
|
95
|
+
.toPromise();
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Callback wrapper for the HTTP DELETE Call
|
|
99
|
+
*
|
|
100
|
+
* @param urlq The query part of the URL to be sent to the server
|
|
101
|
+
*
|
|
102
|
+
* @author Joshua Kissoon
|
|
103
|
+
* @since 20160826
|
|
104
|
+
*/
|
|
105
|
+
DELETE(urlq) {
|
|
106
|
+
return this.http
|
|
107
|
+
.delete(urlq)
|
|
108
|
+
.toPromise();
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
DataManager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: DataManager, deps: [{ token: i1.HttpService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
112
|
+
DataManager.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: DataManager, providedIn: 'root' });
|
|
113
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: DataManager, decorators: [{
|
|
114
|
+
type: Injectable,
|
|
115
|
+
args: [{
|
|
116
|
+
providedIn: 'root'
|
|
117
|
+
}]
|
|
118
|
+
}], ctorParameters: function () { return [{ type: i1.HttpService }]; } });
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YU1hbmFnZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvY29yZS9kYXRhTWFuYWdlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUczQzs7Ozs7R0FLRztBQUlILE1BQU0sT0FBTyxXQUFXO0lBRXBCLFlBQW9CLElBQWlCO1FBQWpCLFNBQUksR0FBSixJQUFJLENBQWE7SUFBSSxDQUFDO0lBRTFDOzs7Ozs7OztPQVFHO0lBQ0gsR0FBRyxDQUFDLElBQVksRUFBRSxNQUFNLEdBQUcsRUFBRTtRQUN6QixPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ1gsR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQzthQUM3QixTQUFTLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxJQUFJLENBQUMsSUFBWSxFQUFFLE1BQVc7UUFDMUIsSUFBSSxJQUFJLElBQUksTUFBTSxFQUFFO1lBQ2hCLE1BQU0sR0FBRyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztTQUNqQztRQUVELE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDWCxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQzthQUNsQixTQUFTLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxPQUFPLENBQUMsSUFBWSxFQUFFLE1BQVc7UUFDN0IsSUFBSSxJQUFJLElBQUksTUFBTSxFQUFFO1lBQ2hCLE1BQU0sR0FBRyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztTQUNqQztRQUVELE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDWCxVQUFVLEVBQUU7YUFDWixJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQzthQUNsQixTQUFTLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBR0Q7Ozs7Ozs7O09BUUc7SUFDSCxHQUFHLENBQUMsSUFBWSxFQUFFLE1BQVc7UUFDekIsSUFBSSxJQUFJLElBQUksTUFBTSxFQUFFO1lBQ2hCLE1BQU0sR0FBRyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztTQUNqQztRQUVELE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDWCxHQUFHLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQzthQUNqQixTQUFTLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxLQUFLLENBQUMsSUFBWSxFQUFFLE1BQVc7UUFDM0IsSUFBSSxJQUFJLElBQUksTUFBTSxFQUFFO1lBQ2hCLE1BQU0sR0FBRyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztTQUNqQztRQUVELE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDWCxLQUFLLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQzthQUNuQixTQUFTLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILE1BQU0sQ0FBQyxJQUFZO1FBQ2YsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNYLE1BQU0sQ0FBQyxJQUFJLENBQUM7YUFDWixTQUFTLEVBQUUsQ0FBQztJQUNyQixDQUFDOzt3R0E3R1EsV0FBVzs0R0FBWCxXQUFXLGNBRlIsTUFBTTsyRkFFVCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cFNlcnZpY2UgfSBmcm9tICcuL2h0dHAuc2VydmljZSc7XHJcblxyXG4vKipcclxuICogU2VydmljZSB0aGF0IHByb3ZpZGVzIGEgd3JhcHBlciBmb3IgcmV0cmlldmluZyBkYXRhIGZyb20gdGhlIHNlcnZlclxyXG4gKiBAZGVwcmVjYXRlZCB1c2UgSHR0cFNlcnZpY2UgSW5zdGVhZFxyXG4gKiBAYXV0aG9yIEpvc2h1YSBLaXNzb29uXHJcbiAqIEBzaW5jZSAyMDE3MDcwOVxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXRhTWFuYWdlciB7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwU2VydmljZSkgeyB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDYWxsYmFjayB3cmFwcGVyIGZvciB0aGUgSFRUUCBHRVQgQ2FsbFxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gdXJscSBUaGUgcXVlcnkgcGFydCBvZiB0aGUgVVJMIHRvIGJlIHNlbnQgdG8gdGhlIHNlcnZlclxyXG4gICAgICogXHJcbiAgICAgKiBAYXV0aG9yIEpvc2h1YSBLaXNzb29uXHJcbiAgICAgKiBAc2luY2UgMjAxNjA4MjZcclxuICAgICAqIEB1cGRhdGVkIDIwMTcwNzExIHRvIGFkZCBwYXJhbWV0ZXJzXHJcbiAgICAgKi9cclxuICAgIEdFVCh1cmxxOiBzdHJpbmcsIHBhcmFtcyA9IHt9KTogYW55IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgICAgICAgIC5nZXQodXJscSwgeyBwYXJhbXM6IHBhcmFtcyB9KVxyXG4gICAgICAgICAgICAudG9Qcm9taXNlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDYWxsYmFjayB3cmFwcGVyIGZvciB0aGUgSFRUUCBQT1NUIENhbGxcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHVybHEgVGhlIHF1ZXJ5IHBhcnQgb2YgdGhlIFVSTCB0byBiZSBzZW50IHRvIHRoZSBzZXJ2ZXJcclxuICAgICAqIEBwYXJhbSBvYmplY3QgVGhlIG9iamVjdCBjb250YWluaW5nIHRoZSBQT1NUIGRhdGEgdG8gYmUgc2VudFxyXG4gICAgICogXHJcbiAgICAgKiBAYXV0aG9yIEpvc2h1YSBLaXNzb29uXHJcbiAgICAgKiBAc2luY2UgMjAxNjA4MjZcclxuICAgICAqL1xyXG4gICAgUE9TVCh1cmxxOiBzdHJpbmcsIG9iamVjdDogYW55KTogYW55IHtcclxuICAgICAgICBpZiAobnVsbCA9PSBvYmplY3QpIHtcclxuICAgICAgICAgICAgb2JqZWN0ID0geyBcImJsYW5rXCI6IFwiYmxhbmtcIiB9O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAgICAgICAucG9zdCh1cmxxLCBvYmplY3QpXHJcbiAgICAgICAgICAgIC50b1Byb21pc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENhbGxiYWNrIHdyYXBwZXIgZm9yIHRoZSBIVFRQIFBPU1QgQ2FsbFxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gdXJscSBUaGUgcXVlcnkgcGFydCBvZiB0aGUgVVJMIHRvIGJlIHNlbnQgdG8gdGhlIHNlcnZlclxyXG4gICAgICogQHBhcmFtIG9iamVjdCBUaGUgb2JqZWN0IGNvbnRhaW5pbmcgdGhlIFBPU1QgZGF0YSB0byBiZSBzZW50XHJcbiAgICAgKiBcclxuICAgICAqIEBhdXRob3IgSm9zaHVhIEtpc3Nvb25cclxuICAgICAqIEBzaW5jZSAyMDE2MDgyNlxyXG4gICAgICovXHJcbiAgICBQT1NUUkFXKHVybHE6IHN0cmluZywgb2JqZWN0OiBhbnkpOiBhbnkge1xyXG4gICAgICAgIGlmIChudWxsID09IG9iamVjdCkge1xyXG4gICAgICAgICAgICBvYmplY3QgPSB7IFwiYmxhbmtcIjogXCJibGFua1wiIH07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgICAgICAgIC5za2lwSGVhZGVyKClcclxuICAgICAgICAgICAgLnBvc3QodXJscSwgb2JqZWN0KVxyXG4gICAgICAgICAgICAudG9Qcm9taXNlKCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2FsbGJhY2sgd3JhcHBlciBmb3IgdGhlIEhUVFAgUFVUIENhbGxcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHVybHEgVGhlIHF1ZXJ5IHBhcnQgb2YgdGhlIFVSTCB0byBiZSBzZW50IHRvIHRoZSBzZXJ2ZXJcclxuICAgICAqIEBwYXJhbSBvYmplY3QgVGhlIG9iamVjdCBjb250YWluaW5nIHRoZSBQVVQgZGF0YSB0byBiZSBzZW50XHJcbiAgICAgKiBcclxuICAgICAqIEBhdXRob3IgSm9zaHVhIEtpc3Nvb25cclxuICAgICAqIEBzaW5jZSAyMDE2MDgyNlxyXG4gICAgICovXHJcbiAgICBQVVQodXJscTogc3RyaW5nLCBvYmplY3Q6IGFueSk6IGFueSB7XHJcbiAgICAgICAgaWYgKG51bGwgPT0gb2JqZWN0KSB7XHJcbiAgICAgICAgICAgIG9iamVjdCA9IHsgXCJibGFua1wiOiBcImJsYW5rXCIgfTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgICAgICAgLnB1dCh1cmxxLCBvYmplY3QpXHJcbiAgICAgICAgICAgIC50b1Byb21pc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENhbGxiYWNrIHdyYXBwZXIgZm9yIHRoZSBIVFRQIFBBVENIIENhbGxcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHVybHEgVGhlIHF1ZXJ5IHBhcnQgb2YgdGhlIFVSTCB0byBiZSBzZW50IHRvIHRoZSBzZXJ2ZXJcclxuICAgICAqIEBwYXJhbSBvYmplY3QgVGhlIG9iamVjdCBjb250YWluaW5nIHRoZSBQVVQgZGF0YSB0byBiZSBzZW50XHJcbiAgICAgKiBcclxuICAgICAqIEBhdXRob3IgSm9zaHVhIEtpc3Nvb25cclxuICAgICAqIEBzaW5jZSAyMDE2MTEwN1xyXG4gICAgICovXHJcbiAgICBQQVRDSCh1cmxxOiBzdHJpbmcsIG9iamVjdDogYW55KTogYW55IHtcclxuICAgICAgICBpZiAobnVsbCA9PSBvYmplY3QpIHtcclxuICAgICAgICAgICAgb2JqZWN0ID0geyBcImJsYW5rXCI6IFwiYmxhbmtcIiB9O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAgICAgICAucGF0Y2godXJscSwgb2JqZWN0KVxyXG4gICAgICAgICAgICAudG9Qcm9taXNlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDYWxsYmFjayB3cmFwcGVyIGZvciB0aGUgSFRUUCBERUxFVEUgQ2FsbFxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gdXJscSBUaGUgcXVlcnkgcGFydCBvZiB0aGUgVVJMIHRvIGJlIHNlbnQgdG8gdGhlIHNlcnZlclxyXG4gICAgICogXHJcbiAgICAgKiBAYXV0aG9yIEpvc2h1YSBLaXNzb29uXHJcbiAgICAgKiBAc2luY2UgMjAxNjA4MjZcclxuICAgICAqL1xyXG4gICAgREVMRVRFKHVybHE6IHN0cmluZyk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAgICAgICAuZGVsZXRlKHVybHEpXHJcbiAgICAgICAgICAgIC50b1Byb21pc2UoKTtcclxuICAgIH1cclxuXHJcbn0iXX0=
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { throwError } from 'rxjs';
|
|
3
|
+
import { catchError } from 'rxjs/operators';
|
|
4
|
+
import { Logger } from './logger.service';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "./config.service";
|
|
7
|
+
import * as i2 from "./error-handler.service";
|
|
8
|
+
const log = new Logger('ErrorHandlerInterceptor');
|
|
9
|
+
/**
|
|
10
|
+
* Adds a default error handler to all requests.
|
|
11
|
+
*/
|
|
12
|
+
export class ErrorHandlerInterceptor {
|
|
13
|
+
constructor(configService, errorHandler) {
|
|
14
|
+
this.configService = configService;
|
|
15
|
+
this.errorHandler = errorHandler;
|
|
16
|
+
}
|
|
17
|
+
intercept(request, next) {
|
|
18
|
+
return next.handle(request).pipe(catchError(error => this.handleError(error)));
|
|
19
|
+
}
|
|
20
|
+
// Customize the default error handler here if needed
|
|
21
|
+
handleError(error) {
|
|
22
|
+
let errorMessage = '';
|
|
23
|
+
if (error.error instanceof ErrorEvent) {
|
|
24
|
+
// client-side error
|
|
25
|
+
errorMessage = `Client Error: ${this.configService?.getProjectKey()}: ${error.error.message}`;
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
// server-side error
|
|
29
|
+
errorMessage = `Server Error: ${this.configService?.getProjectKey()}`;
|
|
30
|
+
try {
|
|
31
|
+
this.errorHandler.handleError(error, 'Unexpected Server Error, try later or contact service team');
|
|
32
|
+
}
|
|
33
|
+
catch (e) {
|
|
34
|
+
console.log("Unable to handle server error", e);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return throwError(error);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
ErrorHandlerInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ErrorHandlerInterceptor, deps: [{ token: i1.ConfigService }, { token: i2.ErrorHandlerService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
41
|
+
ErrorHandlerInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ErrorHandlerInterceptor, providedIn: 'root' });
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ErrorHandlerInterceptor, decorators: [{
|
|
43
|
+
type: Injectable,
|
|
44
|
+
args: [{
|
|
45
|
+
providedIn: 'root'
|
|
46
|
+
}]
|
|
47
|
+
}], ctorParameters: function () { return [{ type: i1.ConfigService }, { type: i2.ErrorHandlerService }]; } });
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGFuZGxlci5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvY29yZS9lcnJvci1oYW5kbGVyLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBSTFDLE1BQU0sR0FBRyxHQUFHLElBQUksTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7QUFFbEQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sdUJBQXVCO0lBRWxDLFlBQW9CLGFBQTRCLEVBQVUsWUFBaUM7UUFBdkUsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7SUFBSSxDQUFDO0lBRWhHLFNBQVMsQ0FBQyxPQUF5QixFQUFFLElBQWlCO1FBQ3BELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUVELHFEQUFxRDtJQUM3QyxXQUFXLENBQUMsS0FBd0I7UUFDMUMsSUFBSSxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksS0FBSyxDQUFDLEtBQUssWUFBWSxVQUFVLEVBQUU7WUFDckMsb0JBQW9CO1lBQ3BCLFlBQVksR0FBRyxpQkFBaUIsSUFBSSxDQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsS0FBSyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQy9GO2FBQU07WUFDTCxvQkFBb0I7WUFDcEIsWUFBWSxHQUFHLGlCQUFpQixJQUFJLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxFQUFFLENBQUM7WUFDdEUsSUFBSTtnQkFDRixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsNERBQTRELENBQUMsQ0FBQzthQUNwRztZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNWLE9BQU8sQ0FBQyxHQUFHLENBQUMsK0JBQStCLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDakQ7U0FDRjtRQUNELE9BQU8sVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7O29IQXhCVSx1QkFBdUI7d0hBQXZCLHVCQUF1QixjQUZ0QixNQUFNOzJGQUVQLHVCQUF1QjtrQkFIbkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBFdmVudCwgSHR0cEludGVyY2VwdG9yLCBIdHRwSGFuZGxlciwgSHR0cFJlcXVlc3QsIEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IExvZ2dlciB9IGZyb20gJy4vbG9nZ2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9jb25maWcuc2VydmljZSc7XHJcbmltcG9ydCB7IEVycm9ySGFuZGxlclNlcnZpY2UgfSBmcm9tICcuL2Vycm9yLWhhbmRsZXIuc2VydmljZSc7XHJcblxyXG5jb25zdCBsb2cgPSBuZXcgTG9nZ2VyKCdFcnJvckhhbmRsZXJJbnRlcmNlcHRvcicpO1xyXG5cclxuLyoqXHJcbiAqIEFkZHMgYSBkZWZhdWx0IGVycm9yIGhhbmRsZXIgdG8gYWxsIHJlcXVlc3RzLlxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRXJyb3JIYW5kbGVySW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsIHByaXZhdGUgZXJyb3JIYW5kbGVyOiBFcnJvckhhbmRsZXJTZXJ2aWNlKSB7IH1cclxuXHJcbiAgaW50ZXJjZXB0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xyXG4gICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QpLnBpcGUoY2F0Y2hFcnJvcihlcnJvciA9PiB0aGlzLmhhbmRsZUVycm9yKGVycm9yKSkpO1xyXG4gIH1cclxuXHJcbiAgLy8gQ3VzdG9taXplIHRoZSBkZWZhdWx0IGVycm9yIGhhbmRsZXIgaGVyZSBpZiBuZWVkZWRcclxuICBwcml2YXRlIGhhbmRsZUVycm9yKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSk6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcclxuICAgIGxldCBlcnJvck1lc3NhZ2UgPSAnJztcclxuICAgIGlmIChlcnJvci5lcnJvciBpbnN0YW5jZW9mIEVycm9yRXZlbnQpIHtcclxuICAgICAgLy8gY2xpZW50LXNpZGUgZXJyb3JcclxuICAgICAgZXJyb3JNZXNzYWdlID0gYENsaWVudCBFcnJvcjogJHt0aGlzLmNvbmZpZ1NlcnZpY2U/LmdldFByb2plY3RLZXkoKX06ICR7ZXJyb3IuZXJyb3IubWVzc2FnZX1gO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gc2VydmVyLXNpZGUgZXJyb3JcclxuICAgICAgZXJyb3JNZXNzYWdlID0gYFNlcnZlciBFcnJvcjogJHt0aGlzLmNvbmZpZ1NlcnZpY2U/LmdldFByb2plY3RLZXkoKX1gO1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUVycm9yKGVycm9yLCAnVW5leHBlY3RlZCBTZXJ2ZXIgRXJyb3IsIHRyeSBsYXRlciBvciBjb250YWN0IHNlcnZpY2UgdGVhbScpO1xyXG4gICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJVbmFibGUgdG8gaGFuZGxlIHNlcnZlciBlcnJvclwiLCBlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "./alert.service";
|
|
4
|
+
import * as i2 from "./techlify-config.model";
|
|
5
|
+
/**
|
|
6
|
+
* Service used to handle errors from the request
|
|
7
|
+
*
|
|
8
|
+
* @author Joshua Kissoon
|
|
9
|
+
* @since 20171202
|
|
10
|
+
*/
|
|
11
|
+
export class ErrorHandlerService {
|
|
12
|
+
constructor(alerter, config) {
|
|
13
|
+
this.alerter = alerter;
|
|
14
|
+
this.config = config;
|
|
15
|
+
}
|
|
16
|
+
handleError(errorResponse, msg = '') {
|
|
17
|
+
// 1 - Create empty array to store errors
|
|
18
|
+
const errors = [];
|
|
19
|
+
// 2 - check if the error object is present in the response
|
|
20
|
+
if (errorResponse?.error) {
|
|
21
|
+
// 3 - Check for Laravel form validation error messages object
|
|
22
|
+
if (errorResponse?.error?.errors) {
|
|
23
|
+
// 4 - For each error property (which is a form field)
|
|
24
|
+
for (const property in errorResponse.error.errors) {
|
|
25
|
+
if (errorResponse.error.errors?.hasOwnProperty(property)) {
|
|
26
|
+
// 5 - Extract it's array of errors
|
|
27
|
+
const propertyErrors = errorResponse?.error?.errors[property];
|
|
28
|
+
// 6 - Push all errors in the array to the errors array
|
|
29
|
+
propertyErrors.forEach(error => errors.push(error));
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
if (errors.length === 0) {
|
|
34
|
+
// 7 - Push the main error message to the array of errors if there is no validation error
|
|
35
|
+
errors.push(errorResponse.error.message ? errorResponse.error.message : errorResponse.error?.error);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
var errMessage = errors.length ? errors[0] : msg;
|
|
39
|
+
this.alerter.addAlert("Error: " + errMessage, "warning");
|
|
40
|
+
if (errorResponse.status == 403 && this.config.isLogoutWhileApiGetsFailed) {
|
|
41
|
+
sessionStorage.clear();
|
|
42
|
+
localStorage.clear();
|
|
43
|
+
location.reload();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
ErrorHandlerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ErrorHandlerService, deps: [{ token: i1.AlertService }, { token: i2.TechlifyConfig }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
48
|
+
ErrorHandlerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ErrorHandlerService, providedIn: 'root' });
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ErrorHandlerService, decorators: [{
|
|
50
|
+
type: Injectable,
|
|
51
|
+
args: [{
|
|
52
|
+
providedIn: 'root'
|
|
53
|
+
}]
|
|
54
|
+
}], ctorParameters: function () { return [{ type: i1.AlertService }, { type: i2.TechlifyConfig }]; } });
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGFuZGxlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9jb3JlL2Vycm9yLWhhbmRsZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBSTNDOzs7OztHQUtHO0FBSUgsTUFBTSxPQUFPLG1CQUFtQjtJQUU5QixZQUFvQixPQUFxQixFQUMvQixNQUFzQjtRQURaLFlBQU8sR0FBUCxPQUFPLENBQWM7UUFDL0IsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7SUFFaEMsQ0FBQztJQUVELFdBQVcsQ0FBQyxhQUFrQixFQUFFLE1BQWMsRUFBRTtRQUM5Qyx5Q0FBeUM7UUFDekMsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBRWxCLDJEQUEyRDtRQUMzRCxJQUFJLGFBQWEsRUFBRSxLQUFLLEVBQUU7WUFFeEIsOERBQThEO1lBQzlELElBQUksYUFBYSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7Z0JBRWhDLHNEQUFzRDtnQkFDdEQsS0FBSyxNQUFNLFFBQVEsSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRTtvQkFFakQsSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsUUFBUSxDQUFDLEVBQUU7d0JBRXhELG1DQUFtQzt3QkFDbkMsTUFBTSxjQUFjLEdBQWtCLGFBQWEsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO3dCQUU3RSx1REFBdUQ7d0JBQ3ZELGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7cUJBQ3JEO2lCQUVGO2FBQ0Y7WUFFRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUN2Qix5RkFBeUY7Z0JBQ3pGLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQ3JHO1NBQ0Y7UUFDRCxJQUFJLFVBQVUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUNqRCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEdBQUcsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRXpELElBQUksYUFBYSxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQywwQkFBMEIsRUFBRTtZQUN6RSxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDdkIsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3JCLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUNuQjtJQUNILENBQUM7O2dIQTdDVSxtQkFBbUI7b0hBQW5CLG1CQUFtQixjQUZsQixNQUFNOzJGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZWNobGlmeUNvbmZpZyB9IGZyb20gJy4vdGVjaGxpZnktY29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gXCIuL2FsZXJ0LnNlcnZpY2VcIjtcclxuXHJcblxyXG4vKipcclxuICogU2VydmljZSB1c2VkIHRvIGhhbmRsZSBlcnJvcnMgZnJvbSB0aGUgcmVxdWVzdFxyXG4gKlxyXG4gKiBAYXV0aG9yIEpvc2h1YSBLaXNzb29uXHJcbiAqIEBzaW5jZSAyMDE3MTIwMlxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRXJyb3JIYW5kbGVyU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYWxlcnRlcjogQWxlcnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb25maWc6IFRlY2hsaWZ5Q29uZmlnLFxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlRXJyb3IoZXJyb3JSZXNwb25zZTogYW55LCBtc2c6IHN0cmluZyA9ICcnKSB7XHJcbiAgICAvLyAxIC0gQ3JlYXRlIGVtcHR5IGFycmF5IHRvIHN0b3JlIGVycm9yc1xyXG4gICAgY29uc3QgZXJyb3JzID0gW107XHJcblxyXG4gICAgLy8gMiAtIGNoZWNrIGlmIHRoZSBlcnJvciBvYmplY3QgaXMgcHJlc2VudCBpbiB0aGUgcmVzcG9uc2VcclxuICAgIGlmIChlcnJvclJlc3BvbnNlPy5lcnJvcikge1xyXG5cclxuICAgICAgLy8gMyAtIENoZWNrIGZvciBMYXJhdmVsIGZvcm0gdmFsaWRhdGlvbiBlcnJvciBtZXNzYWdlcyBvYmplY3RcclxuICAgICAgaWYgKGVycm9yUmVzcG9uc2U/LmVycm9yPy5lcnJvcnMpIHtcclxuXHJcbiAgICAgICAgLy8gNCAtIEZvciBlYWNoIGVycm9yIHByb3BlcnR5ICh3aGljaCBpcyBhIGZvcm0gZmllbGQpXHJcbiAgICAgICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBlcnJvclJlc3BvbnNlLmVycm9yLmVycm9ycykge1xyXG5cclxuICAgICAgICAgIGlmIChlcnJvclJlc3BvbnNlLmVycm9yLmVycm9ycz8uaGFzT3duUHJvcGVydHkocHJvcGVydHkpKSB7XHJcblxyXG4gICAgICAgICAgICAvLyA1IC0gRXh0cmFjdCBpdCdzIGFycmF5IG9mIGVycm9yc1xyXG4gICAgICAgICAgICBjb25zdCBwcm9wZXJ0eUVycm9yczogQXJyYXk8c3RyaW5nPiA9IGVycm9yUmVzcG9uc2U/LmVycm9yPy5lcnJvcnNbcHJvcGVydHldO1xyXG5cclxuICAgICAgICAgICAgLy8gNiAtIFB1c2ggYWxsIGVycm9ycyBpbiB0aGUgYXJyYXkgdG8gdGhlIGVycm9ycyBhcnJheVxyXG4gICAgICAgICAgICBwcm9wZXJ0eUVycm9ycy5mb3JFYWNoKGVycm9yID0+IGVycm9ycy5wdXNoKGVycm9yKSk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGVycm9ycy5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAvLyA3IC0gUHVzaCB0aGUgbWFpbiBlcnJvciBtZXNzYWdlIHRvIHRoZSBhcnJheSBvZiBlcnJvcnMgaWYgdGhlcmUgaXMgbm8gdmFsaWRhdGlvbiBlcnJvclxyXG4gICAgICAgIGVycm9ycy5wdXNoKGVycm9yUmVzcG9uc2UuZXJyb3IubWVzc2FnZSA/IGVycm9yUmVzcG9uc2UuZXJyb3IubWVzc2FnZSA6IGVycm9yUmVzcG9uc2UuZXJyb3I/LmVycm9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdmFyIGVyck1lc3NhZ2UgPSBlcnJvcnMubGVuZ3RoID8gZXJyb3JzWzBdIDogbXNnO1xyXG4gICAgdGhpcy5hbGVydGVyLmFkZEFsZXJ0KFwiRXJyb3I6IFwiICsgZXJyTWVzc2FnZSwgXCJ3YXJuaW5nXCIpO1xyXG5cclxuICAgIGlmIChlcnJvclJlc3BvbnNlLnN0YXR1cyA9PSA0MDMgJiYgdGhpcy5jb25maWcuaXNMb2dvdXRXaGlsZUFwaUdldHNGYWlsZWQpIHtcclxuICAgICAgc2Vzc2lvblN0b3JhZ2UuY2xlYXIoKTtcclxuICAgICAgbG9jYWxTdG9yYWdlLmNsZWFyKCk7XHJcbiAgICAgIGxvY2F0aW9uLnJlbG9hZCgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/router";
|
|
4
|
+
export class FilterService {
|
|
5
|
+
constructor(router) {
|
|
6
|
+
this.router = router;
|
|
7
|
+
}
|
|
8
|
+
applyFilterToRoute(url, filter) {
|
|
9
|
+
this.router.navigate([filter], {
|
|
10
|
+
relativeTo: url,
|
|
11
|
+
replaceUrl: true
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
getFiltersFromRoute(url, filterFormGroup) {
|
|
15
|
+
url.params.subscribe(params => {
|
|
16
|
+
for (var filter in params) {
|
|
17
|
+
if (params[filter]) {
|
|
18
|
+
for (let [key, value] of Object.entries(filterFormGroup)) {
|
|
19
|
+
if (key === filter) {
|
|
20
|
+
filterFormGroup[key] = params[filter];
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
return filterFormGroup;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
FilterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: FilterService, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
30
|
+
FilterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: FilterService, providedIn: 'root' });
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: FilterService, decorators: [{
|
|
32
|
+
type: Injectable,
|
|
33
|
+
args: [{
|
|
34
|
+
providedIn: 'root'
|
|
35
|
+
}]
|
|
36
|
+
}], ctorParameters: function () { return [{ type: i1.Router }]; } });
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2NvcmUvZmlsdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTTNDLE1BQU0sT0FBTyxhQUFhO0lBSXhCLFlBQW9CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQUksQ0FBQztJQUV2QyxrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsTUFBTTtRQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUMzQjtZQUNFLFVBQVUsRUFBRSxHQUFHO1lBQ2YsVUFBVSxFQUFFLElBQUk7U0FDakIsQ0FDRixDQUFBO0lBQ0gsQ0FBQztJQUVELG1CQUFtQixDQUFDLEdBQUcsRUFBRSxlQUFlO1FBQ3RDLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUNsQixNQUFNLENBQUMsRUFBRTtZQUNQLEtBQUssSUFBSSxNQUFNLElBQUksTUFBTSxFQUFFO2dCQUN6QixJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRTtvQkFFbEIsS0FBSyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLEVBQUU7d0JBQ3hELElBQUksR0FBRyxLQUFLLE1BQU0sRUFBRTs0QkFDbEIsZUFBZSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQzt5QkFDdkM7cUJBQ0Y7aUJBRUY7YUFFRjtRQUNILENBQUMsQ0FDRixDQUFDO1FBQ0YsT0FBTyxlQUFlLENBQUM7SUFDekIsQ0FBQzs7MEdBakNVLGFBQWE7OEdBQWIsYUFBYSxjQUZaLE1BQU07MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsdGVyU2VydmljZSB7XHJcblxyXG4gIGZpbHRlcnM6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikgeyB9XHJcblxyXG4gIGFwcGx5RmlsdGVyVG9Sb3V0ZSh1cmwsIGZpbHRlcikge1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2ZpbHRlcl0sXHJcbiAgICAgIHtcclxuICAgICAgICByZWxhdGl2ZVRvOiB1cmwsXHJcbiAgICAgICAgcmVwbGFjZVVybDogdHJ1ZVxyXG4gICAgICB9XHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBnZXRGaWx0ZXJzRnJvbVJvdXRlKHVybCwgZmlsdGVyRm9ybUdyb3VwKSB7XHJcbiAgICB1cmwucGFyYW1zLnN1YnNjcmliZShcclxuICAgICAgcGFyYW1zID0+IHtcclxuICAgICAgICBmb3IgKHZhciBmaWx0ZXIgaW4gcGFyYW1zKSB7XHJcbiAgICAgICAgICBpZiAocGFyYW1zW2ZpbHRlcl0pIHtcclxuXHJcbiAgICAgICAgICAgIGZvciAobGV0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhmaWx0ZXJGb3JtR3JvdXApKSB7XHJcbiAgICAgICAgICAgICAgaWYgKGtleSA9PT0gZmlsdGVyKSB7XHJcbiAgICAgICAgICAgICAgICBmaWx0ZXJGb3JtR3JvdXBba2V5XSA9IHBhcmFtc1tmaWx0ZXJdO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gICAgcmV0dXJuIGZpbHRlckZvcm1Hcm91cDtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class FormValidatorService {
|
|
4
|
+
constructor() { }
|
|
5
|
+
/**Method to evaluate form fields*/
|
|
6
|
+
isFieldValid(field, formGroup, firstAttempt) {
|
|
7
|
+
return (!formGroup.get(field).valid && formGroup.get(field).touched) ||
|
|
8
|
+
(!formGroup.get(field).valid && formGroup.get(field).untouched && firstAttempt);
|
|
9
|
+
}
|
|
10
|
+
/**Method to find error in form fields*/
|
|
11
|
+
getErrorMessage(field, formGroup, errorMessages, errorField) {
|
|
12
|
+
const error = Object.keys(formGroup.get(field).errors);
|
|
13
|
+
return (error.length > 0) ? (errorMessages[errorField || field][error[0]] ? errorMessages[errorField || field][error[0]] : '') : '';
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
FormValidatorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: FormValidatorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
17
|
+
FormValidatorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: FormValidatorService, providedIn: 'root' });
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: FormValidatorService, decorators: [{
|
|
19
|
+
type: Injectable,
|
|
20
|
+
args: [{
|
|
21
|
+
providedIn: 'root'
|
|
22
|
+
}]
|
|
23
|
+
}], ctorParameters: function () { return []; } });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12YWxpZGF0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvY29yZS9mb3JtLXZhbGlkYXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTNDLE1BQU0sT0FBTyxvQkFBb0I7SUFFL0IsZ0JBQWdCLENBQUM7SUFFakIsbUNBQW1DO0lBQ25DLFlBQVksQ0FBQyxLQUFhLEVBQUUsU0FBaUMsRUFBRSxZQUFzQjtRQUNuRixPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUNsRSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLElBQUksU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLElBQUksWUFBWSxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUVELHdDQUF3QztJQUN4QyxlQUFlLENBQUMsS0FBYSxFQUFFLFNBQWlDLEVBQUUsYUFBa0IsRUFBRSxVQUFtQjtRQUN2RyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkQsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFVBQVUsSUFBSSxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFVBQVUsSUFBSSxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUN0SSxDQUFDOztpSEFkVSxvQkFBb0I7cUhBQXBCLG9CQUFvQixjQUZuQixNQUFNOzJGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtVmFsaWRhdG9yU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIC8qKk1ldGhvZCB0byBldmFsdWF0ZSBmb3JtIGZpZWxkcyovXHJcbiAgaXNGaWVsZFZhbGlkKGZpZWxkOiBzdHJpbmcsIGZvcm1Hcm91cDogVW50eXBlZEZvcm1Hcm91cCB8IGFueSwgZmlyc3RBdHRlbXB0PzogYm9vbGVhbikge1xyXG4gICAgcmV0dXJuICghZm9ybUdyb3VwLmdldChmaWVsZCkudmFsaWQgJiYgZm9ybUdyb3VwLmdldChmaWVsZCkudG91Y2hlZCkgfHxcclxuICAgICAgKCFmb3JtR3JvdXAuZ2V0KGZpZWxkKS52YWxpZCAmJiBmb3JtR3JvdXAuZ2V0KGZpZWxkKS51bnRvdWNoZWQgJiYgZmlyc3RBdHRlbXB0KTtcclxuICB9XHJcblxyXG4gIC8qKk1ldGhvZCB0byBmaW5kIGVycm9yIGluIGZvcm0gZmllbGRzKi9cclxuICBnZXRFcnJvck1lc3NhZ2UoZmllbGQ6IHN0cmluZywgZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwIHwgYW55LCBlcnJvck1lc3NhZ2VzOiBhbnksIGVycm9yRmllbGQ/OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGVycm9yID0gT2JqZWN0LmtleXMoZm9ybUdyb3VwLmdldChmaWVsZCkuZXJyb3JzKTtcclxuICAgIHJldHVybiAoZXJyb3IubGVuZ3RoID4gMCkgPyAoZXJyb3JNZXNzYWdlc1tlcnJvckZpZWxkIHx8IGZpZWxkXVtlcnJvclswXV0gPyBlcnJvck1lc3NhZ2VzW2Vycm9yRmllbGQgfHwgZmllbGRdW2Vycm9yWzBdXSA6ICcnKSA6ICcnO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Prefixes all requests not starting with `http[s]` with `environment.serverUrl`.
|
|
5
|
+
*/
|
|
6
|
+
export class HeaderInterceptor {
|
|
7
|
+
intercept(request, next) {
|
|
8
|
+
request = request.clone({
|
|
9
|
+
setHeaders: {
|
|
10
|
+
'Content-Type': request.headers.get('Content-Type') || 'application/json',
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
return next.handle(request);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
HeaderInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: HeaderInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
17
|
+
HeaderInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: HeaderInterceptor, providedIn: 'root' });
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: HeaderInterceptor, decorators: [{
|
|
19
|
+
type: Injectable,
|
|
20
|
+
args: [{
|
|
21
|
+
providedIn: 'root'
|
|
22
|
+
}]
|
|
23
|
+
}] });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9jb3JlL2hlYWRlci5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQzs7R0FFRztBQUlILE1BQU0sT0FBTyxpQkFBaUI7SUFFNUIsU0FBUyxDQUFDLE9BQXlCLEVBQUUsSUFBaUI7UUFDcEQsT0FBTyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDdEIsVUFBVSxFQUFFO2dCQUNWLGNBQWMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxrQkFBa0I7YUFDMUU7U0FDRixDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUIsQ0FBQzs7OEdBVFUsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FGaEIsTUFBTTsyRkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwRXZlbnQsIEh0dHBJbnRlcmNlcHRvciwgSHR0cEhhbmRsZXIsIEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5cclxuLyoqXHJcbiAqIFByZWZpeGVzIGFsbCByZXF1ZXN0cyBub3Qgc3RhcnRpbmcgd2l0aCBgaHR0cFtzXWAgd2l0aCBgZW52aXJvbm1lbnQuc2VydmVyVXJsYC5cclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEhlYWRlckludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcclxuXHJcbiAgaW50ZXJjZXB0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xyXG4gICAgcmVxdWVzdCA9IHJlcXVlc3QuY2xvbmUoe1xyXG4gICAgICBzZXRIZWFkZXJzOiB7XHJcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6IHJlcXVlc3QuaGVhZGVycy5nZXQoJ0NvbnRlbnQtVHlwZScpIHx8ICdhcHBsaWNhdGlvbi9qc29uJyxcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Logger } from './logger.service';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "./config.service";
|
|
5
|
+
const log = new Logger('HttpCacheService');
|
|
6
|
+
/**
|
|
7
|
+
* Provides a cache facility for HTTP requests with configurable persistence policy.
|
|
8
|
+
*/
|
|
9
|
+
export class HttpCacheService {
|
|
10
|
+
constructor(configService) {
|
|
11
|
+
this.configService = configService;
|
|
12
|
+
this.cachedData = {};
|
|
13
|
+
this.storage = this.configService.getStorage();
|
|
14
|
+
this.cachePersistenceKey = this.configService.getProjectKey() + '_HTTP_CACHE';
|
|
15
|
+
this.loadCacheData();
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Sets the cache data for the specified request.
|
|
19
|
+
* @param {!string} url The request URL.
|
|
20
|
+
* @param {ResponseOptions} data The received data.
|
|
21
|
+
* @param {Date=} lastUpdated The cache last update, current date is used if not specified.
|
|
22
|
+
*/
|
|
23
|
+
setCacheData(url, data, lastUpdated) {
|
|
24
|
+
this.cachedData[url] = {
|
|
25
|
+
lastUpdated: lastUpdated || new Date(),
|
|
26
|
+
data: data
|
|
27
|
+
};
|
|
28
|
+
log.debug(`Cache set for key: "${url}"`);
|
|
29
|
+
this.saveCacheData();
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Gets the cached data for the specified request.
|
|
33
|
+
* @param {!string} url The request URL.
|
|
34
|
+
* @return {?ResponseOptions} The cached data or null if no cached data exists for this request.
|
|
35
|
+
*/
|
|
36
|
+
getCacheData(url) {
|
|
37
|
+
const cacheEntry = this.cachedData[url];
|
|
38
|
+
if (cacheEntry) {
|
|
39
|
+
log.debug(`Cache hit for key: "${url}"`);
|
|
40
|
+
return cacheEntry.data;
|
|
41
|
+
}
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Gets the cached entry for the specified request.
|
|
46
|
+
* @param {!string} url The request URL.
|
|
47
|
+
* @return {?HttpCacheEntry} The cache entry or null if no cache entry exists for this request.
|
|
48
|
+
*/
|
|
49
|
+
getHttpCacheEntry(url) {
|
|
50
|
+
return this.cachedData[url] || null;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Clears the cached entry (if exists) for the specified request.
|
|
54
|
+
* @param {!string} url The request URL.
|
|
55
|
+
*/
|
|
56
|
+
clearCache(url) {
|
|
57
|
+
delete this.cachedData[url];
|
|
58
|
+
log.debug(`Cache cleared for key: "${url}"`);
|
|
59
|
+
this.saveCacheData();
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Cleans cache entries older than the specified date.
|
|
63
|
+
* @param {date=} expirationDate The cache expiration date. If no date is specified, all cache is cleared.
|
|
64
|
+
*/
|
|
65
|
+
cleanCache(expirationDate) {
|
|
66
|
+
if (expirationDate) {
|
|
67
|
+
Object(this.cachedData).keys.forEach((key) => {
|
|
68
|
+
if (expirationDate >= this.cachedData[key]?.lastUpdated) {
|
|
69
|
+
delete this.cachedData[key];
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
this.cachedData = {};
|
|
75
|
+
}
|
|
76
|
+
this.saveCacheData();
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Sets the cache persistence policy.
|
|
80
|
+
* Note that changing the cache persistence will also clear the cache from its previous storage.
|
|
81
|
+
* @param {'local'|'session'=} persistence How the cache should be persisted, it can be either local or session
|
|
82
|
+
* storage, or if no value is provided it will be only in-memory (default).
|
|
83
|
+
*/
|
|
84
|
+
setPersistence(persistence) {
|
|
85
|
+
this.cleanCache();
|
|
86
|
+
this.storage = persistence === 'local' ? localStorage : persistence === 'session' ? sessionStorage : null;
|
|
87
|
+
this.loadCacheData();
|
|
88
|
+
}
|
|
89
|
+
saveCacheData() {
|
|
90
|
+
if (this.storage) {
|
|
91
|
+
this.storage[this.cachePersistenceKey] = JSON.stringify(this.cachedData);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
loadCacheData() {
|
|
95
|
+
const data = this.storage ? this.storage[this.cachePersistenceKey] : null;
|
|
96
|
+
this.cachedData = data ? JSON.parse(data) : {};
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
HttpCacheService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: HttpCacheService, deps: [{ token: i1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
100
|
+
HttpCacheService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: HttpCacheService, providedIn: 'root' });
|
|
101
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: HttpCacheService, decorators: [{
|
|
102
|
+
type: Injectable,
|
|
103
|
+
args: [{
|
|
104
|
+
providedIn: 'root'
|
|
105
|
+
}]
|
|
106
|
+
}], ctorParameters: function () { return [{ type: i1.ConfigService }]; } });
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1jYWNoZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9jb3JlL2h0dHAtY2FjaGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBRTFDLE1BQU0sR0FBRyxHQUFHLElBQUksTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFRM0M7O0dBRUc7QUFJSCxNQUFNLE9BQU8sZ0JBQWdCO0lBTTNCLFlBQW9CLGFBQTRCO1FBQTVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBSnhDLGVBQVUsR0FBdUMsRUFBRSxDQUFDO1FBSzFELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsR0FBRyxhQUFhLENBQUM7UUFDOUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFlBQVksQ0FBQyxHQUFXLEVBQUUsSUFBdUIsRUFBRSxXQUFrQjtRQUNuRSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHO1lBQ3JCLFdBQVcsRUFBRSxXQUFXLElBQUksSUFBSSxJQUFJLEVBQUU7WUFDdEMsSUFBSSxFQUFFLElBQUk7U0FDWCxDQUFDO1FBQ0YsR0FBRyxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxZQUFZLENBQUMsR0FBVztRQUN0QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXhDLElBQUksVUFBVSxFQUFFO1lBQ2QsR0FBRyxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsR0FBRyxHQUFHLENBQUMsQ0FBQztZQUN6QyxPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUM7U0FDeEI7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsaUJBQWlCLENBQUMsR0FBVztRQUMzQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxVQUFVLENBQUMsR0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUIsR0FBRyxDQUFDLEtBQUssQ0FBQywyQkFBMkIsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7T0FHRztJQUNILFVBQVUsQ0FBQyxjQUFxQjtRQUM5QixJQUFJLGNBQWMsRUFBRTtZQUNsQixNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFXLEVBQUUsRUFBRTtnQkFDbkQsSUFBSSxjQUFjLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxXQUFXLEVBQUU7b0JBQ3ZELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDN0I7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztTQUN0QjtRQUNELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxjQUFjLENBQUMsV0FBaUM7UUFDOUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsV0FBVyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxXQUFXLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUMxRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVPLGFBQWE7UUFDbkIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDMUU7SUFDSCxDQUFDO0lBRU8sYUFBYTtRQUNuQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDMUUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNqRCxDQUFDOzs2R0FwR1UsZ0JBQWdCO2lIQUFoQixnQkFBZ0IsY0FGZixNQUFNOzJGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJy4vY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2dnZXIgfSBmcm9tICcuL2xvZ2dlci5zZXJ2aWNlJztcclxuXHJcbmNvbnN0IGxvZyA9IG5ldyBMb2dnZXIoJ0h0dHBDYWNoZVNlcnZpY2UnKTtcclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBDYWNoZUVudHJ5IHtcclxuICBsYXN0VXBkYXRlZDogRGF0ZTtcclxuICBkYXRhOiBIdHRwUmVzcG9uc2U8YW55PjtcclxufVxyXG5cclxuLyoqXHJcbiAqIFByb3ZpZGVzIGEgY2FjaGUgZmFjaWxpdHkgZm9yIEhUVFAgcmVxdWVzdHMgd2l0aCBjb25maWd1cmFibGUgcGVyc2lzdGVuY2UgcG9saWN5LlxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgSHR0cENhY2hlU2VydmljZSB7XHJcblxyXG4gIHByaXZhdGUgY2FjaGVkRGF0YTogeyBba2V5OiBzdHJpbmddOiBIdHRwQ2FjaGVFbnRyeTsgfSA9IHt9O1xyXG4gIHByaXZhdGUgc3RvcmFnZTogU3RvcmFnZSB8IGFueSB8IG51bGw7XHJcbiAgcHJpdmF0ZSBjYWNoZVBlcnNpc3RlbmNlS2V5OiBTdHJpbmcgfCBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSkge1xyXG4gICAgdGhpcy5zdG9yYWdlID0gdGhpcy5jb25maWdTZXJ2aWNlLmdldFN0b3JhZ2UoKTtcclxuICAgIHRoaXMuY2FjaGVQZXJzaXN0ZW5jZUtleSA9IHRoaXMuY29uZmlnU2VydmljZS5nZXRQcm9qZWN0S2V5KCkgKyAnX0hUVFBfQ0FDSEUnO1xyXG4gICAgdGhpcy5sb2FkQ2FjaGVEYXRhKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSBjYWNoZSBkYXRhIGZvciB0aGUgc3BlY2lmaWVkIHJlcXVlc3QuXHJcbiAgICogQHBhcmFtIHshc3RyaW5nfSB1cmwgVGhlIHJlcXVlc3QgVVJMLlxyXG4gICAqIEBwYXJhbSB7UmVzcG9uc2VPcHRpb25zfSBkYXRhIFRoZSByZWNlaXZlZCBkYXRhLlxyXG4gICAqIEBwYXJhbSB7RGF0ZT19IGxhc3RVcGRhdGVkIFRoZSBjYWNoZSBsYXN0IHVwZGF0ZSwgY3VycmVudCBkYXRlIGlzIHVzZWQgaWYgbm90IHNwZWNpZmllZC5cclxuICAgKi9cclxuICBzZXRDYWNoZURhdGEodXJsOiBzdHJpbmcsIGRhdGE6IEh0dHBSZXNwb25zZTxhbnk+LCBsYXN0VXBkYXRlZD86IERhdGUpIHtcclxuICAgIHRoaXMuY2FjaGVkRGF0YVt1cmxdID0ge1xyXG4gICAgICBsYXN0VXBkYXRlZDogbGFzdFVwZGF0ZWQgfHwgbmV3IERhdGUoKSxcclxuICAgICAgZGF0YTogZGF0YVxyXG4gICAgfTtcclxuICAgIGxvZy5kZWJ1ZyhgQ2FjaGUgc2V0IGZvciBrZXk6IFwiJHt1cmx9XCJgKTtcclxuICAgIHRoaXMuc2F2ZUNhY2hlRGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0cyB0aGUgY2FjaGVkIGRhdGEgZm9yIHRoZSBzcGVjaWZpZWQgcmVxdWVzdC5cclxuICAgKiBAcGFyYW0geyFzdHJpbmd9IHVybCBUaGUgcmVxdWVzdCBVUkwuXHJcbiAgICogQHJldHVybiB7P1Jlc3BvbnNlT3B0aW9uc30gVGhlIGNhY2hlZCBkYXRhIG9yIG51bGwgaWYgbm8gY2FjaGVkIGRhdGEgZXhpc3RzIGZvciB0aGlzIHJlcXVlc3QuXHJcbiAgICovXHJcbiAgZ2V0Q2FjaGVEYXRhKHVybDogc3RyaW5nKTogSHR0cFJlc3BvbnNlPGFueT4gfCBudWxsIHtcclxuICAgIGNvbnN0IGNhY2hlRW50cnkgPSB0aGlzLmNhY2hlZERhdGFbdXJsXTtcclxuXHJcbiAgICBpZiAoY2FjaGVFbnRyeSkge1xyXG4gICAgICBsb2cuZGVidWcoYENhY2hlIGhpdCBmb3Iga2V5OiBcIiR7dXJsfVwiYCk7XHJcbiAgICAgIHJldHVybiBjYWNoZUVudHJ5LmRhdGE7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXRzIHRoZSBjYWNoZWQgZW50cnkgZm9yIHRoZSBzcGVjaWZpZWQgcmVxdWVzdC5cclxuICAgKiBAcGFyYW0geyFzdHJpbmd9IHVybCBUaGUgcmVxdWVzdCBVUkwuXHJcbiAgICogQHJldHVybiB7P0h0dHBDYWNoZUVudHJ5fSBUaGUgY2FjaGUgZW50cnkgb3IgbnVsbCBpZiBubyBjYWNoZSBlbnRyeSBleGlzdHMgZm9yIHRoaXMgcmVxdWVzdC5cclxuICAgKi9cclxuICBnZXRIdHRwQ2FjaGVFbnRyeSh1cmw6IHN0cmluZyk6IEh0dHBDYWNoZUVudHJ5IHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5jYWNoZWREYXRhW3VybF0gfHwgbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENsZWFycyB0aGUgY2FjaGVkIGVudHJ5IChpZiBleGlzdHMpIGZvciB0aGUgc3BlY2lmaWVkIHJlcXVlc3QuXHJcbiAgICogQHBhcmFtIHshc3RyaW5nfSB1cmwgVGhlIHJlcXVlc3QgVVJMLlxyXG4gICAqL1xyXG4gIGNsZWFyQ2FjaGUodXJsOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGRlbGV0ZSB0aGlzLmNhY2hlZERhdGFbdXJsXTtcclxuICAgIGxvZy5kZWJ1ZyhgQ2FjaGUgY2xlYXJlZCBmb3Iga2V5OiBcIiR7dXJsfVwiYCk7XHJcbiAgICB0aGlzLnNhdmVDYWNoZURhdGEoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENsZWFucyBjYWNoZSBlbnRyaWVzIG9sZGVyIHRoYW4gdGhlIHNwZWNpZmllZCBkYXRlLlxyXG4gICAqIEBwYXJhbSB7ZGF0ZT19IGV4cGlyYXRpb25EYXRlIFRoZSBjYWNoZSBleHBpcmF0aW9uIGRhdGUuIElmIG5vIGRhdGUgaXMgc3BlY2lmaWVkLCBhbGwgY2FjaGUgaXMgY2xlYXJlZC5cclxuICAgKi9cclxuICBjbGVhbkNhY2hlKGV4cGlyYXRpb25EYXRlPzogRGF0ZSkge1xyXG4gICAgaWYgKGV4cGlyYXRpb25EYXRlKSB7XHJcbiAgICAgIE9iamVjdCh0aGlzLmNhY2hlZERhdGEpLmtleXMuZm9yRWFjaCgoa2V5OiBzdHJpbmcpID0+IHtcclxuICAgICAgICBpZiAoZXhwaXJhdGlvbkRhdGUgPj0gdGhpcy5jYWNoZWREYXRhW2tleV0/Lmxhc3RVcGRhdGVkKSB7XHJcbiAgICAgICAgICBkZWxldGUgdGhpcy5jYWNoZWREYXRhW2tleV07XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY2FjaGVkRGF0YSA9IHt9O1xyXG4gICAgfVxyXG4gICAgdGhpcy5zYXZlQ2FjaGVEYXRhKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSBjYWNoZSBwZXJzaXN0ZW5jZSBwb2xpY3kuXHJcbiAgICogTm90ZSB0aGF0IGNoYW5naW5nIHRoZSBjYWNoZSBwZXJzaXN0ZW5jZSB3aWxsIGFsc28gY2xlYXIgdGhlIGNhY2hlIGZyb20gaXRzIHByZXZpb3VzIHN0b3JhZ2UuXHJcbiAgICogQHBhcmFtIHsnbG9jYWwnfCdzZXNzaW9uJz19IHBlcnNpc3RlbmNlIEhvdyB0aGUgY2FjaGUgc2hvdWxkIGJlIHBlcnNpc3RlZCwgaXQgY2FuIGJlIGVpdGhlciBsb2NhbCBvciBzZXNzaW9uXHJcbiAgICogICBzdG9yYWdlLCBvciBpZiBubyB2YWx1ZSBpcyBwcm92aWRlZCBpdCB3aWxsIGJlIG9ubHkgaW4tbWVtb3J5IChkZWZhdWx0KS5cclxuICAgKi9cclxuICBzZXRQZXJzaXN0ZW5jZShwZXJzaXN0ZW5jZT86ICdsb2NhbCcgfCAnc2Vzc2lvbicpIHtcclxuICAgIHRoaXMuY2xlYW5DYWNoZSgpO1xyXG4gICAgdGhpcy5zdG9yYWdlID0gcGVyc2lzdGVuY2UgPT09ICdsb2NhbCcgPyBsb2NhbFN0b3JhZ2UgOiBwZXJzaXN0ZW5jZSA9PT0gJ3Nlc3Npb24nID8gc2Vzc2lvblN0b3JhZ2UgOiBudWxsO1xyXG4gICAgdGhpcy5sb2FkQ2FjaGVEYXRhKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNhdmVDYWNoZURhdGEoKSB7XHJcbiAgICBpZiAodGhpcy5zdG9yYWdlKSB7XHJcbiAgICAgIHRoaXMuc3RvcmFnZVt0aGlzLmNhY2hlUGVyc2lzdGVuY2VLZXldID0gSlNPTi5zdHJpbmdpZnkodGhpcy5jYWNoZWREYXRhKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgbG9hZENhY2hlRGF0YSgpIHtcclxuICAgIGNvbnN0IGRhdGEgPSB0aGlzLnN0b3JhZ2UgPyB0aGlzLnN0b3JhZ2VbdGhpcy5jYWNoZVBlcnNpc3RlbmNlS2V5XSA6IG51bGw7XHJcbiAgICB0aGlzLmNhY2hlZERhdGEgPSBkYXRhID8gSlNPTi5wYXJzZShkYXRhKSA6IHt9O1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|