tin-spa 2.13.15 → 9.1.0
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 +2 -2
- package/bundles/tin-spa.umd.js +6694 -0
- package/bundles/tin-spa.umd.js.map +1 -0
- package/bundles/tin-spa.umd.min.js +16 -0
- package/bundles/tin-spa.umd.min.js.map +1 -0
- package/esm2015/lib/classes/Classes.js +254 -0
- package/esm2015/lib/classes/TinCore.js +137 -0
- package/esm2015/lib/components/activity/activity.component.js +92 -0
- package/esm2015/lib/components/attach/attach.component.js +181 -0
- package/esm2015/lib/components/change-password/change-password.component.js +179 -0
- package/esm2015/lib/components/check/check.component.js +69 -0
- package/esm2015/lib/components/chips/chips.component.js +107 -0
- package/esm2015/lib/components/create-account/create-account.component.js +160 -0
- package/esm2015/lib/components/date/date.component.js +66 -0
- package/esm2015/lib/components/datetime/datetime.component.js +57 -0
- package/esm2015/lib/components/filter/filter.component.js +64 -0
- package/esm2015/lib/components/html/html.component.js +102 -0
- package/esm2015/lib/components/label/label.component.js +117 -0
- package/esm2015/lib/components/loader/loader.component.js +53 -0
- package/esm2015/lib/components/login/login.component.js +240 -0
- package/esm2015/lib/components/logs/logs.component.js +195 -0
- package/esm2015/lib/components/message/messageDialog.component.js +142 -0
- package/esm2015/lib/components/money/currency-input-mask.directive.js +187 -0
- package/esm2015/lib/components/money/currency-input-mask.module.js +30 -0
- package/esm2015/lib/components/money/money.component.js +152 -0
- package/esm2015/lib/components/nav-menu/nav-menu.component.js +204 -0
- package/esm2015/lib/components/option/option.component.js +129 -0
- package/esm2015/lib/components/profile/profile.component.js +198 -0
- package/esm2015/lib/components/recover-account/recover-account.component.js +74 -0
- package/esm2015/lib/components/roles/addRoleDialog.component.js +132 -0
- package/esm2015/lib/components/roles/roles.component.js +211 -0
- package/esm2015/lib/components/select/select.component.js +133 -0
- package/esm2015/lib/components/settings/settings.component.js +118 -0
- package/esm2015/lib/components/signup/signup.component.js +139 -0
- package/esm2015/lib/components/steps/steps.component.js +114 -0
- package/esm2015/lib/components/table/table.component.js +375 -0
- package/esm2015/lib/components/text/text.component.js +240 -0
- package/esm2015/lib/components/tiles/tiles.component.js +95 -0
- package/esm2015/lib/components/timeout/timeout.component.js +133 -0
- package/esm2015/lib/components/tin-spa.component.js +26 -0
- package/esm2015/lib/components/users/users.component.js +373 -0
- package/esm2015/lib/components/viewer/viewer.component.js +92 -0
- package/esm2015/lib/components/viewer/viewerDialog.component.js +131 -0
- package/esm2015/lib/dnd.directive.js +56 -0
- package/esm2015/lib/modules/spa-admin.module.js +81 -0
- package/esm2015/lib/modules/spa-index.module.js +58 -0
- package/esm2015/lib/modules/spa-mat.module.js +68 -0
- package/esm2015/lib/modules/spa-user.module.js +55 -0
- package/esm2015/lib/services/auth.service.js +142 -0
- package/esm2015/lib/services/data.service.js +111 -0
- package/esm2015/lib/services/export.service.js +29 -0
- package/esm2015/lib/services/http.service.js +79 -0
- package/esm2015/lib/services/loader-interceptor.service.js +77 -0
- package/esm2015/lib/services/loader.service.js +17 -0
- package/esm2015/lib/services/log.service.js +76 -0
- package/esm2015/lib/services/message.service.js +52 -0
- package/esm2015/lib/services/storage.service.js +43 -0
- package/esm2015/lib/services/tin-spa.service.js +14 -0
- package/esm2015/lib/tin-spa.module.js +156 -0
- package/esm2015/public-api.js +56 -0
- package/esm2015/tin-spa.js +5 -0
- package/esm5/lib/classes/Classes.js +313 -0
- package/esm5/lib/classes/TinCore.js +164 -0
- package/esm5/lib/components/activity/activity.component.js +94 -0
- package/esm5/lib/components/attach/attach.component.js +195 -0
- package/esm5/lib/components/change-password/change-password.component.js +182 -0
- package/esm5/lib/components/check/check.component.js +71 -0
- package/esm5/lib/components/chips/chips.component.js +110 -0
- package/esm5/lib/components/create-account/create-account.component.js +163 -0
- package/esm5/lib/components/date/date.component.js +68 -0
- package/esm5/lib/components/datetime/datetime.component.js +59 -0
- package/esm5/lib/components/filter/filter.component.js +66 -0
- package/esm5/lib/components/html/html.component.js +104 -0
- package/esm5/lib/components/label/label.component.js +119 -0
- package/esm5/lib/components/loader/loader.component.js +56 -0
- package/esm5/lib/components/login/login.component.js +244 -0
- package/esm5/lib/components/logs/logs.component.js +198 -0
- package/esm5/lib/components/message/messageDialog.component.js +144 -0
- package/esm5/lib/components/money/currency-input-mask.directive.js +193 -0
- package/esm5/lib/components/money/currency-input-mask.module.js +34 -0
- package/esm5/lib/components/money/money.component.js +154 -0
- package/esm5/lib/components/nav-menu/nav-menu.component.js +207 -0
- package/esm5/lib/components/option/option.component.js +131 -0
- package/esm5/lib/components/profile/profile.component.js +203 -0
- package/esm5/lib/components/recover-account/recover-account.component.js +77 -0
- package/esm5/lib/components/roles/addRoleDialog.component.js +135 -0
- package/esm5/lib/components/roles/roles.component.js +218 -0
- package/esm5/lib/components/select/select.component.js +136 -0
- package/esm5/lib/components/settings/settings.component.js +122 -0
- package/esm5/lib/components/signup/signup.component.js +142 -0
- package/esm5/lib/components/steps/steps.component.js +128 -0
- package/esm5/lib/components/table/table.component.js +378 -0
- package/esm5/lib/components/text/text.component.js +244 -0
- package/esm5/lib/components/tiles/tiles.component.js +97 -0
- package/esm5/lib/components/timeout/timeout.component.js +136 -0
- package/esm5/lib/components/tin-spa.component.js +25 -0
- package/esm5/lib/components/users/users.component.js +380 -0
- package/esm5/lib/components/viewer/viewer.component.js +94 -0
- package/esm5/lib/components/viewer/viewerDialog.component.js +133 -0
- package/esm5/lib/dnd.directive.js +58 -0
- package/esm5/lib/modules/spa-admin.module.js +85 -0
- package/esm5/lib/modules/spa-index.module.js +62 -0
- package/esm5/lib/modules/spa-mat.module.js +72 -0
- package/esm5/lib/modules/spa-user.module.js +59 -0
- package/esm5/lib/services/auth.service.js +145 -0
- package/esm5/lib/services/data.service.js +113 -0
- package/esm5/lib/services/export.service.js +31 -0
- package/esm5/lib/services/http.service.js +81 -0
- package/esm5/lib/services/loader-interceptor.service.js +80 -0
- package/esm5/lib/services/loader.service.js +19 -0
- package/esm5/lib/services/log.service.js +114 -0
- package/esm5/lib/services/message.service.js +54 -0
- package/esm5/lib/services/storage.service.js +76 -0
- package/esm5/lib/services/tin-spa.service.js +17 -0
- package/esm5/lib/tin-spa.module.js +160 -0
- package/esm5/public-api.js +56 -0
- package/esm5/tin-spa.js +5 -0
- package/fesm2015/tin-spa.js +6204 -0
- package/fesm2015/tin-spa.js.map +1 -0
- package/fesm5/tin-spa.js +6453 -0
- package/fesm5/tin-spa.js.map +1 -0
- package/lib/classes/Classes.d.ts +228 -375
- package/lib/classes/TinCore.d.ts +11 -43
- package/lib/components/activity/activity.component.d.ts +2 -2
- package/lib/components/attach/attach.component.d.ts +27 -15
- package/lib/{pages → components}/change-password/change-password.component.d.ts +4 -4
- package/lib/components/check/check.component.d.ts +3 -8
- package/lib/components/chips/chips.component.d.ts +2 -2
- package/lib/{pages → components}/create-account/create-account.component.d.ts +4 -8
- package/lib/components/date/date.component.d.ts +12 -24
- package/lib/components/datetime/datetime.component.d.ts +2 -6
- package/lib/components/filter/filter.component.d.ts +2 -7
- package/lib/components/html/html.component.d.ts +10 -11
- package/lib/components/label/label.component.d.ts +2 -4
- package/lib/components/loader/loader.component.d.ts +2 -2
- package/lib/components/login/login.component.d.ts +32 -0
- package/lib/components/logs/logs.component.d.ts +18 -0
- package/lib/components/message/messageDialog.component.d.ts +2 -2
- package/lib/components/money/currency-input-mask.directive.d.ts +2 -2
- package/lib/components/money/currency-input-mask.module.d.ts +2 -3
- package/lib/components/money/money.component.d.ts +3 -13
- package/lib/components/nav-menu/nav-menu.component.d.ts +4 -22
- package/lib/components/option/option.component.d.ts +3 -14
- package/lib/{pages → components}/profile/profile.component.d.ts +4 -6
- package/lib/{pages → components}/recover-account/recover-account.component.d.ts +3 -3
- package/lib/components/roles/addRoleDialog.component.d.ts +22 -0
- package/lib/components/roles/roles.component.d.ts +30 -0
- package/lib/components/select/select.component.d.ts +20 -20
- package/lib/{pages → components}/settings/settings.component.d.ts +3 -3
- package/lib/{pages → components}/signup/signup.component.d.ts +4 -4
- package/lib/components/steps/steps.component.d.ts +10 -19
- package/lib/components/table/table.component.d.ts +21 -84
- package/lib/components/text/text.component.d.ts +14 -36
- package/lib/components/tiles/tiles.component.d.ts +7 -21
- package/lib/components/timeout/timeout.component.d.ts +24 -0
- package/lib/components/tin-spa.component.d.ts +6 -3
- package/lib/{pages → components}/users/users.component.d.ts +18 -11
- package/lib/components/viewer/viewer.component.d.ts +5 -11
- package/lib/components/viewer/viewerDialog.component.d.ts +4 -6
- package/lib/dnd.directive.d.ts +11 -0
- package/lib/modules/spa-admin.module.d.ts +10 -10
- package/lib/modules/spa-index.module.d.ts +7 -8
- package/lib/modules/spa-mat.module.d.ts +2 -8
- package/lib/modules/spa-user.module.d.ts +6 -6
- package/lib/services/auth.service.d.ts +4 -16
- package/lib/services/data.service.d.ts +38 -0
- package/lib/services/export.service.d.ts +6 -2
- package/lib/services/http.service.d.ts +2 -2
- package/lib/services/loader-interceptor.service.d.ts +3 -4
- package/lib/services/loader.service.d.ts +2 -2
- package/lib/services/log.service.d.ts +3 -3
- package/lib/services/message.service.d.ts +3 -4
- package/lib/services/storage.service.d.ts +2 -2
- package/lib/services/tin-spa.service.d.ts +2 -2
- package/lib/tin-spa.module.d.ts +34 -83
- package/package.json +16 -24
- package/public-api.d.ts +16 -47
- package/esm2020/lib/classes/Classes.mjs +0 -112
- package/esm2020/lib/classes/LibClasses.mjs +0 -180
- package/esm2020/lib/classes/TinCore.mjs +0 -568
- package/esm2020/lib/components/activity/activity.component.mjs +0 -24
- package/esm2020/lib/components/alert/alert.component.mjs +0 -43
- package/esm2020/lib/components/attach/attach.component.mjs +0 -102
- package/esm2020/lib/components/capsules/capsules.component.mjs +0 -63
- package/esm2020/lib/components/cards/cards.component.mjs +0 -103
- package/esm2020/lib/components/check/check.component.mjs +0 -67
- package/esm2020/lib/components/chips/chips.component.mjs +0 -58
- package/esm2020/lib/components/date/date.component.mjs +0 -103
- package/esm2020/lib/components/datetime/datetime.component.mjs +0 -55
- package/esm2020/lib/components/email/email.component.mjs +0 -133
- package/esm2020/lib/components/filter/filter.component.mjs +0 -58
- package/esm2020/lib/components/form/form.component.mjs +0 -296
- package/esm2020/lib/components/html/html.component.mjs +0 -34
- package/esm2020/lib/components/label/label.component.mjs +0 -31
- package/esm2020/lib/components/list-dialog/list-dialog.component.mjs +0 -68
- package/esm2020/lib/components/loader/loader.component.mjs +0 -25
- package/esm2020/lib/components/message/messageDialog.component.mjs +0 -33
- package/esm2020/lib/components/money/currency-input-mask.directive.mjs +0 -185
- package/esm2020/lib/components/money/currency-input-mask.module.mjs +0 -28
- package/esm2020/lib/components/money/money.component.mjs +0 -137
- package/esm2020/lib/components/multi-select/multi-select.component.mjs +0 -165
- package/esm2020/lib/components/multi-text/multi-text.component.mjs +0 -208
- package/esm2020/lib/components/nav-menu/nav-menu.component.mjs +0 -88
- package/esm2020/lib/components/notes/notes.component.mjs +0 -62
- package/esm2020/lib/components/number/number.component.mjs +0 -131
- package/esm2020/lib/components/option/option.component.mjs +0 -92
- package/esm2020/lib/components/page/page.component.mjs +0 -101
- package/esm2020/lib/components/search/search.component.mjs +0 -36
- package/esm2020/lib/components/select/select.component.mjs +0 -75
- package/esm2020/lib/components/select-bitwise/select-bitwise.component.mjs +0 -87
- package/esm2020/lib/components/select-common/select-common.component.mjs +0 -206
- package/esm2020/lib/components/select-internal/select-internal.component.mjs +0 -75
- package/esm2020/lib/components/select-lite/select-lite.component.mjs +0 -18
- package/esm2020/lib/components/statuses/statuses.component.mjs +0 -44
- package/esm2020/lib/components/steps/steps.component.mjs +0 -112
- package/esm2020/lib/components/suffix/suffix.component.mjs +0 -70
- package/esm2020/lib/components/table/detailsDialog.component.mjs +0 -406
- package/esm2020/lib/components/table/table.component.mjs +0 -440
- package/esm2020/lib/components/table-action/table-action.component.mjs +0 -80
- package/esm2020/lib/components/table-header/table-header.component.mjs +0 -148
- package/esm2020/lib/components/table-internal/detailsDialog-internal.component.mjs +0 -406
- package/esm2020/lib/components/table-internal/table-internal.component.mjs +0 -441
- package/esm2020/lib/components/table-lite/detailsDialog-lite.component.mjs +0 -404
- package/esm2020/lib/components/table-lite/table-lite.component.mjs +0 -441
- package/esm2020/lib/components/table-row/table-row.component.mjs +0 -93
- package/esm2020/lib/components/tabs/tabs.component.mjs +0 -74
- package/esm2020/lib/components/text/text.component.mjs +0 -255
- package/esm2020/lib/components/tiles/tiles.component.mjs +0 -99
- package/esm2020/lib/components/tin-spa.component.mjs +0 -19
- package/esm2020/lib/components/viewer/viewer.component.mjs +0 -83
- package/esm2020/lib/components/viewer/viewerDialog.component.mjs +0 -95
- package/esm2020/lib/modules/admin/admin-routing.module.mjs +0 -71
- package/esm2020/lib/modules/admin/admin.module.mjs +0 -26
- package/esm2020/lib/modules/index/index-routing.module.mjs +0 -27
- package/esm2020/lib/modules/index/index.module.mjs +0 -26
- package/esm2020/lib/modules/spa-admin.module.mjs +0 -71
- package/esm2020/lib/modules/spa-index.module.mjs +0 -54
- package/esm2020/lib/modules/spa-mat.module.mjs +0 -84
- package/esm2020/lib/modules/spa-user.module.mjs +0 -47
- package/esm2020/lib/modules/user/user-routing.module.mjs +0 -23
- package/esm2020/lib/modules/user/user.module.mjs +0 -26
- package/esm2020/lib/pages/accounts/accountDialog.component.mjs +0 -56
- package/esm2020/lib/pages/accounts/accounts.component.mjs +0 -70
- package/esm2020/lib/pages/app-models/app-models.component.mjs +0 -56
- package/esm2020/lib/pages/approvals/approvals.component.mjs +0 -19
- package/esm2020/lib/pages/approvals-config/approvals-config.component.mjs +0 -165
- package/esm2020/lib/pages/bug/bug.component.mjs +0 -14
- package/esm2020/lib/pages/change-password/change-password.component.mjs +0 -92
- package/esm2020/lib/pages/create-account/create-account.component.mjs +0 -110
- package/esm2020/lib/pages/customers/customers.component.mjs +0 -21
- package/esm2020/lib/pages/departments/departments.component.mjs +0 -22
- package/esm2020/lib/pages/employees/employees.component.mjs +0 -20
- package/esm2020/lib/pages/grades/grades.component.mjs +0 -14
- package/esm2020/lib/pages/inventory/inventory.component.mjs +0 -99
- package/esm2020/lib/pages/inventory/quantityDialog.component.mjs +0 -53
- package/esm2020/lib/pages/invitations-table/invitations-table.component.mjs +0 -71
- package/esm2020/lib/pages/login/login.component.mjs +0 -166
- package/esm2020/lib/pages/logs/logs.component.mjs +0 -42
- package/esm2020/lib/pages/membership/membership.component.mjs +0 -44
- package/esm2020/lib/pages/notifications/notifications.component.mjs +0 -90
- package/esm2020/lib/pages/notifications-config/notifications-config.component.mjs +0 -113
- package/esm2020/lib/pages/plans/plans.component.mjs +0 -44
- package/esm2020/lib/pages/positions/positions.component.mjs +0 -21
- package/esm2020/lib/pages/profile/profile.component.mjs +0 -94
- package/esm2020/lib/pages/recover-account/recover-account.component.mjs +0 -46
- package/esm2020/lib/pages/roles/addRoleDialog.component.mjs +0 -60
- package/esm2020/lib/pages/roles/roles.component.mjs +0 -151
- package/esm2020/lib/pages/settings/settings.component.mjs +0 -54
- package/esm2020/lib/pages/signup/signup.component.mjs +0 -50
- package/esm2020/lib/pages/suppliers/suppliers.component.mjs +0 -22
- package/esm2020/lib/pages/tasks/tasks.component.mjs +0 -86
- package/esm2020/lib/pages/tenant-settings/tenant-settings.component.mjs +0 -228
- package/esm2020/lib/pages/tenants/tenants.component.mjs +0 -47
- package/esm2020/lib/pages/transactions/transactDialog.component.mjs +0 -80
- package/esm2020/lib/pages/transactions/transactions.component.mjs +0 -101
- package/esm2020/lib/pages/users/users.component.mjs +0 -167
- package/esm2020/lib/pages/welcome/welcome.component.mjs +0 -86
- package/esm2020/lib/pipes/camelToWords.pipe.mjs +0 -17
- package/esm2020/lib/select-context.directive.mjs +0 -23
- package/esm2020/lib/services/auth.service.mjs +0 -175
- package/esm2020/lib/services/button.service.mjs +0 -162
- package/esm2020/lib/services/condition.service.mjs +0 -32
- package/esm2020/lib/services/csv.service.mjs +0 -49
- package/esm2020/lib/services/datalib.service.mjs +0 -860
- package/esm2020/lib/services/dialog.service.mjs +0 -125
- package/esm2020/lib/services/export.service.mjs +0 -16
- package/esm2020/lib/services/http.service.mjs +0 -79
- package/esm2020/lib/services/loader-interceptor.service.mjs +0 -86
- package/esm2020/lib/services/loader.service.mjs +0 -17
- package/esm2020/lib/services/log.service.mjs +0 -77
- package/esm2020/lib/services/message.service.mjs +0 -59
- package/esm2020/lib/services/notifications.service.mjs +0 -33
- package/esm2020/lib/services/storage.service.mjs +0 -34
- package/esm2020/lib/services/table-config.service.mjs +0 -78
- package/esm2020/lib/services/tin-spa.service.mjs +0 -14
- package/esm2020/lib/tin-spa.module.mjs +0 -225
- package/esm2020/public-api.mjs +0 -90
- package/esm2020/tin-spa.mjs +0 -5
- package/fesm2015/tin-spa.mjs +0 -11736
- package/fesm2015/tin-spa.mjs.map +0 -1
- package/fesm2020/tin-spa.mjs +0 -11738
- package/fesm2020/tin-spa.mjs.map +0 -1
- package/lib/classes/LibClasses.d.ts +0 -173
- package/lib/components/alert/alert.component.d.ts +0 -15
- package/lib/components/capsules/capsules.component.d.ts +0 -26
- package/lib/components/cards/cards.component.d.ts +0 -39
- package/lib/components/email/email.component.d.ts +0 -40
- package/lib/components/form/form.component.d.ts +0 -47
- package/lib/components/list-dialog/list-dialog.component.d.ts +0 -23
- package/lib/components/multi-select/multi-select.component.d.ts +0 -47
- package/lib/components/multi-text/multi-text.component.d.ts +0 -56
- package/lib/components/notes/notes.component.d.ts +0 -19
- package/lib/components/number/number.component.d.ts +0 -41
- package/lib/components/page/page.component.d.ts +0 -38
- package/lib/components/search/search.component.d.ts +0 -15
- package/lib/components/select-bitwise/select-bitwise.component.d.ts +0 -31
- package/lib/components/select-common/select-common.component.d.ts +0 -53
- package/lib/components/select-internal/select-internal.component.d.ts +0 -23
- package/lib/components/select-lite/select-lite.component.d.ts +0 -8
- package/lib/components/statuses/statuses.component.d.ts +0 -12
- package/lib/components/suffix/suffix.component.d.ts +0 -23
- package/lib/components/table/detailsDialog.component.d.ts +0 -86
- package/lib/components/table-action/table-action.component.d.ts +0 -25
- package/lib/components/table-header/table-header.component.d.ts +0 -46
- package/lib/components/table-internal/detailsDialog-internal.component.d.ts +0 -86
- package/lib/components/table-internal/table-internal.component.d.ts +0 -91
- package/lib/components/table-lite/detailsDialog-lite.component.d.ts +0 -86
- package/lib/components/table-lite/table-lite.component.d.ts +0 -91
- package/lib/components/table-row/table-row.component.d.ts +0 -31
- package/lib/components/tabs/tabs.component.d.ts +0 -32
- package/lib/modules/admin/admin-routing.module.d.ts +0 -7
- package/lib/modules/admin/admin.module.d.ts +0 -9
- package/lib/modules/index/index-routing.module.d.ts +0 -7
- package/lib/modules/index/index.module.d.ts +0 -9
- package/lib/modules/user/user-routing.module.d.ts +0 -7
- package/lib/modules/user/user.module.d.ts +0 -9
- package/lib/pages/accounts/accountDialog.component.d.ts +0 -27
- package/lib/pages/accounts/accounts.component.d.ts +0 -25
- package/lib/pages/app-models/app-models.component.d.ts +0 -15
- package/lib/pages/approvals/approvals.component.d.ts +0 -10
- package/lib/pages/approvals-config/approvals-config.component.d.ts +0 -24
- package/lib/pages/bug/bug.component.d.ts +0 -8
- package/lib/pages/customers/customers.component.d.ts +0 -12
- package/lib/pages/departments/departments.component.d.ts +0 -14
- package/lib/pages/employees/employees.component.d.ts +0 -12
- package/lib/pages/grades/grades.component.d.ts +0 -8
- package/lib/pages/inventory/inventory.component.d.ts +0 -25
- package/lib/pages/inventory/quantityDialog.component.d.ts +0 -23
- package/lib/pages/invitations-table/invitations-table.component.d.ts +0 -19
- package/lib/pages/login/login.component.d.ts +0 -46
- package/lib/pages/logs/logs.component.d.ts +0 -14
- package/lib/pages/membership/membership.component.d.ts +0 -13
- package/lib/pages/notifications/notifications.component.d.ts +0 -16
- package/lib/pages/notifications-config/notifications-config.component.d.ts +0 -17
- package/lib/pages/plans/plans.component.d.ts +0 -13
- package/lib/pages/positions/positions.component.d.ts +0 -12
- package/lib/pages/roles/addRoleDialog.component.d.ts +0 -24
- package/lib/pages/roles/roles.component.d.ts +0 -42
- package/lib/pages/suppliers/suppliers.component.d.ts +0 -14
- package/lib/pages/tasks/tasks.component.d.ts +0 -27
- package/lib/pages/tenant-settings/tenant-settings.component.d.ts +0 -47
- package/lib/pages/tenants/tenants.component.d.ts +0 -17
- package/lib/pages/transactions/transactDialog.component.d.ts +0 -26
- package/lib/pages/transactions/transactions.component.d.ts +0 -31
- package/lib/pages/welcome/welcome.component.d.ts +0 -25
- package/lib/pipes/camelToWords.pipe.d.ts +0 -7
- package/lib/select-context.directive.d.ts +0 -10
- package/lib/services/button.service.d.ts +0 -30
- package/lib/services/condition.service.d.ts +0 -10
- package/lib/services/csv.service.d.ts +0 -10
- package/lib/services/datalib.service.d.ts +0 -125
- package/lib/services/dialog.service.d.ts +0 -20
- package/lib/services/notifications.service.d.ts +0 -12
- package/lib/services/table-config.service.d.ts +0 -17
- /package/{index.d.ts → tin-spa.d.ts} +0 -0
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import { Role } from '../classes/Classes';
|
|
4
|
+
import { Constants } from '../classes/TinCore';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/router";
|
|
7
|
+
import * as i2 from "./storage.service";
|
|
8
|
+
import * as i3 from "./http.service";
|
|
9
|
+
import * as i4 from "./message.service";
|
|
10
|
+
import * as i5 from "./log.service";
|
|
11
|
+
export class AuthService {
|
|
12
|
+
constructor(_route, storage, router, httpService, messageService, logService) {
|
|
13
|
+
this._route = _route;
|
|
14
|
+
this.storage = storage;
|
|
15
|
+
this.router = router;
|
|
16
|
+
this.httpService = httpService;
|
|
17
|
+
this.messageService = messageService;
|
|
18
|
+
this.logService = logService;
|
|
19
|
+
//Logged in
|
|
20
|
+
this.loggedin = false;
|
|
21
|
+
this.loggedinSource = new BehaviorSubject(this.loggedin);
|
|
22
|
+
this.loggedinObserv = this.loggedinSource.asObservable();
|
|
23
|
+
//Token
|
|
24
|
+
this.token = "";
|
|
25
|
+
this.tokenSource = new BehaviorSubject(this.token);
|
|
26
|
+
this.tokenObserv = this.tokenSource.asObservable();
|
|
27
|
+
//TokenExpire
|
|
28
|
+
this.tokenExpire = "";
|
|
29
|
+
this.tokenExpireSource = new BehaviorSubject(this.tokenExpire);
|
|
30
|
+
this.tokenExpireObserv = this.tokenExpireSource.asObservable();
|
|
31
|
+
//Current User
|
|
32
|
+
this.currentUser = "tnyagato";
|
|
33
|
+
this.currentUserSource = new BehaviorSubject(this.currentUser);
|
|
34
|
+
this.currentUserObserv = this.currentUserSource.asObservable();
|
|
35
|
+
//Line Manager
|
|
36
|
+
this.islineManager = false;
|
|
37
|
+
this.isLineManagerSource = new BehaviorSubject(this.islineManager);
|
|
38
|
+
this.isLineManagerObserv = this.isLineManagerSource.asObservable();
|
|
39
|
+
//Roles
|
|
40
|
+
this.currentRole = new Role;
|
|
41
|
+
this.currentRoleSource = new BehaviorSubject(this.currentRole);
|
|
42
|
+
this.myRoleObserv = this.currentRoleSource.asObservable();
|
|
43
|
+
//Logged in FirstName
|
|
44
|
+
this.loggedUserSource = new BehaviorSubject("tnyagato");
|
|
45
|
+
this.loggedUserFullName = this.loggedUserSource.asObservable();
|
|
46
|
+
}
|
|
47
|
+
Updateloggedin(loggedin) {
|
|
48
|
+
this.loggedinSource.next(loggedin);
|
|
49
|
+
this.loggedin = loggedin;
|
|
50
|
+
}
|
|
51
|
+
UpdateToken(newToken) {
|
|
52
|
+
this.tokenSource.next(newToken);
|
|
53
|
+
}
|
|
54
|
+
UpdateTokenExpire(newTokenExpire) {
|
|
55
|
+
this.tokenExpireSource.next(newTokenExpire);
|
|
56
|
+
}
|
|
57
|
+
UpdateCurrentUser(newUser) {
|
|
58
|
+
this.currentUserSource.next(newUser.toLocaleLowerCase());
|
|
59
|
+
this.currentUser = newUser.toLocaleLowerCase();
|
|
60
|
+
}
|
|
61
|
+
UpdateIsLineManager(manager) {
|
|
62
|
+
this.isLineManagerSource.next(manager);
|
|
63
|
+
}
|
|
64
|
+
UpdateRole(role) {
|
|
65
|
+
this.currentRoleSource.next(role);
|
|
66
|
+
}
|
|
67
|
+
updateLoggedUserFullName(userName) {
|
|
68
|
+
this.loggedUserSource.next(userName);
|
|
69
|
+
}
|
|
70
|
+
//Authorisation
|
|
71
|
+
isAuthorised(capName) {
|
|
72
|
+
if (!this.currentRoleSource.value[capName]) {
|
|
73
|
+
// this.logService.info(`authorise: ${this.currentRoleSource.value.roleName} not authorised for ${capName}`);
|
|
74
|
+
this.router.navigate(["home"]);
|
|
75
|
+
this.messageService.toast(`Unauthorised: ${capName}`);
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
isValidToken() {
|
|
83
|
+
let tokenExpire = new Date(this.tokenExpireSource.value);
|
|
84
|
+
let nowDate = new Date();
|
|
85
|
+
let valid = tokenExpire > nowDate;
|
|
86
|
+
if (!valid) {
|
|
87
|
+
this.router.navigate(["login"]);
|
|
88
|
+
this.messageService.toast(`Expired Session`);
|
|
89
|
+
}
|
|
90
|
+
return valid;
|
|
91
|
+
}
|
|
92
|
+
canActivate() {
|
|
93
|
+
if (this.loggedin && this.isValidToken()) {
|
|
94
|
+
// this.logService.info("authentication: logged in");
|
|
95
|
+
return true;
|
|
96
|
+
}
|
|
97
|
+
if (localStorage.getItem(Constants.AUTH_USER) === null) {
|
|
98
|
+
// this.logService.info("authentication: not logged and no cache");
|
|
99
|
+
this.Updateloggedin(false);
|
|
100
|
+
let url = new URL(window.location.href);
|
|
101
|
+
let path = url.hash.replace("#/", "");
|
|
102
|
+
this.router.navigate(["login"], {
|
|
103
|
+
relativeTo: this._route,
|
|
104
|
+
queryParams: { redirectTo: path },
|
|
105
|
+
queryParamsHandling: 'merge',
|
|
106
|
+
skipLocationChange: false
|
|
107
|
+
});
|
|
108
|
+
return false;
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
// this.logService.info("authentication: not logged but allowed login");
|
|
112
|
+
this.Updateloggedin(true);
|
|
113
|
+
this.storage.get(Constants.AUTH_USER).then((resp) => {
|
|
114
|
+
this.UpdateCurrentUser(resp);
|
|
115
|
+
});
|
|
116
|
+
this.storage.get(Constants.AUTH_NAME).then((resp) => {
|
|
117
|
+
this.updateLoggedUserFullName(resp);
|
|
118
|
+
});
|
|
119
|
+
this.storage.get(Constants.AUTH_ROLES).then((resp) => {
|
|
120
|
+
let ret = JSON.parse(resp);
|
|
121
|
+
this.UpdateRole(ret);
|
|
122
|
+
});
|
|
123
|
+
this.storage.get(Constants.AUTH_TOKEN).then((resp) => {
|
|
124
|
+
this.UpdateToken(resp);
|
|
125
|
+
});
|
|
126
|
+
this.storage.get(Constants.AUTH_TOKEN_EXPIRE).then((resp) => {
|
|
127
|
+
this.UpdateTokenExpire(resp);
|
|
128
|
+
this.isValidToken();
|
|
129
|
+
});
|
|
130
|
+
return true;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
AuthService.ɵfac = function AuthService_Factory(t) { return new (t || AuthService)(i0.ɵɵinject(i1.ActivatedRoute), i0.ɵɵinject(i2.StorageService), i0.ɵɵinject(i1.Router), i0.ɵɵinject(i3.HttpService), i0.ɵɵinject(i4.MessageService), i0.ɵɵinject(i5.LogService)); };
|
|
135
|
+
AuthService.ɵprov = i0.ɵɵdefineInjectable({ token: AuthService, factory: AuthService.ɵfac, providedIn: 'root' });
|
|
136
|
+
/*@__PURE__*/ (function () { i0.ɵsetClassMetadata(AuthService, [{
|
|
137
|
+
type: Injectable,
|
|
138
|
+
args: [{
|
|
139
|
+
providedIn: 'root'
|
|
140
|
+
}]
|
|
141
|
+
}], function () { return [{ type: i1.ActivatedRoute }, { type: i2.StorageService }, { type: i1.Router }, { type: i3.HttpService }, { type: i4.MessageService }, { type: i5.LogService }]; }, null); })();
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vdGluLXNwYS8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3ZDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7QUFPL0MsTUFBTSxPQUFPLFdBQVc7SUFFdEIsWUFBb0IsTUFBc0IsRUFBVSxPQUF1QixFQUFTLE1BQWMsRUFBVSxXQUF3QixFQUFVLGNBQThCLEVBQVUsVUFBc0I7UUFBeEwsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUFTLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFVLGVBQVUsR0FBVixVQUFVLENBQVk7UUFFNU0sV0FBVztRQUNILGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDckQsbUJBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBTTNELE9BQU87UUFDQyxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBQ3BCLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlDLGdCQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQU1yRCxhQUFhO1FBQ0wsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDMUIsc0JBQWlCLEdBQUcs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QUFNO2tEQUdQLFdBQVc7Y0FKdkIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuL21lc3NhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyLCBDYW5BY3RpdmF0ZSwgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL3N0b3JhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IExvZ1NlcnZpY2UgfSBmcm9tICcuL2xvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUm9sZSB9IGZyb20gJy4uL2NsYXNzZXMvQ2xhc3Nlcyc7XHJcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi9odHRwLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb25zdGFudHMgfSBmcm9tICcuLi9jbGFzc2VzL1RpbkNvcmUnO1xyXG5pbXBvcnQgeyBjb25kaXRpb25hbGx5Q3JlYXRlTWFwT2JqZWN0TGl0ZXJhbCB9IGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyL3NyYy9yZW5kZXIzL3ZpZXcvdXRpbCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgQXV0aFNlcnZpY2UgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3JvdXRlOiBBY3RpdmF0ZWRSb3V0ZSwgcHJpdmF0ZSBzdG9yYWdlOiBTdG9yYWdlU2VydmljZSwgcHVibGljIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIGh0dHBTZXJ2aWNlOiBIdHRwU2VydmljZSwgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsIHByaXZhdGUgbG9nU2VydmljZTogTG9nU2VydmljZSkgeyB9XHJcblxyXG4gIC8vTG9nZ2VkIGluXHJcbiAgcHJpdmF0ZSBsb2dnZWRpbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgbG9nZ2VkaW5Tb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRoaXMubG9nZ2VkaW4pO1xyXG4gIHB1YmxpYyBsb2dnZWRpbk9ic2VydiA9IHRoaXMubG9nZ2VkaW5Tb3VyY2UuYXNPYnNlcnZhYmxlKCk7XHJcbiAgVXBkYXRlbG9nZ2VkaW4obG9nZ2VkaW46IGJvb2xlYW4pIHtcclxuICAgIHRoaXMubG9nZ2VkaW5Tb3VyY2UubmV4dChsb2dnZWRpbik7XHJcbiAgICB0aGlzLmxvZ2dlZGluID0gbG9nZ2VkaW47XHJcbiAgfVxyXG5cclxuICAvL1Rva2VuXHJcbiAgcHJpdmF0ZSB0b2tlbjogc3RyaW5nID0gXCJcIjtcclxuICBwdWJsaWMgdG9rZW5Tb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRoaXMudG9rZW4pO1xyXG4gIHB1YmxpYyB0b2tlbk9ic2VydiA9IHRoaXMudG9rZW5Tb3VyY2UuYXNPYnNlcnZhYmxlKCk7XHJcbiAgVXBkYXRlVG9rZW4obmV3VG9rZW46IHN0cmluZykge1xyXG4gICAgdGhpcy50b2tlblNvdXJjZS5uZXh0KG5ld1Rva2VuKTtcclxuXHJcbiAgfVxyXG5cclxuICAvL1Rva2VuRXhwaXJlXHJcbiAgcHJpdmF0ZSB0b2tlbkV4cGlyZTogc3RyaW5nID0gXCJcIjtcclxuICBwdWJsaWMgdG9rZW5FeHBpcmVTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRoaXMudG9rZW5FeHBpcmUpO1xyXG4gIHB1YmxpYyB0b2tlbkV4cGlyZU9ic2VydiA9IHRoaXMudG9rZW5FeHBpcmVTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XHJcbiAgVXBkYXRlVG9rZW5FeHBpcmUobmV3VG9rZW5FeHBpcmU6IHN0cmluZykge1xyXG4gICAgdGhpcy50b2tlbkV4cGlyZVNvdXJjZS5uZXh0KG5ld1Rva2VuRXhwaXJlKTtcclxuXHJcbiAgfVxyXG5cclxuICAvL0N1cnJlbnQgVXNlclxyXG4gIHB1YmxpYyBjdXJyZW50VXNlcjogc3RyaW5nID0gXCJ0bnlhZ2F0b1wiO1xyXG4gIHByaXZhdGUgY3VycmVudFVzZXJTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRoaXMuY3VycmVudFVzZXIpO1xyXG4gIHB1YmxpYyBjdXJyZW50VXNlck9ic2VydiA9IHRoaXMuY3VycmVudFVzZXJTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XHJcbiAgVXBkYXRlQ3VycmVudFVzZXIobmV3VXNlcjogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRVc2VyU291cmNlLm5leHQobmV3VXNlci50b0xvY2FsZUxvd2VyQ2FzZSgpKTtcclxuICAgIHRoaXMuY3VycmVudFVzZXIgPSBuZXdVc2VyLnRvTG9jYWxlTG93ZXJDYXNlKCk7XHJcbiAgfVxyXG5cclxuICAvL0xpbmUgTWFuYWdlclxyXG4gIHByaXZhdGUgaXNsaW5lTWFuYWdlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgaXNMaW5lTWFuYWdlclNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3QodGhpcy5pc2xpbmVNYW5hZ2VyKTtcclxuICBwdWJsaWMgaXNMaW5lTWFuYWdlck9ic2VydiA9IHRoaXMuaXNMaW5lTWFuYWdlclNvdXJjZS5hc09ic2VydmFibGUoKTtcclxuICBVcGRhdGVJc0xpbmVNYW5hZ2VyKG1hbmFnZXI6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuaXNMaW5lTWFuYWdlclNvdXJjZS5uZXh0KG1hbmFnZXIpO1xyXG4gIH1cclxuXHJcbiAgLy9Sb2xlc1xyXG4gIHByaXZhdGUgY3VycmVudFJvbGUgPSBuZXcgUm9sZTtcclxuICBwdWJsaWMgY3VycmVudFJvbGVTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRoaXMuY3VycmVudFJvbGUpO1xyXG4gIHB1YmxpYyBteVJvbGVPYnNlcnYgPSB0aGlzLmN1cnJlbnRSb2xlU291cmNlLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIFVwZGF0ZVJvbGUocm9sZSkge1xyXG4gICAgdGhpcy5jdXJyZW50Um9sZVNvdXJjZS5uZXh0KHJvbGUpO1xyXG4gIH1cclxuXHJcbiAgLy9Mb2dnZWQgaW4gRmlyc3ROYW1lXHJcbiAgcHJpdmF0ZSBsb2dnZWRVc2VyU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdChcInRueWFnYXRvXCIpO1xyXG4gIHB1YmxpYyBsb2dnZWRVc2VyRnVsbE5hbWUgPSB0aGlzLmxvZ2dlZFVzZXJTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XHJcbiAgdXBkYXRlTG9nZ2VkVXNlckZ1bGxOYW1lKHVzZXJOYW1lOiBzdHJpbmcpIHtcclxuICAgIHRoaXMubG9nZ2VkVXNlclNvdXJjZS5uZXh0KHVzZXJOYW1lKTtcclxuICB9XHJcblxyXG5cclxuICAvL0F1dGhvcmlzYXRpb25cclxuICBpc0F1dGhvcmlzZWQoY2FwTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcblxyXG4gICAgaWYgKCF0aGlzLmN1cnJlbnRSb2xlU291cmNlLnZhbHVlW2NhcE5hbWVdKSB7XHJcbiAgICAgIC8vIHRoaXMubG9nU2VydmljZS5pbmZvKGBhdXRob3Jpc2U6ICR7dGhpcy5jdXJyZW50Um9sZVNvdXJjZS52YWx1ZS5yb2xlTmFtZX0gbm90IGF1dGhvcmlzZWQgZm9yICR7Y2FwTmFtZX1gKTtcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiaG9tZVwiXSk7XHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoYFVuYXV0aG9yaXNlZDogJHtjYXBOYW1lfWApO1xyXG5cclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgaXNWYWxpZFRva2VuKCkge1xyXG5cclxuICAgIGxldCB0b2tlbkV4cGlyZTogRGF0ZSA9IG5ldyBEYXRlKHRoaXMudG9rZW5FeHBpcmVTb3VyY2UudmFsdWUpO1xyXG4gICAgbGV0IG5vd0RhdGU6IERhdGUgPSBuZXcgRGF0ZSgpO1xyXG5cclxuICAgIGxldCB2YWxpZDogYm9vbGVhbiA9IHRva2VuRXhwaXJlID4gbm93RGF0ZTtcclxuXHJcbiAgICBpZiAoIXZhbGlkKSB7XHJcblxyXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCJsb2dpblwiXSk7XHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoYEV4cGlyZWQgU2Vzc2lvbmApO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB2YWxpZFxyXG4gIH1cclxuXHJcbiAgY2FuQWN0aXZhdGUoKSB7XHJcblxyXG4gICAgaWYgKHRoaXMubG9nZ2VkaW4gJiYgdGhpcy5pc1ZhbGlkVG9rZW4oKSkge1xyXG4gICAgICAvLyB0aGlzLmxvZ1NlcnZpY2UuaW5mbyhcImF1dGhlbnRpY2F0aW9uOiBsb2dnZWQgaW5cIik7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChsb2NhbFN0b3JhZ2UuZ2V0SXRlbShDb25zdGFudHMuQVVUSF9VU0VSKSA9PT0gbnVsbCkge1xyXG4gICAgICAvLyB0aGlzLmxvZ1NlcnZpY2UuaW5mbyhcImF1dGhlbnRpY2F0aW9uOiBub3QgbG9nZ2VkIGFuZCBubyBjYWNoZVwiKTtcclxuXHJcbiAgICAgIHRoaXMuVXBkYXRlbG9nZ2VkaW4oZmFsc2UpO1xyXG5cclxuICAgICAgbGV0IHVybCA9IG5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpO1xyXG4gICAgICBsZXQgcGF0aCA9IHVybC5oYXNoLnJlcGxhY2UoXCIjL1wiLFwiXCIpO1xyXG5cclxuXHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcImxvZ2luXCJdLCB7XHJcbiAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5fcm91dGUsXHJcbiAgICAgICAgcXVlcnlQYXJhbXM6IHtyZWRpcmVjdFRvOiBwYXRofSxcclxuICAgICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnLFxyXG4gICAgICAgIHNraXBMb2NhdGlvbkNoYW5nZTogZmFsc2VcclxuICAgICAgfSk7XHJcblxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gdGhpcy5sb2dTZXJ2aWNlLmluZm8oXCJhdXRoZW50aWNhdGlvbjogbm90IGxvZ2dlZCBidXQgYWxsb3dlZCBsb2dpblwiKTtcclxuXHJcbiAgICAgIHRoaXMuVXBkYXRlbG9nZ2VkaW4odHJ1ZSk7XHJcblxyXG4gICAgICB0aGlzLnN0b3JhZ2UuZ2V0KENvbnN0YW50cy5BVVRIX1VTRVIpLnRoZW4oKHJlc3A6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuVXBkYXRlQ3VycmVudFVzZXIocmVzcCk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdGhpcy5zdG9yYWdlLmdldChDb25zdGFudHMuQVVUSF9OQU1FKS50aGVuKChyZXNwOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLnVwZGF0ZUxvZ2dlZFVzZXJGdWxsTmFtZShyZXNwKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLnN0b3JhZ2UuZ2V0KENvbnN0YW50cy5BVVRIX1JPTEVTKS50aGVuKChyZXNwKSA9PiB7XHJcbiAgICAgICAgbGV0IHJldCA9IEpTT04ucGFyc2UocmVzcCk7XHJcblxyXG4gICAgICAgIHRoaXMuVXBkYXRlUm9sZShyZXQpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMuc3RvcmFnZS5nZXQoQ29uc3RhbnRzLkFVVEhfVE9LRU4pLnRoZW4oKHJlc3A6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuVXBkYXRlVG9rZW4ocmVzcCk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdGhpcy5zdG9yYWdlLmdldChDb25zdGFudHMuQVVUSF9UT0tFTl9FWFBJUkUpLnRoZW4oKHJlc3A6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuVXBkYXRlVG9rZW5FeHBpcmUocmVzcCk7XHJcbiAgICAgICAgdGhpcy5pc1ZhbGlkVG9rZW4oKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { AppConfig, CapItem } from '../classes/Classes';
|
|
3
|
+
import { BehaviorSubject } from 'rxjs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "./http.service";
|
|
6
|
+
export class DataServiceLib {
|
|
7
|
+
constructor(httpService) {
|
|
8
|
+
this.httpService = httpService;
|
|
9
|
+
this.appConfig = new AppConfig();
|
|
10
|
+
this.appConfigSource = new BehaviorSubject(this.appConfig);
|
|
11
|
+
this.appConfigObserv = this.appConfigSource.asObservable();
|
|
12
|
+
// caps: CapItem[];
|
|
13
|
+
this.capHome = new CapItem;
|
|
14
|
+
this.capAdmin = new CapItem;
|
|
15
|
+
this.capUsers = new CapItem;
|
|
16
|
+
this.capRoles = new CapItem;
|
|
17
|
+
this.capLogs = new CapItem;
|
|
18
|
+
this.capSettings = new CapItem;
|
|
19
|
+
this.tmpProfileuserName = "";
|
|
20
|
+
this.appConfig.appName = "App-Name";
|
|
21
|
+
this.appConfig.logo = "./assets/logo.png";
|
|
22
|
+
this.appConfig.ADAuth = true;
|
|
23
|
+
this.appConfig.capItems = [this.capAdmin, this.capHome];
|
|
24
|
+
this.capHome.name = "cap1";
|
|
25
|
+
this.capHome.display = "Home";
|
|
26
|
+
this.capHome.link = "home";
|
|
27
|
+
this.capAdmin.name = "cap2";
|
|
28
|
+
this.capAdmin.display = "Admin";
|
|
29
|
+
this.capAdmin.capSubItems = [this.capUsers, this.capRoles, this.capLogs, this.capSettings];
|
|
30
|
+
this.capUsers.name = "cap3";
|
|
31
|
+
this.capUsers.display = "Users";
|
|
32
|
+
this.capUsers.link = "home/admin/users";
|
|
33
|
+
this.capRoles.name = "cap4";
|
|
34
|
+
this.capRoles.display = "Roles";
|
|
35
|
+
this.capRoles.link = "home/admin/roles";
|
|
36
|
+
this.capLogs.name = "cap5";
|
|
37
|
+
this.capLogs.display = "Logs";
|
|
38
|
+
this.capLogs.link = "home/admin/logs";
|
|
39
|
+
this.capSettings.name = "cap6";
|
|
40
|
+
this.capSettings.display = "Settings";
|
|
41
|
+
this.capSettings.link = "home/admin/settings";
|
|
42
|
+
}
|
|
43
|
+
UpdateAppConfig(config) {
|
|
44
|
+
this.appConfigSource.next(config);
|
|
45
|
+
this.appConfig = config;
|
|
46
|
+
}
|
|
47
|
+
//Users
|
|
48
|
+
GetUser() {
|
|
49
|
+
return this.httpService.Get("User/all/x");
|
|
50
|
+
}
|
|
51
|
+
RegisterAccount(u) {
|
|
52
|
+
return this.httpService.Post("User/register", u);
|
|
53
|
+
}
|
|
54
|
+
GetUserByID(val) {
|
|
55
|
+
return this.httpService.Get(`User/id/${val}`);
|
|
56
|
+
}
|
|
57
|
+
UpdateUser(profile) {
|
|
58
|
+
return this.httpService.Post("User/edit", profile);
|
|
59
|
+
}
|
|
60
|
+
UnlockUser(user) {
|
|
61
|
+
return this.httpService.Post("User/unlock", user);
|
|
62
|
+
}
|
|
63
|
+
LockUser(user) {
|
|
64
|
+
return this.httpService.Post("User/lock", user);
|
|
65
|
+
}
|
|
66
|
+
DeleteUser(user) {
|
|
67
|
+
return this.httpService.Post("User/delete", user);
|
|
68
|
+
}
|
|
69
|
+
Login(u) {
|
|
70
|
+
return this.httpService.Post("User/login", u);
|
|
71
|
+
}
|
|
72
|
+
ChangePassword(u) {
|
|
73
|
+
return this.httpService.Post("User/changepassword-self", u);
|
|
74
|
+
}
|
|
75
|
+
ChangePasswordAdmin(u) {
|
|
76
|
+
return this.httpService.Post("User/changepassword-admin", u);
|
|
77
|
+
}
|
|
78
|
+
SelfReset(u) {
|
|
79
|
+
return this.httpService.Post("Basic/SelfReset", u);
|
|
80
|
+
}
|
|
81
|
+
//Roles
|
|
82
|
+
PostRole(role, action) {
|
|
83
|
+
return this.httpService.Post(`Role?action=${action}`, role);
|
|
84
|
+
}
|
|
85
|
+
PutRole(role) {
|
|
86
|
+
return this.httpService.Put("Role", role);
|
|
87
|
+
}
|
|
88
|
+
GetRole(by, val) {
|
|
89
|
+
return this.httpService.Get("Role/all/x");
|
|
90
|
+
}
|
|
91
|
+
//Logs
|
|
92
|
+
GetLog(by, val) {
|
|
93
|
+
return this.httpService.Get("Log/all/x");
|
|
94
|
+
}
|
|
95
|
+
//Settings
|
|
96
|
+
GetSetting(by, val) {
|
|
97
|
+
return this.httpService.Get("Setting/all/x");
|
|
98
|
+
}
|
|
99
|
+
UpdateSetting(setting, action) {
|
|
100
|
+
return this.httpService.Post(`Setting?action=${action}`, setting);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
DataServiceLib.ɵfac = function DataServiceLib_Factory(t) { return new (t || DataServiceLib)(i0.ɵɵinject(i1.HttpService)); };
|
|
104
|
+
DataServiceLib.ɵprov = i0.ɵɵdefineInjectable({ token: DataServiceLib, factory: DataServiceLib.ɵfac, providedIn: 'root' });
|
|
105
|
+
/*@__PURE__*/ (function () { i0.ɵsetClassMetadata(DataServiceLib, [{
|
|
106
|
+
type: Injectable,
|
|
107
|
+
args: [{
|
|
108
|
+
providedIn: 'root'
|
|
109
|
+
}]
|
|
110
|
+
}], function () { return [{ type: i1.HttpService }]; }, null); })();
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vdGluLXNwYS8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9kYXRhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBUSxNQUFNLG9CQUFvQixDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7OztBQU1uRCxNQUFNLE9BQU8sY0FBYztJQUV6QixZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQWtDNUMsY0FBUyxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7UUFDcEIsb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdkQsb0JBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBTTdELG1CQUFtQjtRQUNuQixZQUFPLEdBQUcsSUFBSSxPQUFPLENBQUM7UUFDdEIsYUFBUSxHQUFHLElBQUksT0FBTyxDQUFDO1FBQ3ZCLGFBQVEsR0FBRyxJQUFJLE9BQU8sQ0FBQztRQUN2QixhQUFRLEdBQUcsSUFBSSxPQUFPLENBQUM7UUFDdkIsWUFBTyxHQUFHLElBQUksT0FBTyxDQUFDO1FBQ3RCLGdCQUFXLEdBQUcsSUFBSSxPQUFPLENBQUM7UUFHbkIsdUJBQWtCLEdBQUcsRUFBRSxDQUFDO1FBakQ3QixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUM7UUFDcEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEdBQUcsbUJBQW1CLENBQUE7UUFDekMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFD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LEVBQUUsTUFBYztRQUMxQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGtCQUFrQixNQUFNLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNwRSxDQUFDOzs0RUFuSVUsY0FBYztzREFBZCxjQUFjLFdBQWQsY0FBYyxtQkFGYixNQUFNO2tEQUVQLGNBQWM7Y0FIMUIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQXBwQ29uZmlnLCBDYXBJdGVtLCBVc2VyIH0gZnJvbSAnLi4vY2xhc3Nlcy9DbGFzc2VzJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi9odHRwLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0YVNlcnZpY2VMaWIge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHBTZXJ2aWNlOiBIdHRwU2VydmljZSkge1xyXG5cclxuICAgIHRoaXMuYXBwQ29uZmlnLmFwcE5hbWUgPSBcIkFwcC1OYW1lXCI7XHJcbiAgICB0aGlzLmFwcENvbmZpZy5sb2dvID0gXCIuL2Fzc2V0cy9sb2dvLnBuZ1wiXHJcbiAgICB0aGlzLmFwcENvbmZpZy5BREF1dGggPSB0cnVlO1xyXG4gICAgdGhpcy5hcHBDb25maWcuY2FwSXRlbXMgPSBbdGhpcy5jYXBBZG1pbiwgdGhpcy5jYXBIb21lXTtcclxuXHJcblxyXG4gICAgdGhpcy5jYXBIb21lLm5hbWUgPSBcImNhcDFcIjtcclxuICAgIHRoaXMuY2FwSG9tZS5kaXNwbGF5ID0gXCJIb21lXCI7XHJcbiAgICB0aGlzLmNhcEhvbWUubGluayA9IFwiaG9tZVwiO1xyXG5cclxuICAgIHRoaXMuY2FwQWRtaW4ubmFtZSA9IFwiY2FwMlwiO1xyXG4gICAgdGhpcy5jYXBBZG1pbi5kaXNwbGF5ID0gXCJBZG1pblwiO1xyXG4gICAgdGhpcy5jYXBBZG1pbi5jYXBTdWJJdGVtcyA9IFt0aGlzLmNhcFVzZXJzLCB0aGlzLmNhcFJvbGVzLCB0aGlzLmNhcExvZ3MsIHRoaXMuY2FwU2V0dGluZ3NdO1xyXG5cclxuICAgIHRoaXMuY2FwVXNlcnMubmFtZSA9IFwiY2FwM1wiO1xyXG4gICAgdGhpcy5jYXBVc2Vycy5kaXNwbGF5ID0gXCJVc2Vyc1wiO1xyXG4gICAgdGhpcy5jYXBVc2Vycy5saW5rID0gXCJob21lL2FkbWluL3VzZXJzXCI7XHJcblxyXG4gICAgdGhpcy5jYXBSb2xlcy5uYW1lID0gXCJjYXA0XCJcclxuICAgIHRoaXMuY2FwUm9sZXMuZGlzcGxheSA9IFwiUm9sZXNcIjtcclxuICAgIHRoaXMuY2FwUm9sZXMubGluayA9IFwiaG9tZS9hZG1pbi9yb2xlc1wiO1xyXG5cclxuICAgIHRoaXMuY2FwTG9ncy5uYW1lID0gXCJjYXA1XCJcclxuICAgIHRoaXMuY2FwTG9ncy5kaXNwbGF5ID0gXCJMb2dzXCI7XHJcbiAgICB0aGlzLmNhcExvZ3MubGluayA9IFwiaG9tZS9hZG1pbi9sb2dzXCI7XHJcblxyXG4gICAgdGhpcy5jYXBTZXR0aW5ncy5uYW1lID0gXCJjYXA2XCJcclxuICAgIHRoaXMuY2FwU2V0dGluZ3MuZGlzcGxheSA9IFwiU2V0dGluZ3NcIjtcclxuICAgIHRoaXMuY2FwU2V0dGluZ3MubGluayA9IFwiaG9tZS9hZG1pbi9zZXR0aW5nc1wiO1xyXG4gIH1cclxuXHJcblxyXG4gIGFwcENvbmZpZyA9IG5ldyBBcHBDb25maWcoKTtcclxuICBwcml2YXRlIGFwcENvbmZpZ1NvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3QodGhpcy5hcHBDb25maWcpO1xyXG4gIHB1YmxpYyBhcHBDb25maWdPYnNlcnYgPSB0aGlzLmFwcENvbmZpZ1NvdXJjZS5hc09ic2VydmFibGUoKTtcclxuICBVcGRhdGVBcHBDb25maWcoY29uZmlnOiBBcHBDb25maWcpIHtcclxuICAgIHRoaXMuYXBwQ29uZmlnU291cmNlLm5leHQoY29uZmlnKTtcclxuICAgIHRoaXMuYXBwQ29uZmlnID0gY29uZmlnO1xyXG4gIH1cclxuXHJcbiAgLy8gY2FwczogQ2FwSXRlbVtdO1xyXG4gIGNhcEhvbWUgPSBuZXcgQ2FwSXRlbTtcclxuICBjYXBBZG1pbiA9IG5ldyBDYXBJdGVtO1xyXG4gIGNhcFVzZXJzID0gbmV3IENhcEl0ZW07XHJcbiAgY2FwUm9sZXMgPSBuZXcgQ2FwSXRlbTtcclxuICBjYXBMb2dzID0gbmV3IENhcEl0ZW07XHJcbiAgY2FwU2V0dGluZ3MgPSBuZXcgQ2FwSXRlbTtcclxuXHJcblxyXG4gIHB1YmxpYyB0bXBQcm9maWxldXNlck5hbWUgPSBcIlwiO1xyXG5cclxuXHJcbiAgLy9Vc2Vyc1xyXG4gIHB1YmxpYyBHZXRVc2VyKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuR2V0KFwiVXNlci9hbGwveFwiKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBSZWdpc3RlckFjY291bnQodSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuUG9zdChcIlVzZXIvcmVnaXN0ZXJcIiwgdSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgR2V0VXNlckJ5SUQodmFsOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLkdldChgVXNlci9pZC8ke3ZhbH1gKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBVcGRhdGVVc2VyKHByb2ZpbGUpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLlBvc3QoXCJVc2VyL2VkaXRcIiwgcHJvZmlsZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgVW5sb2NrVXNlcih1c2VyKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5Qb3N0KFwiVXNlci91bmxvY2tcIiwgdXNlcik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgTG9ja1VzZXIodXNlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuUG9zdChcIlVzZXIvbG9ja1wiLCB1c2VyKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBEZWxldGVVc2VyKHVzZXIpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLlBvc3QoXCJVc2VyL2RlbGV0ZVwiLCB1c2VyKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBMb2dpbih1OiBVc2VyKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5Qb3N0KFwiVXNlci9sb2dpblwiLCB1KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBDaGFuZ2VQYXNzd29yZCh1KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5Qb3N0KFwiVXNlci9jaGFuZ2VwYXNzd29yZC1zZWxmXCIsIHUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIENoYW5nZVBhc3N3b3JkQWRtaW4odSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuUG9zdChcIlVzZXIvY2hhbmdlcGFzc3dvcmQtYWRtaW5cIiwgdSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU2VsZlJlc2V0KHU6IFVzZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuUG9zdChcIkJhc2ljL1NlbGZSZXNldFwiLCB1KTtcclxuICB9XHJcblxyXG5cclxuICAvL1JvbGVzXHJcblxyXG4gIHB1YmxpYyBQb3N0Um9sZShyb2xlLCBhY3Rpb246IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuUG9zdChgUm9sZT9hY3Rpb249JHthY3Rpb259YCwgcm9sZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgUHV0Um9sZShyb2xlKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5QdXQoXCJSb2xlXCIsIHJvbGUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEdldFJvbGUoYnk6IHN0cmluZywgdmFsOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLkdldChcIlJvbGUvYWxsL3hcIik7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIC8vTG9nc1xyXG4gIHB1YmxpYyBHZXRMb2coYnk6IHN0cmluZywgdmFsOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLkdldChcIkxvZy9hbGwveFwiKTtcclxuICB9XHJcblxyXG5cclxuICAvL1NldHRpbmdzXHJcbiAgcHVibGljIEdldFNldHRpbmcoYnk6IHN0cmluZywgdmFsOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLkdldChcIlNldHRpbmcvYWxsL3hcIik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgVXBkYXRlU2V0dGluZyhzZXR0aW5nLCBhY3Rpb246IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuUG9zdChgU2V0dGluZz9hY3Rpb249JHthY3Rpb259YCwgc2V0dGluZyk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as FileSaver from 'file-saver';
|
|
3
|
+
import * as XLSX from 'xlsx';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class ExportService {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.fileType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';
|
|
8
|
+
this.fileExtension = '.xlsx';
|
|
9
|
+
}
|
|
10
|
+
exportExcel(jsonData, fileName) {
|
|
11
|
+
const ws = XLSX.utils.json_to_sheet(jsonData);
|
|
12
|
+
const wb = { Sheets: { 'data': ws }, SheetNames: ['data'] };
|
|
13
|
+
const excelBuffer = XLSX.write(wb, { bookType: 'xlsx', type: 'array' });
|
|
14
|
+
this.saveExcelFile(excelBuffer, fileName);
|
|
15
|
+
}
|
|
16
|
+
saveExcelFile(buffer, fileName) {
|
|
17
|
+
const data = new Blob([buffer], { type: this.fileType });
|
|
18
|
+
FileSaver.saveAs(data, fileName + this.fileExtension);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
ExportService.ɵfac = function ExportService_Factory(t) { return new (t || ExportService)(); };
|
|
22
|
+
ExportService.ɵprov = i0.ɵɵdefineInjectable({ token: ExportService, factory: ExportService.ɵfac, providedIn: 'root' });
|
|
23
|
+
/*@__PURE__*/ (function () { i0.ɵsetClassMetadata(ExportService, [{
|
|
24
|
+
type: Injectable,
|
|
25
|
+
args: [{
|
|
26
|
+
providedIn: 'root'
|
|
27
|
+
}]
|
|
28
|
+
}], function () { return []; }, null); })();
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly90aW4tc3BhLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2V4cG9ydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLFNBQVMsTUFBTSxZQUFZLENBQUM7QUFDeEMsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7O0FBSzdCLE1BQU0sT0FBTyxhQUFhO0lBRXhCO1FBRUEsYUFBUSxHQUFHLGlGQUFpRixDQUFDO1FBQzdGLGtCQUFhLEdBQUcsT0FBTyxDQUFDO0lBSFIsQ0FBQztJQUtWLFdBQVcsQ0FBQyxRQUFlLEVBQUUsUUFBZ0I7UUFFbEQsTUFBTSxFQUFFLEdBQW1CLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlELE1BQU0sRUFBRSxHQUFrQixFQUFFLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQzNFLE1BQU0sV0FBVyxHQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU8sYUFBYSxDQUFDLE1BQVcsRUFBRSxRQUFnQjtRQUNqRCxNQUFNLElBQUksR0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDeEQsQ0FBQzs7MEVBbEJVLGFBQWE7cURBQWIsYUFBYSxXQUFiLGFBQWEsbUJBRlosTUFBTTtrREFFUCxhQUFhO2NBSHpCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgRmlsZVNhdmVyIGZyb20gJ2ZpbGUtc2F2ZXInO1xyXG5pbXBvcnQgKiBhcyBYTFNYIGZyb20gJ3hsc3gnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRXhwb3J0U2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIGZpbGVUeXBlID0gJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0O2NoYXJzZXQ9VVRGLTgnO1xyXG4gIGZpbGVFeHRlbnNpb24gPSAnLnhsc3gnO1xyXG5cclxuICBwdWJsaWMgZXhwb3J0RXhjZWwoanNvbkRhdGE6IGFueVtdLCBmaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XHJcblxyXG4gICAgY29uc3Qgd3M6IFhMU1guV29ya1NoZWV0ID0gWExTWC51dGlscy5qc29uX3RvX3NoZWV0KGpzb25EYXRhKTtcclxuICAgIGNvbnN0IHdiOiBYTFNYLldvcmtCb29rID0geyBTaGVldHM6IHsgJ2RhdGEnOiB3cyB9LCBTaGVldE5hbWVzOiBbJ2RhdGEnXSB9O1xyXG4gICAgY29uc3QgZXhjZWxCdWZmZXI6IGFueSA9IFhMU1gud3JpdGUod2IsIHsgYm9va1R5cGU6ICd4bHN4JywgdHlwZTogJ2FycmF5JyB9KTtcclxuICAgIHRoaXMuc2F2ZUV4Y2VsRmlsZShleGNlbEJ1ZmZlciwgZmlsZU5hbWUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzYXZlRXhjZWxGaWxlKGJ1ZmZlcjogYW55LCBmaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBkYXRhOiBCbG9iID0gbmV3IEJsb2IoW2J1ZmZlcl0sIHsgdHlwZTogdGhpcy5maWxlVHlwZSB9KTtcclxuICAgIEZpbGVTYXZlci5zYXZlQXMoZGF0YSwgZmlsZU5hbWUgKyB0aGlzLmZpbGVFeHRlbnNpb24pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
import { HttpHeaders, } from "@angular/common/http";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common/http";
|
|
5
|
+
import * as i2 from "@angular/router";
|
|
6
|
+
export class HttpService {
|
|
7
|
+
constructor(httpClient, router) {
|
|
8
|
+
this.httpClient = httpClient;
|
|
9
|
+
this.router = router;
|
|
10
|
+
//----Set apiUrl from the data service of the project---//
|
|
11
|
+
this.apiUrl = "https://api.solinc.co.zw/"; //default
|
|
12
|
+
this.httpOptions_Legacy = {
|
|
13
|
+
headers: new HttpHeaders({
|
|
14
|
+
Accept: "application/json",
|
|
15
|
+
"Content-Type": "application/json",
|
|
16
|
+
Authorization: "Basic " + btoa("emptyUser:emptyToken"),
|
|
17
|
+
}),
|
|
18
|
+
resposeType: "json",
|
|
19
|
+
};
|
|
20
|
+
this.httpOptions_Files = {
|
|
21
|
+
headers: new HttpHeaders({
|
|
22
|
+
Authorization: "Basic " + btoa("tnyagato:j5Toszfr@ys"),
|
|
23
|
+
}),
|
|
24
|
+
resposeType: "json",
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
//POST
|
|
28
|
+
Post(service, data) {
|
|
29
|
+
return this.httpClient.post(this.apiUrl + service, data, this.httpOptions_Legacy);
|
|
30
|
+
}
|
|
31
|
+
//PUT
|
|
32
|
+
Put(service, data) {
|
|
33
|
+
return this.httpClient.put(this.apiUrl + service, data, this.httpOptions_Legacy);
|
|
34
|
+
}
|
|
35
|
+
//POST RAW
|
|
36
|
+
Post_Raw(url, data) {
|
|
37
|
+
return this.httpClient.post(url, data, this.httpOptions_Legacy);
|
|
38
|
+
}
|
|
39
|
+
//POST with file
|
|
40
|
+
Post_WithFile(service, data, file) {
|
|
41
|
+
let formData = new FormData();
|
|
42
|
+
if (file) {
|
|
43
|
+
formData.append("uploadFile", file, file.name);
|
|
44
|
+
}
|
|
45
|
+
formData.append("data", JSON.stringify(data));
|
|
46
|
+
return this.httpClient.post(this.apiUrl + service, formData, this.httpOptions_Files);
|
|
47
|
+
}
|
|
48
|
+
// //POST with files
|
|
49
|
+
Post_FormData(service, formData) {
|
|
50
|
+
return this.httpClient.post(this.apiUrl + service, formData, this.httpOptions_Files);
|
|
51
|
+
}
|
|
52
|
+
//GET
|
|
53
|
+
Get(service) {
|
|
54
|
+
return this.httpClient.get(this.apiUrl + service, this.httpOptions_Legacy);
|
|
55
|
+
}
|
|
56
|
+
//Get RAW
|
|
57
|
+
Get_Raw(url) {
|
|
58
|
+
return this.httpClient.get(url, this.httpOptions_Legacy);
|
|
59
|
+
}
|
|
60
|
+
//ERROR
|
|
61
|
+
Error(error) {
|
|
62
|
+
if (error.statusText == "Unauthorized") {
|
|
63
|
+
this.router.navigate(["login"]);
|
|
64
|
+
return "Unauthorized";
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
return "Connection failed";
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
HttpService.ɵfac = function HttpService_Factory(t) { return new (t || HttpService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.Router)); };
|
|
72
|
+
HttpService.ɵprov = i0.ɵɵdefineInjectable({ token: HttpService, factory: HttpService.ɵfac, providedIn: "root" });
|
|
73
|
+
/*@__PURE__*/ (function () { i0.ɵsetClassMetadata(HttpService, [{
|
|
74
|
+
type: Injectable,
|
|
75
|
+
args: [{
|
|
76
|
+
providedIn: "root",
|
|
77
|
+
}]
|
|
78
|
+
}], function () { return [{ type: i1.HttpClient }, { type: i2.Router }]; }, null); })();
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vdGluLXNwYS8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9odHRwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQWMsV0FBVyxHQUFzQixNQUFNLHNCQUFzQixDQUFDOzs7O0FBTW5GLE1BQU0sT0FBTyxXQUFXO0lBRXRCLFlBQW9CLFVBQXNCLEVBQVUsTUFBYztRQUE5QyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUdsRSwwREFBMEQ7UUFDbkQsV0FBTSxHQUFHLDJCQUEyQixDQUFDLENBQUMsU0FBUztRQTZEOUMsdUJBQWtCLEdBQUc7WUFDM0IsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDO2dCQUN2QixNQUFNLEVBQUUsa0JBQWtCO2dCQUMxQixjQUFjLEVBQUUsa0JBQWtCO2dCQUNsQyxhQUFhLEVBQUUsUUFBUSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQzthQUN2RCxDQUFDO1lBQ0YsV0FBVyxFQUFFLE1BQU07U0FDcEIsQ0FBQztRQUVNLHNCQUFpQixHQUFHO1lBQzFCLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQztnQkFDdkIsYUFBYSxFQUFFLFFBQVEsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUM7YUFDdkQsQ0FBQztZQUNGLFdBQVcsRUFBRSxNQUFNO1NBQ3BCLENBQUM7SUEvRW9FLENBQUM7SUFRdkUsTUFBTTtJQUNDLElBQUksQ0FBQyxPQUFlLEVBQUUsSUFBUztRQUNwQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBRUQsS0FBSztJQUNFLEdBQUcsQ0FBQyxPQUFlLEVBQUUsSUFBUztRQUNuQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBR0QsVUFBVTtJQUNILFFBQVEsQ0FBQyxHQUFXLEVBQUUsSUFBUztRQUVwQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELGdCQUFnQjtJQUNULGFBQWEsQ0FBQyxPQUFlLEVBQUUsSUFBUyxFQUFFLElBQVU7UUFFekQsSUFBSSxRQUFRLEdBQWEsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUV4QyxJQUFJLElBQUksRUFBRTtZQUNSLFFBQVEsQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDaEQ7UUFFRCxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFOUMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVELHFCQUFxQjtJQUNkLGFBQWEsQ0FBQyxPQUFlLEVBQUUsUUFBa0I7UUFFdEQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVELEtBQUs7SUFDRSxHQUFHLENBQUMsT0FBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxTQUFTO0lBQ0YsT0FBTyxDQUFDLEdBQVc7UUFDeEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELE9BQU87SUFDQSxLQUFLLENBQUMsS0FBd0I7UUFDbkMsSUFBSSxLQUFLLENBQUMsVUFBVSxJQUFJLGNBQWMsRUFBRTtZQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDaEMsT0FBTyxjQUFjLENBQUM7U0FDdkI7YUFBTTtZQUNMLE9BQU8sbUJBQW1CLENBQUM7U0FDNUI7SUFDSCxDQUFDOztzRUFqRVUsV0FBVzttREFBWCxXQUFXLFdBQVgsV0FBVyxtQkFGVixNQUFNO2tEQUVQLFdBQVc7Y0FIdkIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwRXJyb3JSZXNwb25zZSwgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSHR0cFNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHsgfVxyXG5cclxuXHJcbiAgLy8tLS0tU2V0IGFwaVVybCBmcm9tIHRoZSBkYXRhIHNlcnZpY2Ugb2YgdGhlIHByb2plY3QtLS0vL1xyXG4gIHB1YmxpYyBhcGlVcmwgPSBcImh0dHBzOi8vYXBpLnNvbGluYy5jby56dy9cIjsgLy9kZWZhdWx0XHJcblxyXG5cclxuXHJcbiAgLy9QT1NUXHJcbiAgcHVibGljIFBvc3Qoc2VydmljZTogc3RyaW5nLCBkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KHRoaXMuYXBpVXJsICsgc2VydmljZSwgZGF0YSwgdGhpcy5odHRwT3B0aW9uc19MZWdhY3kpO1xyXG4gIH1cclxuXHJcbiAgLy9QVVRcclxuICBwdWJsaWMgUHV0KHNlcnZpY2U6IHN0cmluZywgZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucHV0KHRoaXMuYXBpVXJsICsgc2VydmljZSwgZGF0YSwgdGhpcy5odHRwT3B0aW9uc19MZWdhY3kpO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vUE9TVCBSQVdcclxuICBwdWJsaWMgUG9zdF9SYXcodXJsOiBzdHJpbmcsIGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KHVybCwgZGF0YSwgdGhpcy5odHRwT3B0aW9uc19MZWdhY3kpO1xyXG4gIH1cclxuXHJcbiAgLy9QT1NUIHdpdGggZmlsZVxyXG4gIHB1YmxpYyBQb3N0X1dpdGhGaWxlKHNlcnZpY2U6IHN0cmluZywgZGF0YTogYW55LCBmaWxlOiBGaWxlKSB7XHJcblxyXG4gICAgbGV0IGZvcm1EYXRhOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xyXG5cclxuICAgIGlmIChmaWxlKSB7XHJcbiAgICAgIGZvcm1EYXRhLmFwcGVuZChcInVwbG9hZEZpbGVcIiwgZmlsZSwgZmlsZS5uYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICBmb3JtRGF0YS5hcHBlbmQoXCJkYXRhXCIsIEpTT04uc3RyaW5naWZ5KGRhdGEpKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QodGhpcy5hcGlVcmwgKyBzZXJ2aWNlLCBmb3JtRGF0YSwgdGhpcy5odHRwT3B0aW9uc19GaWxlcyk7XHJcbiAgfVxyXG5cclxuICAvLyAgLy9QT1NUIHdpdGggZmlsZXNcclxuICBwdWJsaWMgUG9zdF9Gb3JtRGF0YShzZXJ2aWNlOiBzdHJpbmcsIGZvcm1EYXRhOiBGb3JtRGF0YSkge1xyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdCh0aGlzLmFwaVVybCArIHNlcnZpY2UsIGZvcm1EYXRhLCB0aGlzLmh0dHBPcHRpb25zX0ZpbGVzKTtcclxuICB9XHJcblxyXG4gIC8vR0VUXHJcbiAgcHVibGljIEdldChzZXJ2aWNlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQodGhpcy5hcGlVcmwgKyBzZXJ2aWNlLCB0aGlzLmh0dHBPcHRpb25zX0xlZ2FjeSk7XHJcbiAgfVxyXG5cclxuICAvL0dldCBSQVdcclxuICBwdWJsaWMgR2V0X1Jhdyh1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldCh1cmwsIHRoaXMuaHR0cE9wdGlvbnNfTGVnYWN5KTtcclxuICB9XHJcblxyXG4gIC8vRVJST1JcclxuICBwdWJsaWMgRXJyb3IoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSB7XHJcbiAgICBpZiAoZXJyb3Iuc3RhdHVzVGV4dCA9PSBcIlVuYXV0aG9yaXplZFwiKSB7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcImxvZ2luXCJdKTtcclxuICAgICAgcmV0dXJuIFwiVW5hdXRob3JpemVkXCI7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gXCJDb25uZWN0aW9uIGZhaWxlZFwiO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBodHRwT3B0aW9uc19MZWdhY3kgPSB7XHJcbiAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICBBY2NlcHQ6IFwiYXBwbGljYXRpb24vanNvblwiLFxyXG4gICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcclxuICAgICAgQXV0aG9yaXphdGlvbjogXCJCYXNpYyBcIiArIGJ0b2EoXCJlbXB0eVVzZXI6ZW1wdHlUb2tlblwiKSxcclxuICAgIH0pLFxyXG4gICAgcmVzcG9zZVR5cGU6IFwianNvblwiLFxyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgaHR0cE9wdGlvbnNfRmlsZXMgPSB7XHJcbiAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICBBdXRob3JpemF0aW9uOiBcIkJhc2ljIFwiICsgYnRvYShcInRueWFnYXRvOmo1VG9zemZyQHlzXCIpLFxyXG4gICAgfSksXHJcbiAgICByZXNwb3NlVHlwZTogXCJqc29uXCIsXHJcbiAgfTtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { HttpResponse } from '@angular/common/http';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "./loader.service";
|
|
6
|
+
import * as i2 from "./message.service";
|
|
7
|
+
import * as i3 from "./auth.service";
|
|
8
|
+
import * as i4 from "@angular/router";
|
|
9
|
+
import * as i5 from "./log.service";
|
|
10
|
+
export class LoaderInterceptor {
|
|
11
|
+
constructor(loaderService, messageService, authService, router, logService) {
|
|
12
|
+
this.loaderService = loaderService;
|
|
13
|
+
this.messageService = messageService;
|
|
14
|
+
this.authService = authService;
|
|
15
|
+
this.router = router;
|
|
16
|
+
this.logService = logService;
|
|
17
|
+
this.requests = [];
|
|
18
|
+
}
|
|
19
|
+
removeRequest(req) {
|
|
20
|
+
const i = this.requests.indexOf(req);
|
|
21
|
+
if (i >= 0) {
|
|
22
|
+
this.requests.splice(i, 1);
|
|
23
|
+
}
|
|
24
|
+
this.loaderService.isLoading.next(this.requests.length > 0);
|
|
25
|
+
}
|
|
26
|
+
intercept(request, next) {
|
|
27
|
+
let requestClone = request.clone({
|
|
28
|
+
setHeaders: {
|
|
29
|
+
Authorization: "Bearer " + this.authService.tokenSource.value
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
this.requests.push(requestClone);
|
|
33
|
+
if (this.requests.length > 1) {
|
|
34
|
+
this.logService.info("Multiple connections detected > " + this.requests.length);
|
|
35
|
+
}
|
|
36
|
+
this.loaderService.isLoading.next(true);
|
|
37
|
+
return Observable.create(observer => {
|
|
38
|
+
const subscription = next.handle(requestClone).subscribe(event => {
|
|
39
|
+
if (event instanceof HttpResponse) {
|
|
40
|
+
this.removeRequest(requestClone);
|
|
41
|
+
observer.next(event);
|
|
42
|
+
}
|
|
43
|
+
}, (error) => {
|
|
44
|
+
this.removeRequest(requestClone);
|
|
45
|
+
observer.error(error);
|
|
46
|
+
if (error.status === 401) {
|
|
47
|
+
this.router.navigate(["login"]);
|
|
48
|
+
this.messageService.toast('Unauthorised: Please login again');
|
|
49
|
+
}
|
|
50
|
+
else if (error.status === 500) {
|
|
51
|
+
console.log(error.error);
|
|
52
|
+
this.messageService.toast('System Error');
|
|
53
|
+
}
|
|
54
|
+
else if (error.statusText == 'Unknown Error') {
|
|
55
|
+
this.messageService.toast('Connection Error');
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
this.messageService.toast('Error: ' + error.statusText);
|
|
59
|
+
}
|
|
60
|
+
}, () => {
|
|
61
|
+
this.removeRequest(requestClone);
|
|
62
|
+
observer.complete();
|
|
63
|
+
});
|
|
64
|
+
// remove request from queue when cancelled
|
|
65
|
+
return () => {
|
|
66
|
+
this.removeRequest(requestClone);
|
|
67
|
+
subscription.unsubscribe();
|
|
68
|
+
};
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
LoaderInterceptor.ɵfac = function LoaderInterceptor_Factory(t) { return new (t || LoaderInterceptor)(i0.ɵɵinject(i1.LoaderService), i0.ɵɵinject(i2.MessageService), i0.ɵɵinject(i3.AuthService), i0.ɵɵinject(i4.Router), i0.ɵɵinject(i5.LogService)); };
|
|
73
|
+
LoaderInterceptor.ɵprov = i0.ɵɵdefineInjectable({ token: LoaderInterceptor, factory: LoaderInterceptor.ɵfac });
|
|
74
|
+
/*@__PURE__*/ (function () { i0.ɵsetClassMetadata(LoaderInterceptor, [{
|
|
75
|
+
type: Injectable
|
|
76
|
+
}], function () { return [{ type: i1.LoaderService }, { type: i2.MessageService }, { type: i3.AuthService }, { type: i4.Router }, { type: i5.LogService }]; }, null); })();
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLWludGVyY2VwdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly90aW4tc3BhLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2xvYWRlci1pbnRlcmNlcHRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBMkUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3SCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7O0FBS2xDLE1BQU0sT0FBTyxpQkFBaUI7SUFJNUIsWUFBb0IsYUFBNEIsRUFBVSxjQUE4QixFQUFVLFdBQXdCLEVBQVUsTUFBYyxFQUFVLFVBQXNCO1FBQTlKLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUYxSyxhQUFRLEdBQXVCLEVBQUUsQ0FBQztJQUU0SSxDQUFDO0lBR3ZMLGFBQWEsQ0FBQyxHQUFxQjtRQUVqQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVyQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDVixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDNUI7UUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELFNBQVMsQ0FBQyxPQUF5QixFQUFFLElBQWlCO1FBR3BELElBQUksWUFBWSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDL0IsVUFBVSxFQUFFO2dCQUNWLGFBQWEsRUFBRSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsS0FBSzthQUM5RDtTQUNGLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRWpDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzVCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGtDQUFrQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUE7U0FDaEY7UUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFeEMsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBRWxDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUUzRCxJQUFJLEtBQUssWUFBWSxZQUFZLEVBQUU7b0JBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUM7b0JBQ2pDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ3RCO1lBSUgsQ0FBQyxFQUNELENBQUMsS0FBd0IsRUFBRSxFQUFFO2dCQUkzQixJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUNqQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUV0QixJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFO29CQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7b0JBQ2hDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUE7aUJBQzlEO3FCQUNJLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSSxHQUFHLEVBQUM7b0JBQzNCLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO29CQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQTtpQkFDMUM7cUJBQ0ksSUFBSSxLQUFLLENBQUMsVUFBVSxJQUFJLGVBQWUsRUFBQztvQkFDM0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtpQkFDOUM7cUJBQ0c7b0JBQ0YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQTtpQkFDeEQ7WUFFSCxDQUFDLEVBQ0QsR0FBRyxFQUFFO2dCQUNILElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQ2pDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN0QixDQUFDLENBQUMsQ0FBQztZQUdQLDJDQUEyQztZQUMzQyxPQUFPLEdBQUcsRUFBRTtnQkFDVixJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUNqQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDN0IsQ0FBQyxDQUFDO1FBRUosQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztrRkFuRlUsaUJBQWlCO3lEQUFqQixpQkFBaUIsV0FBakIsaUJBQWlCO2tEQUFqQixpQkFBaUI7Y0FEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJy4vbWVzc2FnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwUmVzcG9uc2UsIEh0dHBSZXF1ZXN0LCBIdHRwSGFuZGxlciwgSHR0cEV2ZW50LCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IExvYWRlclNlcnZpY2UgfSBmcm9tICcuL2xvYWRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTG9nU2VydmljZSB9IGZyb20gJy4vbG9nLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTG9hZGVySW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xyXG5cclxuICBwcml2YXRlIHJlcXVlc3RzOiBIdHRwUmVxdWVzdDxhbnk+W10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsb2FkZXJTZXJ2aWNlOiBMb2FkZXJTZXJ2aWNlLCBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSwgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgbG9nU2VydmljZTogTG9nU2VydmljZSkgeyB9XHJcblxyXG5cclxuICByZW1vdmVSZXF1ZXN0KHJlcTogSHR0cFJlcXVlc3Q8YW55Pikge1xyXG5cclxuICAgIGNvbnN0IGkgPSB0aGlzLnJlcXVlc3RzLmluZGV4T2YocmVxKTtcclxuXHJcbiAgICBpZiAoaSA+PSAwKSB7XHJcbiAgICAgIHRoaXMucmVxdWVzdHMuc3BsaWNlKGksIDEpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMubG9hZGVyU2VydmljZS5pc0xvYWRpbmcubmV4dCh0aGlzLnJlcXVlc3RzLmxlbmd0aCA+IDApO1xyXG4gIH1cclxuXHJcbiAgaW50ZXJjZXB0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xyXG5cclxuXHJcbiAgICBsZXQgcmVxdWVzdENsb25lID0gcmVxdWVzdC5jbG9uZSh7XHJcbiAgICAgIHNldEhlYWRlcnM6IHtcclxuICAgICAgICBBdXRob3JpemF0aW9uOiBcIkJlYXJlciBcIiArIHRoaXMuYXV0aFNlcnZpY2UudG9rZW5Tb3VyY2UudmFsdWVcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5yZXF1ZXN0cy5wdXNoKHJlcXVlc3RDbG9uZSk7XHJcblxyXG4gICAgaWYgKHRoaXMucmVxdWVzdHMubGVuZ3RoID4gMSkge1xyXG4gICAgICB0aGlzLmxvZ1NlcnZpY2UuaW5mbyhcIk11bHRpcGxlIGNvbm5lY3Rpb25zIGRldGVjdGVkID4gXCIgKyB0aGlzLnJlcXVlc3RzLmxlbmd0aClcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmxvYWRlclNlcnZpY2UuaXNMb2FkaW5nLm5leHQodHJ1ZSk7XHJcblxyXG4gICAgcmV0dXJuIE9ic2VydmFibGUuY3JlYXRlKG9ic2VydmVyID0+IHtcclxuXHJcbiAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IG5leHQuaGFuZGxlKHJlcXVlc3RDbG9uZSkuc3Vic2NyaWJlKGV2ZW50ID0+IHtcclxuXHJcbiAgICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIEh0dHBSZXNwb25zZSkge1xyXG4gICAgICAgICAgICAgIHRoaXMucmVtb3ZlUmVxdWVzdChyZXF1ZXN0Q2xvbmUpO1xyXG4gICAgICAgICAgICAgIG9ic2VydmVyLm5leHQoZXZlbnQpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG5cclxuXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xyXG5cclxuXHJcblxyXG4gICAgICAgICAgICB0aGlzLnJlbW92ZVJlcXVlc3QocmVxdWVzdENsb25lKTtcclxuICAgICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IoZXJyb3IpO1xyXG5cclxuICAgICAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDAxKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wibG9naW5cIl0pO1xyXG4gICAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoJ1VuYXV0aG9yaXNlZDogUGxlYXNlIGxvZ2luIGFnYWluJylcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChlcnJvci5zdGF0dXMgPT09NTAwKXtcclxuICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvci5lcnJvcilcclxuICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KCdTeXN0ZW0gRXJyb3InKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGVycm9yLnN0YXR1c1RleHQgPT0gJ1Vua25vd24gRXJyb3InKXtcclxuICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KCdDb25uZWN0aW9uIEVycm9yJylcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNle1xyXG4gICAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoJ0Vycm9yOiAnICsgZXJyb3Iuc3RhdHVzVGV4dClcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlUmVxdWVzdChyZXF1ZXN0Q2xvbmUpO1xyXG4gICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgfSk7XHJcblxyXG5cclxuICAgICAgLy8gcmVtb3ZlIHJlcXVlc3QgZnJvbSBxdWV1ZSB3aGVuIGNhbmNlbGxlZFxyXG4gICAgICByZXR1cm4gKCkgPT4ge1xyXG4gICAgICAgIHRoaXMucmVtb3ZlUmVxdWVzdChyZXF1ZXN0Q2xvbmUpO1xyXG4gICAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgICB9O1xyXG5cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class LoaderService {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.isLoading = new BehaviorSubject(false);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
LoaderService.ɵfac = function LoaderService_Factory(t) { return new (t || LoaderService)(); };
|
|
10
|
+
LoaderService.ɵprov = i0.ɵɵdefineInjectable({ token: LoaderService, factory: LoaderService.ɵfac, providedIn: 'root' });
|
|
11
|
+
/*@__PURE__*/ (function () { i0.ɵsetClassMetadata(LoaderService, [{
|
|
12
|
+
type: Injectable,
|
|
13
|
+
args: [{
|
|
14
|
+
providedIn: 'root'
|
|
15
|
+
}]
|
|
16
|
+
}], function () { return []; }, null); })();
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly90aW4tc3BhLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2xvYWRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFLdkMsTUFBTSxPQUFPLGFBQWE7SUFHeEI7UUFETyxjQUFTLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQzs7MEVBSE4sYUFBYTtxREFBYixhQUFhLFdBQWIsYUFBYSxtQkFGWixNQUFNO2tEQUVQLGFBQWE7Y0FIekIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIExvYWRlclNlcnZpY2Uge1xyXG5cclxuICBwdWJsaWMgaXNMb2FkaW5nID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
import { LogLevel } from '../classes/Classes';
|
|
3
|
+
import { Core } from '../classes/TinCore';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class LogService {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.level = LogLevel.All;
|
|
8
|
+
this.logToConsole = true;
|
|
9
|
+
this.logToApi = false;
|
|
10
|
+
}
|
|
11
|
+
debug(msg, ...optionalParams) {
|
|
12
|
+
this.writeToLog(msg, LogLevel.Debug, optionalParams);
|
|
13
|
+
}
|
|
14
|
+
info(msg, ...optionalParams) {
|
|
15
|
+
this.writeToLog(msg, LogLevel.Info, optionalParams);
|
|
16
|
+
}
|
|
17
|
+
warn(msg, ...optionalParams) {
|
|
18
|
+
this.writeToLog(msg, LogLevel.Warn, optionalParams);
|
|
19
|
+
}
|
|
20
|
+
error(msg, ...optionalParams) {
|
|
21
|
+
this.writeToLog(msg, LogLevel.Error, optionalParams);
|
|
22
|
+
}
|
|
23
|
+
fatal(msg, ...optionalParams) {
|
|
24
|
+
this.writeToLog(msg, LogLevel.Fatal, optionalParams);
|
|
25
|
+
}
|
|
26
|
+
log(msg, ...optionalParams) {
|
|
27
|
+
this.writeToLog(msg, LogLevel.All, optionalParams);
|
|
28
|
+
}
|
|
29
|
+
writeToLog(msg, level, params) {
|
|
30
|
+
if (this.shouldLog(level)) {
|
|
31
|
+
// Build log string
|
|
32
|
+
let value = Core.getFormatedDate(Date(), false).replace("T", " ");
|
|
33
|
+
// value += " - Type: " + LogLevel[this.level];
|
|
34
|
+
value += " - Message: " + msg;
|
|
35
|
+
if (params.length) {
|
|
36
|
+
value += " - Extra Info: " + this.formatParams(params);
|
|
37
|
+
}
|
|
38
|
+
// Log the value
|
|
39
|
+
if (this.logToConsole) {
|
|
40
|
+
console.log(value);
|
|
41
|
+
}
|
|
42
|
+
if (this.logToApi) {
|
|
43
|
+
//Call API post
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
formatParams(params) {
|
|
48
|
+
let ret = params.join(",");
|
|
49
|
+
// Is there at least one object in the array?
|
|
50
|
+
if (params.some((p) => typeof p == "object")) {
|
|
51
|
+
ret = "";
|
|
52
|
+
// Build comma-delimited string
|
|
53
|
+
for (let item of params) {
|
|
54
|
+
ret += JSON.stringify(item) + ",";
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return ret;
|
|
58
|
+
}
|
|
59
|
+
shouldLog(level) {
|
|
60
|
+
let ret = false;
|
|
61
|
+
if ((level >= this.level && level !== LogLevel.Off) ||
|
|
62
|
+
this.level === LogLevel.All) {
|
|
63
|
+
ret = true;
|
|
64
|
+
}
|
|
65
|
+
return ret;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
LogService.ɵfac = function LogService_Factory(t) { return new (t || LogService)(); };
|
|
69
|
+
LogService.ɵprov = i0.ɵɵdefineInjectable({ token: LogService, factory: LogService.ɵfac, providedIn: "root" });
|
|
70
|
+
/*@__PURE__*/ (function () { i0.ɵsetClassMetadata(LogService, [{
|
|
71
|
+
type: Injectable,
|
|
72
|
+
args: [{
|
|
73
|
+
providedIn: "root",
|
|
74
|
+
}]
|
|
75
|
+
}], function () { return []; }, null); })();
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly90aW4tc3BhLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2xvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFLMUMsTUFBTSxPQUFPLFVBQVU7SUFDckI7UUFFQSxVQUFLLEdBQWEsUUFBUSxDQUFDLEdBQUcsQ0FBQztRQUUvQixpQkFBWSxHQUFZLElBQUksQ0FBQztRQUU3QixhQUFRLEdBQVksS0FBSyxDQUFDO0lBTlYsQ0FBQztJQVFqQixLQUFLLENBQUMsR0FBVyxFQUFFLEdBQUcsY0FBcUI7UUFDekMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLEtBQUssRUFBRSxjQUFjLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsSUFBSSxDQUFDLEdBQVcsRUFBRSxHQUFHLGNBQXFCO1FBQ3hDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELElBQUksQ0FBQyxHQUFXLEVBQUUsR0FBRyxjQUFxQjtRQUN4QyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxLQUFLLENBQUMsR0FBVyxFQUFFLEdBQUcsY0FBcUI7UUFDekMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLEtBQUssRUFBRSxjQUFjLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsS0FBSyxDQUFDLEdBQVcsRUFBRSxHQUFHLGNBQXFCO1FBQ3pDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxLQUFLLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELEdBQUcsQ0FBQyxHQUFXLEVBQUUsR0FBRyxjQUFxQjtRQUN2QyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBRXJELENBQUM7SUFFTyxVQUFVLENBQUMsR0FBVyxFQUFFLEtBQWUsRUFBRSxNQUFhO1FBRTVELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUV6QixtQkFBbUI7WUFDbkIsSUFBSSxLQUFLLEdBQVcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzFFLCtDQUErQztZQUMvQyxLQUFLLElBQUksY0FBYyxHQUFHLEdBQUcsQ0FBQztZQUc5QixJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUU7Z0JBQ2pCLEtBQUssSUFBSSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3hEO1lBRUQsZ0JBQWdCO1lBQ2hCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDckIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNwQjtZQUVELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDakIsZUFBZTthQUNoQjtTQUVGO0lBQ0gsQ0FBQztJQUVPLFlBQVksQ0FBQyxNQUFhO1FBRWhDLElBQUksR0FBRyxHQUFXLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkMsNkNBQTZDO1FBQzdDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksUUFBUSxDQUFDLEVBQUU7WUFDNUMsR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUNULCtCQUErQjtZQUMvQixLQUFLLElBQUksSUFBSSxJQUFJLE1BQU0sRUFBRTtnQkFDdkIsR0FBRyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDO2FBQ25DO1NBQ0Y7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFTyxTQUFTLENBQUMsS0FBZTtRQUUvQixJQUFJLEdBQUcsR0FBWSxLQUFLLENBQUM7UUFFekIsSUFDRSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssS0FBSyxRQUFRLENBQUMsR0FBRyxDQUFDO1lBQy9DLElBQUksQ0FBQyxLQUFLLEtBQUssUUFBUSxDQUFDLEdBQUcsRUFDM0I7WUFDQSxHQUFHLEdBQUcsSUFBSSxDQUFDO1NBQ1o7UUFFRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7O29FQXRGVSxVQUFVO2tEQUFWLFVBQVUsV0FBVixVQUFVLG1CQUZULE1BQU07a0RBRVAsVUFBVTtjQUh0QixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBpbXBvcnQgeyBDb3JlIH0gZnJvbSAndGluLWNvcmUnO1xyXG5pbXBvcnQgeyBsb2dnaW5nIH0gZnJvbSAncHJvdHJhY3Rvcic7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBMb2dMZXZlbCB9IGZyb20gJy4uL2NsYXNzZXMvQ2xhc3Nlcyc7XHJcbmltcG9ydCB7IENvcmUgfSBmcm9tICcuLi9jbGFzc2VzL1RpbkNvcmUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9nU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbGV2ZWw6IExvZ0xldmVsID0gTG9nTGV2ZWwuQWxsO1xyXG5cclxuICBsb2dUb0NvbnNvbGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBsb2dUb0FwaTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBkZWJ1Zyhtc2c6IHN0cmluZywgLi4ub3B0aW9uYWxQYXJhbXM6IGFueVtdKSB7XHJcbiAgICB0aGlzLndyaXRlVG9Mb2cobXNnLCBMb2dMZXZlbC5EZWJ1Zywgb3B0aW9uYWxQYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgaW5mbyhtc2c6IHN0cmluZywgLi4ub3B0aW9uYWxQYXJhbXM6IGFueVtdKSB7XHJcbiAgICB0aGlzLndyaXRlVG9Mb2cobXNnLCBMb2dMZXZlbC5JbmZvLCBvcHRpb25hbFBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICB3YXJuKG1zZzogc3RyaW5nLCAuLi5vcHRpb25hbFBhcmFtczogYW55W10pIHtcclxuICAgIHRoaXMud3JpdGVUb0xvZyhtc2csIExvZ0xldmVsLldhcm4sIG9wdGlvbmFsUGFyYW1zKTtcclxuICB9XHJcblxyXG4gIGVycm9yKG1zZzogc3RyaW5nLCAuLi5vcHRpb25hbFBhcmFtczogYW55W10pIHtcclxuICAgIHRoaXMud3JpdGVUb0xvZyhtc2csIExvZ0xldmVsLkVycm9yLCBvcHRpb25hbFBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICBmYXRhbChtc2c6IHN0cmluZywgLi4ub3B0aW9uYWxQYXJhbXM6IGFueVtdKSB7XHJcbiAgICB0aGlzLndyaXRlVG9Mb2cobXNnLCBMb2dMZXZlbC5GYXRhbCwgb3B0aW9uYWxQYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgbG9nKG1zZzogc3RyaW5nLCAuLi5vcHRpb25hbFBhcmFtczogYW55W10pIHtcclxuICAgIHRoaXMud3JpdGVUb0xvZyhtc2csIExvZ0xldmVsLkFsbCwgb3B0aW9uYWxQYXJhbXMpO1xyXG5cclxuICB9XHJcblxyXG4gIHByaXZhdGUgd3JpdGVUb0xvZyhtc2c6IHN0cmluZywgbGV2ZWw6IExvZ0xldmVsLCBwYXJhbXM6IGFueVtdKSB7XHJcblxyXG4gICAgaWYgKHRoaXMuc2hvdWxkTG9nKGxldmVsKSkge1xyXG5cclxuICAgICAgLy8gQnVpbGQgbG9nIHN0cmluZ1xyXG4gICAgICBsZXQgdmFsdWU6IHN0cmluZyA9IENvcmUuZ2V0Rm9ybWF0ZWREYXRlKERhdGUoKSwgZmFsc2UpLnJlcGxhY2UoXCJUXCIsIFwiIFwiKTtcclxuICAgICAgLy8gdmFsdWUgKz0gXCIgLSBUeXBlOiBcIiArIExvZ0xldmVsW3RoaXMubGV2ZWxdO1xyXG4gICAgICB2YWx1ZSArPSBcIiAtIE1lc3NhZ2U6IFwiICsgbXNnO1xyXG5cclxuXHJcbiAgICAgIGlmIChwYXJhbXMubGVuZ3RoKSB7XHJcbiAgICAgICAgdmFsdWUgKz0gXCIgLSBFeHRyYSBJbmZvOiBcIiArIHRoaXMuZm9ybWF0UGFyYW1zKHBhcmFtcyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIExvZyB0aGUgdmFsdWVcclxuICAgICAgaWYgKHRoaXMubG9nVG9Db25zb2xlKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2codmFsdWUpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAodGhpcy5sb2dUb0FwaSkge1xyXG4gICAgICAgIC8vQ2FsbCBBUEkgcG9zdFxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmb3JtYXRQYXJhbXMocGFyYW1zOiBhbnlbXSk6IHN0cmluZyB7XHJcblxyXG4gICAgbGV0IHJldDogc3RyaW5nID0gcGFyYW1zLmpvaW4oXCIsXCIpO1xyXG4gICAgLy8gSXMgdGhlcmUgYXQgbGVhc3Qgb25lIG9iamVjdCBpbiB0aGUgYXJyYXk/XHJcbiAgICBpZiAocGFyYW1zLnNvbWUoKHApID0+IHR5cGVvZiBwID09IFwib2JqZWN0XCIpKSB7XHJcbiAgICAgIHJldCA9IFwiXCI7XHJcbiAgICAgIC8vIEJ1aWxkIGNvbW1hLWRlbGltaXRlZCBzdHJpbmdcclxuICAgICAgZm9yIChsZXQgaXRlbSBvZiBwYXJhbXMpIHtcclxuICAgICAgICByZXQgKz0gSlNPTi5zdHJpbmdpZnkoaXRlbSkgKyBcIixcIjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJldDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2hvdWxkTG9nKGxldmVsOiBMb2dMZXZlbCk6IGJvb2xlYW4ge1xyXG5cclxuICAgIGxldCByZXQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBpZiAoXHJcbiAgICAgIChsZXZlbCA+PSB0aGlzLmxldmVsICYmIGxldmVsICE9PSBMb2dMZXZlbC5PZmYpIHx8XHJcbiAgICAgIHRoaXMubGV2ZWwgPT09IExvZ0xldmVsLkFsbFxyXG4gICAgKSB7XHJcbiAgICAgIHJldCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJldDtcclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuIl19
|