@bravobit/bb-foundation 0.20.3 → 0.21.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 +47 -47
- package/auth/{bravobit-bb-foundation-auth.d.ts → index.d.ts} +5 -5
- package/auth/lib/auth.interceptor.d.ts +21 -21
- package/auth/lib/auth.module.d.ts +15 -15
- package/auth/lib/auth.service.d.ts +59 -59
- package/auth/lib/auth.session.d.ts +34 -34
- package/auth/lib/directives/authenticated.directive.d.ts +14 -14
- package/auth/lib/directives/permission.directive.d.ts +24 -24
- package/auth/lib/directives/role.directive.d.ts +16 -16
- package/auth/lib/guards/anonymous.guard.d.ts +11 -11
- package/auth/lib/guards/authenticated.guard.d.ts +11 -11
- package/auth/lib/helpers/jwt.helper.d.ts +8 -8
- package/auth/lib/helpers/mapper.helper.d.ts +23 -23
- package/auth/lib/interfaces/config.interface.d.ts +12 -12
- package/auth/lib/interfaces/mapper.interface.d.ts +19 -19
- package/auth/lib/interfaces/provider.interface.d.ts +16 -16
- package/auth/lib/interfaces/token.interface.d.ts +11 -11
- package/auth/lib/permissions.service.d.ts +14 -14
- package/auth/lib/providers/email.provider.d.ts +15 -15
- package/auth/lib/providers/verify.provider.d.ts +13 -13
- package/auth/lib/tokens/use-authorization.token.d.ts +2 -2
- package/auth/public_api.d.ts +18 -18
- package/collections/{bravobit-bb-foundation-collections.d.ts → index.d.ts} +5 -5
- package/collections/lib/collection.d.ts +43 -43
- package/collections/lib/collections.module.d.ts +10 -10
- package/collections/lib/components/collections-pager/collections-pager.component.d.ts +34 -34
- package/collections/lib/components/collections-viewer/collections-viewer.component.d.ts +12 -12
- package/collections/lib/components/collections.directive.d.ts +17 -17
- package/collections/lib/interfaces/collection.interface.d.ts +26 -26
- package/collections/lib/providers/api-collection.provider.d.ts +19 -19
- package/collections/lib/providers/collection.provider.d.ts +6 -6
- package/collections/lib/providers/local-collection.provider.d.ts +8 -8
- package/collections/public_api.d.ts +9 -9
- package/controls/{bravobit-bb-foundation-controls.d.ts → index.d.ts} +5 -5
- package/controls/lib/checkbox/checkbox/checkbox.component.d.ts +47 -47
- package/controls/lib/checkbox/checkbox-group/checkbox-group.component.d.ts +22 -18
- package/controls/lib/checkbox/checkbox.module.d.ts +9 -9
- package/controls/lib/controls.module.d.ts +7 -7
- package/controls/public_api.d.ts +4 -4
- package/dashboard/{bravobit-bb-foundation-dashboard.d.ts → index.d.ts} +5 -5
- package/dashboard/lib/dashboard/dashboard.component.d.ts +19 -19
- package/dashboard/lib/dashboard-header/dashboard-header.component.d.ts +11 -11
- package/dashboard/lib/dashboard-menu/dashboard-menu.component.d.ts +9 -9
- package/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.d.ts +11 -11
- package/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.d.ts +21 -21
- package/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.d.ts +27 -27
- package/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.d.ts +16 -16
- package/dashboard/lib/dashboard.module.d.ts +16 -16
- package/dashboard/public_api.d.ts +8 -8
- package/dialog/{bravobit-bb-foundation-dialog.d.ts → index.d.ts} +5 -5
- package/dialog/lib/dialog-actions/dialog-actions.component.d.ts +5 -5
- package/dialog/lib/dialog-confirm/dialog-confirm.component.d.ts +16 -16
- package/dialog/lib/dialog-container/dialog-container.component.d.ts +24 -24
- package/dialog/lib/dialog-header/dialog-header.component.d.ts +9 -9
- package/dialog/lib/dialog-link/dialog-link.component.d.ts +5 -5
- package/dialog/lib/dialog-modal/dialog-modal.component.d.ts +12 -12
- package/dialog/lib/dialog-overlay/dialog-overlay.component.d.ts +22 -22
- package/dialog/lib/dialog.injector.d.ts +8 -8
- package/dialog/lib/dialog.insertion.d.ts +8 -8
- package/dialog/lib/dialog.interfaces.d.ts +3 -3
- package/dialog/lib/dialog.module.d.ts +19 -19
- package/dialog/lib/dialog.ref.d.ts +8 -8
- package/dialog/lib/dialog.service.d.ts +19 -19
- package/dialog/public_api.d.ts +9 -9
- package/elements/{bravobit-bb-foundation-elements.d.ts → index.d.ts} +5 -5
- package/elements/lib/avatar/avatar.component.d.ts +25 -25
- package/elements/lib/button/button.component.d.ts +23 -23
- package/elements/lib/checkbox/checkbox.component.d.ts +27 -27
- package/elements/lib/date-picker/date-picker.component.d.ts +69 -69
- package/elements/lib/directives/addon.directive.d.ts +9 -9
- package/elements/lib/directives/autosize.directive.d.ts +18 -18
- package/elements/lib/directives/focus-trap.directive.d.ts +17 -17
- package/elements/lib/directives/focus.directive.d.ts +14 -14
- package/elements/lib/directives/form-submit.directive.d.ts +17 -17
- package/elements/lib/directives/input.directive.d.ts +38 -38
- package/elements/lib/directives/template.directive.d.ts +10 -10
- package/elements/lib/dropdown/dropdown.component.d.ts +21 -21
- package/elements/lib/elements.interfaces.d.ts +25 -25
- package/elements/lib/elements.module.d.ts +116 -116
- package/elements/lib/file-picker/file-picker.component.d.ts +49 -49
- package/elements/lib/form-control/form-control.component.d.ts +21 -21
- package/elements/lib/form-error/form-error.component.d.ts +29 -29
- package/elements/lib/form-group/form-group.component.d.ts +10 -10
- package/elements/lib/icon/icon.component.d.ts +22 -22
- package/elements/lib/image-picker/image-picker.component.d.ts +38 -38
- package/elements/lib/pipes/file-image.pipe.d.ts +13 -13
- package/elements/lib/pipes/file-size.pipe.d.ts +8 -8
- package/elements/lib/pipes/relative-time.pipe.d.ts +19 -19
- package/elements/lib/spinner/spinner.component.d.ts +12 -12
- package/elements/lib/tag/tag.component.d.ts +7 -7
- package/elements/public_api.d.ts +25 -25
- package/esm2020/auth/bravobit-bb-foundation-auth.mjs +4 -4
- package/esm2020/auth/lib/auth.interceptor.mjs +93 -93
- package/esm2020/auth/lib/auth.module.mjs +54 -54
- package/esm2020/auth/lib/auth.service.mjs +281 -281
- package/esm2020/auth/lib/auth.session.mjs +131 -131
- package/esm2020/auth/lib/directives/authenticated.directive.mjs +31 -31
- package/esm2020/auth/lib/directives/permission.directive.mjs +80 -80
- package/esm2020/auth/lib/directives/role.directive.mjs +37 -37
- package/esm2020/auth/lib/guards/anonymous.guard.mjs +34 -34
- package/esm2020/auth/lib/guards/authenticated.guard.mjs +35 -35
- package/esm2020/auth/lib/helpers/jwt.helper.mjs +69 -69
- package/esm2020/auth/lib/helpers/mapper.helper.mjs +35 -35
- package/esm2020/auth/lib/interfaces/config.interface.mjs +3 -3
- package/esm2020/auth/lib/interfaces/mapper.interface.mjs +2 -2
- package/esm2020/auth/lib/interfaces/provider.interface.mjs +2 -2
- package/esm2020/auth/lib/interfaces/token.interface.mjs +2 -2
- package/esm2020/auth/lib/permissions.service.mjs +56 -56
- package/esm2020/auth/lib/providers/email.provider.mjs +25 -25
- package/esm2020/auth/lib/providers/verify.provider.mjs +19 -19
- package/esm2020/auth/lib/tokens/use-authorization.token.mjs +3 -3
- package/esm2020/auth/public_api.mjs +19 -19
- package/esm2020/bravobit-bb-foundation.mjs +4 -4
- package/esm2020/collections/bravobit-bb-foundation-collections.mjs +4 -4
- package/esm2020/collections/lib/collection.mjs +102 -102
- package/esm2020/collections/lib/collections.module.mjs +54 -54
- package/esm2020/collections/lib/components/collections-pager/collections-pager.component.mjs +123 -123
- package/esm2020/collections/lib/components/collections-viewer/collections-viewer.component.mjs +31 -31
- package/esm2020/collections/lib/components/collections.directive.mjs +43 -43
- package/esm2020/collections/lib/interfaces/collection.interface.mjs +2 -2
- package/esm2020/collections/lib/providers/api-collection.provider.mjs +71 -71
- package/esm2020/collections/lib/providers/collection.provider.mjs +13 -13
- package/esm2020/collections/lib/providers/local-collection.provider.mjs +16 -16
- package/esm2020/collections/public_api.mjs +10 -10
- package/esm2020/controls/bravobit-bb-foundation-controls.mjs +4 -4
- package/esm2020/controls/lib/checkbox/checkbox/checkbox.component.mjs +153 -153
- package/esm2020/controls/lib/checkbox/checkbox-group/checkbox-group.component.mjs +61 -48
- package/esm2020/controls/lib/checkbox/checkbox.module.mjs +19 -19
- package/esm2020/controls/lib/controls.module.mjs +16 -16
- package/esm2020/controls/public_api.mjs +5 -5
- package/esm2020/dashboard/bravobit-bb-foundation-dashboard.mjs +4 -4
- package/esm2020/dashboard/lib/dashboard/dashboard.component.mjs +56 -56
- package/esm2020/dashboard/lib/dashboard-header/dashboard-header.component.mjs +30 -30
- package/esm2020/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +31 -31
- package/esm2020/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +29 -29
- package/esm2020/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +75 -75
- package/esm2020/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +99 -99
- package/esm2020/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +62 -62
- package/esm2020/dashboard/lib/dashboard.module.mjs +47 -47
- package/esm2020/dashboard/public_api.mjs +9 -9
- package/esm2020/dialog/bravobit-bb-foundation-dialog.mjs +4 -4
- package/esm2020/dialog/lib/dialog-actions/dialog-actions.component.mjs +12 -12
- package/esm2020/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +37 -37
- package/esm2020/dialog/lib/dialog-container/dialog-container.component.mjs +153 -153
- package/esm2020/dialog/lib/dialog-header/dialog-header.component.mjs +25 -25
- package/esm2020/dialog/lib/dialog-link/dialog-link.component.mjs +11 -11
- package/esm2020/dialog/lib/dialog-modal/dialog-modal.component.mjs +46 -46
- package/esm2020/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +134 -134
- package/esm2020/dialog/lib/dialog.injector.mjs +18 -18
- package/esm2020/dialog/lib/dialog.insertion.mjs +16 -16
- package/esm2020/dialog/lib/dialog.interfaces.mjs +3 -3
- package/esm2020/dialog/lib/dialog.module.mjs +68 -70
- package/esm2020/dialog/lib/dialog.ref.mjs +22 -22
- package/esm2020/dialog/lib/dialog.service.mjs +77 -77
- package/esm2020/dialog/public_api.mjs +10 -10
- package/esm2020/elements/bravobit-bb-foundation-elements.mjs +4 -4
- package/esm2020/elements/lib/avatar/avatar.component.mjs +145 -145
- package/esm2020/elements/lib/button/button.component.mjs +61 -61
- package/esm2020/elements/lib/checkbox/checkbox.component.mjs +73 -73
- package/esm2020/elements/lib/date-picker/date-picker.component.mjs +304 -304
- package/esm2020/elements/lib/directives/addon.directive.mjs +29 -29
- package/esm2020/elements/lib/directives/autosize.directive.mjs +72 -72
- package/esm2020/elements/lib/directives/focus-trap.directive.mjs +77 -77
- package/esm2020/elements/lib/directives/focus.directive.mjs +39 -39
- package/esm2020/elements/lib/directives/form-submit.directive.mjs +50 -50
- package/esm2020/elements/lib/directives/input.directive.mjs +136 -136
- package/esm2020/elements/lib/directives/template.directive.mjs +28 -28
- package/esm2020/elements/lib/dropdown/dropdown.component.mjs +100 -100
- package/esm2020/elements/lib/elements.interfaces.mjs +4 -4
- package/esm2020/elements/lib/elements.module.mjs +177 -177
- package/esm2020/elements/lib/file-picker/file-picker.component.mjs +236 -236
- package/esm2020/elements/lib/form-control/form-control.component.mjs +49 -49
- package/esm2020/elements/lib/form-error/form-error.component.mjs +108 -108
- package/esm2020/elements/lib/form-group/form-group.component.mjs +18 -18
- package/esm2020/elements/lib/icon/icon.component.mjs +102 -102
- package/esm2020/elements/lib/image-picker/image-picker.component.mjs +106 -106
- package/esm2020/elements/lib/pipes/file-image.pipe.mjs +42 -42
- package/esm2020/elements/lib/pipes/file-size.pipe.mjs +28 -28
- package/esm2020/elements/lib/pipes/relative-time.pipe.mjs +94 -94
- package/esm2020/elements/lib/spinner/spinner.component.mjs +25 -25
- package/esm2020/elements/lib/tag/tag.component.mjs +18 -18
- package/esm2020/elements/public_api.mjs +26 -26
- package/esm2020/http/bravobit-bb-foundation-http.mjs +4 -4
- package/esm2020/http/lib/classes/http.config.mjs +29 -29
- package/esm2020/http/lib/classes/http.error.mjs +20 -20
- package/esm2020/http/lib/http.interfaces.mjs +2 -2
- package/esm2020/http/lib/http.module.mjs +43 -43
- package/esm2020/http/lib/interceptors/base-url.interceptor.mjs +50 -50
- package/esm2020/http/lib/interceptors/error.interceptor.mjs +32 -32
- package/esm2020/http/public_api.mjs +7 -7
- package/esm2020/lib/core/miscellaneous/regex.mjs +5 -5
- package/esm2020/lib/core/miscellaneous/validator.mjs +85 -85
- package/esm2020/lib/core/mixins/can-disable.mjs +16 -16
- package/esm2020/lib/core/mixins/can-hide-errors.mjs +16 -16
- package/esm2020/lib/core/mixins/can-load.mjs +16 -16
- package/esm2020/lib/core/mixins/constructor.mjs +2 -2
- package/esm2020/lib/core/mixins/has-error.mjs +16 -16
- package/esm2020/lib/core/mixins/is-focused.mjs +16 -16
- package/esm2020/lib/core/mixins/is-grouped.mjs +16 -16
- package/esm2020/lib/core/mixins/is-readonly.mjs +16 -16
- package/esm2020/lib/core/mixins/is-required.mjs +16 -16
- package/esm2020/lib/core/services/clipboard.service.mjs +70 -70
- package/esm2020/lib/core/services/exif.service.mjs +163 -163
- package/esm2020/lib/core/services/file-loader.service.mjs +87 -87
- package/esm2020/lib/core/services/image-converter.service.mjs +123 -123
- package/esm2020/lib/core/services/languages.service.mjs +74 -74
- package/esm2020/lib/core/services/network.service.mjs +55 -55
- package/esm2020/lib/core/services/patch.service.mjs +63 -63
- package/esm2020/lib/core/services/platform.service.mjs +42 -42
- package/esm2020/lib/core/tokens/accept-language.token.mjs +3 -3
- package/esm2020/lib/core/tokens/base-url.token.mjs +3 -3
- package/esm2020/lib/core/tokens/cookie.token.mjs +3 -3
- package/esm2020/lib/core/tokens/location.token.mjs +6 -6
- package/esm2020/lib/core/tokens/navigator.token.mjs +6 -6
- package/esm2020/lib/core/tokens/window.token.mjs +12 -12
- package/esm2020/localize/bravobit-bb-foundation-localize.mjs +4 -4
- package/esm2020/localize/lib/functions/date.function.mjs +18 -18
- package/esm2020/localize/lib/functions/lowercase.function.mjs +13 -13
- package/esm2020/localize/lib/functions/uppercase.function.mjs +13 -13
- package/esm2020/localize/lib/handlers/missing.handler.mjs +15 -15
- package/esm2020/localize/lib/interfaces/config.interfaces.mjs +7 -7
- package/esm2020/localize/lib/interfaces/functions.interfaces.mjs +8 -8
- package/esm2020/localize/lib/interfaces/handlers.interfaces.mjs +2 -2
- package/esm2020/localize/lib/interfaces/options.interfaces.mjs +6 -6
- package/esm2020/localize/lib/localizations/dutch.localization.mjs +45 -45
- package/esm2020/localize/lib/localizations/english.localization.mjs +45 -45
- package/esm2020/localize/lib/localize.dictionary.mjs +26 -26
- package/esm2020/localize/lib/localize.module.mjs +71 -71
- package/esm2020/localize/lib/localize.pipe.mjs +49 -49
- package/esm2020/localize/lib/localize.service.mjs +207 -207
- package/esm2020/localize/lib/views/localize-string/localize-string.component.mjs +88 -88
- package/esm2020/localize/lib/views/localize-template-or-string.directive.mjs +28 -28
- package/esm2020/localize/lib/views/localize-template.directive.mjs +21 -21
- package/esm2020/localize/public_api.mjs +17 -17
- package/esm2020/masking/bravobit-bb-foundation-masking.mjs +5 -0
- package/esm2020/masking/lib/input-mask.directive.mjs +110 -0
- package/esm2020/masking/lib/input-mask.interface.mjs +2 -0
- package/esm2020/masking/lib/masking.module.mjs +16 -0
- package/esm2020/masking/lib/masking.service.mjs +94 -0
- package/esm2020/masking/public_api.mjs +5 -0
- package/esm2020/notifications/bravobit-bb-foundation-notifications.mjs +4 -4
- package/esm2020/notifications/lib/notifications-item/notifications-item.component.mjs +100 -100
- package/esm2020/notifications/lib/notifications-list/notifications-list.component.mjs +47 -47
- package/esm2020/notifications/lib/notifications.animations.mjs +28 -28
- package/esm2020/notifications/lib/notifications.injector.mjs +18 -18
- package/esm2020/notifications/lib/notifications.interfaces.mjs +20 -20
- package/esm2020/notifications/lib/notifications.module.mjs +30 -30
- package/esm2020/notifications/lib/notifications.service.mjs +145 -145
- package/esm2020/notifications/public_api.mjs +4 -4
- package/esm2020/public_api.mjs +29 -29
- package/esm2020/recaptcha/bravobit-bb-foundation-recaptcha.mjs +4 -4
- package/esm2020/recaptcha/lib/recaptcha/recaptcha.component.mjs +185 -185
- package/esm2020/recaptcha/lib/recaptcha-loader.service.mjs +90 -90
- package/esm2020/recaptcha/lib/recaptcha.interface.mjs +3 -3
- package/esm2020/recaptcha/lib/recaptcha.module.mjs +27 -27
- package/esm2020/recaptcha/public_api.mjs +5 -5
- package/esm2020/rxjs/bravobit-bb-foundation-rxjs.mjs +4 -4
- package/esm2020/rxjs/lib/operators/combine-latest-map.operator.mjs +10 -10
- package/esm2020/rxjs/lib/operators/filter-nil.operator.mjs +5 -5
- package/esm2020/rxjs/public_api.mjs +3 -3
- package/esm2020/storage/bravobit-bb-foundation-storage.mjs +4 -4
- package/esm2020/storage/lib/interfaces/attributes.interface.mjs +2 -2
- package/esm2020/storage/lib/interfaces/memory.interface.mjs +2 -2
- package/esm2020/storage/lib/interfaces/strategy.interface.mjs +2 -2
- package/esm2020/storage/lib/storage.service.mjs +109 -109
- package/esm2020/storage/lib/strategies/cookie-storage.strategy.mjs +142 -142
- package/esm2020/storage/lib/strategies/memory-storage.strategy.mjs +56 -56
- package/esm2020/storage/lib/strategies/polyfill-storage.strategy.mjs +102 -102
- package/esm2020/storage/public_api.mjs +8 -8
- package/esm2020/table/bravobit-bb-foundation-table.mjs +4 -4
- package/esm2020/table/lib/components/table/table.component.mjs +191 -191
- package/esm2020/table/lib/components/table-cell/table-cell.component.mjs +11 -11
- package/esm2020/table/lib/components/table-header-cell/table-header-cell.component.mjs +131 -131
- package/esm2020/table/lib/components/table-pager/table-pager.component.mjs +136 -136
- package/esm2020/table/lib/data/datasource.data.mjs +32 -32
- package/esm2020/table/lib/data/generic.data.mjs +72 -72
- package/esm2020/table/lib/interfaces/datasource.interface.mjs +2 -2
- package/esm2020/table/lib/interfaces/table.interfaces.mjs +2 -2
- package/esm2020/table/lib/table.module.mjs +42 -42
- package/esm2020/table/public_api.mjs +10 -10
- package/esm2020/theming/bravobit-bb-foundation-theming.mjs +5 -0
- package/esm2020/theming/lib/themes/checkbox-group.theme.mjs +2 -0
- package/esm2020/theming/lib/themes/checkbox.theme.mjs +2 -0
- package/esm2020/theming/lib/theming.interface.mjs +3 -0
- package/esm2020/theming/lib/theming.module.mjs +38 -0
- package/esm2020/theming/lib/theming.service.mjs +100 -0
- package/esm2020/theming/public_api.mjs +4 -0
- package/fesm2015/bravobit-bb-foundation-auth.mjs +930 -930
- package/fesm2015/bravobit-bb-foundation-auth.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation-collections.mjs +423 -423
- package/fesm2015/bravobit-bb-foundation-collections.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation-controls.mjs +229 -216
- package/fesm2015/bravobit-bb-foundation-controls.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation-dashboard.mjs +383 -383
- package/fesm2015/bravobit-bb-foundation-dashboard.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation-dialog.mjs +541 -543
- package/fesm2015/bravobit-bb-foundation-dialog.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation-elements.mjs +1977 -1977
- package/fesm2015/bravobit-bb-foundation-elements.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation-http.mjs +156 -156
- package/fesm2015/bravobit-bb-foundation-http.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation-localize.mjs +608 -608
- package/fesm2015/bravobit-bb-foundation-localize.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation-masking.mjs +235 -0
- package/fesm2015/bravobit-bb-foundation-masking.mjs.map +1 -0
- package/fesm2015/bravobit-bb-foundation-notifications.mjs +349 -349
- package/fesm2015/bravobit-bb-foundation-notifications.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation-recaptcha.mjs +290 -290
- package/fesm2015/bravobit-bb-foundation-recaptcha.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation-rxjs.mjs +7 -7
- package/fesm2015/bravobit-bb-foundation-rxjs.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation-storage.mjs +401 -401
- package/fesm2015/bravobit-bb-foundation-storage.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation-table.mjs +575 -575
- package/fesm2015/bravobit-bb-foundation-table.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation-theming.mjs +153 -0
- package/fesm2015/bravobit-bb-foundation-theming.mjs.map +1 -0
- package/fesm2015/bravobit-bb-foundation.mjs +859 -859
- package/fesm2015/bravobit-bb-foundation.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-auth.mjs +882 -882
- package/fesm2020/bravobit-bb-foundation-auth.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-collections.mjs +413 -413
- package/fesm2020/bravobit-bb-foundation-collections.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-controls.mjs +227 -214
- package/fesm2020/bravobit-bb-foundation-controls.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-dashboard.mjs +371 -371
- package/fesm2020/bravobit-bb-foundation-dashboard.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-dialog.mjs +540 -542
- package/fesm2020/bravobit-bb-foundation-dialog.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-elements.mjs +1934 -1934
- package/fesm2020/bravobit-bb-foundation-elements.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-http.mjs +148 -148
- package/fesm2020/bravobit-bb-foundation-http.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-localize.mjs +587 -587
- package/fesm2020/bravobit-bb-foundation-localize.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-masking.mjs +223 -0
- package/fesm2020/bravobit-bb-foundation-masking.mjs.map +1 -0
- package/fesm2020/bravobit-bb-foundation-notifications.mjs +347 -347
- package/fesm2020/bravobit-bb-foundation-notifications.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-recaptcha.mjs +280 -280
- package/fesm2020/bravobit-bb-foundation-recaptcha.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-rxjs.mjs +10 -10
- package/fesm2020/bravobit-bb-foundation-rxjs.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-storage.mjs +396 -396
- package/fesm2020/bravobit-bb-foundation-storage.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-table.mjs +564 -564
- package/fesm2020/bravobit-bb-foundation-table.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-theming.mjs +143 -0
- package/fesm2020/bravobit-bb-foundation-theming.mjs.map +1 -0
- package/fesm2020/bravobit-bb-foundation.mjs +831 -831
- package/fesm2020/bravobit-bb-foundation.mjs.map +1 -1
- package/http/{bravobit-bb-foundation-http.d.ts → index.d.ts} +5 -5
- package/http/lib/classes/http.config.d.ts +9 -9
- package/http/lib/classes/http.error.d.ts +7 -7
- package/http/lib/http.interfaces.d.ts +12 -12
- package/http/lib/http.module.d.ts +15 -15
- package/http/lib/interceptors/base-url.interceptor.d.ts +15 -15
- package/http/lib/interceptors/error.interceptor.d.ts +11 -11
- package/http/public_api.d.ts +6 -6
- package/{bravobit-bb-foundation.d.ts → index.d.ts} +5 -5
- package/lib/core/miscellaneous/regex.d.ts +4 -4
- package/lib/core/miscellaneous/validator.d.ts +13 -13
- package/lib/core/mixins/can-disable.d.ts +6 -6
- package/lib/core/mixins/can-hide-errors.d.ts +6 -6
- package/lib/core/mixins/can-load.d.ts +6 -6
- package/lib/core/mixins/constructor.d.ts +1 -1
- package/lib/core/mixins/has-error.d.ts +6 -6
- package/lib/core/mixins/is-focused.d.ts +6 -6
- package/lib/core/mixins/is-grouped.d.ts +6 -6
- package/lib/core/mixins/is-readonly.d.ts +6 -6
- package/lib/core/mixins/is-required.d.ts +6 -6
- package/lib/core/services/clipboard.service.d.ts +18 -18
- package/lib/core/services/exif.service.d.ts +15 -15
- package/lib/core/services/file-loader.service.d.ts +13 -13
- package/lib/core/services/image-converter.service.d.ts +21 -21
- package/lib/core/services/languages.service.d.ts +16 -16
- package/lib/core/services/network.service.d.ts +14 -14
- package/lib/core/services/patch.service.d.ts +16 -16
- package/lib/core/services/platform.service.d.ts +18 -18
- package/lib/core/tokens/accept-language.token.d.ts +2 -2
- package/lib/core/tokens/base-url.token.d.ts +2 -2
- package/lib/core/tokens/cookie.token.d.ts +2 -2
- package/lib/core/tokens/location.token.d.ts +2 -2
- package/lib/core/tokens/navigator.token.d.ts +2 -2
- package/lib/core/tokens/window.token.d.ts +2 -2
- package/localize/{bravobit-bb-foundation-localize.d.ts → index.d.ts} +5 -5
- package/localize/lib/functions/date.function.d.ts +5 -5
- package/localize/lib/functions/lowercase.function.d.ts +5 -5
- package/localize/lib/functions/uppercase.function.d.ts +5 -5
- package/localize/lib/handlers/missing.handler.d.ts +6 -6
- package/localize/lib/interfaces/config.interfaces.d.ts +18 -18
- package/localize/lib/interfaces/functions.interfaces.d.ts +9 -9
- package/localize/lib/interfaces/handlers.interfaces.d.ts +6 -6
- package/localize/lib/interfaces/options.interfaces.d.ts +10 -10
- package/localize/lib/localizations/dutch.localization.d.ts +44 -44
- package/localize/lib/localizations/english.localization.d.ts +44 -44
- package/localize/lib/localize.dictionary.d.ts +7 -7
- package/localize/lib/localize.module.d.ts +17 -17
- package/localize/lib/localize.pipe.d.ts +12 -12
- package/localize/lib/localize.service.d.ts +40 -40
- package/localize/lib/views/localize-string/localize-string.component.d.ts +23 -23
- package/localize/lib/views/localize-template-or-string.directive.d.ts +10 -10
- package/localize/lib/views/localize-template.directive.d.ts +9 -9
- package/localize/public_api.d.ts +16 -16
- package/masking/index.d.ts +5 -0
- package/masking/lib/input-mask.directive.d.ts +36 -0
- package/masking/lib/input-mask.interface.d.ts +20 -0
- package/masking/lib/masking.module.d.ts +7 -0
- package/masking/lib/masking.service.d.ts +12 -0
- package/masking/public_api.d.ts +4 -0
- package/notifications/{bravobit-bb-foundation-notifications.d.ts → index.d.ts} +5 -5
- package/notifications/lib/notifications-item/notifications-item.component.d.ts +34 -34
- package/notifications/lib/notifications-list/notifications-list.component.d.ts +16 -16
- package/notifications/lib/notifications.animations.d.ts +1 -1
- package/notifications/lib/notifications.injector.d.ts +8 -8
- package/notifications/lib/notifications.interfaces.d.ts +49 -49
- package/notifications/lib/notifications.module.d.ts +13 -13
- package/notifications/lib/notifications.service.d.ts +34 -34
- package/notifications/public_api.d.ts +3 -3
- package/package.json +36 -19
- package/public_api.d.ts +25 -25
- package/recaptcha/{bravobit-bb-foundation-recaptcha.d.ts → index.d.ts} +5 -5
- package/recaptcha/lib/recaptcha/recaptcha.component.d.ts +47 -47
- package/recaptcha/lib/recaptcha-loader.service.d.ts +22 -22
- package/recaptcha/lib/recaptcha.interface.d.ts +14 -14
- package/recaptcha/lib/recaptcha.module.d.ts +10 -10
- package/recaptcha/public_api.d.ts +4 -4
- package/rxjs/{bravobit-bb-foundation-rxjs.d.ts → index.d.ts} +5 -5
- package/rxjs/lib/operators/combine-latest-map.operator.d.ts +8 -8
- package/rxjs/lib/operators/filter-nil.operator.d.ts +1 -1
- package/rxjs/public_api.d.ts +2 -2
- package/storage/{bravobit-bb-foundation-storage.d.ts → index.d.ts} +5 -5
- package/storage/lib/interfaces/attributes.interface.d.ts +13 -13
- package/storage/lib/interfaces/memory.interface.d.ts +7 -7
- package/storage/lib/interfaces/strategy.interface.d.ts +17 -17
- package/storage/lib/storage.service.d.ts +26 -26
- package/storage/lib/strategies/cookie-storage.strategy.d.ts +20 -20
- package/storage/lib/strategies/memory-storage.strategy.d.ts +11 -11
- package/storage/lib/strategies/polyfill-storage.strategy.d.ts +15 -15
- package/storage/public_api.d.ts +7 -7
- package/table/{bravobit-bb-foundation-table.d.ts → index.d.ts} +5 -5
- package/table/lib/components/table/table.component.d.ts +56 -56
- package/table/lib/components/table-cell/table-cell.component.d.ts +5 -5
- package/table/lib/components/table-header-cell/table-header-cell.component.d.ts +29 -29
- package/table/lib/components/table-pager/table-pager.component.d.ts +41 -41
- package/table/lib/data/datasource.data.d.ts +14 -14
- package/table/lib/data/generic.data.d.ts +23 -23
- package/table/lib/interfaces/datasource.interface.d.ts +17 -17
- package/table/lib/interfaces/table.interfaces.d.ts +1 -1
- package/table/lib/table.module.d.ts +14 -14
- package/table/public_api.d.ts +9 -9
- package/theming/index.d.ts +5 -0
- package/theming/lib/themes/checkbox-group.theme.d.ts +5 -0
- package/theming/lib/themes/checkbox.theme.d.ts +19 -0
- package/theming/lib/theming.interface.d.ts +14 -0
- package/theming/lib/theming.module.d.ts +13 -0
- package/theming/lib/theming.service.d.ts +24 -0
- package/theming/public_api.d.ts +3 -0
- package/auth/package.json +0 -10
- package/collections/package.json +0 -10
- package/controls/package.json +0 -10
- package/dashboard/package.json +0 -10
- package/dialog/package.json +0 -10
- package/elements/package.json +0 -10
- package/http/package.json +0 -10
- package/localize/package.json +0 -10
- package/notifications/package.json +0 -10
- package/recaptcha/package.json +0 -10
- package/rxjs/package.json +0 -10
- package/storage/package.json +0 -10
- package/table/package.json +0 -10
|
@@ -1,93 +1,93 @@
|
|
|
1
|
-
import { HttpErrorResponse } from '@angular/common/http';
|
|
2
|
-
import { catchError, filter, finalize, switchMap, take } from 'rxjs/operators';
|
|
3
|
-
import { USE_AUTHORIZATION } from './tokens/use-authorization.token';
|
|
4
|
-
import { HttpError } from '@bravobit/bb-foundation/http';
|
|
5
|
-
import { BehaviorSubject, of, throwError } from 'rxjs';
|
|
6
|
-
import { Injectable, Optional } from '@angular/core';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "./auth.service";
|
|
9
|
-
import * as i2 from "./interfaces/config.interface";
|
|
10
|
-
export class AuthInterceptor {
|
|
11
|
-
constructor(_auth, _config) {
|
|
12
|
-
this._auth = _auth;
|
|
13
|
-
this._config = _config;
|
|
14
|
-
// Readonly data.
|
|
15
|
-
this._authHeaderString = 'Authorization';
|
|
16
|
-
// Data.
|
|
17
|
-
this.isRefreshing = false;
|
|
18
|
-
this.refreshingAccessToken$ = new BehaviorSubject(null);
|
|
19
|
-
this.getAccessToken = (request) => {
|
|
20
|
-
// Get the token based on header.
|
|
21
|
-
if (request.headers.has('Authorization')) {
|
|
22
|
-
return request.headers.get('Authorization');
|
|
23
|
-
}
|
|
24
|
-
// Return the default access token.
|
|
25
|
-
return this._auth.session.accessToken;
|
|
26
|
-
};
|
|
27
|
-
this.addAuthorizationHeader = (request, accessToken = null) => {
|
|
28
|
-
// Remove auth header when we do not have
|
|
29
|
-
// an access token.
|
|
30
|
-
if (!accessToken) {
|
|
31
|
-
return request.clone({
|
|
32
|
-
headers: request.headers.delete(this._authHeaderString)
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
// Add the auth header to the request.
|
|
36
|
-
return request.clone({
|
|
37
|
-
setHeaders: { [this._authHeaderString]: this.getFullAuthorizationHeader(accessToken) }
|
|
38
|
-
});
|
|
39
|
-
};
|
|
40
|
-
this.getFullAuthorizationHeader = (token) => {
|
|
41
|
-
const authScheme = this._config?.scheme ?? 'Bearer';
|
|
42
|
-
return [authScheme, token].join(' ');
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
intercept(request, next) {
|
|
46
|
-
// 1. Check if the user wants to use the authorization for this request.
|
|
47
|
-
if (!request.context.get(USE_AUTHORIZATION)) {
|
|
48
|
-
return next.handle(request);
|
|
49
|
-
}
|
|
50
|
-
// 2. Compose the new request.
|
|
51
|
-
const accessToken = this.getAccessToken(request);
|
|
52
|
-
const newRequest = this.addAuthorizationHeader(request, accessToken);
|
|
53
|
-
// 3. Handle all errors.
|
|
54
|
-
return next.handle(newRequest).pipe(catchError(error => {
|
|
55
|
-
// Handle the HTTP401 error.
|
|
56
|
-
if ((error instanceof HttpErrorResponse || error instanceof HttpError) && error?.status === 401) {
|
|
57
|
-
return this.handle401Error(request, next);
|
|
58
|
-
}
|
|
59
|
-
// Just re-throw the parsed error.
|
|
60
|
-
return throwError(() => error);
|
|
61
|
-
}));
|
|
62
|
-
}
|
|
63
|
-
handle401Error(request, next) {
|
|
64
|
-
// If already refreshing wait for the refresh token to complete.
|
|
65
|
-
if (this.isRefreshing) {
|
|
66
|
-
return this.refreshingAccessToken$.pipe(filter(accessToken => accessToken !== null), take(1), switchMap(accessToken => next.handle(this.addAuthorizationHeader(request, accessToken))));
|
|
67
|
-
}
|
|
68
|
-
// Set the refreshing to true.
|
|
69
|
-
this.isRefreshing = true;
|
|
70
|
-
this.refreshingAccessToken$.next(null);
|
|
71
|
-
return this._auth.refresh().pipe(switchMap(newAccessToken => {
|
|
72
|
-
if (!newAccessToken) {
|
|
73
|
-
return throwError(() => new Error('No refresh token was available.'));
|
|
74
|
-
}
|
|
75
|
-
this.refreshingAccessToken$.next(newAccessToken);
|
|
76
|
-
return next.handle(this.addAuthorizationHeader(request, newAccessToken));
|
|
77
|
-
}), catchError(() => this.logoutUser()), finalize(() => this.isRefreshing = false));
|
|
78
|
-
}
|
|
79
|
-
logoutUser() {
|
|
80
|
-
// Handle the refresh error.
|
|
81
|
-
this._auth.clearAndRedirect();
|
|
82
|
-
// Return null as data.
|
|
83
|
-
return of(null);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
AuthInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
87
|
-
AuthInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
88
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
89
|
-
type: Injectable
|
|
90
|
-
}], ctorParameters: function () { return [{ type: i1.Auth }, { type: i2.AuthConfig, decorators: [{
|
|
91
|
-
type: Optional
|
|
92
|
-
}] }]; } });
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vYXV0aC9zcmMvbGliL2F1dGguaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUE0QyxNQUFNLHNCQUFzQixDQUFDO0FBQ2xHLE9BQU8sRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0UsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFFbkUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxlQUFlLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQUMsVUFBVSxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7OztBQUluRCxNQUFNLE9BQU8sZUFBZTtJQVN4QixZQUFvQixLQUFXLEVBQ0MsT0FBbUI7UUFEL0IsVUFBSyxHQUFMLEtBQUssQ0FBTTtRQUNDLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFSbkQsaUJBQWlCO1FBQ0Esc0JBQWlCLEdBQVcsZUFBZSxDQUFDO1FBRTdELFFBQVE7UUFDUixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5QiwyQkFBc0IsR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsSUFBSSxDQUFDLENBQUM7UUFrRTFELG1CQUFjLEdBQUcsQ0FBQyxPQUE2QixFQUFFLEVBQUU7WUFDdkQsaUNBQWlDO1lBQ2pDLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEVBQUU7Z0JBQ3RDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7YUFDL0M7WUFFRCxt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QyxjQUFjLENBQUMsRUFBRTtZQUN2QixJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUNqQixPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDLENBQUM7YUFDekU7WUFFRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ2pELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDN0UsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUNuQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsQ0FDNUMsQ0FBQztJQUNOLENBQUM7SUFFTyxVQUFVO1FBQ2QsNEJBQTRCO1FBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUU5Qix1QkFBdUI7UUFDdkIsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEIsQ0FBQzs7NEdBdkVRLGVBQWU7Z0hBQWYsZUFBZTsyRkFBZixlQUFlO2tCQUQzQixVQUFVOzswQkFXTSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtIdHRwRXJyb3JSZXNwb25zZSwgSHR0cEhhbmRsZXIsIEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3R9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7Y2F0Y2hFcnJvciwgZmlsdGVyLCBmaW5hbGl6ZSwgc3dpdGNoTWFwLCB0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1VTRV9BVVRIT1JJWkFUSU9OfSBmcm9tICcuL3Rva2Vucy91c2UtYXV0aG9yaXphdGlvbi50b2tlbic7XG5pbXBvcnQge0F1dGhDb25maWd9IGZyb20gJy4vaW50ZXJmYWNlcy9jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7SHR0cEVycm9yfSBmcm9tICdAYnJhdm9iaXQvYmItZm91bmRhdGlvbi9odHRwJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBvZiwgdGhyb3dFcnJvcn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0luamVjdGFibGUsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QXV0aH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXV0aEludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcblxuICAgIC8vIFJlYWRvbmx5IGRhdGEuXG4gICAgcHJpdmF0ZSByZWFkb25seSBfYXV0aEhlYWRlclN0cmluZzogc3RyaW5nID0gJ0F1dGhvcml6YXRpb24nO1xuXG4gICAgLy8gRGF0YS5cbiAgICBpc1JlZnJlc2hpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICByZWZyZXNoaW5nQWNjZXNzVG9rZW4kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCBudWxsPihudWxsKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2F1dGg6IEF1dGgsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfY29uZmlnOiBBdXRoQ29uZmlnKSB7XG4gICAgfVxuXG4gICAgaW50ZXJjZXB0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PHVua25vd24+LCBuZXh0OiBIdHRwSGFuZGxlcikge1xuICAgICAgICAvLyAxLiBDaGVjayBpZiB0aGUgdXNlciB3YW50cyB0byB1c2UgdGhlIGF1dGhvcml6YXRpb24gZm9yIHRoaXMgcmVxdWVzdC5cbiAgICAgICAgaWYgKCFyZXF1ZXN0LmNvbnRleHQuZ2V0KFVTRV9BVVRIT1JJWkFUSU9OKSkge1xuICAgICAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gMi4gQ29tcG9zZSB0aGUgbmV3IHJlcXVlc3QuXG4gICAgICAgIGNvbnN0IGFjY2Vzc1Rva2VuID0gdGhpcy5nZXRBY2Nlc3NUb2tlbihyZXF1ZXN0KTtcbiAgICAgICAgY29uc3QgbmV3UmVxdWVzdCA9IHRoaXMuYWRkQXV0aG9yaXphdGlvbkhlYWRlcihyZXF1ZXN0LCBhY2Nlc3NUb2tlbik7XG5cbiAgICAgICAgLy8gMy4gSGFuZGxlIGFsbCBlcnJvcnMuXG4gICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShuZXdSZXF1ZXN0KS5waXBlKFxuICAgICAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgLy8gSGFuZGxlIHRoZSBIVFRQNDAxIGVycm9yLlxuICAgICAgICAgICAgICAgIGlmICgoZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSB8fCBlcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvcikgJiYgZXJyb3I/LnN0YXR1cyA9PT0gNDAxKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmhhbmRsZTQwMUVycm9yKHJlcXVlc3QsIG5leHQpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIEp1c3QgcmUtdGhyb3cgdGhlIHBhcnNlZCBlcnJvci5cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlNDAxRXJyb3IocmVxdWVzdDogSHR0cFJlcXVlc3Q8dW5rbm93bj4sIG5leHQ6IEh0dHBIYW5kbGVyKSB7XG4gICAgICAgIC8vIElmIGFscmVhZHkgcmVmcmVzaGluZyB3YWl0IGZvciB0aGUgcmVmcmVzaCB0b2tlbiB0byBjb21wbGV0ZS5cbiAgICAgICAgaWYgKHRoaXMuaXNSZWZyZXNoaW5nKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5yZWZyZXNoaW5nQWNjZXNzVG9rZW4kLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKGFjY2Vzc1Rva2VuID0+IGFjY2Vzc1Rva2VuICE9PSBudWxsKSxcbiAgICAgICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcChhY2Nlc3NUb2tlbiA9PiBuZXh0LmhhbmRsZSh0aGlzLmFkZEF1dGhvcml6YXRpb25IZWFkZXIocmVxdWVzdCwgYWNjZXNzVG9rZW4pKSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZXQgdGhlIHJlZnJlc2hpbmcgdG8gdHJ1ZS5cbiAgICAgICAgdGhpcy5pc1JlZnJlc2hpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLnJlZnJlc2hpbmdBY2Nlc3NUb2tlbiQubmV4dChudWxsKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5fYXV0aC5yZWZyZXNoKCkucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcChuZXdBY2Nlc3NUb2tlbiA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFuZXdBY2Nlc3NUb2tlbikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ05vIHJlZnJlc2ggdG9rZW4gd2FzIGF2YWlsYWJsZS4nKSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5yZWZyZXNoaW5nQWNjZXNzVG9rZW4kLm5leHQobmV3QWNjZXNzVG9rZW4pO1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXh0LmhhbmRsZSh0aGlzLmFkZEF1dGhvcml6YXRpb25IZWFkZXIocmVxdWVzdCwgbmV3QWNjZXNzVG9rZW4pKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiB0aGlzLmxvZ291dFVzZXIoKSksXG4gICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmlzUmVmcmVzaGluZyA9IGZhbHNlKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgbG9nb3V0VXNlcigpIHtcbiAgICAgICAgLy8gSGFuZGxlIHRoZSByZWZyZXNoIGVycm9yLlxuICAgICAgICB0aGlzLl9hdXRoLmNsZWFyQW5kUmVkaXJlY3QoKTtcblxuICAgICAgICAvLyBSZXR1cm4gbnVsbCBhcyBkYXRhLlxuICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRBY2Nlc3NUb2tlbiA9IChyZXF1ZXN0OiBIdHRwUmVxdWVzdDx1bmtub3duPikgPT4ge1xuICAgICAgICAvLyBHZXQgdGhlIHRva2VuIGJhc2VkIG9uIGhlYWRlci5cbiAgICAgICAgaWYgKHJlcXVlc3QuaGVhZGVycy5oYXMoJ0F1dGhvcml6YXRpb24nKSkge1xuICAgICAgICAgICAgcmV0dXJuIHJlcXVlc3QuaGVhZGVycy5nZXQoJ0F1dGhvcml6YXRpb24nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJldHVybiB0aGUgZGVmYXVsdCBhY2Nlc3MgdG9rZW4uXG4gICAgICAgIHJldHVybiB0aGlzLl9hdXRoLnNlc3Npb24uYWNjZXNzVG9rZW47XG4gICAgfTtcblxuICAgIHByaXZhdGUgYWRkQXV0aG9yaXphdGlvbkhlYWRlciA9IChyZXF1ZXN0OiBIdHRwUmVxdWVzdDx1bmtub3duPiwgYWNjZXNzVG9rZW46IHN0cmluZyB8IG51bGwgPSBudWxsKSA9PiB7XG4gICAgICAgIC8vIFJlbW92ZSBhdXRoIGhlYWRlciB3aGVuIHdlIGRvIG5vdCBoYXZlXG4gICAgICAgIC8vIGFuIGFjY2VzcyB0b2tlbi5cbiAgICAgICAgaWYgKCFhY2Nlc3NUb2tlbikge1xuICAgICAgICAgICAgcmV0dXJuIHJlcXVlc3QuY2xvbmUoe1xuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHJlcXVlc3QuaGVhZGVycy5kZWxldGUodGhpcy5fYXV0aEhlYWRlclN0cmluZylcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQWRkIHRoZSBhdXRoIGhlYWRlciB0byB0aGUgcmVxdWVzdC5cbiAgICAgICAgcmV0dXJuIHJlcXVlc3QuY2xvbmUoe1xuICAgICAgICAgICAgc2V0SGVhZGVyczoge1t0aGlzLl9hdXRoSGVhZGVyU3RyaW5nXTogdGhpcy5nZXRGdWxsQXV0aG9yaXphdGlvbkhlYWRlcihhY2Nlc3NUb2tlbil9XG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBwcml2YXRlIGdldEZ1bGxBdXRob3JpemF0aW9uSGVhZGVyID0gKHRva2VuOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgYXV0aFNjaGVtZSA9IHRoaXMuX2NvbmZpZz8uc2NoZW1lID8/ICdCZWFyZXInO1xuICAgICAgICByZXR1cm4gW2F1dGhTY2hlbWUsIHRva2VuXS5qb2luKCcgJyk7XG4gICAgfTtcblxufVxuIl19
|
|
1
|
+
import { HttpErrorResponse } from '@angular/common/http';
|
|
2
|
+
import { catchError, filter, finalize, switchMap, take } from 'rxjs/operators';
|
|
3
|
+
import { USE_AUTHORIZATION } from './tokens/use-authorization.token';
|
|
4
|
+
import { HttpError } from '@bravobit/bb-foundation/http';
|
|
5
|
+
import { BehaviorSubject, of, throwError } from 'rxjs';
|
|
6
|
+
import { Injectable, Optional } from '@angular/core';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "./auth.service";
|
|
9
|
+
import * as i2 from "./interfaces/config.interface";
|
|
10
|
+
export class AuthInterceptor {
|
|
11
|
+
constructor(_auth, _config) {
|
|
12
|
+
this._auth = _auth;
|
|
13
|
+
this._config = _config;
|
|
14
|
+
// Readonly data.
|
|
15
|
+
this._authHeaderString = 'Authorization';
|
|
16
|
+
// Data.
|
|
17
|
+
this.isRefreshing = false;
|
|
18
|
+
this.refreshingAccessToken$ = new BehaviorSubject(null);
|
|
19
|
+
this.getAccessToken = (request) => {
|
|
20
|
+
// Get the token based on header.
|
|
21
|
+
if (request.headers.has('Authorization')) {
|
|
22
|
+
return request.headers.get('Authorization');
|
|
23
|
+
}
|
|
24
|
+
// Return the default access token.
|
|
25
|
+
return this._auth.session.accessToken;
|
|
26
|
+
};
|
|
27
|
+
this.addAuthorizationHeader = (request, accessToken = null) => {
|
|
28
|
+
// Remove auth header when we do not have
|
|
29
|
+
// an access token.
|
|
30
|
+
if (!accessToken) {
|
|
31
|
+
return request.clone({
|
|
32
|
+
headers: request.headers.delete(this._authHeaderString)
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
// Add the auth header to the request.
|
|
36
|
+
return request.clone({
|
|
37
|
+
setHeaders: { [this._authHeaderString]: this.getFullAuthorizationHeader(accessToken) }
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
this.getFullAuthorizationHeader = (token) => {
|
|
41
|
+
const authScheme = this._config?.scheme ?? 'Bearer';
|
|
42
|
+
return [authScheme, token].join(' ');
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
intercept(request, next) {
|
|
46
|
+
// 1. Check if the user wants to use the authorization for this request.
|
|
47
|
+
if (!request.context.get(USE_AUTHORIZATION)) {
|
|
48
|
+
return next.handle(request);
|
|
49
|
+
}
|
|
50
|
+
// 2. Compose the new request.
|
|
51
|
+
const accessToken = this.getAccessToken(request);
|
|
52
|
+
const newRequest = this.addAuthorizationHeader(request, accessToken);
|
|
53
|
+
// 3. Handle all errors.
|
|
54
|
+
return next.handle(newRequest).pipe(catchError(error => {
|
|
55
|
+
// Handle the HTTP401 error.
|
|
56
|
+
if ((error instanceof HttpErrorResponse || error instanceof HttpError) && error?.status === 401) {
|
|
57
|
+
return this.handle401Error(request, next);
|
|
58
|
+
}
|
|
59
|
+
// Just re-throw the parsed error.
|
|
60
|
+
return throwError(() => error);
|
|
61
|
+
}));
|
|
62
|
+
}
|
|
63
|
+
handle401Error(request, next) {
|
|
64
|
+
// If already refreshing wait for the refresh token to complete.
|
|
65
|
+
if (this.isRefreshing) {
|
|
66
|
+
return this.refreshingAccessToken$.pipe(filter(accessToken => accessToken !== null), take(1), switchMap(accessToken => next.handle(this.addAuthorizationHeader(request, accessToken))));
|
|
67
|
+
}
|
|
68
|
+
// Set the refreshing to true.
|
|
69
|
+
this.isRefreshing = true;
|
|
70
|
+
this.refreshingAccessToken$.next(null);
|
|
71
|
+
return this._auth.refresh().pipe(switchMap(newAccessToken => {
|
|
72
|
+
if (!newAccessToken) {
|
|
73
|
+
return throwError(() => new Error('No refresh token was available.'));
|
|
74
|
+
}
|
|
75
|
+
this.refreshingAccessToken$.next(newAccessToken);
|
|
76
|
+
return next.handle(this.addAuthorizationHeader(request, newAccessToken));
|
|
77
|
+
}), catchError(() => this.logoutUser()), finalize(() => this.isRefreshing = false));
|
|
78
|
+
}
|
|
79
|
+
logoutUser() {
|
|
80
|
+
// Handle the refresh error.
|
|
81
|
+
this._auth.clearAndRedirect();
|
|
82
|
+
// Return null as data.
|
|
83
|
+
return of(null);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
AuthInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: AuthInterceptor, deps: [{ token: i1.Auth }, { token: i2.AuthConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
87
|
+
AuthInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: AuthInterceptor });
|
|
88
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: AuthInterceptor, decorators: [{
|
|
89
|
+
type: Injectable
|
|
90
|
+
}], ctorParameters: function () { return [{ type: i1.Auth }, { type: i2.AuthConfig, decorators: [{
|
|
91
|
+
type: Optional
|
|
92
|
+
}] }]; } });
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vYXV0aC9zcmMvbGliL2F1dGguaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUE0QyxNQUFNLHNCQUFzQixDQUFDO0FBQ2xHLE9BQU8sRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0UsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFFbkUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxlQUFlLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQUMsVUFBVSxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7OztBQUluRCxNQUFNLE9BQU8sZUFBZTtJQVN4QixZQUFvQixLQUFXLEVBQ0MsT0FBbUI7UUFEL0IsVUFBSyxHQUFMLEtBQUssQ0FBTTtRQUNDLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFSbkQsaUJBQWlCO1FBQ0Esc0JBQWlCLEdBQVcsZUFBZSxDQUFDO1FBRTdELFFBQVE7UUFDUixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5QiwyQkFBc0IsR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsSUFBSSxDQUFDLENBQUM7UUFrRTFELG1CQUFjLEdBQUcsQ0FBQyxPQUE2QixFQUFFLEVBQUU7WUFDdkQsaUNBQWlDO1lBQ2pDLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEVBQUU7Z0JBQ3RDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7YUFDL0M7WUFFRCxt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QyxjQUFjLENBQUMsRUFBRTtZQUN2QixJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUNqQixPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDLENBQUM7YUFDekU7WUFFRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ2pELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDN0UsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUNuQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsQ0FDNUMsQ0FBQztJQUNOLENBQUM7SUFFTyxVQUFVO1FBQ2QsNEJBQTRCO1FBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUU5Qix1QkFBdUI7UUFDdkIsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEIsQ0FBQzs7NEdBdkVRLGVBQWU7Z0hBQWYsZUFBZTsyRkFBZixlQUFlO2tCQUQzQixVQUFVOzswQkFXTSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtIdHRwRXJyb3JSZXNwb25zZSwgSHR0cEhhbmRsZXIsIEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3R9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHtjYXRjaEVycm9yLCBmaWx0ZXIsIGZpbmFsaXplLCBzd2l0Y2hNYXAsIHRha2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHtVU0VfQVVUSE9SSVpBVElPTn0gZnJvbSAnLi90b2tlbnMvdXNlLWF1dGhvcml6YXRpb24udG9rZW4nO1xyXG5pbXBvcnQge0F1dGhDb25maWd9IGZyb20gJy4vaW50ZXJmYWNlcy9jb25maWcuaW50ZXJmYWNlJztcclxuaW1wb3J0IHtIdHRwRXJyb3J9IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uL2h0dHAnO1xyXG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgb2YsIHRocm93RXJyb3J9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge0luamVjdGFibGUsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtBdXRofSBmcm9tICcuL2F1dGguc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBdXRoSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xyXG5cclxuICAgIC8vIFJlYWRvbmx5IGRhdGEuXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9hdXRoSGVhZGVyU3RyaW5nOiBzdHJpbmcgPSAnQXV0aG9yaXphdGlvbic7XHJcblxyXG4gICAgLy8gRGF0YS5cclxuICAgIGlzUmVmcmVzaGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcmVmcmVzaGluZ0FjY2Vzc1Rva2VuJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nIHwgbnVsbD4obnVsbCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfYXV0aDogQXV0aCxcclxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2NvbmZpZzogQXV0aENvbmZpZykge1xyXG4gICAgfVxyXG5cclxuICAgIGludGVyY2VwdChyZXF1ZXN0OiBIdHRwUmVxdWVzdDx1bmtub3duPiwgbmV4dDogSHR0cEhhbmRsZXIpIHtcclxuICAgICAgICAvLyAxLiBDaGVjayBpZiB0aGUgdXNlciB3YW50cyB0byB1c2UgdGhlIGF1dGhvcml6YXRpb24gZm9yIHRoaXMgcmVxdWVzdC5cclxuICAgICAgICBpZiAoIXJlcXVlc3QuY29udGV4dC5nZXQoVVNFX0FVVEhPUklaQVRJT04pKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIDIuIENvbXBvc2UgdGhlIG5ldyByZXF1ZXN0LlxyXG4gICAgICAgIGNvbnN0IGFjY2Vzc1Rva2VuID0gdGhpcy5nZXRBY2Nlc3NUb2tlbihyZXF1ZXN0KTtcclxuICAgICAgICBjb25zdCBuZXdSZXF1ZXN0ID0gdGhpcy5hZGRBdXRob3JpemF0aW9uSGVhZGVyKHJlcXVlc3QsIGFjY2Vzc1Rva2VuKTtcclxuXHJcbiAgICAgICAgLy8gMy4gSGFuZGxlIGFsbCBlcnJvcnMuXHJcbiAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKG5ld1JlcXVlc3QpLnBpcGUoXHJcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xyXG4gICAgICAgICAgICAgICAgLy8gSGFuZGxlIHRoZSBIVFRQNDAxIGVycm9yLlxyXG4gICAgICAgICAgICAgICAgaWYgKChlcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlIHx8IGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yKSAmJiBlcnJvcj8uc3RhdHVzID09PSA0MDEpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGU0MDFFcnJvcihyZXF1ZXN0LCBuZXh0KTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAvLyBKdXN0IHJlLXRocm93IHRoZSBwYXJzZWQgZXJyb3IuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGhhbmRsZTQwMUVycm9yKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PHVua25vd24+LCBuZXh0OiBIdHRwSGFuZGxlcikge1xyXG4gICAgICAgIC8vIElmIGFscmVhZHkgcmVmcmVzaGluZyB3YWl0IGZvciB0aGUgcmVmcmVzaCB0b2tlbiB0byBjb21wbGV0ZS5cclxuICAgICAgICBpZiAodGhpcy5pc1JlZnJlc2hpbmcpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVmcmVzaGluZ0FjY2Vzc1Rva2VuJC5waXBlKFxyXG4gICAgICAgICAgICAgICAgZmlsdGVyKGFjY2Vzc1Rva2VuID0+IGFjY2Vzc1Rva2VuICE9PSBudWxsKSxcclxuICAgICAgICAgICAgICAgIHRha2UoMSksXHJcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoYWNjZXNzVG9rZW4gPT4gbmV4dC5oYW5kbGUodGhpcy5hZGRBdXRob3JpemF0aW9uSGVhZGVyKHJlcXVlc3QsIGFjY2Vzc1Rva2VuKSkpXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBTZXQgdGhlIHJlZnJlc2hpbmcgdG8gdHJ1ZS5cclxuICAgICAgICB0aGlzLmlzUmVmcmVzaGluZyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5yZWZyZXNoaW5nQWNjZXNzVG9rZW4kLm5leHQobnVsbCk7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLl9hdXRoLnJlZnJlc2goKS5waXBlKFxyXG4gICAgICAgICAgICBzd2l0Y2hNYXAobmV3QWNjZXNzVG9rZW4gPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKCFuZXdBY2Nlc3NUb2tlbikge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcignTm8gcmVmcmVzaCB0b2tlbiB3YXMgYXZhaWxhYmxlLicpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlZnJlc2hpbmdBY2Nlc3NUb2tlbiQubmV4dChuZXdBY2Nlc3NUb2tlbik7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUodGhpcy5hZGRBdXRob3JpemF0aW9uSGVhZGVyKHJlcXVlc3QsIG5ld0FjY2Vzc1Rva2VuKSk7XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICBjYXRjaEVycm9yKCgpID0+IHRoaXMubG9nb3V0VXNlcigpKSxcclxuICAgICAgICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy5pc1JlZnJlc2hpbmcgPSBmYWxzZSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgbG9nb3V0VXNlcigpIHtcclxuICAgICAgICAvLyBIYW5kbGUgdGhlIHJlZnJlc2ggZXJyb3IuXHJcbiAgICAgICAgdGhpcy5fYXV0aC5jbGVhckFuZFJlZGlyZWN0KCk7XHJcblxyXG4gICAgICAgIC8vIFJldHVybiBudWxsIGFzIGRhdGEuXHJcbiAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0QWNjZXNzVG9rZW4gPSAocmVxdWVzdDogSHR0cFJlcXVlc3Q8dW5rbm93bj4pID0+IHtcclxuICAgICAgICAvLyBHZXQgdGhlIHRva2VuIGJhc2VkIG9uIGhlYWRlci5cclxuICAgICAgICBpZiAocmVxdWVzdC5oZWFkZXJzLmhhcygnQXV0aG9yaXphdGlvbicpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiByZXF1ZXN0LmhlYWRlcnMuZ2V0KCdBdXRob3JpemF0aW9uJyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBSZXR1cm4gdGhlIGRlZmF1bHQgYWNjZXNzIHRva2VuLlxyXG4gICAgICAgIHJldHVybiB0aGlzLl9hdXRoLnNlc3Npb24uYWNjZXNzVG9rZW47XHJcbiAgICB9O1xyXG5cclxuICAgIHByaXZhdGUgYWRkQXV0aG9yaXphdGlvbkhlYWRlciA9IChyZXF1ZXN0OiBIdHRwUmVxdWVzdDx1bmtub3duPiwgYWNjZXNzVG9rZW46IHN0cmluZyB8IG51bGwgPSBudWxsKSA9PiB7XHJcbiAgICAgICAgLy8gUmVtb3ZlIGF1dGggaGVhZGVyIHdoZW4gd2UgZG8gbm90IGhhdmVcclxuICAgICAgICAvLyBhbiBhY2Nlc3MgdG9rZW4uXHJcbiAgICAgICAgaWYgKCFhY2Nlc3NUb2tlbikge1xyXG4gICAgICAgICAgICByZXR1cm4gcmVxdWVzdC5jbG9uZSh7XHJcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiByZXF1ZXN0LmhlYWRlcnMuZGVsZXRlKHRoaXMuX2F1dGhIZWFkZXJTdHJpbmcpXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQWRkIHRoZSBhdXRoIGhlYWRlciB0byB0aGUgcmVxdWVzdC5cclxuICAgICAgICByZXR1cm4gcmVxdWVzdC5jbG9uZSh7XHJcbiAgICAgICAgICAgIHNldEhlYWRlcnM6IHtbdGhpcy5fYXV0aEhlYWRlclN0cmluZ106IHRoaXMuZ2V0RnVsbEF1dGhvcml6YXRpb25IZWFkZXIoYWNjZXNzVG9rZW4pfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfTtcclxuXHJcbiAgICBwcml2YXRlIGdldEZ1bGxBdXRob3JpemF0aW9uSGVhZGVyID0gKHRva2VuOiBzdHJpbmcpID0+IHtcclxuICAgICAgICBjb25zdCBhdXRoU2NoZW1lID0gdGhpcy5fY29uZmlnPy5zY2hlbWUgPz8gJ0JlYXJlcic7XHJcbiAgICAgICAgcmV0dXJuIFthdXRoU2NoZW1lLCB0b2tlbl0uam9pbignICcpO1xyXG4gICAgfTtcclxuXHJcbn1cclxuIl19
|
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
import { APP_INITIALIZER, NgModule } from '@angular/core';
|
|
2
|
-
import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
|
|
3
|
-
import { BbAuthenticated } from './directives/authenticated.directive';
|
|
4
|
-
import { BbPermission } from './directives/permission.directive';
|
|
5
|
-
import { AuthConfig } from './interfaces/config.interface';
|
|
6
|
-
import { AuthInterceptor } from './auth.interceptor';
|
|
7
|
-
import { AuthMapper } from './helpers/mapper.helper';
|
|
8
|
-
import { BbRole } from './directives/role.directive';
|
|
9
|
-
import { Permissions } from './permissions.service';
|
|
10
|
-
import { Auth } from './auth.service';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
const DECLARATIONS_EXPORTS = [
|
|
13
|
-
BbAuthenticated,
|
|
14
|
-
BbRole,
|
|
15
|
-
BbPermission
|
|
16
|
-
];
|
|
17
|
-
export class AuthModule {
|
|
18
|
-
static forRoot(config) {
|
|
19
|
-
return {
|
|
20
|
-
ngModule: AuthModule,
|
|
21
|
-
providers: [
|
|
22
|
-
Auth,
|
|
23
|
-
Permissions,
|
|
24
|
-
{ provide: AuthConfig, useValue: config },
|
|
25
|
-
{ provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true },
|
|
26
|
-
{ useFactory: initializeAuth, provide: APP_INITIALIZER, deps: [Auth], multi: true }
|
|
27
|
-
]
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
AuthModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
32
|
-
AuthModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "
|
|
33
|
-
BbRole,
|
|
34
|
-
BbPermission], imports: [HttpClientModule], exports: [BbAuthenticated,
|
|
35
|
-
BbRole,
|
|
36
|
-
BbPermission] });
|
|
37
|
-
AuthModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
38
|
-
{ provide: AuthMapper, useClass: AuthMapper }
|
|
39
|
-
], imports: [
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
41
|
-
type: NgModule,
|
|
42
|
-
args: [{
|
|
43
|
-
imports: [HttpClientModule],
|
|
44
|
-
declarations: [...DECLARATIONS_EXPORTS],
|
|
45
|
-
exports: [...DECLARATIONS_EXPORTS],
|
|
46
|
-
providers: [
|
|
47
|
-
{ provide: AuthMapper, useClass: AuthMapper }
|
|
48
|
-
]
|
|
49
|
-
}]
|
|
50
|
-
}] });
|
|
51
|
-
export function initializeAuth(auth) {
|
|
52
|
-
return auth.initialize();
|
|
53
|
-
}
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { APP_INITIALIZER, NgModule } from '@angular/core';
|
|
2
|
+
import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
|
|
3
|
+
import { BbAuthenticated } from './directives/authenticated.directive';
|
|
4
|
+
import { BbPermission } from './directives/permission.directive';
|
|
5
|
+
import { AuthConfig } from './interfaces/config.interface';
|
|
6
|
+
import { AuthInterceptor } from './auth.interceptor';
|
|
7
|
+
import { AuthMapper } from './helpers/mapper.helper';
|
|
8
|
+
import { BbRole } from './directives/role.directive';
|
|
9
|
+
import { Permissions } from './permissions.service';
|
|
10
|
+
import { Auth } from './auth.service';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
const DECLARATIONS_EXPORTS = [
|
|
13
|
+
BbAuthenticated,
|
|
14
|
+
BbRole,
|
|
15
|
+
BbPermission
|
|
16
|
+
];
|
|
17
|
+
export class AuthModule {
|
|
18
|
+
static forRoot(config) {
|
|
19
|
+
return {
|
|
20
|
+
ngModule: AuthModule,
|
|
21
|
+
providers: [
|
|
22
|
+
Auth,
|
|
23
|
+
Permissions,
|
|
24
|
+
{ provide: AuthConfig, useValue: config },
|
|
25
|
+
{ provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true },
|
|
26
|
+
{ useFactory: initializeAuth, provide: APP_INITIALIZER, deps: [Auth], multi: true }
|
|
27
|
+
]
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
AuthModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: AuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
32
|
+
AuthModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.3", ngImport: i0, type: AuthModule, declarations: [BbAuthenticated,
|
|
33
|
+
BbRole,
|
|
34
|
+
BbPermission], imports: [HttpClientModule], exports: [BbAuthenticated,
|
|
35
|
+
BbRole,
|
|
36
|
+
BbPermission] });
|
|
37
|
+
AuthModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: AuthModule, providers: [
|
|
38
|
+
{ provide: AuthMapper, useClass: AuthMapper }
|
|
39
|
+
], imports: [HttpClientModule] });
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: AuthModule, decorators: [{
|
|
41
|
+
type: NgModule,
|
|
42
|
+
args: [{
|
|
43
|
+
imports: [HttpClientModule],
|
|
44
|
+
declarations: [...DECLARATIONS_EXPORTS],
|
|
45
|
+
exports: [...DECLARATIONS_EXPORTS],
|
|
46
|
+
providers: [
|
|
47
|
+
{ provide: AuthMapper, useClass: AuthMapper }
|
|
48
|
+
]
|
|
49
|
+
}]
|
|
50
|
+
}] });
|
|
51
|
+
export function initializeAuth(auth) {
|
|
52
|
+
return auth.initialize();
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2F1dGgvc3JjL2xpYi9hdXRoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZUFBZSxFQUF1QixRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDekUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDekQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDbkQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ2xELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFcEMsTUFBTSxvQkFBb0IsR0FBRztJQUN6QixlQUFlO0lBQ2YsTUFBTTtJQUNOLFlBQVk7Q0FDZixDQUFDO0FBVUYsTUFBTSxPQUFPLFVBQVU7SUFFbkIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFtQjtRQUM5QixPQUFPO1lBQ0gsUUFBUSxFQUFFLFVBQVU7WUFDcEIsU0FBUyxFQUFFO2dCQUNQLElBQUk7Z0JBQ0osV0FBVztnQkFDWCxFQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBQztnQkFDdkMsRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDO2dCQUNwRSxFQUFDLFVBQVUsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDO2FBQ3BGO1NBQ0osQ0FBQztJQUNOLENBQUM7O3VHQWJRLFVBQVU7d0dBQVYsVUFBVSxpQkFibkIsZUFBZTtRQUNmLE1BQU07UUFDTixZQUFZLGFBSUYsZ0JBQWdCLGFBTjFCLGVBQWU7UUFDZixNQUFNO1FBQ04sWUFBWTt3R0FXSCxVQUFVLGFBSlI7UUFDUCxFQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBQztLQUM5QyxZQUxTLGdCQUFnQjsyRkFPakIsVUFBVTtrQkFSdEIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDM0IsWUFBWSxFQUFFLENBQUMsR0FBRyxvQkFBb0IsQ0FBQztvQkFDdkMsT0FBTyxFQUFFLENBQUMsR0FBRyxvQkFBb0IsQ0FBQztvQkFDbEMsU0FBUyxFQUFFO3dCQUNQLEVBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFDO3FCQUM5QztpQkFDSjs7QUFrQkQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxJQUFVO0lBQ3JDLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0FBQzdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FQUF9JTklUSUFMSVpFUiwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0hUVFBfSU5URVJDRVBUT1JTLCBIdHRwQ2xpZW50TW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7QmJBdXRoZW50aWNhdGVkfSBmcm9tICcuL2RpcmVjdGl2ZXMvYXV0aGVudGljYXRlZC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQge0JiUGVybWlzc2lvbn0gZnJvbSAnLi9kaXJlY3RpdmVzL3Blcm1pc3Npb24uZGlyZWN0aXZlJztcclxuaW1wb3J0IHtBdXRoQ29uZmlnfSBmcm9tICcuL2ludGVyZmFjZXMvY29uZmlnLmludGVyZmFjZSc7XHJcbmltcG9ydCB7QXV0aEludGVyY2VwdG9yfSBmcm9tICcuL2F1dGguaW50ZXJjZXB0b3InO1xyXG5pbXBvcnQge0F1dGhNYXBwZXJ9IGZyb20gJy4vaGVscGVycy9tYXBwZXIuaGVscGVyJztcclxuaW1wb3J0IHtCYlJvbGV9IGZyb20gJy4vZGlyZWN0aXZlcy9yb2xlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7UGVybWlzc2lvbnN9IGZyb20gJy4vcGVybWlzc2lvbnMuc2VydmljZSc7XHJcbmltcG9ydCB7QXV0aH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xyXG5cclxuY29uc3QgREVDTEFSQVRJT05TX0VYUE9SVFMgPSBbXHJcbiAgICBCYkF1dGhlbnRpY2F0ZWQsXHJcbiAgICBCYlJvbGUsXHJcbiAgICBCYlBlcm1pc3Npb25cclxuXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbSHR0cENsaWVudE1vZHVsZV0sXHJcbiAgICBkZWNsYXJhdGlvbnM6IFsuLi5ERUNMQVJBVElPTlNfRVhQT1JUU10sXHJcbiAgICBleHBvcnRzOiBbLi4uREVDTEFSQVRJT05TX0VYUE9SVFNdLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge3Byb3ZpZGU6IEF1dGhNYXBwZXIsIHVzZUNsYXNzOiBBdXRoTWFwcGVyfVxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXV0aE1vZHVsZSB7XHJcblxyXG4gICAgc3RhdGljIGZvclJvb3QoY29uZmlnPzogQXV0aENvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QXV0aE1vZHVsZT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIG5nTW9kdWxlOiBBdXRoTW9kdWxlLFxyXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICAgICAgICAgIEF1dGgsXHJcbiAgICAgICAgICAgICAgICBQZXJtaXNzaW9ucyxcclxuICAgICAgICAgICAgICAgIHtwcm92aWRlOiBBdXRoQ29uZmlnLCB1c2VWYWx1ZTogY29uZmlnfSxcclxuICAgICAgICAgICAgICAgIHtwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUywgdXNlQ2xhc3M6IEF1dGhJbnRlcmNlcHRvciwgbXVsdGk6IHRydWV9LFxyXG4gICAgICAgICAgICAgICAge3VzZUZhY3Rvcnk6IGluaXRpYWxpemVBdXRoLCBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsIGRlcHM6IFtBdXRoXSwgbXVsdGk6IHRydWV9XHJcbiAgICAgICAgICAgIF1cclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGluaXRpYWxpemVBdXRoKGF1dGg6IEF1dGgpIHtcclxuICAgIHJldHVybiBhdXRoLmluaXRpYWxpemUoKTtcclxufVxyXG4iXX0=
|