new-front-common-library 16.1.32-ROY-6 → 16.1.32
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 +28 -28
- package/assets/css/_dark-theme.scss +243 -243
- package/assets/css/_flex.scss +55 -55
- package/assets/css/_global.scss +417 -417
- package/assets/css/_light-theme.scss +221 -221
- package/assets/css/_mat-palettes.scss +98 -98
- package/assets/css/_themes.scss +56 -56
- package/assets/css/_themes_v18.scss +55 -55
- package/assets/css/material/_mdc-dark-theme.scss +265 -265
- package/assets/css/material/_mdc-light-theme.scss +264 -264
- package/assets/css/material/_mdc.scss +408 -408
- package/assets/css/old-themes/_dark-theme.scss +639 -639
- package/assets/css/old-themes/_global.scss +689 -689
- package/assets/css/old-themes/_light-theme.scss +646 -646
- package/assets/css/old-themes/_themes-deprecated.scss +65 -65
- package/assets/i18n/front-common/de.json +30 -30
- package/assets/i18n/front-common/en.json +30 -30
- package/assets/i18n/front-common/fr.json +30 -30
- package/esm2022/lib/util/array.service.mjs +19 -19
- package/esm2022/lib/util/component/header/header.component.mjs +221 -230
- package/esm2022/lib/util/component/header/menu/menu.component.mjs +96 -96
- package/esm2022/lib/util/component/header/menu/menu.const.mjs +551 -544
- package/esm2022/lib/util/component/header/menu/menu.model.mjs +2 -2
- package/esm2022/lib/util/component/overlay/overlay.component.mjs +40 -40
- package/esm2022/lib/util/component/overlay/overlay.service.mjs +24 -24
- package/esm2022/lib/util/component/popup/popup-login/popup-login.component.mjs +90 -90
- package/esm2022/lib/util/component/sub-header/sub-header.component.mjs +44 -44
- package/esm2022/lib/util/config.mjs +8 -8
- package/esm2022/lib/util/date/PeriodModel.mjs +8 -8
- package/esm2022/lib/util/date/date-format-constants.mjs +12 -12
- package/esm2022/lib/util/date/date.util.mjs +218 -218
- package/esm2022/lib/util/decorators/theme.decorator.mjs +22 -22
- package/esm2022/lib/util/decorators/user.decorator.mjs +25 -25
- package/esm2022/lib/util/directives/my-number-formatter-directive.mjs +34 -34
- package/esm2022/lib/util/directives/show-if-truncated.directive.mjs +25 -25
- package/esm2022/lib/util/enums/family.enum.mjs +6 -6
- package/esm2022/lib/util/enums/rapid-search-item-type.enum.mjs +12 -15
- package/esm2022/lib/util/enums/status-color.enum.mjs +11 -11
- package/esm2022/lib/util/event/header/header-events.service.mjs +21 -21
- package/esm2022/lib/util/event/storage/local-storage-events.service.mjs +17 -17
- package/esm2022/lib/util/event/storage/session-storage-events.service.mjs +18 -18
- package/esm2022/lib/util/http/http-params.builder.mjs +27 -27
- package/esm2022/lib/util/i18n/de.mjs +159 -158
- package/esm2022/lib/util/i18n/en.mjs +159 -162
- package/esm2022/lib/util/i18n/fr.mjs +159 -162
- package/esm2022/lib/util/i18n/multi-translate-http-loader.mjs +21 -21
- package/esm2022/lib/util/interfaces/permissions.interface.mjs +2 -2
- package/esm2022/lib/util/models/any-line.model.mjs +37 -37
- package/esm2022/lib/util/models/audio-content.model.mjs +27 -27
- package/esm2022/lib/util/models/authPermission.model.mjs +16 -16
- package/esm2022/lib/util/models/authUser.model.mjs +21 -21
- package/esm2022/lib/util/models/basic.model.mjs +14 -14
- package/esm2022/lib/util/models/box-set-item.model.mjs +19 -19
- package/esm2022/lib/util/models/commercial/deal-rapid-search-model.mjs +3 -3
- package/esm2022/lib/util/models/commercial/invoice-rapid-search-model.mjs +9 -9
- package/esm2022/lib/util/models/commercial/work-record-rapid-search-model.mjs +13 -13
- package/esm2022/lib/util/models/disc-program.model.mjs +26 -26
- package/esm2022/lib/util/models/disc.model.mjs +22 -22
- package/esm2022/lib/util/models/eventType.model.mjs +7 -7
- package/esm2022/lib/util/models/expenditure-commitment/purchase-order-file.model.mjs +22 -22
- package/esm2022/lib/util/models/expenditure-commitment/purchase-order-rapid-search.model.mjs +3 -3
- package/esm2022/lib/util/models/family.model.mjs +7 -7
- package/esm2022/lib/util/models/index.mjs +101 -101
- package/esm2022/lib/util/models/lang-line.model.mjs +27 -27
- package/esm2022/lib/util/models/legal/contract-rapid-search-model.mjs +3 -3
- package/esm2022/lib/util/models/legal/contract-work.model.mjs +23 -23
- package/esm2022/lib/util/models/legal/contract-work2.model.mjs +21 -21
- package/esm2022/lib/util/models/legal/type-status-rapid-search.model.mjs +3 -3
- package/esm2022/lib/util/models/media-line.model.mjs +18 -18
- package/esm2022/lib/util/models/menu-language.model.mjs +15 -15
- package/esm2022/lib/util/models/permission.model.mjs +20 -20
- package/esm2022/lib/util/models/product-box-set.model.mjs +16 -16
- package/esm2022/lib/util/models/product-disc-detail.model.mjs +22 -22
- package/esm2022/lib/util/models/product-disc.model.mjs +27 -27
- package/esm2022/lib/util/models/product-division.model.mjs +29 -29
- package/esm2022/lib/util/models/product-type.model.mjs +22 -22
- package/esm2022/lib/util/models/product.model.mjs +62 -62
- package/esm2022/lib/util/models/program.model.mjs +28 -28
- package/esm2022/lib/util/models/purchase-order/purchase-order.model.mjs +53 -53
- package/esm2022/lib/util/models/referential/WorkVersionArticleDto.mjs +17 -17
- package/esm2022/lib/util/models/referential/adress-type.model.mjs +14 -14
- package/esm2022/lib/util/models/referential/adress.model.mjs +28 -28
- package/esm2022/lib/util/models/referential/attached-file.model.mjs +17 -17
- package/esm2022/lib/util/models/referential/bank-account.model.mjs +24 -24
- package/esm2022/lib/util/models/referential/bank-accounts.model.mjs +31 -31
- package/esm2022/lib/util/models/referential/basic-hierarchy.model.mjs +8 -8
- package/esm2022/lib/util/models/referential/broadcast-list-item.model.mjs +13 -13
- package/esm2022/lib/util/models/referential/color.model.mjs +16 -16
- package/esm2022/lib/util/models/referential/company.model.mjs +16 -16
- package/esm2022/lib/util/models/referential/content-type.model.mjs +17 -17
- package/esm2022/lib/util/models/referential/content.model.mjs +22 -22
- package/esm2022/lib/util/models/referential/cost-center-criteria-values.model.mjs +14 -14
- package/esm2022/lib/util/models/referential/cost-center-criteria.model.mjs +13 -13
- package/esm2022/lib/util/models/referential/cost-center.model.mjs +28 -28
- package/esm2022/lib/util/models/referential/coutry.model.mjs +16 -16
- package/esm2022/lib/util/models/referential/currency.model.mjs +20 -20
- package/esm2022/lib/util/models/referential/editorial-content.model.mjs +18 -18
- package/esm2022/lib/util/models/referential/fixing.model.mjs +16 -16
- package/esm2022/lib/util/models/referential/flat-media.model.mjs +18 -18
- package/esm2022/lib/util/models/referential/format-image.model.mjs +16 -16
- package/esm2022/lib/util/models/referential/format-type.model.mjs +16 -16
- package/esm2022/lib/util/models/referential/format.model.mjs +17 -17
- package/esm2022/lib/util/models/referential/fsk-index.model.mjs +20 -20
- package/esm2022/lib/util/models/referential/fsk.model.mjs +22 -22
- package/esm2022/lib/util/models/referential/function.model.mjs +23 -23
- package/esm2022/lib/util/models/referential/genre.model.mjs +17 -17
- package/esm2022/lib/util/models/referential/invoice-product-type.model.mjs +22 -22
- package/esm2022/lib/util/models/referential/keywords.model.mjs +13 -13
- package/esm2022/lib/util/models/referential/language.model.mjs +18 -18
- package/esm2022/lib/util/models/referential/media-filter.model.mjs +3 -3
- package/esm2022/lib/util/models/referential/media.model.mjs +20 -20
- package/esm2022/lib/util/models/referential/module.model.mjs +20 -20
- package/esm2022/lib/util/models/referential/parameter.model.mjs +2 -2
- package/esm2022/lib/util/models/referential/participant.model.mjs +20 -20
- package/esm2022/lib/util/models/referential/person.model.mjs +23 -23
- package/esm2022/lib/util/models/referential/project-status.model.mjs +16 -16
- package/esm2022/lib/util/models/referential/quota.model.mjs +17 -17
- package/esm2022/lib/util/models/referential/referential-entity-state.model.mjs +16 -16
- package/esm2022/lib/util/models/referential/referential-value.model.mjs +16 -16
- package/esm2022/lib/util/models/referential/referentiel.model.mjs +26 -26
- package/esm2022/lib/util/models/referential/restriction.model.mjs +20 -20
- package/esm2022/lib/util/models/referential/sap-order.model.mjs +20 -20
- package/esm2022/lib/util/models/referential/service-error.model.mjs +15 -15
- package/esm2022/lib/util/models/referential/sound.model.mjs +16 -16
- package/esm2022/lib/util/models/referential/territories-languages.model.mjs +16 -16
- package/esm2022/lib/util/models/referential/territory-filter.model.mjs +3 -3
- package/esm2022/lib/util/models/referential/territory.model.mjs +17 -17
- package/esm2022/lib/util/models/referential/theme.model.mjs +17 -17
- package/esm2022/lib/util/models/referential/third-party-address-rapid-search.model.mjs +3 -3
- package/esm2022/lib/util/models/referential/third-party-creation-request.model.mjs +44 -44
- package/esm2022/lib/util/models/referential/third-party-module.model.mjs +20 -20
- package/esm2022/lib/util/models/referential/third-party-rapid-search.model.mjs +3 -3
- package/esm2022/lib/util/models/referential/third-party.model.mjs +83 -83
- package/esm2022/lib/util/models/referential/translated-value-model.mjs +16 -16
- package/esm2022/lib/util/models/referential/tva.model.mjs +16 -16
- package/esm2022/lib/util/models/referential/type-export.model.mjs +16 -16
- package/esm2022/lib/util/models/referential/type-tva-company-territory.model.mjs +32 -32
- package/esm2022/lib/util/models/referential/type-tva.model.mjs +25 -25
- package/esm2022/lib/util/models/referential/user-form.model.mjs +2 -2
- package/esm2022/lib/util/models/referential/work-addons-model.mjs +16 -16
- package/esm2022/lib/util/models/referential/work-appartenance.model.mjs +17 -17
- package/esm2022/lib/util/models/referential/work-genre.model.mjs +16 -16
- package/esm2022/lib/util/models/referential/work-language.model.mjs +16 -16
- package/esm2022/lib/util/models/referential/work-milo.model.mjs +61 -61
- package/esm2022/lib/util/models/referential/work-participant.model.mjs +21 -21
- package/esm2022/lib/util/models/referential/work-restrictions-model.mjs +13 -13
- package/esm2022/lib/util/models/referential/work-theme.model.mjs +16 -16
- package/esm2022/lib/util/models/referential/work-title.model.mjs +20 -20
- package/esm2022/lib/util/models/referential/work-version-origin.model.mjs +16 -16
- package/esm2022/lib/util/models/referential/work-version-rapid-search.model.mjs +3 -3
- package/esm2022/lib/util/models/referential/work-versions-used.model.mjs +19 -19
- package/esm2022/lib/util/models/referential/work-versions.model.mjs +27 -27
- package/esm2022/lib/util/models/referential/work-year-production.model.mjs +13 -13
- package/esm2022/lib/util/models/referential/work.model.mjs +22 -22
- package/esm2022/lib/util/models/referential/zone.model.mjs +14 -14
- package/esm2022/lib/util/models/referentiel.model.mjs +26 -26
- package/esm2022/lib/util/models/search-response.model.mjs +10 -10
- package/esm2022/lib/util/models/section.model.mjs +8 -8
- package/esm2022/lib/util/models/select/options.model.mjs +8 -8
- package/esm2022/lib/util/models/select/select.model.mjs +7 -7
- package/esm2022/lib/util/models/subsidiary.model.mjs +8 -8
- package/esm2022/lib/util/models/subtitle-content.model.mjs +28 -28
- package/esm2022/lib/util/models/user-video.model.mjs +22 -22
- package/esm2022/lib/util/models/user.model.mjs +35 -35
- package/esm2022/lib/util/models/video/product-rapid-search.model.mjs +3 -3
- package/esm2022/lib/util/models/video/support-rapid-search.model.mjs +3 -3
- package/esm2022/lib/util/models/video-content.model.mjs +18 -18
- package/esm2022/lib/util/number.validator.mjs +129 -129
- package/esm2022/lib/util/paginator/custom-paginator-configuration.mjs +59 -59
- package/esm2022/lib/util/permissions/permissions.service.mjs +49 -49
- package/esm2022/lib/util/pipes/capitalizefirst.pipe.mjs +41 -41
- package/esm2022/lib/util/pipes/comma-separated-number.pipe.mjs +15 -15
- package/esm2022/lib/util/pipes/common-translate.pipe.mjs +38 -38
- package/esm2022/lib/util/pipes/display-html.pipe.mjs +20 -20
- package/esm2022/lib/util/pipes/display-null.pipe.mjs +24 -24
- package/esm2022/lib/util/pipes/format-currency.pipe.mjs +31 -31
- package/esm2022/lib/util/pipes/format-duration.pipe.mjs +23 -23
- package/esm2022/lib/util/pipes/format-number-input.pipe.mjs +22 -22
- package/esm2022/lib/util/pipes/local-date.pipe.mjs +27 -27
- package/esm2022/lib/util/pipes/my-number.pipe.mjs +44 -44
- package/esm2022/lib/util/pipes/third-party-address-search.pipe.mjs +15 -15
- package/esm2022/lib/util/pipes/third-party-address.pipe.mjs +16 -16
- package/esm2022/lib/util/pipes/trim-string.pipe.mjs +25 -25
- package/esm2022/lib/util/regex/regex.service.mjs +94 -94
- package/esm2022/lib/util/services/api/commercial-api.service.mjs +28 -28
- package/esm2022/lib/util/services/api/common-api.service.mjs +98 -98
- package/esm2022/lib/util/services/api/legal-api.service.mjs +32 -32
- package/esm2022/lib/util/services/api/video-api.service.mjs +45 -45
- package/esm2022/lib/util/services/auth/auth.service.mjs +18 -18
- package/esm2022/lib/util/services/elasticsearch/elasticsearch.service.mjs +158 -180
- package/esm2022/lib/util/services/elasticsearch/subsidiaries.service.mjs +48 -48
- package/esm2022/lib/util/services/form-action/form-actions-events.service.mjs +25 -25
- package/esm2022/lib/util/services/guard/auth.guard.mjs +32 -32
- package/esm2022/lib/util/services/guard/login.guard.mjs +23 -23
- package/esm2022/lib/util/services/history/history.service.mjs +39 -39
- package/esm2022/lib/util/services/interceptor/auth.interceptor.mjs +53 -53
- package/esm2022/lib/util/services/jwt-security/aes.service.mjs +34 -34
- package/esm2022/lib/util/services/jwt-security/interceptorhttp.service.mjs +18 -18
- package/esm2022/lib/util/services/jwt-security/jwt.helpher.mjs +34 -34
- package/esm2022/lib/util/services/storage/local-storage.service.mjs +36 -36
- package/esm2022/lib/util/services/storage/session-storage.service.mjs +38 -38
- package/esm2022/lib/util/services/translate-language/lang.service.mjs +31 -31
- package/esm2022/lib/util/services/user/user-subsidiary.service.mjs +22 -22
- package/esm2022/lib/util/sort.mjs +22 -22
- package/esm2022/lib/util/theme/theme-event.service.mjs +17 -17
- package/esm2022/lib/util/toaster/toaster-events.service.mjs +32 -32
- package/esm2022/lib/util/util.module.mjs +281 -281
- package/esm2022/new-front-common-library.mjs +4 -4
- package/esm2022/public-api.mjs +59 -59
- package/fesm2022/new-front-common-library.mjs +5524 -5556
- package/fesm2022/new-front-common-library.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/lib/util/array.service.d.ts +7 -7
- package/lib/util/component/header/header.component.d.ts +74 -74
- package/lib/util/component/header/menu/menu.component.d.ts +27 -27
- package/lib/util/component/header/menu/menu.const.d.ts +2 -2
- package/lib/util/component/header/menu/menu.model.d.ts +23 -23
- package/lib/util/component/overlay/overlay.component.d.ts +17 -17
- package/lib/util/component/overlay/overlay.service.d.ts +13 -13
- package/lib/util/component/popup/popup-login/popup-login.component.d.ts +35 -35
- package/lib/util/component/sub-header/sub-header.component.d.ts +13 -13
- package/lib/util/config.d.ts +8 -8
- package/lib/util/date/PeriodModel.d.ts +6 -6
- package/lib/util/date/date-format-constants.d.ts +25 -25
- package/lib/util/date/date.util.d.ts +16 -16
- package/lib/util/decorators/theme.decorator.d.ts +1 -1
- package/lib/util/decorators/user.decorator.d.ts +1 -1
- package/lib/util/directives/my-number-formatter-directive.d.ts +15 -15
- package/lib/util/directives/show-if-truncated.directive.d.ts +11 -11
- package/lib/util/enums/family.enum.d.ts +4 -4
- package/lib/util/enums/rapid-search-item-type.enum.d.ts +10 -13
- package/lib/util/enums/status-color.enum.d.ts +9 -9
- package/lib/util/event/header/header-events.service.d.ts +11 -11
- package/lib/util/event/storage/local-storage-events.service.d.ts +9 -9
- package/lib/util/event/storage/session-storage-events.service.d.ts +10 -10
- package/lib/util/http/http-params.builder.d.ts +9 -9
- package/lib/util/i18n/de.d.ts +142 -141
- package/lib/util/i18n/en.d.ts +142 -145
- package/lib/util/i18n/fr.d.ts +142 -145
- package/lib/util/i18n/multi-translate-http-loader.d.ts +14 -14
- package/lib/util/interfaces/permissions.interface.d.ts +3 -3
- package/lib/util/models/any-line.model.d.ts +24 -24
- package/lib/util/models/audio-content.model.d.ts +27 -27
- package/lib/util/models/authPermission.model.d.ts +7 -7
- package/lib/util/models/authUser.model.d.ts +16 -16
- package/lib/util/models/basic.model.d.ts +11 -11
- package/lib/util/models/box-set-item.model.d.ts +12 -12
- package/lib/util/models/commercial/deal-rapid-search-model.d.ts +10 -10
- package/lib/util/models/commercial/invoice-rapid-search-model.d.ts +18 -18
- package/lib/util/models/commercial/work-record-rapid-search-model.d.ts +21 -21
- package/lib/util/models/disc-program.model.d.ts +9 -9
- package/lib/util/models/disc.model.d.ts +15 -15
- package/lib/util/models/eventType.model.d.ts +5 -5
- package/lib/util/models/expenditure-commitment/purchase-order-file.model.d.ts +8 -8
- package/lib/util/models/expenditure-commitment/purchase-order-rapid-search.model.d.ts +10 -10
- package/lib/util/models/family.model.d.ts +5 -5
- package/lib/util/models/index.d.ts +100 -100
- package/lib/util/models/lang-line.model.d.ts +18 -18
- package/lib/util/models/legal/contract-rapid-search-model.d.ts +10 -10
- package/lib/util/models/legal/contract-work.model.d.ts +27 -27
- package/lib/util/models/legal/contract-work2.model.d.ts +23 -23
- package/lib/util/models/legal/type-status-rapid-search.model.d.ts +5 -5
- package/lib/util/models/media-line.model.d.ts +9 -9
- package/lib/util/models/menu-language.model.d.ts +6 -6
- package/lib/util/models/permission.model.d.ts +12 -12
- package/lib/util/models/product-box-set.model.d.ts +8 -8
- package/lib/util/models/product-disc-detail.model.d.ts +14 -14
- package/lib/util/models/product-disc.model.d.ts +11 -11
- package/lib/util/models/product-division.model.d.ts +15 -15
- package/lib/util/models/product-type.model.d.ts +7 -7
- package/lib/util/models/product.model.d.ts +52 -52
- package/lib/util/models/program.model.d.ts +21 -21
- package/lib/util/models/purchase-order/purchase-order.model.d.ts +40 -40
- package/lib/util/models/referential/WorkVersionArticleDto.d.ts +10 -10
- package/lib/util/models/referential/adress-type.model.d.ts +5 -5
- package/lib/util/models/referential/adress.model.d.ts +20 -20
- package/lib/util/models/referential/attached-file.model.d.ts +11 -11
- package/lib/util/models/referential/bank-account.model.d.ts +15 -15
- package/lib/util/models/referential/bank-accounts.model.d.ts +17 -17
- package/lib/util/models/referential/basic-hierarchy.model.d.ts +6 -6
- package/lib/util/models/referential/broadcast-list-item.model.d.ts +8 -8
- package/lib/util/models/referential/color.model.d.ts +6 -6
- package/lib/util/models/referential/company.model.d.ts +7 -7
- package/lib/util/models/referential/content-type.model.d.ts +12 -12
- package/lib/util/models/referential/content.model.d.ts +7 -7
- package/lib/util/models/referential/cost-center-criteria-values.model.d.ts +7 -7
- package/lib/util/models/referential/cost-center-criteria.model.d.ts +12 -12
- package/lib/util/models/referential/cost-center.model.d.ts +18 -18
- package/lib/util/models/referential/coutry.model.d.ts +7 -7
- package/lib/util/models/referential/currency.model.d.ts +11 -11
- package/lib/util/models/referential/editorial-content.model.d.ts +25 -25
- package/lib/util/models/referential/fixing.model.d.ts +10 -10
- package/lib/util/models/referential/flat-media.model.d.ts +9 -9
- package/lib/util/models/referential/format-image.model.d.ts +7 -7
- package/lib/util/models/referential/format-type.model.d.ts +6 -6
- package/lib/util/models/referential/format.model.d.ts +7 -7
- package/lib/util/models/referential/fsk-index.model.d.ts +22 -22
- package/lib/util/models/referential/fsk.model.d.ts +37 -37
- package/lib/util/models/referential/function.model.d.ts +8 -8
- package/lib/util/models/referential/genre.model.d.ts +7 -7
- package/lib/util/models/referential/invoice-product-type.model.d.ts +7 -7
- package/lib/util/models/referential/keywords.model.d.ts +6 -6
- package/lib/util/models/referential/language.model.d.ts +11 -11
- package/lib/util/models/referential/media-filter.model.d.ts +10 -10
- package/lib/util/models/referential/media.model.d.ts +11 -11
- package/lib/util/models/referential/module.model.d.ts +11 -11
- package/lib/util/models/referential/parameter.model.d.ts +6 -6
- package/lib/util/models/referential/participant.model.d.ts +11 -11
- package/lib/util/models/referential/person.model.d.ts +13 -13
- package/lib/util/models/referential/project-status.model.d.ts +6 -6
- package/lib/util/models/referential/quota.model.d.ts +7 -7
- package/lib/util/models/referential/referential-entity-state.model.d.ts +11 -11
- package/lib/util/models/referential/referential-value.model.d.ts +11 -11
- package/lib/util/models/referential/referentiel.model.d.ts +12 -12
- package/lib/util/models/referential/restriction.model.d.ts +9 -9
- package/lib/util/models/referential/sap-order.model.d.ts +27 -27
- package/lib/util/models/referential/service-error.model.d.ts +13 -13
- package/lib/util/models/referential/sound.model.d.ts +6 -6
- package/lib/util/models/referential/territories-languages.model.d.ts +8 -8
- package/lib/util/models/referential/territory-filter.model.d.ts +6 -6
- package/lib/util/models/referential/territory.model.d.ts +12 -12
- package/lib/util/models/referential/theme.model.d.ts +7 -7
- package/lib/util/models/referential/third-party-address-rapid-search.model.d.ts +8 -8
- package/lib/util/models/referential/third-party-creation-request.model.d.ts +48 -48
- package/lib/util/models/referential/third-party-module.model.d.ts +11 -11
- package/lib/util/models/referential/third-party-rapid-search.model.d.ts +8 -8
- package/lib/util/models/referential/third-party.model.d.ts +45 -45
- package/lib/util/models/referential/translated-value-model.d.ts +10 -10
- package/lib/util/models/referential/tva.model.d.ts +7 -7
- package/lib/util/models/referential/type-export.model.d.ts +7 -7
- package/lib/util/models/referential/type-tva-company-territory.model.d.ts +18 -18
- package/lib/util/models/referential/type-tva.model.d.ts +10 -10
- package/lib/util/models/referential/user-form.model.d.ts +5 -5
- package/lib/util/models/referential/work-addons-model.d.ts +25 -25
- package/lib/util/models/referential/work-appartenance.model.d.ts +7 -7
- package/lib/util/models/referential/work-genre.model.d.ts +11 -11
- package/lib/util/models/referential/work-language.model.d.ts +11 -11
- package/lib/util/models/referential/work-milo.model.d.ts +46 -46
- package/lib/util/models/referential/work-participant.model.d.ts +10 -10
- package/lib/util/models/referential/work-restrictions-model.d.ts +18 -18
- package/lib/util/models/referential/work-theme.model.d.ts +11 -11
- package/lib/util/models/referential/work-title.model.d.ts +10 -10
- package/lib/util/models/referential/work-version-origin.model.d.ts +10 -10
- package/lib/util/models/referential/work-version-rapid-search.model.d.ts +9 -9
- package/lib/util/models/referential/work-versions-used.model.d.ts +12 -12
- package/lib/util/models/referential/work-versions.model.d.ts +29 -29
- package/lib/util/models/referential/work-year-production.model.d.ts +6 -6
- package/lib/util/models/referential/work.model.d.ts +74 -74
- package/lib/util/models/referential/zone.model.d.ts +6 -6
- package/lib/util/models/referentiel.model.d.ts +12 -12
- package/lib/util/models/search-response.model.d.ts +7 -7
- package/lib/util/models/section.model.d.ts +7 -7
- package/lib/util/models/select/options.model.d.ts +6 -6
- package/lib/util/models/select/select.model.d.ts +5 -5
- package/lib/util/models/subsidiary.model.d.ts +7 -7
- package/lib/util/models/subtitle-content.model.d.ts +26 -26
- package/lib/util/models/user-video.model.d.ts +10 -10
- package/lib/util/models/user.model.d.ts +27 -27
- package/lib/util/models/video/product-rapid-search.model.d.ts +8 -8
- package/lib/util/models/video/support-rapid-search.model.d.ts +6 -6
- package/lib/util/models/video-content.model.d.ts +24 -24
- package/lib/util/number.validator.d.ts +14 -14
- package/lib/util/paginator/custom-paginator-configuration.d.ts +16 -16
- package/lib/util/permissions/permissions.service.d.ts +15 -15
- package/lib/util/pipes/capitalizefirst.pipe.d.ts +8 -8
- package/lib/util/pipes/comma-separated-number.pipe.d.ts +7 -7
- package/lib/util/pipes/common-translate.pipe.d.ts +12 -12
- package/lib/util/pipes/display-html.pipe.d.ts +10 -10
- package/lib/util/pipes/display-null.pipe.d.ts +8 -8
- package/lib/util/pipes/format-currency.pipe.d.ts +10 -10
- package/lib/util/pipes/format-duration.pipe.d.ts +7 -7
- package/lib/util/pipes/format-number-input.pipe.d.ts +7 -7
- package/lib/util/pipes/local-date.pipe.d.ts +9 -9
- package/lib/util/pipes/my-number.pipe.d.ts +11 -11
- package/lib/util/pipes/third-party-address-search.pipe.d.ts +8 -8
- package/lib/util/pipes/third-party-address.pipe.d.ts +8 -8
- package/lib/util/pipes/trim-string.pipe.d.ts +7 -7
- package/lib/util/regex/regex.service.d.ts +12 -12
- package/lib/util/services/api/commercial-api.service.d.ts +12 -12
- package/lib/util/services/api/common-api.service.d.ts +27 -27
- package/lib/util/services/api/legal-api.service.d.ts +15 -15
- package/lib/util/services/api/video-api.service.d.ts +17 -17
- package/lib/util/services/auth/auth.service.d.ts +9 -9
- package/lib/util/services/elasticsearch/elasticsearch.service.d.ts +34 -35
- package/lib/util/services/elasticsearch/subsidiaries.service.d.ts +12 -12
- package/lib/util/services/form-action/form-actions-events.service.d.ts +14 -14
- package/lib/util/services/guard/auth.guard.d.ts +2 -2
- package/lib/util/services/guard/login.guard.d.ts +1 -1
- package/lib/util/services/history/history.service.d.ts +10 -10
- package/lib/util/services/interceptor/auth.interceptor.d.ts +16 -16
- package/lib/util/services/jwt-security/aes.service.d.ts +12 -12
- package/lib/util/services/jwt-security/interceptorhttp.service.d.ts +8 -8
- package/lib/util/services/jwt-security/jwt.helpher.d.ts +4 -4
- package/lib/util/services/storage/local-storage.service.d.ts +13 -13
- package/lib/util/services/storage/session-storage.service.d.ts +13 -13
- package/lib/util/services/translate-language/lang.service.d.ts +14 -14
- package/lib/util/services/user/user-subsidiary.service.d.ts +9 -9
- package/lib/util/sort.d.ts +4 -4
- package/lib/util/theme/theme-event.service.d.ts +9 -9
- package/lib/util/toaster/toaster-events.service.d.ts +15 -15
- package/lib/util/util.module.d.ts +49 -49
- package/package.json +1 -1
- package/public-api.d.ts +56 -56
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
import { WEB_CONFIG } from '../../config';
|
|
2
|
-
import { CookieService } from 'ngx-cookie-service';
|
|
3
|
-
import { CommonApiService } from '../api/common-api.service';
|
|
4
|
-
import { catchError, map } from 'rxjs/operators';
|
|
5
|
-
import { inject } from '@angular/core';
|
|
6
|
-
import { AuthService } from '../auth/auth.service';
|
|
7
|
-
import { of } from "rxjs";
|
|
8
|
-
export const authGuard = (route, state) => {
|
|
9
|
-
const cookieService = inject(CookieService);
|
|
10
|
-
const commonApiService = inject(CommonApiService);
|
|
11
|
-
const webConfig = inject(WEB_CONFIG);
|
|
12
|
-
const authService = inject(AuthService);
|
|
13
|
-
if (state.url.includes('/login/invalid')) {
|
|
14
|
-
return true;
|
|
15
|
-
}
|
|
16
|
-
if (commonApiService.isTokenValid()) {
|
|
17
|
-
authService.setAuthenticated(true);
|
|
18
|
-
return true;
|
|
19
|
-
}
|
|
20
|
-
const user = commonApiService.getUserDataFromToken();
|
|
21
|
-
const email = user.secondary ? user.email : cookieService.get('auth-mail');
|
|
22
|
-
return commonApiService.ssoLogin(email).pipe(map((data) => {
|
|
23
|
-
user.secondary ? commonApiService.setSecondaryToken(data.token) : commonApiService.setToken(data.token);
|
|
24
|
-
authService.setAuthenticated(true);
|
|
25
|
-
return true;
|
|
26
|
-
}), catchError(() => {
|
|
27
|
-
authService.setAuthenticated(false);
|
|
28
|
-
window.location.href = webConfig.api_url + '/login/invalid';
|
|
29
|
-
return of(false);
|
|
30
|
-
}));
|
|
31
|
-
};
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { WEB_CONFIG } from '../../config';
|
|
2
|
+
import { CookieService } from 'ngx-cookie-service';
|
|
3
|
+
import { CommonApiService } from '../api/common-api.service';
|
|
4
|
+
import { catchError, map } from 'rxjs/operators';
|
|
5
|
+
import { inject } from '@angular/core';
|
|
6
|
+
import { AuthService } from '../auth/auth.service';
|
|
7
|
+
import { of } from "rxjs";
|
|
8
|
+
export const authGuard = (route, state) => {
|
|
9
|
+
const cookieService = inject(CookieService);
|
|
10
|
+
const commonApiService = inject(CommonApiService);
|
|
11
|
+
const webConfig = inject(WEB_CONFIG);
|
|
12
|
+
const authService = inject(AuthService);
|
|
13
|
+
if (state.url.includes('/login/invalid')) {
|
|
14
|
+
return true;
|
|
15
|
+
}
|
|
16
|
+
if (commonApiService.isTokenValid()) {
|
|
17
|
+
authService.setAuthenticated(true);
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
const user = commonApiService.getUserDataFromToken();
|
|
21
|
+
const email = user.secondary ? user.email : cookieService.get('auth-mail');
|
|
22
|
+
return commonApiService.ssoLogin(email).pipe(map((data) => {
|
|
23
|
+
user.secondary ? commonApiService.setSecondaryToken(data.token) : commonApiService.setToken(data.token);
|
|
24
|
+
authService.setAuthenticated(true);
|
|
25
|
+
return true;
|
|
26
|
+
}), catchError(() => {
|
|
27
|
+
authService.setAuthenticated(false);
|
|
28
|
+
window.location.href = webConfig.api_url + '/login/invalid';
|
|
29
|
+
return of(false);
|
|
30
|
+
}));
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldy1mcm9udC1jb21tb24tbGlicmFyeS9zcmMvbGliL3V0aWwvc2VydmljZXMvZ3VhcmQvYXV0aC5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFMUIsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFrQixDQUN0QyxLQUE2QixFQUM3QixLQUEwQixFQUMxQixFQUFFO0lBQ0YsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzVDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbEQsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3JDLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUV4QyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEVBQUU7UUFDeEMsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELElBQUksZ0JBQWdCLENBQUMsWUFBWSxFQUFFLEVBQUU7UUFDbkMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFFRCxNQUFNLElBQUksR0FBa0IsZ0JBQWdCLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUNwRSxNQUFNLEtBQUssR0FBVyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRW5GLE9BQU8sZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FDMUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDWCxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEcsV0FBVyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLEdBQUcsRUFBRTtRQUNkLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUMsT0FBTyxHQUFHLGdCQUFnQixDQUFDO1FBQzVELE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25CLENBQUMsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FjdGl2YXRlZFJvdXRlU25hcHNob3QsIENhbkFjdGl2YXRlRm4sIFJvdXRlclN0YXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBXRUJfQ09ORklHIH0gZnJvbSAnLi4vLi4vY29uZmlnJztcclxuaW1wb3J0IHsgQ29va2llU2VydmljZSB9IGZyb20gJ25neC1jb29raWUtc2VydmljZSc7XHJcbmltcG9ydCB7IENvbW1vbkFwaVNlcnZpY2UgfSBmcm9tICcuLi9hcGkvY29tbW9uLWFwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBdXRoVXNlck1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vYXV0aC9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBvZiB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5leHBvcnQgY29uc3QgYXV0aEd1YXJkOiBDYW5BY3RpdmF0ZUZuID0gKFxyXG4gIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxyXG4gIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90XHJcbikgPT4ge1xyXG4gIGNvbnN0IGNvb2tpZVNlcnZpY2UgPSBpbmplY3QoQ29va2llU2VydmljZSk7XHJcbiAgY29uc3QgY29tbW9uQXBpU2VydmljZSA9IGluamVjdChDb21tb25BcGlTZXJ2aWNlKTtcclxuICBjb25zdCB3ZWJDb25maWcgPSBpbmplY3QoV0VCX0NPTkZJRyk7XHJcbiAgY29uc3QgYXV0aFNlcnZpY2UgPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xyXG5cclxuICBpZiAoc3RhdGUudXJsLmluY2x1ZGVzKCcvbG9naW4vaW52YWxpZCcpKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGlmIChjb21tb25BcGlTZXJ2aWNlLmlzVG9rZW5WYWxpZCgpKSB7XHJcbiAgICBhdXRoU2VydmljZS5zZXRBdXRoZW50aWNhdGVkKHRydWUpO1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBjb25zdCB1c2VyOiBBdXRoVXNlck1vZGVsID0gY29tbW9uQXBpU2VydmljZS5nZXRVc2VyRGF0YUZyb21Ub2tlbigpO1xyXG4gIGNvbnN0IGVtYWlsOiBzdHJpbmcgPSB1c2VyLnNlY29uZGFyeSA/IHVzZXIuZW1haWwgOiBjb29raWVTZXJ2aWNlLmdldCgnYXV0aC1tYWlsJyk7XHJcblxyXG4gIHJldHVybiBjb21tb25BcGlTZXJ2aWNlLnNzb0xvZ2luKGVtYWlsKS5waXBlKFxyXG4gICAgbWFwKChkYXRhKSA9PiB7XHJcbiAgICAgIHVzZXIuc2Vjb25kYXJ5ID8gY29tbW9uQXBpU2VydmljZS5zZXRTZWNvbmRhcnlUb2tlbihkYXRhLnRva2VuKSA6IGNvbW1vbkFwaVNlcnZpY2Uuc2V0VG9rZW4oZGF0YS50b2tlbik7XHJcbiAgICAgIGF1dGhTZXJ2aWNlLnNldEF1dGhlbnRpY2F0ZWQodHJ1ZSk7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSksXHJcbiAgICBjYXRjaEVycm9yKCgpID0+IHtcclxuICAgICAgYXV0aFNlcnZpY2Uuc2V0QXV0aGVudGljYXRlZChmYWxzZSk7XHJcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gd2ViQ29uZmlnLmFwaV91cmwgKyAnL2xvZ2luL2ludmFsaWQnO1xyXG4gICAgICByZXR1cm4gb2YoZmFsc2UpO1xyXG4gICAgfSlcclxuICApO1xyXG59O1xyXG4iXX0=
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import { inject } from '@angular/core';
|
|
2
|
-
import { MatDialog } from '@angular/material/dialog';
|
|
3
|
-
import { MyDialogPopupLoginComponent } from '../../component/popup/popup-login/popup-login.component';
|
|
4
|
-
import { AuthService } from '../auth/auth.service';
|
|
5
|
-
import { map } from "rxjs/operators";
|
|
6
|
-
export const loginGuard = () => {
|
|
7
|
-
const dialog = inject(MatDialog);
|
|
8
|
-
const authService = inject(AuthService);
|
|
9
|
-
if (sessionStorage.getItem('authToken') !== null) {
|
|
10
|
-
authService.setAuthenticated(true);
|
|
11
|
-
return true;
|
|
12
|
-
}
|
|
13
|
-
else {
|
|
14
|
-
const dialogRef = dialog.open(MyDialogPopupLoginComponent, {
|
|
15
|
-
disableClose: true
|
|
16
|
-
});
|
|
17
|
-
return dialogRef.afterClosed().pipe(map((res) => {
|
|
18
|
-
authService.setAuthenticated(res);
|
|
19
|
-
return res;
|
|
20
|
-
}));
|
|
21
|
-
}
|
|
22
|
-
};
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { inject } from '@angular/core';
|
|
2
|
+
import { MatDialog } from '@angular/material/dialog';
|
|
3
|
+
import { MyDialogPopupLoginComponent } from '../../component/popup/popup-login/popup-login.component';
|
|
4
|
+
import { AuthService } from '../auth/auth.service';
|
|
5
|
+
import { map } from "rxjs/operators";
|
|
6
|
+
export const loginGuard = () => {
|
|
7
|
+
const dialog = inject(MatDialog);
|
|
8
|
+
const authService = inject(AuthService);
|
|
9
|
+
if (sessionStorage.getItem('authToken') !== null) {
|
|
10
|
+
authService.setAuthenticated(true);
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
const dialogRef = dialog.open(MyDialogPopupLoginComponent, {
|
|
15
|
+
disableClose: true
|
|
16
|
+
});
|
|
17
|
+
return dialogRef.afterClosed().pipe(map((res) => {
|
|
18
|
+
authService.setAuthenticated(res);
|
|
19
|
+
return res;
|
|
20
|
+
}));
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXctZnJvbnQtY29tbW9uLWxpYnJhcnkvc3JjL2xpYi91dGlsL3NlcnZpY2VzL2d1YXJkL2xvZ2luLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkMsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLEdBQUcsRUFBRTtJQUMzQixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDakMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRTFDLElBQUksY0FBYyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsS0FBSyxJQUFJLEVBQUU7UUFDOUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDO0tBQ2Y7U0FBTTtRQUNMLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsMkJBQTJCLEVBQUU7WUFDekQsWUFBWSxFQUFFLElBQUk7U0FDbkIsQ0FBQyxDQUFDO1FBRUgsT0FBTyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUNqQyxHQUFHLENBQUMsQ0FBQyxHQUFZLEVBQUUsRUFBRTtZQUNuQixXQUFXLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbEMsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLENBQUMsQ0FDSCxDQUFDO0tBQ0g7QUFDSCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTXlEaWFsb2dQb3B1cExvZ2luQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50L3BvcHVwL3BvcHVwLWxvZ2luL3BvcHVwLWxvZ2luLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vYXV0aC9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQge21hcH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcblxyXG5leHBvcnQgY29uc3QgbG9naW5HdWFyZCA9ICgpID0+IHtcclxuICAgIGNvbnN0IGRpYWxvZyA9IGluamVjdChNYXREaWFsb2cpO1xyXG4gICAgY29uc3QgYXV0aFNlcnZpY2UgPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xyXG5cclxuICBpZiAoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnYXV0aFRva2VuJykgIT09IG51bGwpIHtcclxuICAgICAgYXV0aFNlcnZpY2Uuc2V0QXV0aGVudGljYXRlZCh0cnVlKTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgfSBlbHNlIHtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IGRpYWxvZy5vcGVuKE15RGlhbG9nUG9wdXBMb2dpbkNvbXBvbmVudCwge1xyXG4gICAgICBkaXNhYmxlQ2xvc2U6IHRydWVcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5waXBlKFxyXG4gICAgICBtYXAoKHJlczogYm9vbGVhbikgPT4ge1xyXG4gICAgICAgIGF1dGhTZXJ2aWNlLnNldEF1dGhlbnRpY2F0ZWQocmVzKTtcclxuICAgICAgICByZXR1cm4gcmVzO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbn07XHJcbiJdfQ==
|
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../storage/local-storage.service";
|
|
4
|
-
export class HistoryService {
|
|
5
|
-
constructor(localStorage) {
|
|
6
|
-
this.localStorage = localStorage;
|
|
7
|
-
}
|
|
8
|
-
add(type, id, ref) {
|
|
9
|
-
let history = [];
|
|
10
|
-
if (this.localStorage.exist('history')) {
|
|
11
|
-
history = this.localStorage.get('history');
|
|
12
|
-
}
|
|
13
|
-
// DELETE EXISTING SCREEN
|
|
14
|
-
history.forEach((element, index) => {
|
|
15
|
-
if (this.exist(type, id, ref, element))
|
|
16
|
-
history.splice(index, 1);
|
|
17
|
-
});
|
|
18
|
-
// ADD THE LAST CONSULTED SCREEN TO THE BEGINNING
|
|
19
|
-
history.unshift({ type: type, id: id, ref: ref });
|
|
20
|
-
// SHOW ONLY THE 10 LAST CONSULTED SCREENS
|
|
21
|
-
if (history.length >= 10) {
|
|
22
|
-
history = history.slice(0, 10);
|
|
23
|
-
}
|
|
24
|
-
// POST TO LOCAL STORAGE
|
|
25
|
-
this.localStorage.post('history', history);
|
|
26
|
-
}
|
|
27
|
-
exist(type, id, ref, history) {
|
|
28
|
-
if (type == history.type && id == history.id && ref == history.ref) {
|
|
29
|
-
return true;
|
|
30
|
-
}
|
|
31
|
-
return false;
|
|
32
|
-
}
|
|
33
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HistoryService, deps: [{ token: i1.LocalStorageService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
34
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HistoryService }); }
|
|
35
|
-
}
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HistoryService, decorators: [{
|
|
37
|
-
type: Injectable
|
|
38
|
-
}], ctorParameters: function () { return [{ type: i1.LocalStorageService }]; } });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../storage/local-storage.service";
|
|
4
|
+
export class HistoryService {
|
|
5
|
+
constructor(localStorage) {
|
|
6
|
+
this.localStorage = localStorage;
|
|
7
|
+
}
|
|
8
|
+
add(type, id, ref) {
|
|
9
|
+
let history = [];
|
|
10
|
+
if (this.localStorage.exist('history')) {
|
|
11
|
+
history = this.localStorage.get('history');
|
|
12
|
+
}
|
|
13
|
+
// DELETE EXISTING SCREEN
|
|
14
|
+
history.forEach((element, index) => {
|
|
15
|
+
if (this.exist(type, id, ref, element))
|
|
16
|
+
history.splice(index, 1);
|
|
17
|
+
});
|
|
18
|
+
// ADD THE LAST CONSULTED SCREEN TO THE BEGINNING
|
|
19
|
+
history.unshift({ type: type, id: id, ref: ref });
|
|
20
|
+
// SHOW ONLY THE 10 LAST CONSULTED SCREENS
|
|
21
|
+
if (history.length >= 10) {
|
|
22
|
+
history = history.slice(0, 10);
|
|
23
|
+
}
|
|
24
|
+
// POST TO LOCAL STORAGE
|
|
25
|
+
this.localStorage.post('history', history);
|
|
26
|
+
}
|
|
27
|
+
exist(type, id, ref, history) {
|
|
28
|
+
if (type == history.type && id == history.id && ref == history.ref) {
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HistoryService, deps: [{ token: i1.LocalStorageService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
34
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HistoryService }); }
|
|
35
|
+
}
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HistoryService, decorators: [{
|
|
37
|
+
type: Injectable
|
|
38
|
+
}], ctorParameters: function () { return [{ type: i1.LocalStorageService }]; } });
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV3LWZyb250LWNvbW1vbi1saWJyYXJ5L3NyYy9saWIvdXRpbC9zZXJ2aWNlcy9oaXN0b3J5L2hpc3Rvcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFJM0MsTUFBTSxPQUFPLGNBQWM7SUFFdkIsWUFBb0IsWUFBaUM7UUFBakMsaUJBQVksR0FBWixZQUFZLENBQXFCO0lBQ3JELENBQUM7SUFFTSxHQUFHLENBQUMsSUFBd0csRUFBRSxFQUFVLEVBQUUsR0FBUTtRQUNySSxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDakIsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNwQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDOUM7UUFDRCx5QkFBeUI7UUFDekIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUMvQixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsT0FBTyxDQUFDO2dCQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3JFLENBQUMsQ0FBQyxDQUFDO1FBQ0gsaURBQWlEO1FBQ2pELE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBQyxDQUFDLENBQUM7UUFFaEQsMENBQTBDO1FBQzFDLElBQUksT0FBTyxDQUFDLE1BQU0sSUFBSSxFQUFFLEVBQUU7WUFDdEIsT0FBTyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ2xDO1FBRUQsd0JBQXdCO1FBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU8sS0FBSyxDQUFDLElBQXdHLEVBQUUsRUFBVSxFQUFFLEdBQVcsRUFBRSxPQUFZO1FBQ3pKLElBQUksSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksRUFBRSxJQUFJLE9BQU8sQ0FBQyxFQUFFLElBQUksR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUU7WUFDaEUsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7K0dBL0JRLGNBQWM7bUhBQWQsY0FBYzs7NEZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTG9jYWxTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uL3N0b3JhZ2UvbG9jYWwtc3RvcmFnZS5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEhpc3RvcnlTZXJ2aWNlIHtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxvY2FsU3RvcmFnZTogTG9jYWxTdG9yYWdlU2VydmljZSkge1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhZGQodHlwZTogJ1BST0RVQ1QnIHwgJ1BPJyB8ICdERUFMJyB8ICdXT1JLJyB8ICdDT05UUkFDVF9BQ1EnIHwgJ0NPTlRSQUNUX0NFU1MnIHwgJ0NPTlRSQUNUX0FVVEgnIHwgJ0JVREdFVCcsIGlkOiBzdHJpbmcsIHJlZjogYW55KSB7XHJcbiAgICAgICAgbGV0IGhpc3RvcnkgPSBbXTtcclxuICAgICAgICBpZiAodGhpcy5sb2NhbFN0b3JhZ2UuZXhpc3QoJ2hpc3RvcnknKSkge1xyXG4gICAgICAgICAgICBoaXN0b3J5ID0gdGhpcy5sb2NhbFN0b3JhZ2UuZ2V0KCdoaXN0b3J5Jyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIERFTEVURSBFWElTVElORyBTQ1JFRU5cclxuICAgICAgICBoaXN0b3J5LmZvckVhY2goKGVsZW1lbnQsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmV4aXN0KHR5cGUsIGlkLCByZWYsIGVsZW1lbnQpKSBoaXN0b3J5LnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgLy8gQUREIFRIRSBMQVNUIENPTlNVTFRFRCBTQ1JFRU4gVE8gVEhFIEJFR0lOTklOR1xyXG4gICAgICAgIGhpc3RvcnkudW5zaGlmdCh7dHlwZTogdHlwZSwgaWQ6IGlkLCByZWY6IHJlZn0pO1xyXG5cclxuICAgICAgICAvLyBTSE9XIE9OTFkgVEhFIDEwIExBU1QgQ09OU1VMVEVEIFNDUkVFTlNcclxuICAgICAgICBpZiAoaGlzdG9yeS5sZW5ndGggPj0gMTApIHtcclxuICAgICAgICAgICAgaGlzdG9yeSA9IGhpc3Rvcnkuc2xpY2UoMCwgMTApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gUE9TVCBUTyBMT0NBTCBTVE9SQUdFXHJcbiAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2UucG9zdCgnaGlzdG9yeScsIGhpc3RvcnkpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZXhpc3QodHlwZTogJ1BST0RVQ1QnIHwgJ1BPJyB8ICdERUFMJyB8ICdXT1JLJyB8ICdDT05UUkFDVF9BQ1EnIHwgJ0NPTlRSQUNUX0NFU1MnIHwgJ0NPTlRSQUNUX0FVVEgnIHwgJ0JVREdFVCcsIGlkOiBzdHJpbmcsIHJlZjogc3RyaW5nLCBoaXN0b3J5OiBhbnkpIHtcclxuICAgICAgICBpZiAodHlwZSA9PSBoaXN0b3J5LnR5cGUgJiYgaWQgPT0gaGlzdG9yeS5pZCAmJiByZWYgPT0gaGlzdG9yeS5yZWYpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -1,53 +1,53 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject } from 'rxjs';
|
|
3
|
-
import { filter, switchMap, take } from 'rxjs/operators';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../api/common-api.service";
|
|
6
|
-
import * as i2 from "ngx-cookie-service";
|
|
7
|
-
export class AuthInterceptor {
|
|
8
|
-
constructor(authService, cookieService) {
|
|
9
|
-
this.authService = authService;
|
|
10
|
-
this.cookieService = cookieService;
|
|
11
|
-
this.refreshTokenInProgress = false;
|
|
12
|
-
this.refreshTokenSubject = new BehaviorSubject(null);
|
|
13
|
-
}
|
|
14
|
-
intercept(request, next) {
|
|
15
|
-
if (request.url.includes('/login/email') || request.url.includes('/login/findUser') || request.url.startsWith('./')) {
|
|
16
|
-
return next.handle(request);
|
|
17
|
-
}
|
|
18
|
-
if (!this.authService.isTokenValid()) {
|
|
19
|
-
if (this.refreshTokenInProgress) {
|
|
20
|
-
return this.refreshTokenSubject.pipe(filter((result) => result !== null), take(1), switchMap(() => next.handle(this.addToken(request))));
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
this.refreshTokenInProgress = true;
|
|
24
|
-
this.refreshTokenSubject.next(null);
|
|
25
|
-
const user = this.authService.getUserDataFromToken();
|
|
26
|
-
const email = user.secondary ? user.email : this.cookieService.get('auth-mail');
|
|
27
|
-
return this.authService.ssoLogin(email)
|
|
28
|
-
.pipe(switchMap((data) => {
|
|
29
|
-
this.authService.setToken(data.token);
|
|
30
|
-
this.refreshTokenInProgress = false;
|
|
31
|
-
this.refreshTokenSubject.next(data.token);
|
|
32
|
-
return next.handle(this.addToken(request));
|
|
33
|
-
}));
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
return next.handle(this.addToken(request));
|
|
37
|
-
}
|
|
38
|
-
addToken(request) {
|
|
39
|
-
const token = this.authService.getToken();
|
|
40
|
-
if (!token) {
|
|
41
|
-
return request;
|
|
42
|
-
}
|
|
43
|
-
return request.clone({
|
|
44
|
-
headers: request.headers.set('Authorization', `Bearer ${token}`)
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AuthInterceptor, deps: [{ token: i1.CommonApiService }, { token: i2.CookieService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
48
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AuthInterceptor }); }
|
|
49
|
-
}
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AuthInterceptor, decorators: [{
|
|
51
|
-
type: Injectable
|
|
52
|
-
}], ctorParameters: function () { return [{ type: i1.CommonApiService }, { type: i2.CookieService }]; } });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import { filter, switchMap, take } from 'rxjs/operators';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../api/common-api.service";
|
|
6
|
+
import * as i2 from "ngx-cookie-service";
|
|
7
|
+
export class AuthInterceptor {
|
|
8
|
+
constructor(authService, cookieService) {
|
|
9
|
+
this.authService = authService;
|
|
10
|
+
this.cookieService = cookieService;
|
|
11
|
+
this.refreshTokenInProgress = false;
|
|
12
|
+
this.refreshTokenSubject = new BehaviorSubject(null);
|
|
13
|
+
}
|
|
14
|
+
intercept(request, next) {
|
|
15
|
+
if (request.url.includes('/login/email') || request.url.includes('/login/findUser') || request.url.startsWith('./')) {
|
|
16
|
+
return next.handle(request);
|
|
17
|
+
}
|
|
18
|
+
if (!this.authService.isTokenValid()) {
|
|
19
|
+
if (this.refreshTokenInProgress) {
|
|
20
|
+
return this.refreshTokenSubject.pipe(filter((result) => result !== null), take(1), switchMap(() => next.handle(this.addToken(request))));
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
this.refreshTokenInProgress = true;
|
|
24
|
+
this.refreshTokenSubject.next(null);
|
|
25
|
+
const user = this.authService.getUserDataFromToken();
|
|
26
|
+
const email = user.secondary ? user.email : this.cookieService.get('auth-mail');
|
|
27
|
+
return this.authService.ssoLogin(email)
|
|
28
|
+
.pipe(switchMap((data) => {
|
|
29
|
+
this.authService.setToken(data.token);
|
|
30
|
+
this.refreshTokenInProgress = false;
|
|
31
|
+
this.refreshTokenSubject.next(data.token);
|
|
32
|
+
return next.handle(this.addToken(request));
|
|
33
|
+
}));
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return next.handle(this.addToken(request));
|
|
37
|
+
}
|
|
38
|
+
addToken(request) {
|
|
39
|
+
const token = this.authService.getToken();
|
|
40
|
+
if (!token) {
|
|
41
|
+
return request;
|
|
42
|
+
}
|
|
43
|
+
return request.clone({
|
|
44
|
+
headers: request.headers.set('Authorization', `Bearer ${token}`)
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AuthInterceptor, deps: [{ token: i1.CommonApiService }, { token: i2.CookieService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
48
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AuthInterceptor }); }
|
|
49
|
+
}
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AuthInterceptor, decorators: [{
|
|
51
|
+
type: Injectable
|
|
52
|
+
}], ctorParameters: function () { return [{ type: i1.CommonApiService }, { type: i2.CookieService }]; } });
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldy1mcm9udC1jb21tb24tbGlicmFyeS9zcmMvbGliL3V0aWwvc2VydmljZXMvaW50ZXJjZXB0b3IvYXV0aC5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFNekQsTUFBTSxPQUFPLGVBQWU7SUFPeEIsWUFDWSxXQUE2QixFQUM3QixhQUE0QjtRQUQ1QixnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFDN0Isa0JBQWEsR0FBYixhQUFhLENBQWU7UUFQaEMsMkJBQXNCLEdBQUcsS0FBSyxDQUFDO1FBQy9CLHdCQUFtQixHQUF5QixJQUFJLGVBQWUsQ0FDbkUsSUFBSSxDQUNQLENBQUM7SUFNRixDQUFDO0lBRUQsU0FBUyxDQUFDLE9BQXlCLEVBQUUsSUFBaUI7UUFDbEQsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2pILE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUMvQjtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxFQUFFO1lBQ2xDLElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFO2dCQUM3QixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQ2hDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxFQUNuQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQ3ZELENBQUM7YUFDTDtpQkFBTTtnQkFDSCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDO2dCQUNuQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNwQyxNQUFNLElBQUksR0FBa0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2dCQUNwRSxNQUFNLEtBQUssR0FBVyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFFeEYsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7cUJBQ2xDLElBQUksQ0FDRCxTQUFTLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRTtvQkFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUN0QyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsS0FBSyxDQUFDO29CQUNwQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDMUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztnQkFDL0MsQ0FBQyxDQUFDLENBQ0wsQ0FBQzthQUNUO1NBQ0o7UUFFRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTyxRQUFRLENBQUMsT0FBeUI7UUFDdEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1IsT0FBTyxPQUFPLENBQUM7U0FDbEI7UUFFRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDakIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxVQUFVLEtBQUssRUFBRSxDQUFDO1NBQ25FLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBdkRRLGVBQWU7bUhBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cEV2ZW50LCBIdHRwSGFuZGxlciwgSHR0cEludGVyY2VwdG9yLCBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciwgc3dpdGNoTWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDb29raWVTZXJ2aWNlIH0gZnJvbSAnbmd4LWNvb2tpZS1zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29tbW9uQXBpU2VydmljZSB9IGZyb20gJy4uL2FwaS9jb21tb24tYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBdXRoVXNlck1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEF1dGhJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XHJcblxyXG4gICAgcHJpdmF0ZSByZWZyZXNoVG9rZW5JblByb2dyZXNzID0gZmFsc2U7XHJcbiAgICBwcml2YXRlIHJlZnJlc2hUb2tlblN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KFxyXG4gICAgICAgIG51bGxcclxuICAgICk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQ29tbW9uQXBpU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGNvb2tpZVNlcnZpY2U6IENvb2tpZVNlcnZpY2VcclxuICAgICkge1xyXG4gICAgfVxyXG5cclxuICAgIGludGVyY2VwdChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcclxuICAgICAgICBpZiAocmVxdWVzdC51cmwuaW5jbHVkZXMoJy9sb2dpbi9lbWFpbCcpIHx8IHJlcXVlc3QudXJsLmluY2x1ZGVzKCcvbG9naW4vZmluZFVzZXInKSB8fCByZXF1ZXN0LnVybC5zdGFydHNXaXRoKCcuLycpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5hdXRoU2VydmljZS5pc1Rva2VuVmFsaWQoKSkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5yZWZyZXNoVG9rZW5JblByb2dyZXNzKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5yZWZyZXNoVG9rZW5TdWJqZWN0LnBpcGUoXHJcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyKChyZXN1bHQpID0+IHJlc3VsdCAhPT0gbnVsbCksXHJcbiAgICAgICAgICAgICAgICAgICAgdGFrZSgxKSxcclxuICAgICAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gbmV4dC5oYW5kbGUodGhpcy5hZGRUb2tlbihyZXF1ZXN0KSkpXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZWZyZXNoVG9rZW5JblByb2dyZXNzID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVmcmVzaFRva2VuU3ViamVjdC5uZXh0KG51bGwpO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdXNlcjogQXV0aFVzZXJNb2RlbCA9IHRoaXMuYXV0aFNlcnZpY2UuZ2V0VXNlckRhdGFGcm9tVG9rZW4oKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGVtYWlsOiBzdHJpbmcgPSB1c2VyLnNlY29uZGFyeSA/IHVzZXIuZW1haWwgOiB0aGlzLmNvb2tpZVNlcnZpY2UuZ2V0KCdhdXRoLW1haWwnKTtcclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5hdXRoU2VydmljZS5zc29Mb2dpbihlbWFpbClcclxuICAgICAgICAgICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoTWFwKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYXV0aFNlcnZpY2Uuc2V0VG9rZW4oZGF0YS50b2tlbik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlZnJlc2hUb2tlbkluUHJvZ3Jlc3MgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVmcmVzaFRva2VuU3ViamVjdC5uZXh0KGRhdGEudG9rZW4pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHRoaXMuYWRkVG9rZW4ocmVxdWVzdCkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBuZXh0LmhhbmRsZSh0aGlzLmFkZFRva2VuKHJlcXVlc3QpKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFkZFRva2VuKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4pOiBIdHRwUmVxdWVzdDxhbnk+IHtcclxuICAgICAgICBjb25zdCB0b2tlbiA9IHRoaXMuYXV0aFNlcnZpY2UuZ2V0VG9rZW4oKTtcclxuICAgICAgICBpZiAoIXRva2VuKSB7XHJcbiAgICAgICAgICAgIHJldHVybiByZXF1ZXN0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHJlcXVlc3QuY2xvbmUoe1xyXG4gICAgICAgICAgICBoZWFkZXJzOiByZXF1ZXN0LmhlYWRlcnMuc2V0KCdBdXRob3JpemF0aW9uJywgYEJlYXJlciAke3Rva2VufWApXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as CryptoJS from 'crypto-js';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class AesService {
|
|
5
|
-
// private cipherText: string;
|
|
6
|
-
constructor() {
|
|
7
|
-
// private SECRET_CODE: string ;
|
|
8
|
-
this.SECRET_CODE = '1234567891234567';
|
|
9
|
-
this.keySize = 128 / 32;
|
|
10
|
-
this.iterationCount = 1000;
|
|
11
|
-
}
|
|
12
|
-
generateKey(salt) {
|
|
13
|
-
// this.SECRET_CODE = sessionStorage.getItem('_uniqueKey');
|
|
14
|
-
const key = CryptoJS.PBKDF2(this.SECRET_CODE, CryptoJS.enc.Hex.parse(salt), { keySize: this.keySize, iterations: this.iterationCount });
|
|
15
|
-
return key;
|
|
16
|
-
}
|
|
17
|
-
encrypt(planText) {
|
|
18
|
-
const iv = CryptoJS.lib.WordArray.random(16).toString(CryptoJS.enc.Hex);
|
|
19
|
-
const salt = CryptoJS.lib.WordArray.random(16).toString(CryptoJS.enc.Hex);
|
|
20
|
-
const key = this.generateKey(salt);
|
|
21
|
-
const encrypted = CryptoJS.AES.encrypt(planText, key, { iv: CryptoJS.enc.Hex.parse(iv) });
|
|
22
|
-
const cipherText = encrypted.ciphertext.toString(CryptoJS.enc.Base64);
|
|
23
|
-
const aesPassword = (iv + '::' + salt + '::' + cipherText);
|
|
24
|
-
// conversion en base 64
|
|
25
|
-
this.pwdEncrypted = btoa(aesPassword);
|
|
26
|
-
return this.pwdEncrypted;
|
|
27
|
-
}
|
|
28
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
29
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AesService }); }
|
|
30
|
-
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AesService, decorators: [{
|
|
32
|
-
type: Injectable
|
|
33
|
-
}], ctorParameters: function () { return []; } });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as CryptoJS from 'crypto-js';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class AesService {
|
|
5
|
+
// private cipherText: string;
|
|
6
|
+
constructor() {
|
|
7
|
+
// private SECRET_CODE: string ;
|
|
8
|
+
this.SECRET_CODE = '1234567891234567';
|
|
9
|
+
this.keySize = 128 / 32;
|
|
10
|
+
this.iterationCount = 1000;
|
|
11
|
+
}
|
|
12
|
+
generateKey(salt) {
|
|
13
|
+
// this.SECRET_CODE = sessionStorage.getItem('_uniqueKey');
|
|
14
|
+
const key = CryptoJS.PBKDF2(this.SECRET_CODE, CryptoJS.enc.Hex.parse(salt), { keySize: this.keySize, iterations: this.iterationCount });
|
|
15
|
+
return key;
|
|
16
|
+
}
|
|
17
|
+
encrypt(planText) {
|
|
18
|
+
const iv = CryptoJS.lib.WordArray.random(16).toString(CryptoJS.enc.Hex);
|
|
19
|
+
const salt = CryptoJS.lib.WordArray.random(16).toString(CryptoJS.enc.Hex);
|
|
20
|
+
const key = this.generateKey(salt);
|
|
21
|
+
const encrypted = CryptoJS.AES.encrypt(planText, key, { iv: CryptoJS.enc.Hex.parse(iv) });
|
|
22
|
+
const cipherText = encrypted.ciphertext.toString(CryptoJS.enc.Base64);
|
|
23
|
+
const aesPassword = (iv + '::' + salt + '::' + cipherText);
|
|
24
|
+
// conversion en base 64
|
|
25
|
+
this.pwdEncrypted = btoa(aesPassword);
|
|
26
|
+
return this.pwdEncrypted;
|
|
27
|
+
}
|
|
28
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
29
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AesService }); }
|
|
30
|
+
}
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AesService, decorators: [{
|
|
32
|
+
type: Injectable
|
|
33
|
+
}], ctorParameters: function () { return []; } });
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXctZnJvbnQtY29tbW9uLWxpYnJhcnkvc3JjL2xpYi91dGlsL3NlcnZpY2VzL2p3dC1zZWN1cml0eS9hZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sS0FBSyxRQUFRLE1BQU0sV0FBVyxDQUFDOztBQUd0QyxNQUFNLE9BQU8sVUFBVTtJQVVuQiw4QkFBOEI7SUFFOUI7UUFWQSxnQ0FBZ0M7UUFDZixnQkFBVyxHQUFXLGtCQUFrQixDQUFDO1FBQ2xELFlBQU8sR0FBVyxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQzNCLG1CQUFjLEdBQUcsSUFBSSxDQUFDO0lBUTlCLENBQUM7SUFFTSxXQUFXLENBQUMsSUFBWTtRQUUzQiwyREFBMkQ7UUFDM0QsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FDdkIsSUFBSSxDQUFDLFdBQVcsRUFDaEIsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUM1QixFQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFDLENBQUMsQ0FBQztRQUU5RCxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7SUFFTSxPQUFPLENBQUMsUUFBZ0I7UUFDM0IsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hFLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUUxRSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRW5DLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsRUFBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQztRQUV4RixNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXRFLE1BQU0sV0FBVyxHQUFHLENBQUMsRUFBRSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLFVBQVUsQ0FBQyxDQUFDO1FBQzNELHdCQUF3QjtRQUN4QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUV0QyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQzsrR0F6Q1EsVUFBVTttSEFBVixVQUFVOzs0RkFBVixVQUFVO2tCQUR0QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyBDcnlwdG9KUyBmcm9tICdjcnlwdG8tanMnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQWVzU2VydmljZSB7XHJcblxyXG4gICAgLy8gcHJpdmF0ZSBTRUNSRVRfQ09ERTogc3RyaW5nIDtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgU0VDUkVUX0NPREU6IHN0cmluZyA9ICcxMjM0NTY3ODkxMjM0NTY3JztcclxuICAgIHByaXZhdGUga2V5U2l6ZTogbnVtYmVyID0gMTI4IC8gMzI7XHJcbiAgICBwcml2YXRlIGl0ZXJhdGlvbkNvdW50ID0gMTAwMDtcclxuICAgIC8vIHByaXZhdGUgIGl2OiBzdHJpbmcgIDtcclxuICAgIC8vIHByaXZhdGUgc2FsdDogc3RyaW5nIDtcclxuICAgIHByaXZhdGUgcHdkRW5jcnlwdGVkOiBzdHJpbmc7XHJcblxyXG4gICAgLy8gcHJpdmF0ZSBjaXBoZXJUZXh0OiBzdHJpbmc7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdlbmVyYXRlS2V5KHNhbHQ6IHN0cmluZykge1xyXG5cclxuICAgICAgICAvLyB0aGlzLlNFQ1JFVF9DT0RFID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnX3VuaXF1ZUtleScpO1xyXG4gICAgICAgIGNvbnN0IGtleSA9IENyeXB0b0pTLlBCS0RGMihcclxuICAgICAgICAgICAgdGhpcy5TRUNSRVRfQ09ERSxcclxuICAgICAgICAgICAgQ3J5cHRvSlMuZW5jLkhleC5wYXJzZShzYWx0KSxcclxuICAgICAgICAgICAge2tleVNpemU6IHRoaXMua2V5U2l6ZSwgaXRlcmF0aW9uczogdGhpcy5pdGVyYXRpb25Db3VudH0pO1xyXG5cclxuICAgICAgICByZXR1cm4ga2V5O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBlbmNyeXB0KHBsYW5UZXh0OiBzdHJpbmcpIHtcclxuICAgICAgICBjb25zdCBpdiA9IENyeXB0b0pTLmxpYi5Xb3JkQXJyYXkucmFuZG9tKDE2KS50b1N0cmluZyhDcnlwdG9KUy5lbmMuSGV4KTtcclxuICAgICAgICBjb25zdCBzYWx0ID0gQ3J5cHRvSlMubGliLldvcmRBcnJheS5yYW5kb20oMTYpLnRvU3RyaW5nKENyeXB0b0pTLmVuYy5IZXgpO1xyXG5cclxuICAgICAgICBjb25zdCBrZXkgPSB0aGlzLmdlbmVyYXRlS2V5KHNhbHQpO1xyXG5cclxuICAgICAgICBjb25zdCBlbmNyeXB0ZWQgPSBDcnlwdG9KUy5BRVMuZW5jcnlwdChwbGFuVGV4dCwga2V5LCB7aXY6IENyeXB0b0pTLmVuYy5IZXgucGFyc2UoaXYpfSk7XHJcblxyXG4gICAgICAgIGNvbnN0IGNpcGhlclRleHQgPSBlbmNyeXB0ZWQuY2lwaGVydGV4dC50b1N0cmluZyhDcnlwdG9KUy5lbmMuQmFzZTY0KTtcclxuXHJcbiAgICAgICAgY29uc3QgYWVzUGFzc3dvcmQgPSAoaXYgKyAnOjonICsgc2FsdCArICc6OicgKyBjaXBoZXJUZXh0KTtcclxuICAgICAgICAvLyBjb252ZXJzaW9uIGVuIGJhc2UgNjRcclxuICAgICAgICB0aGlzLnB3ZEVuY3J5cHRlZCA9IGJ0b2EoYWVzUGFzc3dvcmQpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5wd2RFbmNyeXB0ZWQ7XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
const AUTH_HEADER_KEY = 'Authorization';
|
|
4
|
-
const AUTH_PREFIX = 'Bearer ';
|
|
5
|
-
const TOKEN_NAME = 'authToken';
|
|
6
|
-
export class InterceptorHttpService {
|
|
7
|
-
intercept(req, next) {
|
|
8
|
-
const token = `${AUTH_PREFIX}${sessionStorage.getItem(TOKEN_NAME)}`;
|
|
9
|
-
req.headers.set(AUTH_HEADER_KEY, `${AUTH_PREFIX} ${token}`);
|
|
10
|
-
return next.handle(req);
|
|
11
|
-
}
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InterceptorHttpService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
13
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InterceptorHttpService }); }
|
|
14
|
-
}
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InterceptorHttpService, decorators: [{
|
|
16
|
-
type: Injectable
|
|
17
|
-
}] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
const AUTH_HEADER_KEY = 'Authorization';
|
|
4
|
+
const AUTH_PREFIX = 'Bearer ';
|
|
5
|
+
const TOKEN_NAME = 'authToken';
|
|
6
|
+
export class InterceptorHttpService {
|
|
7
|
+
intercept(req, next) {
|
|
8
|
+
const token = `${AUTH_PREFIX}${sessionStorage.getItem(TOKEN_NAME)}`;
|
|
9
|
+
req.headers.set(AUTH_HEADER_KEY, `${AUTH_PREFIX} ${token}`);
|
|
10
|
+
return next.handle(req);
|
|
11
|
+
}
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InterceptorHttpService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
13
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InterceptorHttpService }); }
|
|
14
|
+
}
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InterceptorHttpService, decorators: [{
|
|
16
|
+
type: Injectable
|
|
17
|
+
}] });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJjZXB0b3JodHRwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXctZnJvbnQtY29tbW9uLWxpYnJhcnkvc3JjL2xpYi91dGlsL3NlcnZpY2VzL2p3dC1zZWN1cml0eS9pbnRlcmNlcHRvcmh0dHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUkzQyxNQUFNLGVBQWUsR0FBRyxlQUFlLENBQUM7QUFDeEMsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDO0FBQzlCLE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQztBQUcvQixNQUFNLE9BQU8sc0JBQXNCO0lBRS9CLFNBQVMsQ0FBQyxHQUFxQixFQUFFLElBQWlCO1FBQzlDLE1BQU0sS0FBSyxHQUFHLEdBQUcsV0FBVyxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztRQUNwRSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsR0FBRyxXQUFXLElBQUksS0FBSyxFQUFFLENBQUMsQ0FBQztRQUM1RCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUIsQ0FBQzsrR0FOUSxzQkFBc0I7bUhBQXRCLHNCQUFzQjs7NEZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cEV2ZW50LCBIdHRwSGFuZGxlciwgSHR0cEludGVyY2VwdG9yLCBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuY29uc3QgQVVUSF9IRUFERVJfS0VZID0gJ0F1dGhvcml6YXRpb24nO1xyXG5jb25zdCBBVVRIX1BSRUZJWCA9ICdCZWFyZXIgJztcclxuY29uc3QgVE9LRU5fTkFNRSA9ICdhdXRoVG9rZW4nO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgSW50ZXJjZXB0b3JIdHRwU2VydmljZSBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XHJcblxyXG4gICAgaW50ZXJjZXB0KHJlcTogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XHJcbiAgICAgICAgY29uc3QgdG9rZW4gPSBgJHtBVVRIX1BSRUZJWH0ke3Nlc3Npb25TdG9yYWdlLmdldEl0ZW0oVE9LRU5fTkFNRSl9YDtcclxuICAgICAgICByZXEuaGVhZGVycy5zZXQoQVVUSF9IRUFERVJfS0VZLCBgJHtBVVRIX1BSRUZJWH0gJHt0b2tlbn1gKTtcclxuICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBUT0RPIMOgIHJlZmFpcmUgbG9yc3F1ZSBsJ29uIHLDqWFjdGl2ZXJhIGwnaW50ZXJjZXB0b3IgZHUgQkFDSyBkJ29ycGhlXHJcbiAgICAvLyBwdWJsaWMgcmVxdWVzdCh1cmw6IHN0cmluZyB8IFJlcXVlc3QpOiBPYnNlcnZhYmxlPFJlc3BvbnNlPiB7XHJcbiAgICAvL1xyXG4gICAgLy8gICBjb25zdCB0b2tlbiA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oVE9LRU5fTkFNRSk7XHJcbiAgICAvL1xyXG4gICAgLy8gICBjb25zdCBvcHRpb25zID0ge2hlYWRlcnM6IG5ldyBIZWFkZXJzKCl9O1xyXG4gICAgLy8gICBpZiAodHlwZW9mIHVybCA9PT0gJ3N0cmluZycpIHtcclxuICAgIC8vXHJcbiAgICAvLyAgICAgb3B0aW9ucy5oZWFkZXJzLnNldChBVVRIX0hFQURFUl9LRVksIGAke0FVVEhfUFJFRklYfSAke3Rva2VufWApO1xyXG4gICAgLy8gICB9IGVsc2Uge1xyXG4gICAgLy8gICAgIHVybC5oZWFkZXJzLnNldChBVVRIX0hFQURFUl9LRVksIGAke0FVVEhfUFJFRklYfSAke3Rva2VufWApO1xyXG4gICAgLy8gICB9XHJcbiAgICAvLyAgIHJldHVybiBzdXBlci5yZXF1ZXN0KHVybCwgb3B0aW9ucykuY2F0Y2godGhpcy5jYXRjaEVycm9yKTtcclxuICAgIC8vIH1cclxuICAgIC8vXHJcbiAgICAvLyBwdWJsaWMgZ2V0KHVybDogc3RyaW5nLCBvcHRpb25zPyk6IE9ic2VydmFibGU8UmVzcG9uc2U+IHtcclxuICAgIC8vICAgY29uc3QgZW5oYWNlZE9wdGlvbnMgPSB0aGlzLnNldEF1dGhvcml6YXRpb25IZWFkZXIob3B0aW9ucyk7XHJcbiAgICAvLyAgIHJldHVybiBzdXBlci5nZXQodXJsLCBlbmhhY2VkT3B0aW9ucykucGlwZShjYXRjaEVycm9yKHRoaXMuY2F0Y2hFcnJvcikpO1xyXG4gICAgLy8gfVxyXG4gICAgLy9cclxuICAgIC8vIHB1YmxpYyBwb3N0KHVybDogc3RyaW5nLCBib2R5OiBhbnksIG9wdGlvbnM/KTogT2JzZXJ2YWJsZTxSZXNwb25zZT4ge1xyXG4gICAgLy8gICBjb25zdCBlbmhhY2VkT3B0aW9ucyA9IHRoaXMuc2V0QXV0aG9yaXphdGlvbkhlYWRlcihvcHRpb25zKTtcclxuICAgIC8vICAgcmV0dXJuIHN1cGVyLnBvc3QodXJsLCBib2R5LCBlbmhhY2VkT3B0aW9ucykucGlwZShjYXRjaEVycm9yKHRoaXMuY2F0Y2hFcnJvcikpO1xyXG4gICAgLy8gfVxyXG4gICAgLy9cclxuICAgIC8vIHB1YmxpYyBwdXQodXJsOiBzdHJpbmcsIGJvZHk6IGFueSwgb3B0aW9ucz8pOiBPYnNlcnZhYmxlPFJlc3BvbnNlPiB7XHJcbiAgICAvLyAgIGNvbnN0IGVuaGFjZWRPcHRpb25zID0gdGhpcy5zZXRBdXRob3JpemF0aW9uSGVhZGVyKG9wdGlvbnMpO1xyXG4gICAgLy8gICByZXR1cm4gc3VwZXIucHV0KHVybCwgYm9keSwgZW5oYWNlZE9wdGlvbnMpLnBpcGUoY2F0Y2hFcnJvcih0aGlzLmNhdGNoRXJyb3IpKTtcclxuICAgIC8vIH1cclxuICAgIC8vXHJcbiAgICAvLyBwdWJsaWMgZGVsZXRlKHVybDogc3RyaW5nLCBvcHRpb25zPyk6IE9ic2VydmFibGU8UmVzcG9uc2U+IHtcclxuICAgIC8vICAgY29uc3QgZW5oYWNlZE9wdGlvbnMgPSB0aGlzLnNldEF1dGhvcml6YXRpb25IZWFkZXIob3B0aW9ucyk7XHJcbiAgICAvLyAgIHJldHVybiBzdXBlci5kZWxldGUodXJsLCBlbmhhY2VkT3B0aW9ucykucGlwZShjYXRjaEVycm9yKHRoaXMuY2F0Y2hFcnJvcikpO1xyXG4gICAgLy8gfVxyXG4gICAgLy9cclxuICAgIC8vIHB1YmxpYyBwYXRjaCh1cmw6IHN0cmluZywgYm9keTogYW55LCBvcHRpb25zPyk6IE9ic2VydmFibGU8UmVzcG9uc2U+IHtcclxuICAgIC8vICAgY29uc3QgZW5oYWNlZE9wdGlvbnMgPSB0aGlzLnNldEF1dGhvcml6YXRpb25IZWFkZXIob3B0aW9ucyk7XHJcbiAgICAvLyAgIHJldHVybiBzdXBlci5wYXRjaCh1cmwsIGJvZHksIGVuaGFjZWRPcHRpb25zKS5waXBlKGNhdGNoRXJyb3IodGhpcy5jYXRjaEVycm9yKSk7XHJcbiAgICAvLyB9XHJcbiAgICAvL1xyXG4gICAgLy8gcHVibGljIGhlYWQodXJsOiBzdHJpbmcsIG9wdGlvbnM/KTogT2JzZXJ2YWJsZTxSZXNwb25zZT4ge1xyXG4gICAgLy8gICBjb25zdCBlbmhhY2VkT3B0aW9ucyA9IHRoaXMuc2V0QXV0aG9yaXphdGlvbkhlYWRlcihvcHRpb25zKTtcclxuICAgIC8vICAgcmV0dXJuIHN1cGVyLmhlYWQodXJsLCBlbmhhY2VkT3B0aW9ucykucGlwZShjYXRjaEVycm9yKHRoaXMuY2F0Y2hFcnJvcikpO1xyXG4gICAgLy8gfVxyXG4gICAgLy9cclxuICAgIC8vIHB1YmxpYyBvcHRpb25zKHVybDogc3RyaW5nLCBvcHRpb25zPyk6IE9ic2VydmFibGU8UmVzcG9uc2U+IHtcclxuICAgIC8vICAgY29uc3QgZW5oYWNlZE9wdGlvbnMgPSB0aGlzLnNldEF1dGhvcml6YXRpb25IZWFkZXIob3B0aW9ucyk7XHJcbiAgICAvLyAgIHJldHVybiBzdXBlci5vcHRpb25zKHVybCwgZW5oYWNlZE9wdGlvbnMpLnBpcGUoY2F0Y2hFcnJvcih0aGlzLmNhdGNoRXJyb3IpKTtcclxuICAgIC8vIH1cclxuICAgIC8vXHJcbiAgICAvLyAvLyBBam91dCBkZSBsJ2F0dHJpYnV0IEF1dGhvcml6YXRpb24gYXUgSGVhZGVyXHJcbiAgICAvLyBwcml2YXRlIHNldEF1dGhvcml6YXRpb25IZWFkZXIob3B0aW9ucz8pIHtcclxuICAgIC8vXHJcbiAgICAvLyAgIGNvbnN0IHRva2VuID0gYCR7QVVUSF9QUkVGSVh9JHtzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKFRPS0VOX05BTUUpfWA7XHJcbiAgICAvLyAgIC8vIENvcGllIGR1IGhlYWRlciBkYW5zIGxlIFJlcXVlc3RPcHRpb25zIGV0IGFqb3V0IGR1IHRva2VuIGEgJ0F1dGhvcml6YXRpb24nXHJcbiAgICAvLyAgIGNvbnN0IGhlYWRlcnMgPSB7XHJcbiAgICAvLyAgICAgLi4ub3B0aW9ucy5oZWFkZXJzLnRvSlNPTigpLFxyXG4gICAgLy8gICAgIEF1dGhvcml6YXRpb246IHRva2VuXHJcbiAgICAvLyAgIH07XHJcbiAgICAvLyAgIG9wdGlvbnMuaGVhZGVycyA9IG5ldyBIZWFkZXJzKGhlYWRlcnMpO1xyXG4gICAgLy8gICByZXR1cm4gb3B0aW9ucztcclxuICAgIC8vIH1cclxuICAgIC8vXHJcbiAgICAvLyAvLyBSZXNwb25zZSBJbnRlcmNlcHRvclxyXG4gICAgLy8gcHJpdmF0ZSBjYXRjaEVycm9yKGVycm9yOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgLy9cclxuICAgIC8vICAgaWYgKGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcclxuICAgIC8vICAgICByZXR1cm4gT2JzZXJ2YWJsZS50aHJvdyhlcnJvcik7XHJcbiAgICAvLyAgIH0gZWxzZSBpZiAoZXJyb3IgaW5zdGFuY2VvZiBSZXNwb25zZSkge1xyXG4gICAgLy8gICAgIGlmIChzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdsb2dpbkZsYWcnKSA9PT0gJ3RydWUnICYmIGVycm9yLnN0YXR1cyA9PT0gNDAxKSB7XHJcbiAgICAvLyAgICAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKFRPS0VOX05BTUUpO1xyXG4gICAgLy8gICAgICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgnbG9naW5GbGFnJyk7XHJcbiAgICAvLyAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gICAgIHJldHVybiBPYnNlcnZhYmxlLnRocm93KGVycm9yKTtcclxuICAgIC8vICAgfSBlbHNlIHtcclxuICAgIC8vICAgICByZXR1cm4gT2JzZXJ2YWJsZS50aHJvdyhlcnJvcik7XHJcbiAgICAvLyAgIH1cclxuICAgIC8vIH1cclxufVxyXG5cclxuIl19
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
export class JwtHelper {
|
|
2
|
-
decodeToken(token) {
|
|
3
|
-
let parts = token.split('.');
|
|
4
|
-
if (parts.length !== 3) {
|
|
5
|
-
throw new Error('JWT must have 3 parts');
|
|
6
|
-
}
|
|
7
|
-
let decoded = this.urlBase64Decode(parts[1]);
|
|
8
|
-
if (!decoded) {
|
|
9
|
-
throw new Error('Cannot decode the token');
|
|
10
|
-
}
|
|
11
|
-
return JSON.parse(decoded);
|
|
12
|
-
}
|
|
13
|
-
urlBase64Decode(str) {
|
|
14
|
-
let output = str.replace(/-/g, '+').replace(/_/g, '/');
|
|
15
|
-
switch (output.length % 4) {
|
|
16
|
-
case 0: {
|
|
17
|
-
break;
|
|
18
|
-
}
|
|
19
|
-
case 2: {
|
|
20
|
-
output += '==';
|
|
21
|
-
break;
|
|
22
|
-
}
|
|
23
|
-
case 3: {
|
|
24
|
-
output += '=';
|
|
25
|
-
break;
|
|
26
|
-
}
|
|
27
|
-
default: {
|
|
28
|
-
throw 'Illegal base64url string!';
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
return decodeURIComponent(window.escape(window.atob(output)));
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export class JwtHelper {
|
|
2
|
+
decodeToken(token) {
|
|
3
|
+
let parts = token.split('.');
|
|
4
|
+
if (parts.length !== 3) {
|
|
5
|
+
throw new Error('JWT must have 3 parts');
|
|
6
|
+
}
|
|
7
|
+
let decoded = this.urlBase64Decode(parts[1]);
|
|
8
|
+
if (!decoded) {
|
|
9
|
+
throw new Error('Cannot decode the token');
|
|
10
|
+
}
|
|
11
|
+
return JSON.parse(decoded);
|
|
12
|
+
}
|
|
13
|
+
urlBase64Decode(str) {
|
|
14
|
+
let output = str.replace(/-/g, '+').replace(/_/g, '/');
|
|
15
|
+
switch (output.length % 4) {
|
|
16
|
+
case 0: {
|
|
17
|
+
break;
|
|
18
|
+
}
|
|
19
|
+
case 2: {
|
|
20
|
+
output += '==';
|
|
21
|
+
break;
|
|
22
|
+
}
|
|
23
|
+
case 3: {
|
|
24
|
+
output += '=';
|
|
25
|
+
break;
|
|
26
|
+
}
|
|
27
|
+
default: {
|
|
28
|
+
throw 'Illegal base64url string!';
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return decodeURIComponent(window.escape(window.atob(output)));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiand0LmhlbHBoZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXctZnJvbnQtY29tbW9uLWxpYnJhcnkvc3JjL2xpYi91dGlsL3NlcnZpY2VzL2p3dC1zZWN1cml0eS9qd3QuaGVscGhlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sU0FBUztJQUVYLFdBQVcsQ0FBQyxLQUFhO1FBQzVCLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0IsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7U0FDNUM7UUFDRCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDVixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7U0FDOUM7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVPLGVBQWUsQ0FBQyxHQUFXO1FBQy9CLElBQUksTUFBTSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDdkQsUUFBUSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN2QixLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUNKLE1BQU07YUFDVDtZQUNELEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQ0osTUFBTSxJQUFJLElBQUksQ0FBQztnQkFDZixNQUFNO2FBQ1Q7WUFDRCxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUNKLE1BQU0sSUFBSSxHQUFHLENBQUM7Z0JBQ2QsTUFBTTthQUNUO1lBQ0QsT0FBTyxDQUFDLENBQUM7Z0JBQ0wsTUFBTSwyQkFBMkIsQ0FBQzthQUNyQztTQUNKO1FBQ0QsT0FBTyxrQkFBa0IsQ0FBTyxNQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXpFLENBQUM7Q0FHSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBKd3RIZWxwZXIge1xyXG5cclxuICAgIHB1YmxpYyBkZWNvZGVUb2tlbih0b2tlbjogc3RyaW5nKSB7XHJcbiAgICAgICAgbGV0IHBhcnRzID0gdG9rZW4uc3BsaXQoJy4nKTtcclxuICAgICAgICBpZiAocGFydHMubGVuZ3RoICE9PSAzKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSldUIG11c3QgaGF2ZSAzIHBhcnRzJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBkZWNvZGVkID0gdGhpcy51cmxCYXNlNjREZWNvZGUocGFydHNbMV0pO1xyXG4gICAgICAgIGlmICghZGVjb2RlZCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBkZWNvZGUgdGhlIHRva2VuJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBKU09OLnBhcnNlKGRlY29kZWQpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdXJsQmFzZTY0RGVjb2RlKHN0cjogc3RyaW5nKSB7XHJcbiAgICAgICAgbGV0IG91dHB1dCA9IHN0ci5yZXBsYWNlKC8tL2csICcrJykucmVwbGFjZSgvXy9nLCAnLycpO1xyXG4gICAgICAgIHN3aXRjaCAob3V0cHV0Lmxlbmd0aCAlIDQpIHtcclxuICAgICAgICAgICAgY2FzZSAwOiB7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjYXNlIDI6IHtcclxuICAgICAgICAgICAgICAgIG91dHB1dCArPSAnPT0nO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY2FzZSAzOiB7XHJcbiAgICAgICAgICAgICAgICBvdXRwdXQgKz0gJz0nO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZGVmYXVsdDoge1xyXG4gICAgICAgICAgICAgICAgdGhyb3cgJ0lsbGVnYWwgYmFzZTY0dXJsIHN0cmluZyEnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBkZWNvZGVVUklDb21wb25lbnQoKDxhbnk+d2luZG93KS5lc2NhcGUod2luZG93LmF0b2Iob3V0cHV0KSkpO1xyXG5cclxuICAgIH1cclxuXHJcblxyXG59XHJcbiJdfQ==
|