ngx-techlify-core 11.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -0
- package/bundles/ngx-techlify-core.umd.js +6602 -0
- package/bundles/ngx-techlify-core.umd.js.map +1 -0
- package/bundles/ngx-techlify-core.umd.min.js +17 -0
- package/bundles/ngx-techlify-core.umd.min.js.map +1 -0
- package/esm2015/lib/action-popup/action-popup.component.js +32 -0
- package/esm2015/lib/action-popup/action-popup.model.js +3 -0
- package/esm2015/lib/action-popup/action-popup.module.js +26 -0
- package/esm2015/lib/action-popup/index.js +3 -0
- package/esm2015/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.js +12 -0
- package/esm2015/lib/audit-log/audit-log-for-model/audit-log-for-model.component.js +49 -0
- package/esm2015/lib/audit-log/audit-log-for-model/audit-log-for-model.module.js +25 -0
- package/esm2015/lib/audit-log/audit-log-list/audit-log-list-routing.module.js +12 -0
- package/esm2015/lib/audit-log/audit-log-list/audit-log-list.component.js +132 -0
- package/esm2015/lib/audit-log/audit-log-list/audit-log-list.module.js +29 -0
- package/esm2015/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.js +12 -0
- package/esm2015/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.js +67 -0
- package/esm2015/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.js +25 -0
- package/esm2015/lib/audit-log/audit-log-routing.module.js +19 -0
- package/esm2015/lib/audit-log/audit-log-view/audit-log-view-routing.module.js +12 -0
- package/esm2015/lib/audit-log/audit-log-view/audit-log-view.component.js +62 -0
- package/esm2015/lib/audit-log/audit-log-view/audit-log-view.module.js +21 -0
- package/esm2015/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.js +12 -0
- package/esm2015/lib/audit-log/audit-log-view-model/audit-log-view-model.component.js +59 -0
- package/esm2015/lib/audit-log/audit-log-view-model/audit-log-view-model.module.js +21 -0
- package/esm2015/lib/audit-log/audit-log.module.js +20 -0
- package/esm2015/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.js +12 -0
- package/esm2015/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.js +35 -0
- package/esm2015/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.js +21 -0
- package/esm2015/lib/core/alert.service.js +40 -0
- package/esm2015/lib/core/api-prefix.interceptor.js +28 -0
- package/esm2015/lib/core/authentication.guard.js +39 -0
- package/esm2015/lib/core/authentication.service.js +59 -0
- package/esm2015/lib/core/cache.interceptor.js +60 -0
- package/esm2015/lib/core/config.service.js +47 -0
- package/esm2015/lib/core/core.module.js +42 -0
- package/esm2015/lib/core/credentials.service.js +84 -0
- package/esm2015/lib/core/dataManager.service.js +121 -0
- package/esm2015/lib/core/error-handler.interceptor.js +53 -0
- package/esm2015/lib/core/error-handler.service.js +49 -0
- package/esm2015/lib/core/form-validator.service.js +23 -0
- package/esm2015/lib/core/header.interceptor.js +22 -0
- package/esm2015/lib/core/http-cache.service.js +110 -0
- package/esm2015/lib/core/http.service.js +82 -0
- package/esm2015/lib/core/index.js +21 -0
- package/esm2015/lib/core/logger.service.js +100 -0
- package/esm2015/lib/core/route-reusable-strategy.js +35 -0
- package/esm2015/lib/core/snack/snack.component.js +33 -0
- package/esm2015/lib/core/snack/snack.module.js +25 -0
- package/esm2015/lib/core/storage.service.js +37 -0
- package/esm2015/lib/core/techlify-config.model.js +26 -0
- package/esm2015/lib/core/token.interceptor.js +30 -0
- package/esm2015/lib/data-table/data-table.component.js +190 -0
- package/esm2015/lib/data-table/data-table.model.js +11 -0
- package/esm2015/lib/data-table/data-table.module.js +25 -0
- package/esm2015/lib/data-table/index.js +3 -0
- package/esm2015/lib/date-validator.js +10 -0
- package/esm2015/lib/document-viewer/document-viewer.component.js +58 -0
- package/esm2015/lib/document-viewer/document-viewer.module.js +25 -0
- package/esm2015/lib/document-viewer/index.js +3 -0
- package/esm2015/lib/document-viewer/viewer-config.model.js +3 -0
- package/esm2015/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.js +26 -0
- package/esm2015/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.js +72 -0
- package/esm2015/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.js +23 -0
- package/esm2015/lib/email-subscription/email-subscription-for-user/index.js +2 -0
- package/esm2015/lib/email-subscription/email-subscription-routing.module.js +12 -0
- package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.js +12 -0
- package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.js +102 -0
- package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.js +28 -0
- package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-form/index.js +2 -0
- package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.js +28 -0
- package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.js +153 -0
- package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.js +27 -0
- package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.js +2 -0
- package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.js +12 -0
- package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type.module.js +15 -0
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.js +12 -0
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.js +99 -0
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.js +27 -0
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-form/index.js +2 -0
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.js +28 -0
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.js +155 -0
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.js +29 -0
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list/index.js +2 -0
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.js +12 -0
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.js +50 -0
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.js +25 -0
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.js +2 -0
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.js +12 -0
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user.module.js +15 -0
- package/esm2015/lib/email-subscription/email-subscription.module.js +15 -0
- package/esm2015/lib/entity-files/entity-file-form/entity-file-form.component.js +141 -0
- package/esm2015/lib/entity-files/entity-file.service.js +38 -0
- package/esm2015/lib/entity-files/entity-files-view-all.component.js +161 -0
- package/esm2015/lib/entity-files/entity-files-view-all.module.js +34 -0
- package/esm2015/lib/entity-files/index.js +3 -0
- package/esm2015/lib/export-excel/export-excel-button/export-excel-button.component.js +32 -0
- package/esm2015/lib/export-excel/export-excel.module.js +17 -0
- package/esm2015/lib/file-dropper/file-dropper.component.js +122 -0
- package/esm2015/lib/file-dropper/file-dropper.model.js +3 -0
- package/esm2015/lib/file-dropper/file-dropper.module.js +21 -0
- package/esm2015/lib/file-dropper/index.js +3 -0
- package/esm2015/lib/import-csv/failed-items/failed-items-routing.module.js +12 -0
- package/esm2015/lib/import-csv/failed-items/failed-items.component.js +23 -0
- package/esm2015/lib/import-csv/failed-items/failed-items.module.js +21 -0
- package/esm2015/lib/import-csv/import-config.js +3 -0
- package/esm2015/lib/import-csv/import-csv-routing.module.js +12 -0
- package/esm2015/lib/import-csv/import-csv.component.js +111 -0
- package/esm2015/lib/import-csv/import-csv.module.js +27 -0
- package/esm2015/lib/import-csv/import-items/import-items-routing.module.js +12 -0
- package/esm2015/lib/import-csv/import-items/import-items.component.js +139 -0
- package/esm2015/lib/import-csv/import-items/import-items.module.js +23 -0
- package/esm2015/lib/loader/index.js +2 -0
- package/esm2015/lib/loader/loader.component.js +22 -0
- package/esm2015/lib/loader/loader.module.js +21 -0
- package/esm2015/lib/login-history-for-user/login-history-for-user-routing.module.js +20 -0
- package/esm2015/lib/login-history-for-user/login-history-for-user.component.js +79 -0
- package/esm2015/lib/login-history-for-user/login-history-for-user.module.js +27 -0
- package/esm2015/lib/material.module.js +58 -0
- package/esm2015/lib/note/index.js +3 -0
- package/esm2015/lib/note/note-form/note-form.component.js +80 -0
- package/esm2015/lib/note/note-list/note-list.component.js +120 -0
- package/esm2015/lib/note/note.module.js +32 -0
- package/esm2015/lib/note/note.service.js +31 -0
- package/esm2015/lib/searchable-selector/index.js +3 -0
- package/esm2015/lib/searchable-selector/mat-select-infinite-scroll.directive.js +81 -0
- package/esm2015/lib/searchable-selector/searchable-selector.component.js +267 -0
- package/esm2015/lib/searchable-selector/searchable-selector.module.js +28 -0
- package/esm2015/lib/techlify-update/read-more/read-more.component.js +43 -0
- package/esm2015/lib/techlify-update/read-more/read-more.module.js +21 -0
- package/esm2015/lib/techlify-update/techlify-update-form/techlify-update-form.component.js +114 -0
- package/esm2015/lib/techlify-update/techlify-update-form/techlify-update-form.module.js +28 -0
- package/esm2015/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.js +22 -0
- package/esm2015/lib/techlify-update/techlify-update-history/techlify-update-history.component.js +143 -0
- package/esm2015/lib/techlify-update/techlify-update-history/techlify-update-history.module.js +28 -0
- package/esm2015/lib/techlify-update/techlify-update-routing.module.js +22 -0
- package/esm2015/lib/techlify-update/techlify-update.module.js +30 -0
- package/esm2015/lib/techlify-update/techlify-update.service.js +43 -0
- package/esm2015/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.js +161 -0
- package/esm2015/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.js +82 -0
- package/esm2015/lib/techlify-update/update-notifier/update-notifier.component.js +62 -0
- package/esm2015/lib/techlify-update/update-notifier/update-notifier.module.js +29 -0
- package/esm2015/lib/techlify-update/update-view/update-view.component.js +36 -0
- package/esm2015/lib/techlify-update/update-view/update-view.module.js +24 -0
- package/esm2015/lib/timeline-filter/calculate-timeline.js +90 -0
- package/esm2015/lib/timeline-filter/index.js +4 -0
- package/esm2015/lib/timeline-filter/timeline-filter-routing.module.js +12 -0
- package/esm2015/lib/timeline-filter/timeline-filter.component.js +57 -0
- package/esm2015/lib/timeline-filter/timeline-filter.module.js +23 -0
- package/esm2015/lib/timeline-filter/timeline.model.js +15 -0
- package/esm2015/lib/utility/date-utils.service.js +48 -0
- package/esm2015/lib/utility/index.js +4 -0
- package/esm2015/lib/utility/num-items-selector.component.js +30 -0
- package/esm2015/lib/utility/number-selector.component.js +38 -0
- package/esm2015/lib/utility/utility.module.js +21 -0
- package/esm2015/ngx-techlify-core.js +52 -0
- package/esm2015/public-api.js +91 -0
- package/fesm2015/ngx-techlify-core.js +5575 -0
- package/fesm2015/ngx-techlify-core.js.map +1 -0
- package/lib/action-popup/action-popup.component.d.ts +14 -0
- package/lib/action-popup/action-popup.model.d.ts +5 -0
- package/lib/action-popup/action-popup.module.d.ts +2 -0
- package/lib/action-popup/index.d.ts +2 -0
- package/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.d.ts +2 -0
- package/lib/audit-log/audit-log-for-model/audit-log-for-model.component.d.ts +12 -0
- package/lib/audit-log/audit-log-for-model/audit-log-for-model.module.d.ts +2 -0
- package/lib/audit-log/audit-log-list/audit-log-list-routing.module.d.ts +2 -0
- package/lib/audit-log/audit-log-list/audit-log-list.component.d.ts +32 -0
- package/lib/audit-log/audit-log-list/audit-log-list.module.d.ts +2 -0
- package/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.d.ts +2 -0
- package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.d.ts +19 -0
- package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.d.ts +2 -0
- package/lib/audit-log/audit-log-routing.module.d.ts +2 -0
- package/lib/audit-log/audit-log-view/audit-log-view-routing.module.d.ts +2 -0
- package/lib/audit-log/audit-log-view/audit-log-view.component.d.ts +17 -0
- package/lib/audit-log/audit-log-view/audit-log-view.module.d.ts +2 -0
- package/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.d.ts +2 -0
- package/lib/audit-log/audit-log-view-model/audit-log-view-model.component.d.ts +15 -0
- package/lib/audit-log/audit-log-view-model/audit-log-view-model.module.d.ts +2 -0
- package/lib/audit-log/audit-log.module.d.ts +2 -0
- package/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.d.ts +2 -0
- package/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.d.ts +11 -0
- package/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.d.ts +2 -0
- package/lib/core/alert.service.d.ts +12 -0
- package/lib/core/api-prefix.interceptor.d.ts +11 -0
- package/lib/core/authentication.guard.d.ts +10 -0
- package/lib/core/authentication.service.d.ts +23 -0
- package/lib/core/cache.interceptor.d.ts +21 -0
- package/lib/core/config.service.d.ts +19 -0
- package/lib/core/core.module.d.ts +3 -0
- package/lib/core/credentials.service.d.ts +36 -0
- package/lib/core/dataManager.service.d.ts +70 -0
- package/lib/core/error-handler.interceptor.d.ts +14 -0
- package/lib/core/error-handler.service.d.ts +12 -0
- package/lib/core/form-validator.service.d.ts +8 -0
- package/lib/core/header.interceptor.d.ts +8 -0
- package/lib/core/http-cache.service.d.ts +54 -0
- package/lib/core/http.service.d.ts +56 -0
- package/lib/core/index.d.ts +20 -0
- package/lib/core/logger.service.d.ts +85 -0
- package/lib/core/route-reusable-strategy.d.ts +13 -0
- package/lib/core/snack/snack.component.d.ts +8 -0
- package/lib/core/snack/snack.module.d.ts +2 -0
- package/lib/core/storage.service.d.ts +15 -0
- package/lib/core/techlify-config.model.d.ts +17 -0
- package/lib/core/token.interceptor.d.ts +11 -0
- package/lib/data-table/data-table.component.d.ts +60 -0
- package/lib/data-table/data-table.model.d.ts +46 -0
- package/lib/data-table/data-table.module.d.ts +2 -0
- package/lib/data-table/index.d.ts +2 -0
- package/lib/date-validator.d.ts +1 -0
- package/lib/document-viewer/document-viewer.component.d.ts +16 -0
- package/lib/document-viewer/document-viewer.module.d.ts +2 -0
- package/lib/document-viewer/index.d.ts +2 -0
- package/lib/document-viewer/viewer-config.model.d.ts +5 -0
- package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.d.ts +7 -0
- package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.d.ts +17 -0
- package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.d.ts +2 -0
- package/lib/email-subscription/email-subscription-for-user/index.d.ts +1 -0
- package/lib/email-subscription/email-subscription-routing.module.d.ts +2 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.d.ts +2 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.d.ts +32 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.d.ts +2 -0
- package/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-list/email-subscription-type-list-routing.module.d.ts +9 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.d.ts +30 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.d.ts +2 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.d.ts +1 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.d.ts +2 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type.module.d.ts +2 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.d.ts +2 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.d.ts +32 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.d.ts +2 -0
- package/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-list/email-subscription-user-list-routing.module.d.ts +9 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.d.ts +32 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.d.ts +2 -0
- package/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-filter/email-subscription-user-list-filter-routing.module.d.ts +2 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.d.ts +13 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.d.ts +2 -0
- package/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-routing.module.d.ts +2 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user.module.d.ts +2 -0
- package/lib/email-subscription/email-subscription.module.d.ts +2 -0
- package/lib/entity-files/entity-file-form/entity-file-form.component.d.ts +34 -0
- package/lib/entity-files/entity-file.service.d.ts +10 -0
- package/lib/entity-files/entity-files-view-all.component.d.ts +38 -0
- package/lib/entity-files/entity-files-view-all.module.d.ts +2 -0
- package/lib/entity-files/index.d.ts +2 -0
- package/lib/export-excel/export-excel-button/export-excel-button.component.d.ts +8 -0
- package/lib/export-excel/export-excel.module.d.ts +2 -0
- package/lib/file-dropper/file-dropper.component.d.ts +33 -0
- package/lib/file-dropper/file-dropper.model.d.ts +10 -0
- package/lib/file-dropper/file-dropper.module.d.ts +2 -0
- package/lib/file-dropper/index.d.ts +2 -0
- package/lib/import-csv/failed-items/failed-items-routing.module.d.ts +2 -0
- package/lib/import-csv/failed-items/failed-items.component.d.ts +8 -0
- package/lib/import-csv/failed-items/failed-items.module.d.ts +2 -0
- package/lib/import-csv/import-config.d.ts +5 -0
- package/lib/import-csv/import-csv-routing.module.d.ts +2 -0
- package/lib/import-csv/import-csv.component.d.ts +26 -0
- package/lib/import-csv/import-csv.module.d.ts +2 -0
- package/lib/import-csv/import-items/import-items-routing.module.d.ts +2 -0
- package/lib/import-csv/import-items/import-items.component.d.ts +30 -0
- package/lib/import-csv/import-items/import-items.module.d.ts +2 -0
- package/lib/loader/index.d.ts +1 -0
- package/lib/loader/loader.component.d.ts +8 -0
- package/lib/loader/loader.module.d.ts +2 -0
- package/lib/login-history-for-user/login-history-for-user-routing.module.d.ts +2 -0
- package/lib/login-history-for-user/login-history-for-user.component.d.ts +21 -0
- package/lib/login-history-for-user/login-history-for-user.module.d.ts +2 -0
- package/lib/material.module.d.ts +2 -0
- package/lib/note/index.d.ts +2 -0
- package/lib/note/note-form/note-form.component.d.ts +27 -0
- package/lib/note/note-list/note-list.component.d.ts +25 -0
- package/lib/note/note.module.d.ts +2 -0
- package/lib/note/note.service.d.ts +9 -0
- package/lib/searchable-selector/index.d.ts +2 -0
- package/lib/searchable-selector/mat-select-infinite-scroll.directive.d.ts +23 -0
- package/lib/searchable-selector/searchable-selector.component.d.ts +75 -0
- package/lib/searchable-selector/searchable-selector.module.d.ts +2 -0
- package/lib/techlify-update/read-more/read-more.component.d.ts +12 -0
- package/lib/techlify-update/read-more/read-more.module.d.ts +2 -0
- package/lib/techlify-update/techlify-update-form/techlify-update-form.component.d.ts +30 -0
- package/lib/techlify-update/techlify-update-form/techlify-update-form.module.d.ts +2 -0
- package/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.d.ts +2 -0
- package/lib/techlify-update/techlify-update-history/techlify-update-history.component.d.ts +31 -0
- package/lib/techlify-update/techlify-update-history/techlify-update-history.module.d.ts +2 -0
- package/lib/techlify-update/techlify-update-routing.module.d.ts +2 -0
- package/lib/techlify-update/techlify-update.module.d.ts +2 -0
- package/lib/techlify-update/techlify-update.service.d.ts +13 -0
- package/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.d.ts +31 -0
- package/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.d.ts +25 -0
- package/lib/techlify-update/update-notifier/update-notifier.component.d.ts +16 -0
- package/lib/techlify-update/update-notifier/update-notifier.module.d.ts +2 -0
- package/lib/techlify-update/update-view/update-view.component.d.ts +14 -0
- package/lib/techlify-update/update-view/update-view.module.d.ts +2 -0
- package/lib/timeline-filter/calculate-timeline.d.ts +1 -0
- package/lib/timeline-filter/index.d.ts +3 -0
- package/lib/timeline-filter/timeline-filter-routing.module.d.ts +2 -0
- package/lib/timeline-filter/timeline-filter.component.d.ts +14 -0
- package/lib/timeline-filter/timeline-filter.module.d.ts +2 -0
- package/lib/timeline-filter/timeline.model.d.ts +14 -0
- package/lib/utility/date-utils.service.d.ts +21 -0
- package/lib/utility/index.d.ts +3 -0
- package/lib/utility/num-items-selector.component.d.ts +16 -0
- package/lib/utility/number-selector.component.d.ts +20 -0
- package/lib/utility/utility.module.d.ts +2 -0
- package/ngx-techlify-core.d.ts +51 -0
- package/ngx-techlify-core.metadata.json +1 -0
- package/package.json +36 -0
- package/public-api.d.ts +87 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Component } from '@angular/core';
|
|
3
|
+
import { ActivatedRoute } from '@angular/router';
|
|
4
|
+
import { Location } from '@angular/common';
|
|
5
|
+
import * as jsondiffpatch from "jsondiffpatch";
|
|
6
|
+
import { DataManager } from '../../core/dataManager.service';
|
|
7
|
+
export class AuditLogViewComponent {
|
|
8
|
+
constructor(dataManager, route, location) {
|
|
9
|
+
this.dataManager = dataManager;
|
|
10
|
+
this.route = route;
|
|
11
|
+
this.location = location;
|
|
12
|
+
this.showDeltaChanges = false;
|
|
13
|
+
this.changeList = [];
|
|
14
|
+
}
|
|
15
|
+
ngOnInit() {
|
|
16
|
+
this.route.paramMap.subscribe(params => {
|
|
17
|
+
if (params.get('id')) {
|
|
18
|
+
this.fetchLogDetail(params.get('id'));
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
this.location.back();
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
getTransformedChanges() {
|
|
26
|
+
var _a, _b, _c, _d;
|
|
27
|
+
if ((_b = (_a = this.logInfo) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.changes) {
|
|
28
|
+
const changes = Object.keys((_d = (_c = this.logInfo) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d.changes) || [];
|
|
29
|
+
changes.forEach((key) => {
|
|
30
|
+
var _a, _b, _c, _d;
|
|
31
|
+
const displayAttribute = key.split('_').map(x => x.charAt(0).toUpperCase() + x.slice(1)).join(' ');
|
|
32
|
+
this.changeList.push({ displayAttribute: displayAttribute, attribute: key, newValue: (_b = (_a = this.logInfo) === null || _a === void 0 ? void 0 : _a.object[key]) !== null && _b !== void 0 ? _b : '', oldValue: (_d = (_c = this.logInfo) === null || _c === void 0 ? void 0 : _c.pre_object[key]) !== null && _d !== void 0 ? _d : '' });
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
fetchLogDetail(logId) {
|
|
37
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
38
|
+
const result = yield this.dataManager.GET(`api/audit-logs/${logId}`);
|
|
39
|
+
this.logInfo = result.item;
|
|
40
|
+
this.getTransformedChanges();
|
|
41
|
+
this.patchDelta();
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
patchDelta() {
|
|
45
|
+
var _a, _b, _c;
|
|
46
|
+
const delta = jsondiffpatch.diff((_a = this.logInfo) === null || _a === void 0 ? void 0 : _a.pre_object, (_b = this.logInfo) === null || _b === void 0 ? void 0 : _b.object);
|
|
47
|
+
document.getElementById('jsondiff').innerHTML = jsondiffpatch.formatters.html.format(delta, (_c = this.logInfo) === null || _c === void 0 ? void 0 : _c.pre_object);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
AuditLogViewComponent.decorators = [
|
|
51
|
+
{ type: Component, args: [{
|
|
52
|
+
selector: 'app-audit-log-view',
|
|
53
|
+
template: "<div fxLayout=\"column\" class=\"m-4\" fxLayoutGap=\"1.5rem\">\n <h3 class=\"text-center\">Audit Log</h3>\n <div fxLayout=\"column\" fxLayoutGap=\"0.5rem\" *ngIf=\"logInfo\">\n <div>Object Type: {{logInfo?.object_type}}</div>\n <div>Object Id: {{logInfo?.object_id}}</div>\n <div>Action: {{logInfo?.action}}</div>\n <div>Created At: {{logInfo?.created_at | date:'medium'}}</div>\n <div>Created By: {{logInfo?.user?.email}}</div>\n </div>\n\n\n <div fxLayout=\"column\" *ngIf=\"logInfo?.action !== 'deleted'\">\n <div>\n <button mat-raised-button color=\"primary\" (click)=\"showDeltaChanges = !showDeltaChanges\">\n {{showDeltaChanges?'Hide JSON Changes': 'Show JSON Changes'}}\n </button>\n </div>\n <div [hidden]=\"!showDeltaChanges\">\n <h4 class=\"font-weight-bold\" *ngIf=\"logInfo\">Changes in JSON</h4>\n <div id=\"jsondiff\"></div>\n </div>\n </div>\n\n <div class=\"container\" *ngIf=\"changeList.length > 0\">\n <h4 class=\"font-weight-bold\"> Changes in Attributes</h4>\n <table class=\"table table-striped table-sm border\">\n <thead>\n <tr>\n <th scope=\"col\">#</th>\n <th scope=\"col\">Attribute</th>\n <th scope=\"col\">Old Value</th>\n <th scope=\"col\">New Value</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let change of changeList; let i= index;\">\n <th scope=\"row\">{{i+1}}</th>\n <td>{{change?.displayAttribute}}</td>\n <td>{{change?.oldValue}}</td>\n <td>{{change?.newValue}}</td>\n </tr>\n </tbody>\n </table>\n\n </div>\n</div>",
|
|
54
|
+
styles: [""]
|
|
55
|
+
},] }
|
|
56
|
+
];
|
|
57
|
+
AuditLogViewComponent.ctorParameters = () => [
|
|
58
|
+
{ type: DataManager },
|
|
59
|
+
{ type: ActivatedRoute },
|
|
60
|
+
{ type: Location }
|
|
61
|
+
];
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtbG9nLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9hdWRpdC1sb2cvYXVkaXQtbG9nLXZpZXcvYXVkaXQtbG9nLXZpZXcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxLQUFLLGFBQWEsTUFBTSxlQUFlLENBQUE7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBTzdELE1BQU0sT0FBTyxxQkFBcUI7SUFNaEMsWUFDVSxXQUF3QixFQUN4QixLQUFxQixFQUNyQixRQUFrQjtRQUZsQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBTjVCLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUNsQyxlQUFVLEdBQVUsRUFBRSxDQUFDO0lBTW5CLENBQUM7SUFFTCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3JDLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDcEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7YUFDdkM7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUN0QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHFCQUFxQjs7UUFDbkIsZ0JBQUksSUFBSSxDQUFDLE9BQU8sMENBQUUsSUFBSSwwQ0FBRSxPQUFPLEVBQUU7WUFDL0IsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksYUFBQyxJQUFJLENBQUMsT0FBTywwQ0FBRSxJQUFJLDBDQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMvRCxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7O2dCQUMzQixNQUFNLGdCQUFnQixHQUFJLEdBQWMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMvRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsUUFBUSxjQUFFLElBQUksQ0FBQyxPQUFPLDBDQUFFLE1BQU0sQ0FBQyxHQUFHLG9DQUFLLEVBQUUsRUFBRSxRQUFRLGNBQUUsSUFBSSxDQUFDLE9BQU8sMENBQUUsVUFBVSxDQUFDLEdBQUcsb0NBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN6SyxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVLLGNBQWMsQ0FBQyxLQUFVOztZQUM3QixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLGtCQUFrQixLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3JFLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztZQUMzQixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQztLQUFBO0lBRUQsVUFBVTs7UUFDUixNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsSUFBSSxPQUFDLElBQUksQ0FBQyxPQUFPLDBDQUFFLFVBQVUsUUFBRSxJQUFJLENBQUMsT0FBTywwQ0FBRSxNQUFNLENBQUMsQ0FBQztRQUNqRixRQUFRLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsR0FBRyxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxRQUFFLElBQUksQ0FBQyxPQUFPLDBDQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3hILENBQUM7OztZQS9DRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsazJEQUE4Qzs7YUFFL0M7OztZQU5RLFdBQVc7WUFIWCxjQUFjO1lBQ2QsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgKiBhcyBqc29uZGlmZnBhdGNoIGZyb20gXCJqc29uZGlmZnBhdGNoXCJcbmltcG9ydCB7IERhdGFNYW5hZ2VyIH0gZnJvbSAnLi4vLi4vY29yZS9kYXRhTWFuYWdlci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWF1ZGl0LWxvZy12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2F1ZGl0LWxvZy12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXVkaXQtbG9nLXZpZXcuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBdWRpdExvZ1ZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGxvZ0luZm86IGFueTtcbiAgc2hvd0RlbHRhQ2hhbmdlczogYm9vbGVhbiA9IGZhbHNlO1xuICBjaGFuZ2VMaXN0OiBhbnlbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZGF0YU1hbmFnZXI6IERhdGFNYW5hZ2VyLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgbG9jYXRpb246IExvY2F0aW9uXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yb3V0ZS5wYXJhbU1hcC5zdWJzY3JpYmUocGFyYW1zID0+IHtcbiAgICAgIGlmIChwYXJhbXMuZ2V0KCdpZCcpKSB7XG4gICAgICAgIHRoaXMuZmV0Y2hMb2dEZXRhaWwocGFyYW1zLmdldCgnaWQnKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmxvY2F0aW9uLmJhY2soKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGdldFRyYW5zZm9ybWVkQ2hhbmdlcygpIHtcbiAgICBpZiAodGhpcy5sb2dJbmZvPy5kYXRhPy5jaGFuZ2VzKSB7XG4gICAgICBjb25zdCBjaGFuZ2VzID0gT2JqZWN0LmtleXModGhpcy5sb2dJbmZvPy5kYXRhPy5jaGFuZ2VzKSB8fCBbXTtcbiAgICAgIGNoYW5nZXMuZm9yRWFjaCgoa2V5OiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgZGlzcGxheUF0dHJpYnV0ZSA9IChrZXkgYXMgc3RyaW5nKS5zcGxpdCgnXycpLm1hcCh4ID0+IHguY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB4LnNsaWNlKDEpKS5qb2luKCcgJyk7XG4gICAgICAgIHRoaXMuY2hhbmdlTGlzdC5wdXNoKHsgZGlzcGxheUF0dHJpYnV0ZTogZGlzcGxheUF0dHJpYnV0ZSwgYXR0cmlidXRlOiBrZXksIG5ld1ZhbHVlOiB0aGlzLmxvZ0luZm8/Lm9iamVjdFtrZXldID8/ICcnLCBvbGRWYWx1ZTogdGhpcy5sb2dJbmZvPy5wcmVfb2JqZWN0W2tleV0gPz8gJycgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBmZXRjaExvZ0RldGFpbChsb2dJZDogYW55KSB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5kYXRhTWFuYWdlci5HRVQoYGFwaS9hdWRpdC1sb2dzLyR7bG9nSWR9YCk7XG4gICAgdGhpcy5sb2dJbmZvID0gcmVzdWx0Lml0ZW07XG4gICAgdGhpcy5nZXRUcmFuc2Zvcm1lZENoYW5nZXMoKTtcbiAgICB0aGlzLnBhdGNoRGVsdGEoKTtcbiAgfVxuXG4gIHBhdGNoRGVsdGEoKSB7XG4gICAgY29uc3QgZGVsdGEgPSBqc29uZGlmZnBhdGNoLmRpZmYodGhpcy5sb2dJbmZvPy5wcmVfb2JqZWN0LCB0aGlzLmxvZ0luZm8/Lm9iamVjdCk7XG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2pzb25kaWZmJykuaW5uZXJIVE1MID0ganNvbmRpZmZwYXRjaC5mb3JtYXR0ZXJzLmh0bWwuZm9ybWF0KGRlbHRhLCB0aGlzLmxvZ0luZm8/LnByZV9vYmplY3QpO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { AuditLogViewRoutingModule } from './audit-log-view-routing.module';
|
|
4
|
+
import { AuditLogViewComponent } from './audit-log-view.component';
|
|
5
|
+
import { FlexLayoutModule } from '@angular/flex-layout';
|
|
6
|
+
import { MaterialModule } from '../../material.module';
|
|
7
|
+
export class AuditLogViewModule {
|
|
8
|
+
}
|
|
9
|
+
AuditLogViewModule.decorators = [
|
|
10
|
+
{ type: NgModule, args: [{
|
|
11
|
+
declarations: [AuditLogViewComponent],
|
|
12
|
+
imports: [
|
|
13
|
+
CommonModule,
|
|
14
|
+
AuditLogViewRoutingModule,
|
|
15
|
+
FlexLayoutModule,
|
|
16
|
+
MaterialModule
|
|
17
|
+
],
|
|
18
|
+
exports: [AuditLogViewComponent]
|
|
19
|
+
},] }
|
|
20
|
+
];
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtbG9nLXZpZXcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9hdWRpdC1sb2cvYXVkaXQtbG9nLXZpZXcvYXVkaXQtbG9nLXZpZXcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQWF2RCxNQUFNLE9BQU8sa0JBQWtCOzs7WUFWOUIsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRSxDQUFDLHFCQUFxQixDQUFDO2dCQUNyQyxPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWix5QkFBeUI7b0JBQ3pCLGdCQUFnQjtvQkFDaEIsY0FBYztpQkFDZjtnQkFDRCxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQzthQUNqQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBBdWRpdExvZ1ZpZXdSb3V0aW5nTW9kdWxlIH0gZnJvbSAnLi9hdWRpdC1sb2ctdmlldy1yb3V0aW5nLm1vZHVsZSc7XG5pbXBvcnQgeyBBdWRpdExvZ1ZpZXdDb21wb25lbnQgfSBmcm9tICcuL2F1ZGl0LWxvZy12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGbGV4TGF5b3V0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZmxleC1sYXlvdXQnO1xuaW1wb3J0IHsgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuLi8uLi9tYXRlcmlhbC5tb2R1bGUnO1xuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0F1ZGl0TG9nVmlld0NvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQXVkaXRMb2dWaWV3Um91dGluZ01vZHVsZSxcbiAgICBGbGV4TGF5b3V0TW9kdWxlLFxuICAgIE1hdGVyaWFsTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtBdWRpdExvZ1ZpZXdDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIEF1ZGl0TG9nVmlld01vZHVsZSB7IH1cbiJdfQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { RouterModule } from '@angular/router';
|
|
3
|
+
const routes = [];
|
|
4
|
+
export class AuditLogViewModelRoutingModule {
|
|
5
|
+
}
|
|
6
|
+
AuditLogViewModelRoutingModule.decorators = [
|
|
7
|
+
{ type: NgModule, args: [{
|
|
8
|
+
imports: [RouterModule.forChild(routes)],
|
|
9
|
+
exports: [RouterModule]
|
|
10
|
+
},] }
|
|
11
|
+
];
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtbG9nLXZpZXctbW9kZWwtcm91dGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2F1ZGl0LWxvZy9hdWRpdC1sb2ctdmlldy1tb2RlbC9hdWRpdC1sb2ctdmlldy1tb2RlbC1yb3V0aW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBVSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV2RCxNQUFNLE1BQU0sR0FBVyxFQUFFLENBQUM7QUFNMUIsTUFBTSxPQUFPLDhCQUE4Qjs7O1lBSjFDLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN4QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7YUFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVzLCBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5jb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtdO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbUm91dGVyTW9kdWxlLmZvckNoaWxkKHJvdXRlcyldLFxuICBleHBvcnRzOiBbUm91dGVyTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBBdWRpdExvZ1ZpZXdNb2RlbFJvdXRpbmdNb2R1bGUgeyB9XG4iXX0=
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Component, Inject } from '@angular/core';
|
|
3
|
+
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
4
|
+
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
|
|
5
|
+
import { HttpService } from '../../core/http.service';
|
|
6
|
+
let AuditLogViewModelComponent = class AuditLogViewModelComponent {
|
|
7
|
+
constructor(dialogRef, data, http) {
|
|
8
|
+
this.dialogRef = dialogRef;
|
|
9
|
+
this.data = data;
|
|
10
|
+
this.http = http;
|
|
11
|
+
this.showDeltaChanges = false;
|
|
12
|
+
this.changeList = [];
|
|
13
|
+
}
|
|
14
|
+
ngOnInit() {
|
|
15
|
+
var _a, _b;
|
|
16
|
+
if (this.data) {
|
|
17
|
+
this.http.get(`api/recent-log-for-model`, {
|
|
18
|
+
params: {
|
|
19
|
+
model_type: (_a = this.data) === null || _a === void 0 ? void 0 : _a.modelType,
|
|
20
|
+
model_id: (_b = this.data) === null || _b === void 0 ? void 0 : _b.modelId
|
|
21
|
+
}
|
|
22
|
+
}).pipe(untilDestroyed(this)).subscribe((result) => {
|
|
23
|
+
this.logInfo = result === null || result === void 0 ? void 0 : result.item;
|
|
24
|
+
this.getTransformedChanges();
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
getTransformedChanges() {
|
|
29
|
+
var _a, _b, _c, _d;
|
|
30
|
+
if ((_b = (_a = this.logInfo) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.changes) {
|
|
31
|
+
const changes = Object.keys((_d = (_c = this.logInfo) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d.changes) || [];
|
|
32
|
+
changes.forEach((key) => {
|
|
33
|
+
var _a, _b, _c, _d;
|
|
34
|
+
const displayAttribute = key.split('_').map(x => x.charAt(0).toUpperCase() + x.slice(1)).join(' ');
|
|
35
|
+
this.changeList.push({ displayAttribute: displayAttribute, attribute: key, newValue: (_b = (_a = this.logInfo) === null || _a === void 0 ? void 0 : _a.object[key]) !== null && _b !== void 0 ? _b : '', oldValue: (_d = (_c = this.logInfo) === null || _c === void 0 ? void 0 : _c.pre_object[key]) !== null && _d !== void 0 ? _d : '' });
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
close() {
|
|
40
|
+
this.dialogRef.close();
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
AuditLogViewModelComponent.decorators = [
|
|
44
|
+
{ type: Component, args: [{
|
|
45
|
+
selector: 'app-audit-log-view',
|
|
46
|
+
template: "<div fxLayout=\"column\" class=\"m-4\" fxLayoutGap=\"1.5rem\">\n <h3 class=\"text-center\">Audit Log</h3>\n <div fxLayout=\"column\" fxLayoutGap=\"0.5rem\" *ngIf=\"logInfo\">\n <div>Object Type: {{logInfo?.object_type}}</div>\n <div>Object Id: {{logInfo?.object_id}}</div>\n <div>Action: {{logInfo?.action}}</div>\n <div>Created At: {{logInfo?.created_at | date:'medium'}}</div>\n <div>Created By: {{logInfo?.user?.email}}</div>\n </div>\n\n\n <div class=\"container\" *ngIf=\"changeList.length > 0\">\n <h4 class=\"font-weight-bold\"> Changes in Attributes</h4>\n <table class=\"table table-striped table-sm border\">\n <thead>\n <tr>\n <th scope=\"col\">#</th>\n <th scope=\"col\">Attribute</th>\n <th scope=\"col\">Old Value</th>\n <th scope=\"col\">New Value</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let change of changeList; let i= index;\">\n <th scope=\"row\">{{i+1}}</th>\n <td>{{change?.displayAttribute}}</td>\n <td>{{change?.oldValue}}</td>\n <td>{{change?.newValue}}</td>\n </tr>\n </tbody>\n </table>\n\n </div>\n\n <div>\n <button mat-raised-button (click)=\"close()\">Close</button>\n </div>\n</div>",
|
|
47
|
+
styles: [".scroll-container{max-height:400px;overflow:auto}"]
|
|
48
|
+
},] }
|
|
49
|
+
];
|
|
50
|
+
AuditLogViewModelComponent.ctorParameters = () => [
|
|
51
|
+
{ type: MatDialogRef },
|
|
52
|
+
{ type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] },
|
|
53
|
+
{ type: HttpService }
|
|
54
|
+
];
|
|
55
|
+
AuditLogViewModelComponent = __decorate([
|
|
56
|
+
UntilDestroy()
|
|
57
|
+
], AuditLogViewModelComponent);
|
|
58
|
+
export { AuditLogViewModelComponent };
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtbG9nLXZpZXctbW9kZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9hdWRpdC1sb2cvYXVkaXQtbG9nLXZpZXctbW9kZWwvYXVkaXQtbG9nLXZpZXctbW9kZWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0lBU3pDLDBCQUEwQixTQUExQiwwQkFBMEI7SUFNckMsWUFDUyxTQUFtRCxFQUMxQixJQUFTLEVBQ2pDLElBQWlCO1FBRmxCLGNBQVMsR0FBVCxTQUFTLENBQTBDO1FBQzFCLFNBQUksR0FBSixJQUFJLENBQUs7UUFDakMsU0FBSSxHQUFKLElBQUksQ0FBYTtRQU4zQixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMsZUFBVSxHQUFVLEVBQUUsQ0FBQztJQU1uQixDQUFDO0lBRUwsUUFBUTs7UUFDTixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsRUFBRTtnQkFDeEMsTUFBTSxFQUFFO29CQUNOLFVBQVUsUUFBRSxJQUFJLENBQUMsSUFBSSwwQ0FBRSxTQUFTO29CQUNoQyxRQUFRLFFBQUUsSUFBSSxDQUFDLElBQUksMENBQUUsT0FBTztpQkFDN0I7YUFDRixDQUFDLENBQUMsSUFBSSxDQUNMLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FDckIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsSUFBSSxDQUFDO2dCQUM1QixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUMvQixDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVELHFCQUFxQjs7UUFDbkIsZ0JBQUksSUFBSSxDQUFDLE9BQU8sMENBQUUsSUFBSSwwQ0FBRSxPQUFPLEVBQUU7WUFDL0IsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksYUFBQyxJQUFJLENBQUMsT0FBTywwQ0FBRSxJQUFJLDBDQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMvRCxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7O2dCQUMzQixNQUFNLGdCQUFnQixHQUFJLEdBQWMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMvRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsUUFBUSxjQUFFLElBQUksQ0FBQyxPQUFPLDBDQUFFLE1BQU0sQ0FBQyxHQUFHLG9DQUFLLEVBQUUsRUFBRSxRQUFRLGNBQUUsSUFBSSxDQUFDLE9BQU8sMENBQUUsVUFBVSxDQUFDLEdBQUcsb0NBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN6SyxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7Q0FFRixDQUFBOztZQS9DQSxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsazhDQUFvRDs7YUFFckQ7OztZQVZRLFlBQVk7NENBbUJoQixNQUFNLFNBQUMsZUFBZTtZQWpCbEIsV0FBVzs7QUFTUCwwQkFBMEI7SUFOdEMsWUFBWSxFQUFFO0dBTUYsMEJBQTBCLENBMEN0QztTQTFDWSwwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkIH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9odHRwLnNlcnZpY2UnO1xuXG5cbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWF1ZGl0LWxvZy12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2F1ZGl0LWxvZy12aWV3LW1vZGVsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXVkaXQtbG9nLXZpZXctbW9kZWwuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBdWRpdExvZ1ZpZXdNb2RlbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgbG9nSW5mbzogYW55O1xuICBzaG93RGVsdGFDaGFuZ2VzOiBib29sZWFuID0gZmFsc2U7XG4gIGNoYW5nZUxpc3Q6IGFueVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEF1ZGl0TG9nVmlld01vZGVsQ29tcG9uZW50PixcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IGFueSxcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBTZXJ2aWNlXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGF0YSkge1xuICAgICAgdGhpcy5odHRwLmdldChgYXBpL3JlY2VudC1sb2ctZm9yLW1vZGVsYCwge1xuICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICBtb2RlbF90eXBlOiB0aGlzLmRhdGE/Lm1vZGVsVHlwZSxcbiAgICAgICAgICBtb2RlbF9pZDogdGhpcy5kYXRhPy5tb2RlbElkXG4gICAgICAgIH1cbiAgICAgIH0pLnBpcGUoXG4gICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpXG4gICAgICApLnN1YnNjcmliZSgocmVzdWx0OiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5sb2dJbmZvID0gcmVzdWx0Py5pdGVtO1xuICAgICAgICB0aGlzLmdldFRyYW5zZm9ybWVkQ2hhbmdlcygpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0VHJhbnNmb3JtZWRDaGFuZ2VzKCkge1xuICAgIGlmICh0aGlzLmxvZ0luZm8/LmRhdGE/LmNoYW5nZXMpIHtcbiAgICAgIGNvbnN0IGNoYW5nZXMgPSBPYmplY3Qua2V5cyh0aGlzLmxvZ0luZm8/LmRhdGE/LmNoYW5nZXMpIHx8IFtdO1xuICAgICAgY2hhbmdlcy5mb3JFYWNoKChrZXk6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBkaXNwbGF5QXR0cmlidXRlID0gKGtleSBhcyBzdHJpbmcpLnNwbGl0KCdfJykubWFwKHggPT4geC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHguc2xpY2UoMSkpLmpvaW4oJyAnKTtcbiAgICAgICAgdGhpcy5jaGFuZ2VMaXN0LnB1c2goeyBkaXNwbGF5QXR0cmlidXRlOiBkaXNwbGF5QXR0cmlidXRlLCBhdHRyaWJ1dGU6IGtleSwgbmV3VmFsdWU6IHRoaXMubG9nSW5mbz8ub2JqZWN0W2tleV0gPz8gJycsIG9sZFZhbHVlOiB0aGlzLmxvZ0luZm8/LnByZV9vYmplY3Rba2V5XSA/PyAnJyB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gIH1cblxufVxuIl19
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { AuditLogViewModelRoutingModule } from './audit-log-view-model-routing.module';
|
|
4
|
+
import { AuditLogViewModelComponent } from './audit-log-view-model.component';
|
|
5
|
+
import { FlexLayoutModule } from '@angular/flex-layout';
|
|
6
|
+
import { MaterialModule } from '../../material.module';
|
|
7
|
+
export class AuditLogViewModelModule {
|
|
8
|
+
}
|
|
9
|
+
AuditLogViewModelModule.decorators = [
|
|
10
|
+
{ type: NgModule, args: [{
|
|
11
|
+
declarations: [AuditLogViewModelComponent],
|
|
12
|
+
imports: [
|
|
13
|
+
CommonModule,
|
|
14
|
+
AuditLogViewModelRoutingModule,
|
|
15
|
+
FlexLayoutModule,
|
|
16
|
+
MaterialModule
|
|
17
|
+
],
|
|
18
|
+
exports: [AuditLogViewModelComponent]
|
|
19
|
+
},] }
|
|
20
|
+
];
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtbG9nLXZpZXctbW9kZWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9hdWRpdC1sb2cvYXVkaXQtbG9nLXZpZXctbW9kZWwvYXVkaXQtbG9nLXZpZXctbW9kZWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQWF2RCxNQUFNLE9BQU8sdUJBQXVCOzs7WUFWbkMsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRSxDQUFDLDBCQUEwQixDQUFDO2dCQUMxQyxPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWiw4QkFBOEI7b0JBQzlCLGdCQUFnQjtvQkFDaEIsY0FBYztpQkFDZjtnQkFDRCxPQUFPLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQzthQUN0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBBdWRpdExvZ1ZpZXdNb2RlbFJvdXRpbmdNb2R1bGUgfSBmcm9tICcuL2F1ZGl0LWxvZy12aWV3LW1vZGVsLXJvdXRpbmcubW9kdWxlJztcbmltcG9ydCB7IEF1ZGl0TG9nVmlld01vZGVsQ29tcG9uZW50IH0gZnJvbSAnLi9hdWRpdC1sb2ctdmlldy1tb2RlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmxleExheW91dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2ZsZXgtbGF5b3V0JztcbmltcG9ydCB7IE1hdGVyaWFsTW9kdWxlIH0gZnJvbSAnLi4vLi4vbWF0ZXJpYWwubW9kdWxlJztcblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtBdWRpdExvZ1ZpZXdNb2RlbENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQXVkaXRMb2dWaWV3TW9kZWxSb3V0aW5nTW9kdWxlLFxuICAgIEZsZXhMYXlvdXRNb2R1bGUsXG4gICAgTWF0ZXJpYWxNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW0F1ZGl0TG9nVmlld01vZGVsQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBBdWRpdExvZ1ZpZXdNb2RlbE1vZHVsZSB7IH1cbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { AuditLogRoutingModule } from './audit-log-routing.module';
|
|
4
|
+
import { AuditLogListModule } from './audit-log-list/audit-log-list.module';
|
|
5
|
+
import { AuditLogViewModule } from './audit-log-view/audit-log-view.module';
|
|
6
|
+
export class AuditLogModule {
|
|
7
|
+
}
|
|
8
|
+
AuditLogModule.decorators = [
|
|
9
|
+
{ type: NgModule, args: [{
|
|
10
|
+
declarations: [],
|
|
11
|
+
imports: [
|
|
12
|
+
CommonModule,
|
|
13
|
+
AuditLogRoutingModule,
|
|
14
|
+
AuditLogListModule,
|
|
15
|
+
AuditLogViewModule
|
|
16
|
+
],
|
|
17
|
+
exports: []
|
|
18
|
+
},] }
|
|
19
|
+
];
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtbG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvYXVkaXQtbG9nL2F1ZGl0LWxvZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFjNUUsTUFBTSxPQUFPLGNBQWM7OztZQVgxQixRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFLEVBQ2I7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1oscUJBQXFCO29CQUNyQixrQkFBa0I7b0JBQ2xCLGtCQUFrQjtpQkFDbkI7Z0JBQ0QsT0FBTyxFQUFFLEVBQUU7YUFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBBdWRpdExvZ1JvdXRpbmdNb2R1bGUgfSBmcm9tICcuL2F1ZGl0LWxvZy1yb3V0aW5nLm1vZHVsZSc7XG5pbXBvcnQgeyBBdWRpdExvZ0xpc3RNb2R1bGUgfSBmcm9tICcuL2F1ZGl0LWxvZy1saXN0L2F1ZGl0LWxvZy1saXN0Lm1vZHVsZSc7XG5pbXBvcnQgeyBBdWRpdExvZ1ZpZXdNb2R1bGUgfSBmcm9tICcuL2F1ZGl0LWxvZy12aWV3L2F1ZGl0LWxvZy12aWV3Lm1vZHVsZSc7XG5cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQXVkaXRMb2dSb3V0aW5nTW9kdWxlLFxuICAgIEF1ZGl0TG9nTGlzdE1vZHVsZSxcbiAgICBBdWRpdExvZ1ZpZXdNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW11cbn0pXG5leHBvcnQgY2xhc3MgQXVkaXRMb2dNb2R1bGUgeyB9XG4iXX0=
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { RouterModule } from '@angular/router';
|
|
3
|
+
const routes = [];
|
|
4
|
+
export class AuditLogsViewModelRoutingModule {
|
|
5
|
+
}
|
|
6
|
+
AuditLogsViewModelRoutingModule.decorators = [
|
|
7
|
+
{ type: NgModule, args: [{
|
|
8
|
+
imports: [RouterModule.forChild(routes)],
|
|
9
|
+
exports: [RouterModule]
|
|
10
|
+
},] }
|
|
11
|
+
];
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtbG9ncy12aWV3LW1vZGVsLXJvdXRpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9hdWRpdC1sb2cvYXVkaXQtbG9ncy12aWV3LW1vZGVsL2F1ZGl0LWxvZ3Mtdmlldy1tb2RlbC1yb3V0aW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBVSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV2RCxNQUFNLE1BQU0sR0FBVyxFQUFFLENBQUM7QUFNMUIsTUFBTSxPQUFPLCtCQUErQjs7O1lBSjNDLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN4QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7YUFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVzLCBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5jb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtdO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbUm91dGVyTW9kdWxlLmZvckNoaWxkKHJvdXRlcyldLFxuICBleHBvcnRzOiBbUm91dGVyTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBBdWRpdExvZ3NWaWV3TW9kZWxSb3V0aW5nTW9kdWxlIHsgfVxuIl19
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Component, Inject } from '@angular/core';
|
|
3
|
+
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
4
|
+
import { NavigationEnd, Router } from '@angular/router';
|
|
5
|
+
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
|
|
6
|
+
import { filter } from 'rxjs/operators';
|
|
7
|
+
let AuditLogsViewModelComponent = class AuditLogsViewModelComponent {
|
|
8
|
+
constructor(dialogRef, data, router) {
|
|
9
|
+
this.dialogRef = dialogRef;
|
|
10
|
+
this.data = data;
|
|
11
|
+
this.router = router;
|
|
12
|
+
}
|
|
13
|
+
ngOnInit() {
|
|
14
|
+
this.router.events
|
|
15
|
+
.pipe(filter(event => event instanceof NavigationEnd), untilDestroyed(this))
|
|
16
|
+
.subscribe(_ => this.dialogRef.close());
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
AuditLogsViewModelComponent.decorators = [
|
|
20
|
+
{ type: Component, args: [{
|
|
21
|
+
selector: 'app-audit-logs-view-model',
|
|
22
|
+
template: "<div fxLayout=\"column\" class=\"m-4\" fxLayoutGap=\"1.5rem\">\n <app-audit-log-list [objectId]=\"data?.modelId\" [objectType]=\"data?.modelType\" [showExportButtons]=\"false\">\n </app-audit-log-list>\n</div>",
|
|
23
|
+
styles: ["::ng-deep app-audit-log-list .scroll-container{height:350px!important;overflow-y:scroll}"]
|
|
24
|
+
},] }
|
|
25
|
+
];
|
|
26
|
+
AuditLogsViewModelComponent.ctorParameters = () => [
|
|
27
|
+
{ type: MatDialogRef },
|
|
28
|
+
{ type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] },
|
|
29
|
+
{ type: Router }
|
|
30
|
+
];
|
|
31
|
+
AuditLogsViewModelComponent = __decorate([
|
|
32
|
+
UntilDestroy()
|
|
33
|
+
], AuditLogsViewModelComponent);
|
|
34
|
+
export { AuditLogsViewModelComponent };
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtbG9ncy12aWV3LW1vZGVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvYXVkaXQtbG9nL2F1ZGl0LWxvZ3Mtdmlldy1tb2RlbC9hdWRpdC1sb2dzLXZpZXctbW9kZWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7SUFTM0IsMkJBQTJCLFNBQTNCLDJCQUEyQjtJQUV0QyxZQUNTLFNBQW1ELEVBQzFCLElBQVMsRUFDakMsTUFBYztRQUZmLGNBQVMsR0FBVCxTQUFTLENBQTBDO1FBQzFCLFNBQUksR0FBSixJQUFJLENBQUs7UUFDakMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUNwQixDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTthQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLFlBQVksYUFBYSxDQUFDLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzNFLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUM1QyxDQUFDO0NBRUYsQ0FBQTs7WUFuQkEsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSwyQkFBMkI7Z0JBQ3JDLG1PQUFxRDs7YUFFdEQ7OztZQVhRLFlBQVk7NENBZ0JoQixNQUFNLFNBQUMsZUFBZTtZQWZILE1BQU07O0FBV2pCLDJCQUEyQjtJQU52QyxZQUFZLEVBQUU7R0FNRiwyQkFBMkIsQ0FjdkM7U0FkWSwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBdWRpdExvZ1ZpZXdNb2RlbENvbXBvbmVudCB9IGZyb20gJy4uL2F1ZGl0LWxvZy12aWV3LW1vZGVsL2F1ZGl0LWxvZy12aWV3LW1vZGVsLmNvbXBvbmVudCc7XG5cbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWF1ZGl0LWxvZ3Mtdmlldy1tb2RlbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hdWRpdC1sb2dzLXZpZXctbW9kZWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hdWRpdC1sb2dzLXZpZXctbW9kZWwuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBdWRpdExvZ3NWaWV3TW9kZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxBdWRpdExvZ1ZpZXdNb2RlbENvbXBvbmVudD4sXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBhbnksXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxuICApIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucm91dGVyLmV2ZW50c1xuICAgICAgLnBpcGUoZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCksIHVudGlsRGVzdHJveWVkKHRoaXMpKVxuICAgICAgLnN1YnNjcmliZShfID0+IHRoaXMuZGlhbG9nUmVmLmNsb3NlKCkpO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { AuditLogsViewModelRoutingModule } from './audit-logs-view-model-routing.module';
|
|
4
|
+
import { AuditLogsViewModelComponent } from './audit-logs-view-model.component';
|
|
5
|
+
import { AuditLogListModule } from '../audit-log-list/audit-log-list.module';
|
|
6
|
+
import { FlexLayoutModule } from '@angular/flex-layout';
|
|
7
|
+
export class AuditLogsViewModelModule {
|
|
8
|
+
}
|
|
9
|
+
AuditLogsViewModelModule.decorators = [
|
|
10
|
+
{ type: NgModule, args: [{
|
|
11
|
+
declarations: [AuditLogsViewModelComponent],
|
|
12
|
+
imports: [
|
|
13
|
+
CommonModule,
|
|
14
|
+
AuditLogsViewModelRoutingModule,
|
|
15
|
+
FlexLayoutModule,
|
|
16
|
+
AuditLogListModule
|
|
17
|
+
],
|
|
18
|
+
exports: [AuditLogsViewModelComponent]
|
|
19
|
+
},] }
|
|
20
|
+
];
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtbG9ncy12aWV3LW1vZGVsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvYXVkaXQtbG9nL2F1ZGl0LWxvZ3Mtdmlldy1tb2RlbC9hdWRpdC1sb2dzLXZpZXctbW9kZWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBYXhELE1BQU0sT0FBTyx3QkFBd0I7OztZQVZwQyxRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFLENBQUMsMkJBQTJCLENBQUM7Z0JBQzNDLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLCtCQUErQjtvQkFDL0IsZ0JBQWdCO29CQUNoQixrQkFBa0I7aUJBQ25CO2dCQUNELE9BQU8sRUFBRSxDQUFDLDJCQUEyQixDQUFDO2FBQ3ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IEF1ZGl0TG9nc1ZpZXdNb2RlbFJvdXRpbmdNb2R1bGUgfSBmcm9tICcuL2F1ZGl0LWxvZ3Mtdmlldy1tb2RlbC1yb3V0aW5nLm1vZHVsZSc7XG5pbXBvcnQgeyBBdWRpdExvZ3NWaWV3TW9kZWxDb21wb25lbnQgfSBmcm9tICcuL2F1ZGl0LWxvZ3Mtdmlldy1tb2RlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXVkaXRMb2dMaXN0TW9kdWxlIH0gZnJvbSAnLi4vYXVkaXQtbG9nLWxpc3QvYXVkaXQtbG9nLWxpc3QubW9kdWxlJztcbmltcG9ydCB7IEZsZXhMYXlvdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mbGV4LWxheW91dCc7XG5cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbQXVkaXRMb2dzVmlld01vZGVsQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBBdWRpdExvZ3NWaWV3TW9kZWxSb3V0aW5nTW9kdWxlLFxuICAgIEZsZXhMYXlvdXRNb2R1bGUsXG4gICAgQXVkaXRMb2dMaXN0TW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtBdWRpdExvZ3NWaWV3TW9kZWxDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIEF1ZGl0TG9nc1ZpZXdNb2RlbE1vZHVsZSB7IH1cbiJdfQ==
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { MatSnackBar } from '@angular/material/snack-bar';
|
|
3
|
+
import { ErrorSnackComponent, SuccessSnackComponent } from './snack/snack.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/material/snack-bar";
|
|
6
|
+
/**
|
|
7
|
+
* Service used to manage alerts in the entire system frontend
|
|
8
|
+
*
|
|
9
|
+
* @author Gokula Prasanna
|
|
10
|
+
* @since 20210131
|
|
11
|
+
*/
|
|
12
|
+
export class AlertService {
|
|
13
|
+
constructor(snackBar) {
|
|
14
|
+
this.snackBar = snackBar;
|
|
15
|
+
}
|
|
16
|
+
addAlert(message, alertType, duration = 3) {
|
|
17
|
+
if (alertType == "success") {
|
|
18
|
+
this.snackBar.openFromComponent(SuccessSnackComponent, {
|
|
19
|
+
duration: 1000 * duration,
|
|
20
|
+
data: message
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
this.snackBar.openFromComponent(ErrorSnackComponent, {
|
|
25
|
+
duration: 1000 * duration,
|
|
26
|
+
data: message
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
AlertService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AlertService_Factory() { return new AlertService(i0.ɵɵinject(i1.MatSnackBar)); }, token: AlertService, providedIn: "root" });
|
|
32
|
+
AlertService.decorators = [
|
|
33
|
+
{ type: Injectable, args: [{
|
|
34
|
+
providedIn: 'root'
|
|
35
|
+
},] }
|
|
36
|
+
];
|
|
37
|
+
AlertService.ctorParameters = () => [
|
|
38
|
+
{ type: MatSnackBar }
|
|
39
|
+
];
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvY29yZS9hbGVydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFFckY7Ozs7O0dBS0c7QUFJSCxNQUFNLE9BQU8sWUFBWTtJQUVyQixZQUFtQixRQUFxQjtRQUFyQixhQUFRLEdBQVIsUUFBUSxDQUFhO0lBQUksQ0FBQztJQUU3QyxRQUFRLENBQUMsT0FBZSxFQUFFLFNBQWlCLEVBQUUsUUFBUSxHQUFHLENBQUM7UUFDckQsSUFBSSxTQUFTLElBQUksU0FBUyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMscUJBQXFCLEVBQUU7Z0JBQ25ELFFBQVEsRUFBRSxJQUFJLEdBQUcsUUFBUTtnQkFDekIsSUFBSSxFQUFFLE9BQU87YUFDaEIsQ0FBQyxDQUFDO1NBQ047YUFDSTtZQUNELElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLEVBQUU7Z0JBQ2pELFFBQVEsRUFBRSxJQUFJLEdBQUcsUUFBUTtnQkFDekIsSUFBSSxFQUFFLE9BQU87YUFDaEIsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDOzs7O1lBcEJKLFVBQVUsU0FBQztnQkFDUixVQUFVLEVBQUUsTUFBTTthQUNyQjs7O1lBWFEsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xyXG5pbXBvcnQgeyBFcnJvclNuYWNrQ29tcG9uZW50LCBTdWNjZXNzU25hY2tDb21wb25lbnQgfSBmcm9tICcuL3NuYWNrL3NuYWNrLmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogU2VydmljZSB1c2VkIHRvIG1hbmFnZSBhbGVydHMgaW4gdGhlIGVudGlyZSBzeXN0ZW0gZnJvbnRlbmRcclxuICogXHJcbiAqIEBhdXRob3IgR29rdWxhIFByYXNhbm5hXHJcbiAqIEBzaW5jZSAyMDIxMDEzMVxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbGVydFNlcnZpY2Uge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBzbmFja0JhcjogTWF0U25hY2tCYXIpIHsgfVxyXG5cclxuICAgIGFkZEFsZXJ0KG1lc3NhZ2U6IHN0cmluZywgYWxlcnRUeXBlOiBzdHJpbmcsIGR1cmF0aW9uID0gMykge1xyXG4gICAgICAgIGlmIChhbGVydFR5cGUgPT0gXCJzdWNjZXNzXCIpIHtcclxuICAgICAgICAgICAgdGhpcy5zbmFja0Jhci5vcGVuRnJvbUNvbXBvbmVudChTdWNjZXNzU25hY2tDb21wb25lbnQsIHtcclxuICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAxMDAwICogZHVyYXRpb24sXHJcbiAgICAgICAgICAgICAgICBkYXRhOiBtZXNzYWdlXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5zbmFja0Jhci5vcGVuRnJvbUNvbXBvbmVudChFcnJvclNuYWNrQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgICAgICBkdXJhdGlvbjogMTAwMCAqIGR1cmF0aW9uLFxyXG4gICAgICAgICAgICAgICAgZGF0YTogbWVzc2FnZVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { ConfigService } from './config.service';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "./config.service";
|
|
5
|
+
/**
|
|
6
|
+
* Prefixes all requests not starting with `http[s]` with `environment.serverUrl`.
|
|
7
|
+
*/
|
|
8
|
+
export class ApiPrefixInterceptor {
|
|
9
|
+
constructor(configService) {
|
|
10
|
+
this.configService = configService;
|
|
11
|
+
}
|
|
12
|
+
intercept(request, next) {
|
|
13
|
+
if (!/^(http|https):/i.test(request.url)) {
|
|
14
|
+
request = request.clone({ url: this.configService.getApiUrl() + request.url });
|
|
15
|
+
}
|
|
16
|
+
return next.handle(request);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
ApiPrefixInterceptor.ɵprov = i0.ɵɵdefineInjectable({ factory: function ApiPrefixInterceptor_Factory() { return new ApiPrefixInterceptor(i0.ɵɵinject(i1.ConfigService)); }, token: ApiPrefixInterceptor, providedIn: "root" });
|
|
20
|
+
ApiPrefixInterceptor.decorators = [
|
|
21
|
+
{ type: Injectable, args: [{
|
|
22
|
+
providedIn: 'root'
|
|
23
|
+
},] }
|
|
24
|
+
];
|
|
25
|
+
ApiPrefixInterceptor.ctorParameters = () => [
|
|
26
|
+
{ type: ConfigService }
|
|
27
|
+
];
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXByZWZpeC5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvY29yZS9hcGktcHJlZml4LmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFFakQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sb0JBQW9CO0lBRS9CLFlBQW9CLGFBQTRCO1FBQTVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBQUksQ0FBQztJQUVyRCxTQUFTLENBQUMsT0FBeUIsRUFBRSxJQUFpQjtRQUNwRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN4QyxPQUFPLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1NBQ2hGO1FBQ0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlCLENBQUM7Ozs7WUFaRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQVBRLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwRXZlbnQsIEh0dHBJbnRlcmNlcHRvciwgSHR0cEhhbmRsZXIsIEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJy4vY29uZmlnLnNlcnZpY2UnO1xuXG4vKipcbiAqIFByZWZpeGVzIGFsbCByZXF1ZXN0cyBub3Qgc3RhcnRpbmcgd2l0aCBgaHR0cFtzXWAgd2l0aCBgZW52aXJvbm1lbnQuc2VydmVyVXJsYC5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQXBpUHJlZml4SW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSkgeyB9XG5cbiAgaW50ZXJjZXB0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuICAgIGlmICghL14oaHR0cHxodHRwcyk6L2kudGVzdChyZXF1ZXN0LnVybCkpIHtcbiAgICAgIHJlcXVlc3QgPSByZXF1ZXN0LmNsb25lKHsgdXJsOiB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0QXBpVXJsKCkgKyByZXF1ZXN0LnVybCB9KTtcbiAgICB9XG4gICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Router } from '@angular/router';
|
|
3
|
+
import { CredentialsService } from './credentials.service';
|
|
4
|
+
import { Logger } from './logger.service';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/router";
|
|
7
|
+
import * as i2 from "./credentials.service";
|
|
8
|
+
const log = new Logger('AuthenticationGuard');
|
|
9
|
+
export class AuthenticationGuard {
|
|
10
|
+
constructor(router, credentialsService) {
|
|
11
|
+
this.router = router;
|
|
12
|
+
this.credentialsService = credentialsService;
|
|
13
|
+
}
|
|
14
|
+
canActivate(route, state) {
|
|
15
|
+
return this.isUserAuthenticated(route, state);
|
|
16
|
+
}
|
|
17
|
+
canLoad(route, state) {
|
|
18
|
+
return this.isUserAuthenticated(route, state);
|
|
19
|
+
}
|
|
20
|
+
isUserAuthenticated(route, state) {
|
|
21
|
+
if (this.credentialsService.isAuthenticated) {
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
log.debug('Not authenticated, redirecting and adding redirect url...');
|
|
25
|
+
this.router.navigate(['/login'], { queryParams: { redirect: state.url }, replaceUrl: true });
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
AuthenticationGuard.ɵprov = i0.ɵɵdefineInjectable({ factory: function AuthenticationGuard_Factory() { return new AuthenticationGuard(i0.ɵɵinject(i1.Router), i0.ɵɵinject(i2.CredentialsService)); }, token: AuthenticationGuard, providedIn: "root" });
|
|
30
|
+
AuthenticationGuard.decorators = [
|
|
31
|
+
{ type: Injectable, args: [{
|
|
32
|
+
providedIn: 'root'
|
|
33
|
+
},] }
|
|
34
|
+
];
|
|
35
|
+
AuthenticationGuard.ctorParameters = () => [
|
|
36
|
+
{ type: Router },
|
|
37
|
+
{ type: CredentialsService }
|
|
38
|
+
];
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRpb24uZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2NvcmUvYXV0aGVudGljYXRpb24uZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUE0RCxNQUFNLGlCQUFpQixDQUFDO0FBQ25HLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQUUxQyxNQUFNLEdBQUcsR0FBRyxJQUFJLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0FBSzlDLE1BQU0sT0FBTyxtQkFBbUI7SUFFOUIsWUFBb0IsTUFBYyxFQUN4QixrQkFBc0M7UUFENUIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUN4Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO0lBQUksQ0FBQztJQUVyRCxXQUFXLENBQUMsS0FBNkIsRUFBRSxLQUEwQjtRQUNuRSxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUE2QixFQUFFLEtBQTBCO1FBQy9ELE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsS0FBNkIsRUFBRSxLQUEwQjtRQUMzRSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLEVBQUU7WUFDM0MsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELEdBQUcsQ0FBQyxLQUFLLENBQUMsMkRBQTJELENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxHQUFHLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM3RixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Ozs7WUF4QkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFSUSxNQUFNO1lBQ04sa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyLCBDYW5BY3RpdmF0ZSwgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUm91dGVyU3RhdGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBDcmVkZW50aWFsc1NlcnZpY2UgfSBmcm9tICcuL2NyZWRlbnRpYWxzLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9nZ2VyIH0gZnJvbSAnLi9sb2dnZXIuc2VydmljZSc7XG5cbmNvbnN0IGxvZyA9IG5ldyBMb2dnZXIoJ0F1dGhlbnRpY2F0aW9uR3VhcmQnKTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQXV0aGVudGljYXRpb25HdWFyZCBpbXBsZW1lbnRzIENhbkFjdGl2YXRlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgY3JlZGVudGlhbHNTZXJ2aWNlOiBDcmVkZW50aWFsc1NlcnZpY2UpIHsgfVxuXG4gIGNhbkFjdGl2YXRlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzVXNlckF1dGhlbnRpY2F0ZWQocm91dGUsIHN0YXRlKTtcbiAgfVxuXG4gIGNhbkxvYWQocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNVc2VyQXV0aGVudGljYXRlZChyb3V0ZSwgc3RhdGUpO1xuICB9XG5cbiAgaXNVc2VyQXV0aGVudGljYXRlZChyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5jcmVkZW50aWFsc1NlcnZpY2UuaXNBdXRoZW50aWNhdGVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBsb2cuZGVidWcoJ05vdCBhdXRoZW50aWNhdGVkLCByZWRpcmVjdGluZyBhbmQgYWRkaW5nIHJlZGlyZWN0IHVybC4uLicpO1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2xvZ2luJ10sIHsgcXVlcnlQYXJhbXM6IHsgcmVkaXJlY3Q6IHN0YXRlLnVybCB9LCByZXBsYWNlVXJsOiB0cnVlIH0pO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import { of } from 'rxjs';
|
|
4
|
+
import { concatMap } from 'rxjs/operators';
|
|
5
|
+
import { CredentialsService } from './credentials.service';
|
|
6
|
+
import { HttpService } from './http.service';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "./credentials.service";
|
|
9
|
+
import * as i2 from "./http.service";
|
|
10
|
+
/**
|
|
11
|
+
* Provides a base for authentication workflow.
|
|
12
|
+
* The login/logout methods should be replaced with proper implementation.
|
|
13
|
+
*/
|
|
14
|
+
export class AuthenticationService {
|
|
15
|
+
constructor(credentialsService, http) {
|
|
16
|
+
this.credentialsService = credentialsService;
|
|
17
|
+
this.http = http;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Authenticates the user.
|
|
21
|
+
* @param context The login parameters.
|
|
22
|
+
* @return The user credentials.
|
|
23
|
+
*/
|
|
24
|
+
login(context) {
|
|
25
|
+
const data = {};
|
|
26
|
+
return this.http
|
|
27
|
+
.skipToken()
|
|
28
|
+
.post('oauth/token', context)
|
|
29
|
+
.pipe(concatMap((tokenInfo) => __awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
tokenInfo.expires_in = Date.now() + (tokenInfo.expires_in * 1000);
|
|
31
|
+
data.token = tokenInfo;
|
|
32
|
+
data.user = {};
|
|
33
|
+
this.credentialsService.setCredentials(data, context.remember);
|
|
34
|
+
const userInfo = yield this.http.get('api/user/current').toPromise();
|
|
35
|
+
data.user = userInfo === null || userInfo === void 0 ? void 0 : userInfo.user;
|
|
36
|
+
this.credentialsService.setCredentials(data, context.remember);
|
|
37
|
+
return data;
|
|
38
|
+
})));
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Logs out the user and clear credentials.
|
|
42
|
+
* @return True if the user was logged out successfully.
|
|
43
|
+
*/
|
|
44
|
+
logout() {
|
|
45
|
+
this.credentialsService.setCredentials();
|
|
46
|
+
return of(true);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
AuthenticationService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AuthenticationService_Factory() { return new AuthenticationService(i0.ɵɵinject(i1.CredentialsService), i0.ɵɵinject(i2.HttpService)); }, token: AuthenticationService, providedIn: "root" });
|
|
50
|
+
AuthenticationService.decorators = [
|
|
51
|
+
{ type: Injectable, args: [{
|
|
52
|
+
providedIn: 'root'
|
|
53
|
+
},] }
|
|
54
|
+
];
|
|
55
|
+
AuthenticationService.ctorParameters = () => [
|
|
56
|
+
{ type: CredentialsService },
|
|
57
|
+
{ type: HttpService }
|
|
58
|
+
];
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvY29yZS9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLFNBQVMsRUFBTyxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBZSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUU3Qzs7O0dBR0c7QUFJSCxNQUFNLE9BQU8scUJBQXFCO0lBRWhDLFlBQW9CLGtCQUFzQyxFQUFVLElBQWlCO1FBQWpFLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFhO0lBQUksQ0FBQztJQUUxRjs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLE9BQVk7UUFDaEIsTUFBTSxJQUFJLEdBQWdCLEVBQUUsQ0FBQztRQUM3QixPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsU0FBUyxFQUFFO2FBQ1gsSUFBSSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUM7YUFDNUIsSUFBSSxDQUNILFNBQVMsQ0FBQyxDQUFPLFNBQWMsRUFBRSxFQUFFO1lBQ2pDLFNBQVMsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsU0FBUyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsQ0FBQztZQUNsRSxJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztZQUN2QixJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMvRCxNQUFNLFFBQVEsR0FBUSxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDMUUsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsSUFBSSxDQUFDO1lBQzNCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMvRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQSxDQUFDLENBQ0gsQ0FBQTtJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNO1FBRUosSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3pDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xCLENBQUM7Ozs7WUF2Q0YsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFUcUIsa0JBQWtCO1lBQy9CLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjb25jYXRNYXAsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENyZWRlbnRpYWxzLCBDcmVkZW50aWFsc1NlcnZpY2UgfSBmcm9tICcuL2NyZWRlbnRpYWxzLnNlcnZpY2UnO1xuaW1wb3J0IHsgSHR0cFNlcnZpY2UgfSBmcm9tICcuL2h0dHAuc2VydmljZSc7XG5cbi8qKlxuICogUHJvdmlkZXMgYSBiYXNlIGZvciBhdXRoZW50aWNhdGlvbiB3b3JrZmxvdy5cbiAqIFRoZSBsb2dpbi9sb2dvdXQgbWV0aG9kcyBzaG91bGQgYmUgcmVwbGFjZWQgd2l0aCBwcm9wZXIgaW1wbGVtZW50YXRpb24uXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhlbnRpY2F0aW9uU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjcmVkZW50aWFsc1NlcnZpY2U6IENyZWRlbnRpYWxzU2VydmljZSwgcHJpdmF0ZSBodHRwOiBIdHRwU2VydmljZSkgeyB9XG5cbiAgLyoqXG4gICAqIEF1dGhlbnRpY2F0ZXMgdGhlIHVzZXIuXG4gICAqIEBwYXJhbSBjb250ZXh0IFRoZSBsb2dpbiBwYXJhbWV0ZXJzLlxuICAgKiBAcmV0dXJuIFRoZSB1c2VyIGNyZWRlbnRpYWxzLlxuICAgKi9cbiAgbG9naW4oY29udGV4dDogYW55KTogT2JzZXJ2YWJsZTxDcmVkZW50aWFscz4ge1xuICAgIGNvbnN0IGRhdGEgPSA8Q3JlZGVudGlhbHM+e307XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLnNraXBUb2tlbigpXG4gICAgICAucG9zdCgnb2F1dGgvdG9rZW4nLCBjb250ZXh0KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNvbmNhdE1hcChhc3luYyAodG9rZW5JbmZvOiBhbnkpID0+IHtcbiAgICAgICAgICB0b2tlbkluZm8uZXhwaXJlc19pbiA9IERhdGUubm93KCkgKyAodG9rZW5JbmZvLmV4cGlyZXNfaW4gKiAxMDAwKTtcbiAgICAgICAgICBkYXRhLnRva2VuID0gdG9rZW5JbmZvO1xuICAgICAgICAgIGRhdGEudXNlciA9IHt9O1xuICAgICAgICAgIHRoaXMuY3JlZGVudGlhbHNTZXJ2aWNlLnNldENyZWRlbnRpYWxzKGRhdGEsIGNvbnRleHQucmVtZW1iZXIpO1xuICAgICAgICAgIGNvbnN0IHVzZXJJbmZvOiBhbnkgPSBhd2FpdCB0aGlzLmh0dHAuZ2V0KCdhcGkvdXNlci9jdXJyZW50JykudG9Qcm9taXNlKCk7XG4gICAgICAgICAgZGF0YS51c2VyID0gdXNlckluZm8/LnVzZXI7XG4gICAgICAgICAgdGhpcy5jcmVkZW50aWFsc1NlcnZpY2Uuc2V0Q3JlZGVudGlhbHMoZGF0YSwgY29udGV4dC5yZW1lbWJlcik7XG4gICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgIH0pXG4gICAgICApXG4gIH1cblxuICAvKipcbiAgICogTG9ncyBvdXQgdGhlIHVzZXIgYW5kIGNsZWFyIGNyZWRlbnRpYWxzLlxuICAgKiBAcmV0dXJuIFRydWUgaWYgdGhlIHVzZXIgd2FzIGxvZ2dlZCBvdXQgc3VjY2Vzc2Z1bGx5LlxuICAgKi9cbiAgbG9nb3V0KCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuXG4gICAgdGhpcy5jcmVkZW50aWFsc1NlcnZpY2Uuc2V0Q3JlZGVudGlhbHMoKTtcbiAgICByZXR1cm4gb2YodHJ1ZSk7XG4gIH1cblxufVxuIl19
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { HttpResponse } from '@angular/common/http';
|
|
3
|
+
import { HttpCacheService } from './http-cache.service';
|
|
4
|
+
import { Observable } from 'rxjs';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "./http-cache.service";
|
|
7
|
+
/**
|
|
8
|
+
* Caches HTTP requests.
|
|
9
|
+
* Use ExtendedHttpClient fluent API to configure caching for each request.
|
|
10
|
+
*/
|
|
11
|
+
export class CacheInterceptor {
|
|
12
|
+
constructor(httpCacheService) {
|
|
13
|
+
this.httpCacheService = httpCacheService;
|
|
14
|
+
this.forceUpdate = false;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Configures interceptor options
|
|
18
|
+
* @param {{update: boolean}} options If update option is enabled, forces request to be made and updates cache entry.
|
|
19
|
+
* @return {CacheInterceptor} The configured instance.
|
|
20
|
+
*/
|
|
21
|
+
configure(options) {
|
|
22
|
+
const instance = new CacheInterceptor(this.httpCacheService);
|
|
23
|
+
if (options && options.update) {
|
|
24
|
+
instance.forceUpdate = true;
|
|
25
|
+
}
|
|
26
|
+
return instance;
|
|
27
|
+
}
|
|
28
|
+
intercept(request, next) {
|
|
29
|
+
if (request.method !== 'GET') {
|
|
30
|
+
return next.handle(request);
|
|
31
|
+
}
|
|
32
|
+
return new Observable((subscriber) => {
|
|
33
|
+
const cachedData = this.forceUpdate ? null : this.httpCacheService.getCacheData(request.urlWithParams);
|
|
34
|
+
if (cachedData !== null) {
|
|
35
|
+
// Create new response to avoid side-effects
|
|
36
|
+
subscriber.next(new HttpResponse(cachedData));
|
|
37
|
+
subscriber.complete();
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
next.handle(request)
|
|
41
|
+
.subscribe(event => {
|
|
42
|
+
if (event instanceof HttpResponse) {
|
|
43
|
+
this.httpCacheService.setCacheData(request.urlWithParams, event);
|
|
44
|
+
}
|
|
45
|
+
subscriber.next(event);
|
|
46
|
+
}, error => subscriber.error(error), () => subscriber.complete());
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
CacheInterceptor.ɵprov = i0.ɵɵdefineInjectable({ factory: function CacheInterceptor_Factory() { return new CacheInterceptor(i0.ɵɵinject(i1.HttpCacheService)); }, token: CacheInterceptor, providedIn: "root" });
|
|
52
|
+
CacheInterceptor.decorators = [
|
|
53
|
+
{ type: Injectable, args: [{
|
|
54
|
+
providedIn: 'root'
|
|
55
|
+
},] }
|
|
56
|
+
];
|
|
57
|
+
CacheInterceptor.ctorParameters = () => [
|
|
58
|
+
{ type: HttpCacheService }
|
|
59
|
+
];
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2NvcmUvY2FjaGUuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQXdELFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxVQUFVLEVBQWMsTUFBTSxNQUFNLENBQUM7OztBQUU5Qzs7O0dBR0c7QUFJSCxNQUFNLE9BQU8sZ0JBQWdCO0lBSTNCLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBRjlDLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0lBRThCLENBQUM7SUFFM0Q7Ozs7T0FJRztJQUNILFNBQVMsQ0FBQyxPQUFxQztRQUM3QyxNQUFNLFFBQVEsR0FBRyxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzdELElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDN0IsUUFBUSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7U0FDN0I7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsU0FBUyxDQUFDLE9BQXlCLEVBQUUsSUFBaUI7UUFDcEQsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLEtBQUssRUFBRTtZQUM1QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDN0I7UUFFRCxPQUFPLElBQUksVUFBVSxDQUFDLENBQUMsVUFBc0MsRUFBRSxFQUFFO1lBQy9ELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDdkcsSUFBSSxVQUFVLEtBQUssSUFBSSxFQUFFO2dCQUN2Qiw0Q0FBNEM7Z0JBQzVDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxZQUFZLENBQUMsVUFBb0IsQ0FBQyxDQUFDLENBQUM7Z0JBQ3hELFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUN2QjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztxQkFDakIsU0FBUyxDQUNSLEtBQUssQ0FBQyxFQUFFO29CQUNOLElBQUksS0FBSyxZQUFZLFlBQVksRUFBRTt3QkFDakMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDO3FCQUNsRTtvQkFDRCxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN6QixDQUFDLEVBQ0QsS0FBSyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUNoQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQzVCLENBQUM7YUFDTDtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OztZQS9DRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQVRRLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBFdmVudCwgSHR0cEludGVyY2VwdG9yLCBIdHRwSGFuZGxlciwgSHR0cFJlcXVlc3QsIEh0dHBSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEh0dHBDYWNoZVNlcnZpY2UgfSBmcm9tICcuL2h0dHAtY2FjaGUuc2VydmljZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpYmVyIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogQ2FjaGVzIEhUVFAgcmVxdWVzdHMuXG4gKiBVc2UgRXh0ZW5kZWRIdHRwQ2xpZW50IGZsdWVudCBBUEkgdG8gY29uZmlndXJlIGNhY2hpbmcgZm9yIGVhY2ggcmVxdWVzdC5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ2FjaGVJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG5cbiAgcHJpdmF0ZSBmb3JjZVVwZGF0ZSA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cENhY2hlU2VydmljZTogSHR0cENhY2hlU2VydmljZSkgeyB9XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyZXMgaW50ZXJjZXB0b3Igb3B0aW9uc1xuICAgKiBAcGFyYW0ge3t1cGRhdGU6IGJvb2xlYW59fSBvcHRpb25zIElmIHVwZGF0ZSBvcHRpb24gaXMgZW5hYmxlZCwgZm9yY2VzIHJlcXVlc3QgdG8gYmUgbWFkZSBhbmQgdXBkYXRlcyBjYWNoZSBlbnRyeS5cbiAgICogQHJldHVybiB7Q2FjaGVJbnRlcmNlcHRvcn0gVGhlIGNvbmZpZ3VyZWQgaW5zdGFuY2UuXG4gICAqL1xuICBjb25maWd1cmUob3B0aW9ucz86IHsgdXBkYXRlPzogYm9vbGVhbiB9IHwgbnVsbCk6IENhY2hlSW50ZXJjZXB0b3Ige1xuICAgIGNvbnN0IGluc3RhbmNlID0gbmV3IENhY2hlSW50ZXJjZXB0b3IodGhpcy5odHRwQ2FjaGVTZXJ2aWNlKTtcbiAgICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLnVwZGF0ZSkge1xuICAgICAgaW5zdGFuY2UuZm9yY2VVcGRhdGUgPSB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gaW5zdGFuY2U7XG4gIH1cblxuICBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XG4gICAgaWYgKHJlcXVlc3QubWV0aG9kICE9PSAnR0VUJykge1xuICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgoc3Vic2NyaWJlcjogU3Vic2NyaWJlcjxIdHRwRXZlbnQ8YW55Pj4pID0+IHtcbiAgICAgIGNvbnN0IGNhY2hlZERhdGEgPSB0aGlzLmZvcmNlVXBkYXRlID8gbnVsbCA6IHRoaXMuaHR0cENhY2hlU2VydmljZS5nZXRDYWNoZURhdGEocmVxdWVzdC51cmxXaXRoUGFyYW1zKTtcbiAgICAgIGlmIChjYWNoZWREYXRhICE9PSBudWxsKSB7XG4gICAgICAgIC8vIENyZWF0ZSBuZXcgcmVzcG9uc2UgdG8gYXZvaWQgc2lkZS1lZmZlY3RzXG4gICAgICAgIHN1YnNjcmliZXIubmV4dChuZXcgSHR0cFJlc3BvbnNlKGNhY2hlZERhdGEgYXMgT2JqZWN0KSk7XG4gICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5leHQuaGFuZGxlKHJlcXVlc3QpXG4gICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgIGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgSHR0cFJlc3BvbnNlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5odHRwQ2FjaGVTZXJ2aWNlLnNldENhY2hlRGF0YShyZXF1ZXN0LnVybFdpdGhQYXJhbXMsIGV2ZW50KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQoZXZlbnQpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGVycm9yID0+IHN1YnNjcmliZXIuZXJyb3IoZXJyb3IpLFxuICAgICAgICAgICAgKCkgPT4gc3Vic2NyaWJlci5jb21wbGV0ZSgpXG4gICAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { TechlifyConfig } from "./techlify-config.model";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "./techlify-config.model";
|
|
5
|
+
/**
|
|
6
|
+
* Service that provides settings for all other services
|
|
7
|
+
*
|
|
8
|
+
* @author Joshua Kissoon
|
|
9
|
+
* @since 20170709
|
|
10
|
+
*/
|
|
11
|
+
export class ConfigService {
|
|
12
|
+
constructor(config) {
|
|
13
|
+
this.config = config;
|
|
14
|
+
}
|
|
15
|
+
getConfigsRaw() {
|
|
16
|
+
return this.config.rawConfigs;
|
|
17
|
+
}
|
|
18
|
+
getProjectKey() {
|
|
19
|
+
return this.config.projectKey;
|
|
20
|
+
}
|
|
21
|
+
getApiUrl() {
|
|
22
|
+
return this.config.apiUrl;
|
|
23
|
+
}
|
|
24
|
+
getAuthClientSecret() {
|
|
25
|
+
return this.config.authClientSecret;
|
|
26
|
+
}
|
|
27
|
+
getStorage() {
|
|
28
|
+
return this.config.storage ? this.config.storage : localStorage;
|
|
29
|
+
}
|
|
30
|
+
getAuthGrantType() {
|
|
31
|
+
return this.config.authGrantType;
|
|
32
|
+
}
|
|
33
|
+
getCredentialsKey() {
|
|
34
|
+
return this.config.projectKey + "_" + ConfigService.BASE_CREDENTIALS;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
ConfigService.BASE_CREDENTIALS = "credentials";
|
|
38
|
+
ConfigService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ConfigService_Factory() { return new ConfigService(i0.ɵɵinject(i1.TechlifyConfig)); }, token: ConfigService, providedIn: "root" });
|
|
39
|
+
ConfigService.decorators = [
|
|
40
|
+
{ type: Injectable, args: [{
|
|
41
|
+
providedIn: 'root'
|
|
42
|
+
},] }
|
|
43
|
+
];
|
|
44
|
+
ConfigService.ctorParameters = () => [
|
|
45
|
+
{ type: TechlifyConfig }
|
|
46
|
+
];
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2NvcmUvY29uZmlnLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQUV6RDs7Ozs7R0FLRztBQUlILE1BQU0sT0FBTyxhQUFhO0lBTXhCLFlBQVksTUFBc0I7UUFDaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDNUIsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUM7SUFDdEMsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO0lBQ2xFLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDO0lBQ25DLENBQUM7SUFFRCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxHQUFHLEdBQUcsR0FBRyxhQUFhLENBQUMsZ0JBQWdCLENBQUM7SUFDdkUsQ0FBQzs7QUFsQ2EsOEJBQWdCLEdBQUcsYUFBYSxDQUFDOzs7WUFMaEQsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFWUSxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBUZWNobGlmeUNvbmZpZyB9IGZyb20gXCIuL3RlY2hsaWZ5LWNvbmZpZy5tb2RlbFwiO1xuXG4vKipcbiAqIFNlcnZpY2UgdGhhdCBwcm92aWRlcyBzZXR0aW5ncyBmb3IgYWxsIG90aGVyIHNlcnZpY2VzXG4gKlxuICogQGF1dGhvciBKb3NodWEgS2lzc29vblxuICogQHNpbmNlIDIwMTcwNzA5XG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENvbmZpZ1NlcnZpY2Uge1xuXG4gIHB1YmxpYyBzdGF0aWMgQkFTRV9DUkVERU5USUFMUyA9IFwiY3JlZGVudGlhbHNcIjtcblxuICBwcml2YXRlIGNvbmZpZzogVGVjaGxpZnlDb25maWc7XG5cbiAgY29uc3RydWN0b3IoY29uZmlnOiBUZWNobGlmeUNvbmZpZykge1xuICAgIHRoaXMuY29uZmlnID0gY29uZmlnO1xuICB9XG5cbiAgZ2V0Q29uZmlnc1JhdygpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcucmF3Q29uZmlncztcbiAgfVxuXG4gIGdldFByb2plY3RLZXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLnByb2plY3RLZXk7XG4gIH1cblxuICBnZXRBcGlVcmwoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmFwaVVybDtcbiAgfVxuXG4gIGdldEF1dGhDbGllbnRTZWNyZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmF1dGhDbGllbnRTZWNyZXQ7XG4gIH1cblxuICBnZXRTdG9yYWdlKCkge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5zdG9yYWdlID8gdGhpcy5jb25maWcuc3RvcmFnZSA6IGxvY2FsU3RvcmFnZTtcbiAgfVxuXG4gIGdldEF1dGhHcmFudFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmF1dGhHcmFudFR5cGU7XG4gIH1cblxuICBnZXRDcmVkZW50aWFsc0tleSgpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcucHJvamVjdEtleSArIFwiX1wiICsgQ29uZmlnU2VydmljZS5CQVNFX0NSRURFTlRJQUxTO1xuICB9XG5cbn1cbiJdfQ==
|