ngx-vector-components 4.130.0 → 4.131.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/CHANGELOG.md +1472 -1467
- package/README.md +35 -35
- package/assets/icons/chevron_down_icon.svg +3 -3
- package/assets/icons/home_menu_icon.svg +3 -3
- package/assets/icons/logout_icon.svg +9 -9
- package/assets/icons/menu_footer_icon.svg +3 -3
- package/assets/icons/menu_hamburguer_icon.svg +3 -3
- package/assets/icons/terms_of_use_icon.svg +9 -9
- package/assets/icons/vector_admin_icon.svg +4 -4
- package/assets/icons/vector_fintech_icon.svg +3 -3
- package/assets/icons/vector_logtech_icon.svg +6 -6
- package/assets/icons/vector_marketplace_icon.svg +3 -3
- package/assets/images/bunge_logo.svg +23 -23
- package/assets/images/cofco_logo.svg +117 -117
- package/assets/images/emote_bad.svg +6 -6
- package/assets/images/emote_cool.svg +5 -5
- package/assets/images/emote_nice.svg +5 -5
- package/assets/images/success_sign.svg +4 -4
- package/assets/images/vector-logo-horizontal-inverse-color.svg +13 -13
- package/assets/images/vector_logo_horizontal.svg +13 -13
- package/assets/images/warn_sign.svg +4 -4
- package/assets/styles/_fonts.scss +114 -114
- package/assets/styles/_mixins.scss +7 -7
- package/assets/styles/_primeng-custom-theme.scss +1105 -1101
- package/assets/styles/_spinner.scss +35 -35
- package/assets/styles/_styles.scss +115 -115
- package/assets/styles/_variables.scss +27 -27
- package/esm2020/lib/components/badge/badge.component.mjs +39 -39
- package/esm2020/lib/components/badge/badge.module.mjs +19 -19
- package/esm2020/lib/components/badge/index.mjs +3 -3
- package/esm2020/lib/components/breadcrumb/breadcrumb.component.mjs +66 -66
- package/esm2020/lib/components/breadcrumb/breadcrumb.module.mjs +18 -18
- package/esm2020/lib/components/breadcrumb/index.mjs +3 -3
- package/esm2020/lib/components/crud-base/crud-base.component.mjs +47 -47
- package/esm2020/lib/components/crud-base/index.mjs +2 -2
- package/esm2020/lib/components/crud-footer/crud-footer.component.mjs +40 -40
- package/esm2020/lib/components/crud-footer/crud-footer.module.mjs +20 -20
- package/esm2020/lib/components/crud-footer/index.mjs +3 -3
- package/esm2020/lib/components/crud-header/crud-header.component.mjs +30 -30
- package/esm2020/lib/components/crud-header/crud-header.module.mjs +19 -19
- package/esm2020/lib/components/crud-header/index.mjs +3 -3
- package/esm2020/lib/components/crud-history/crud-history.component.mjs +82 -82
- package/esm2020/lib/components/crud-history/crud-history.module.mjs +20 -20
- package/esm2020/lib/components/crud-history/index.mjs +3 -3
- package/esm2020/lib/components/fields/button/button.component.mjs +41 -41
- package/esm2020/lib/components/fields/button/index.mjs +2 -2
- package/esm2020/lib/components/fields/calendar-field/calendar-field.component.mjs +74 -74
- package/esm2020/lib/components/fields/calendar-field/index.mjs +2 -2
- package/esm2020/lib/components/fields/checkbox-field/checkbox-field.component.mjs +46 -46
- package/esm2020/lib/components/fields/checkbox-field/index.mjs +2 -2
- package/esm2020/lib/components/fields/currency-field/currency-field.component.mjs +98 -98
- package/esm2020/lib/components/fields/currency-field/index.mjs +2 -2
- package/esm2020/lib/components/fields/data-table/data-table.component.mjs +388 -388
- package/esm2020/lib/components/fields/data-table/index.mjs +2 -2
- package/esm2020/lib/components/fields/dropdown-field/dropdown-field.component.mjs +204 -204
- package/esm2020/lib/components/fields/dropdown-field/index.mjs +2 -2
- package/esm2020/lib/components/fields/field-error-message/field-error-message.component.mjs +30 -30
- package/esm2020/lib/components/fields/field-error-message/index.mjs +2 -2
- package/esm2020/lib/components/fields/fields.module.mjs +222 -222
- package/esm2020/lib/components/fields/filters/filters.component.mjs +209 -209
- package/esm2020/lib/components/fields/filters/index.mjs +2 -2
- package/esm2020/lib/components/fields/index.mjs +20 -20
- package/esm2020/lib/components/fields/input-number-field/index.mjs +2 -2
- package/esm2020/lib/components/fields/input-number-field/input-number-field.component.mjs +86 -86
- package/esm2020/lib/components/fields/input-switch-field/index.mjs +2 -2
- package/esm2020/lib/components/fields/input-switch-field/input-switch-field.component.mjs +16 -16
- package/esm2020/lib/components/fields/multiselect-field/index.mjs +2 -2
- package/esm2020/lib/components/fields/multiselect-field/multiselect-field.component.mjs +154 -154
- package/esm2020/lib/components/fields/percentage-field/index.mjs +2 -2
- package/esm2020/lib/components/fields/percentage-field/percentage-field.component.mjs +54 -54
- package/esm2020/lib/components/fields/radio-button-field/index.mjs +2 -2
- package/esm2020/lib/components/fields/radio-button-field/radio-button-field.component.mjs +48 -48
- package/esm2020/lib/components/fields/range-value/index.mjs +2 -2
- package/esm2020/lib/components/fields/range-value/range-value.component.mjs +72 -72
- package/esm2020/lib/components/fields/search-field/index.mjs +2 -2
- package/esm2020/lib/components/fields/search-field/search-field.component.mjs +33 -33
- package/esm2020/lib/components/fields/select-button-field/index.mjs +2 -2
- package/esm2020/lib/components/fields/select-button-field/select-button-field.component.mjs +20 -20
- package/esm2020/lib/components/fields/text-field/index.mjs +2 -2
- package/esm2020/lib/components/fields/text-field/text-field.component.mjs +238 -238
- package/esm2020/lib/components/fields/textarea-field/index.mjs +2 -2
- package/esm2020/lib/components/fields/textarea-field/textarea-field.component.mjs +81 -81
- package/esm2020/lib/components/generic-error-modal/generic-error-modal.component.mjs +36 -36
- package/esm2020/lib/components/generic-error-modal/generic-error-modal.module.mjs +20 -20
- package/esm2020/lib/components/generic-error-modal/index.mjs +3 -3
- package/esm2020/lib/components/generic-modal/generic-modal.component.mjs +66 -66
- package/esm2020/lib/components/generic-modal/generic-modal.module.mjs +20 -20
- package/esm2020/lib/components/generic-modal/index.mjs +3 -3
- package/esm2020/lib/components/index.mjs +15 -15
- package/esm2020/lib/components/menu/index.mjs +4 -4
- package/esm2020/lib/components/menu/menu.component.mjs +305 -305
- package/esm2020/lib/components/menu/menu.module.mjs +20 -20
- package/esm2020/lib/components/menu/sub-menus-list/sub-menus-list.component.mjs +42 -42
- package/esm2020/lib/components/panel/index.mjs +3 -3
- package/esm2020/lib/components/panel/panel.component.mjs +15 -15
- package/esm2020/lib/components/panel/panel.module.mjs +19 -19
- package/esm2020/lib/components/score/index.mjs +3 -3
- package/esm2020/lib/components/score/score.component.mjs +17 -17
- package/esm2020/lib/components/score/score.module.mjs +16 -16
- package/esm2020/lib/components/stepper/index.mjs +3 -3
- package/esm2020/lib/components/stepper/stepper.component.mjs +47 -47
- package/esm2020/lib/components/stepper/stepper.module.mjs +19 -19
- package/esm2020/lib/components/top-bar/index.mjs +3 -3
- package/esm2020/lib/components/top-bar/top-bar.component.mjs +147 -147
- package/esm2020/lib/components/top-bar/top-bar.module.mjs +20 -20
- package/esm2020/lib/guards/crud-list-has-items.guard.mjs +22 -22
- package/esm2020/lib/guards/get-token-by-guid.guard.mjs +54 -54
- package/esm2020/lib/guards/has-permission.guard.mjs +27 -27
- package/esm2020/lib/guards/index.mjs +6 -6
- package/esm2020/lib/guards/role.guard.mjs +24 -24
- package/esm2020/lib/guards/token-is-present.guard.mjs +26 -26
- package/esm2020/lib/interceptors/http-interceptor.mjs +185 -185
- package/esm2020/lib/interceptors/index.mjs +2 -2
- package/esm2020/lib/models/app-name.enum.mjs +10 -10
- package/esm2020/lib/models/boolean-type.enum.mjs +6 -6
- package/esm2020/lib/models/crud-history.model.mjs +3 -3
- package/esm2020/lib/models/crud-mode.enum.mjs +7 -7
- package/esm2020/lib/models/currency.enum.mjs +7 -7
- package/esm2020/lib/models/data-table.model.mjs +23 -23
- package/esm2020/lib/models/document-type.enum.mjs +6 -6
- package/esm2020/lib/models/filters.model.mjs +2 -2
- package/esm2020/lib/models/generic-modal.model.mjs +2 -2
- package/esm2020/lib/models/http-response.model.mjs +2 -2
- package/esm2020/lib/models/index.mjs +18 -18
- package/esm2020/lib/models/ip-info.enum.mjs +2 -2
- package/esm2020/lib/models/list-item.model.mjs +2 -2
- package/esm2020/lib/models/locale.enum.mjs +7 -7
- package/esm2020/lib/models/menu-item.model.mjs +2 -2
- package/esm2020/lib/models/message-status.enum.mjs +8 -8
- package/esm2020/lib/models/profile.model.mjs +338 -338
- package/esm2020/lib/models/role.enum.mjs +5 -5
- package/esm2020/lib/models/status.enum.mjs +8 -8
- package/esm2020/lib/models/topbar.model.mjs +2 -2
- package/esm2020/lib/models/vector-app.model.mjs +2 -2
- package/esm2020/lib/models/vector-notification.model.mjs +2 -2
- package/esm2020/lib/models/view.enum.mjs +8 -8
- package/esm2020/lib/pipes/currency-brl.pipe.mjs +18 -18
- package/esm2020/lib/pipes/format-document.pipe.mjs +17 -17
- package/esm2020/lib/pipes/index.mjs +9 -9
- package/esm2020/lib/pipes/mask.pipe.mjs +21 -21
- package/esm2020/lib/pipes/not-hidden.pipe.mjs +16 -16
- package/esm2020/lib/pipes/only-active.pipe.mjs +16 -16
- package/esm2020/lib/pipes/pipes.module.mjs +50 -50
- package/esm2020/lib/pipes/remove-last-child.pipe.mjs +18 -18
- package/esm2020/lib/pipes/unread-notifications.pipe.mjs +15 -15
- package/esm2020/lib/resolvers/get-selected-crud-item.resolver.mjs +28 -28
- package/esm2020/lib/resolvers/index.mjs +2 -2
- package/esm2020/lib/services/auth.service.mjs +77 -77
- package/esm2020/lib/services/base-dropdown.mjs +2 -2
- package/esm2020/lib/services/crud-base.service.mjs +14 -14
- package/esm2020/lib/services/enum.service.mjs +43 -43
- package/esm2020/lib/services/error-message.service.mjs +16 -16
- package/esm2020/lib/services/geolocation.service.mjs +23 -23
- package/esm2020/lib/services/index.mjs +13 -13
- package/esm2020/lib/services/loading.service.mjs +15 -15
- package/esm2020/lib/services/menu.service.mjs +152 -152
- package/esm2020/lib/services/modal.service.mjs +15 -15
- package/esm2020/lib/services/notifications.service.mjs +64 -64
- package/esm2020/lib/services/profile.service.mjs +112 -112
- package/esm2020/lib/services/storage.service.mjs +108 -108
- package/esm2020/lib/shared/shared.module.mjs +19 -19
- package/esm2020/lib/utils/cpf-cnpj-validator.util.mjs +116 -116
- package/esm2020/lib/utils/file.util.mjs +15 -15
- package/esm2020/lib/utils/index.mjs +8 -8
- package/esm2020/lib/utils/mask.util.mjs +76 -76
- package/esm2020/lib/utils/object.util.mjs +27 -27
- package/esm2020/lib/utils/string.util.mjs +30 -30
- package/esm2020/lib/utils/validation.util.mjs +234 -234
- package/esm2020/lib/utils/window.util.mjs +9 -9
- package/esm2020/ngx-vector-components.mjs +4 -4
- package/esm2020/public-api.mjs +9 -9
- package/fesm2015/ngx-vector-components.mjs +4866 -4866
- package/fesm2015/ngx-vector-components.mjs.map +1 -1
- package/fesm2020/ngx-vector-components.mjs +4842 -4842
- package/fesm2020/ngx-vector-components.mjs.map +1 -1
- package/lib/components/badge/badge.component.d.ts +15 -15
- package/lib/components/badge/badge.module.d.ts +9 -9
- package/lib/components/badge/index.d.ts +2 -2
- package/lib/components/breadcrumb/breadcrumb.component.d.ts +19 -19
- package/lib/components/breadcrumb/breadcrumb.module.d.ts +8 -8
- package/lib/components/breadcrumb/index.d.ts +2 -2
- package/lib/components/crud-base/crud-base.component.d.ts +20 -20
- package/lib/components/crud-base/index.d.ts +1 -1
- package/lib/components/crud-footer/crud-footer.component.d.ts +19 -19
- package/lib/components/crud-footer/crud-footer.module.d.ts +10 -10
- package/lib/components/crud-footer/index.d.ts +2 -2
- package/lib/components/crud-header/crud-header.component.d.ts +11 -11
- package/lib/components/crud-header/crud-header.module.d.ts +9 -9
- package/lib/components/crud-header/index.d.ts +2 -2
- package/lib/components/crud-history/crud-history.component.d.ts +12 -12
- package/lib/components/crud-history/crud-history.module.d.ts +10 -10
- package/lib/components/crud-history/index.d.ts +2 -2
- package/lib/components/fields/button/button.component.d.ts +17 -17
- package/lib/components/fields/button/index.d.ts +1 -1
- package/lib/components/fields/calendar-field/calendar-field.component.d.ts +23 -23
- package/lib/components/fields/calendar-field/index.d.ts +1 -1
- package/lib/components/fields/checkbox-field/checkbox-field.component.d.ts +19 -19
- package/lib/components/fields/checkbox-field/index.d.ts +1 -1
- package/lib/components/fields/currency-field/currency-field.component.d.ts +32 -32
- package/lib/components/fields/currency-field/index.d.ts +1 -1
- package/lib/components/fields/data-table/data-table.component.d.ts +87 -87
- package/lib/components/fields/data-table/index.d.ts +1 -1
- package/lib/components/fields/dropdown-field/dropdown-field.component.d.ts +52 -52
- package/lib/components/fields/dropdown-field/index.d.ts +1 -1
- package/lib/components/fields/field-error-message/field-error-message.component.d.ts +10 -10
- package/lib/components/fields/field-error-message/index.d.ts +1 -1
- package/lib/components/fields/fields.module.d.ts +50 -50
- package/lib/components/fields/filters/filters.component.d.ts +65 -65
- package/lib/components/fields/filters/index.d.ts +1 -1
- package/lib/components/fields/index.d.ts +19 -19
- package/lib/components/fields/input-number-field/index.d.ts +1 -1
- package/lib/components/fields/input-number-field/input-number-field.component.d.ts +28 -28
- package/lib/components/fields/input-switch-field/index.d.ts +1 -1
- package/lib/components/fields/input-switch-field/input-switch-field.component.d.ts +8 -8
- package/lib/components/fields/multiselect-field/index.d.ts +1 -1
- package/lib/components/fields/multiselect-field/multiselect-field.component.d.ts +40 -40
- package/lib/components/fields/percentage-field/index.d.ts +1 -1
- package/lib/components/fields/percentage-field/percentage-field.component.d.ts +20 -20
- package/lib/components/fields/radio-button-field/index.d.ts +1 -1
- package/lib/components/fields/radio-button-field/radio-button-field.component.d.ts +25 -25
- package/lib/components/fields/range-value/index.d.ts +1 -1
- package/lib/components/fields/range-value/range-value.component.d.ts +18 -18
- package/lib/components/fields/search-field/index.d.ts +1 -1
- package/lib/components/fields/search-field/search-field.component.d.ts +14 -14
- package/lib/components/fields/select-button-field/index.d.ts +1 -1
- package/lib/components/fields/select-button-field/select-button-field.component.d.ts +9 -9
- package/lib/components/fields/text-field/index.d.ts +1 -1
- package/lib/components/fields/text-field/text-field.component.d.ts +56 -56
- package/lib/components/fields/textarea-field/index.d.ts +1 -1
- package/lib/components/fields/textarea-field/textarea-field.component.d.ts +22 -22
- package/lib/components/generic-error-modal/generic-error-modal.component.d.ts +15 -15
- package/lib/components/generic-error-modal/generic-error-modal.module.d.ts +10 -10
- package/lib/components/generic-error-modal/index.d.ts +2 -2
- package/lib/components/generic-modal/generic-modal.component.d.ts +24 -24
- package/lib/components/generic-modal/generic-modal.module.d.ts +10 -10
- package/lib/components/generic-modal/index.d.ts +2 -2
- package/lib/components/index.d.ts +14 -14
- package/lib/components/menu/index.d.ts +3 -3
- package/lib/components/menu/menu.component.d.ts +53 -53
- package/lib/components/menu/menu.module.d.ts +10 -10
- package/lib/components/menu/sub-menus-list/sub-menus-list.component.d.ts +14 -14
- package/lib/components/panel/index.d.ts +2 -2
- package/lib/components/panel/panel.component.d.ts +8 -8
- package/lib/components/panel/panel.module.d.ts +9 -9
- package/lib/components/score/index.d.ts +2 -2
- package/lib/components/score/score.component.d.ts +9 -9
- package/lib/components/score/score.module.d.ts +7 -7
- package/lib/components/stepper/index.d.ts +2 -2
- package/lib/components/stepper/stepper.component.d.ts +15 -15
- package/lib/components/stepper/stepper.module.d.ts +9 -9
- package/lib/components/top-bar/index.d.ts +2 -2
- package/lib/components/top-bar/top-bar.component.d.ts +49 -49
- package/lib/components/top-bar/top-bar.module.d.ts +10 -10
- package/lib/guards/crud-list-has-items.guard.d.ts +10 -10
- package/lib/guards/get-token-by-guid.guard.d.ts +15 -15
- package/lib/guards/has-permission.guard.d.ts +13 -13
- package/lib/guards/index.d.ts +5 -5
- package/lib/guards/role.guard.d.ts +11 -11
- package/lib/guards/token-is-present.guard.d.ts +11 -11
- package/lib/interceptors/http-interceptor.d.ts +31 -31
- package/lib/interceptors/index.d.ts +1 -1
- package/lib/models/app-name.enum.d.ts +8 -8
- package/lib/models/boolean-type.enum.d.ts +4 -4
- package/lib/models/crud-history.model.d.ts +13 -13
- package/lib/models/crud-mode.enum.d.ts +5 -5
- package/lib/models/currency.enum.d.ts +5 -5
- package/lib/models/data-table.model.d.ts +65 -65
- package/lib/models/document-type.enum.d.ts +4 -4
- package/lib/models/filters.model.d.ts +4 -4
- package/lib/models/generic-modal.model.d.ts +12 -12
- package/lib/models/http-response.model.d.ts +57 -57
- package/lib/models/index.d.ts +17 -17
- package/lib/models/ip-info.enum.d.ts +6 -6
- package/lib/models/list-item.model.d.ts +7 -7
- package/lib/models/locale.enum.d.ts +5 -5
- package/lib/models/menu-item.model.d.ts +16 -16
- package/lib/models/message-status.enum.d.ts +6 -6
- package/lib/models/profile.model.d.ts +358 -358
- package/lib/models/role.enum.d.ts +3 -3
- package/lib/models/status.enum.d.ts +6 -6
- package/lib/models/topbar.model.d.ts +5 -5
- package/lib/models/vector-app.model.d.ts +9 -9
- package/lib/models/vector-notification.model.d.ts +8 -8
- package/lib/models/view.enum.d.ts +6 -6
- package/lib/pipes/currency-brl.pipe.d.ts +7 -7
- package/lib/pipes/format-document.pipe.d.ts +7 -7
- package/lib/pipes/index.d.ts +8 -8
- package/lib/pipes/mask.pipe.d.ts +7 -7
- package/lib/pipes/not-hidden.pipe.d.ts +7 -7
- package/lib/pipes/only-active.pipe.d.ts +7 -7
- package/lib/pipes/pipes.module.d.ts +13 -13
- package/lib/pipes/remove-last-child.pipe.d.ts +7 -7
- package/lib/pipes/unread-notifications.pipe.d.ts +9 -9
- package/lib/resolvers/get-selected-crud-item.resolver.d.ts +10 -10
- package/lib/resolvers/index.d.ts +1 -1
- package/lib/services/auth.service.d.ts +24 -24
- package/lib/services/base-dropdown.d.ts +7 -7
- package/lib/services/crud-base.service.d.ts +7 -7
- package/lib/services/enum.service.d.ts +13 -13
- package/lib/services/error-message.service.d.ts +8 -8
- package/lib/services/geolocation.service.d.ts +13 -13
- package/lib/services/index.d.ts +12 -12
- package/lib/services/loading.service.d.ts +7 -7
- package/lib/services/menu.service.d.ts +35 -35
- package/lib/services/modal.service.d.ts +7 -7
- package/lib/services/notifications.service.d.ts +13 -13
- package/lib/services/profile.service.d.ts +27 -27
- package/lib/services/storage.service.d.ts +43 -43
- package/lib/shared/shared.module.d.ts +10 -10
- package/lib/utils/cpf-cnpj-validator.util.d.ts +5 -5
- package/lib/utils/file.util.d.ts +4 -4
- package/lib/utils/index.d.ts +7 -7
- package/lib/utils/mask.util.d.ts +21 -21
- package/lib/utils/object.util.d.ts +5 -5
- package/lib/utils/string.util.d.ts +6 -6
- package/lib/utils/validation.util.d.ts +17 -17
- package/lib/utils/window.util.d.ts +4 -4
- package/ngx-vector-components.d.ts +5 -5
- package/package.json +1 -1
- package/public-api.d.ts +8 -8
|
@@ -1,185 +1,185 @@
|
|
|
1
|
-
import { HttpResponse, } from '@angular/common/http';
|
|
2
|
-
import { Inject, Injectable } from '@angular/core';
|
|
3
|
-
import { BehaviorSubject, throwError } from 'rxjs';
|
|
4
|
-
import { catchError, filter, switchMap, take, tap } from 'rxjs/operators';
|
|
5
|
-
import { MessageStatus } from '../models';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../services";
|
|
8
|
-
import * as i2 from "primeng/api";
|
|
9
|
-
export class HttpInterceptorProvider {
|
|
10
|
-
constructor(storageService, errorMessageService, loadingService, authService, messageService, environment) {
|
|
11
|
-
this.storageService = storageService;
|
|
12
|
-
this.errorMessageService = errorMessageService;
|
|
13
|
-
this.loadingService = loadingService;
|
|
14
|
-
this.authService = authService;
|
|
15
|
-
this.messageService = messageService;
|
|
16
|
-
this.environment = environment;
|
|
17
|
-
this.activeRequests = [];
|
|
18
|
-
this.isRefreshing = false;
|
|
19
|
-
this.refreshTokenSubject = new BehaviorSubject(null);
|
|
20
|
-
}
|
|
21
|
-
intercept(request, next) {
|
|
22
|
-
const isExternalUrl = request.headers.get('external-url');
|
|
23
|
-
if (!this.isRefreshTokenRequest(request.url)) {
|
|
24
|
-
if (!isExternalUrl) {
|
|
25
|
-
request = this.addTokenIfPresent(request);
|
|
26
|
-
request = this.addEncryptPasswordIfPresent(request);
|
|
27
|
-
request = this.addAccountUuidIfPresent(request);
|
|
28
|
-
request = this.addModifierIdIfPresent(request);
|
|
29
|
-
request = this.addContentType(request);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
if (!isExternalUrl) {
|
|
33
|
-
request = this.fixUrl(request);
|
|
34
|
-
}
|
|
35
|
-
const noSpinnerHeader = request.headers.get('no-spinner');
|
|
36
|
-
if (!noSpinnerHeader && !request.url.startsWith('/assets/')) {
|
|
37
|
-
this.loadingService.loading$.next(true);
|
|
38
|
-
this.activeRequests.push(this.getUrlWithoutParams(request.url));
|
|
39
|
-
}
|
|
40
|
-
return next.handle(request).pipe(catchError((response) => {
|
|
41
|
-
if (response.error?.messages?.length) {
|
|
42
|
-
this.errorMessageService.genericModalErrorMessage$.next(response.error.messages[response.error.messages.length - 1]);
|
|
43
|
-
}
|
|
44
|
-
if (!this.isRefreshTokenRequest(request.url)) {
|
|
45
|
-
if (response.status === 401) {
|
|
46
|
-
return this.handle401Error(request, next);
|
|
47
|
-
}
|
|
48
|
-
if (response.status === 403) {
|
|
49
|
-
this.errorMessageService.genericModalErrorMessage$.next('Usuário sem privilégios para realizar essa ação');
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
if (!isExternalUrl) {
|
|
53
|
-
if (typeof response.error == 'string') {
|
|
54
|
-
this.messageService.add({ severity: MessageStatus.ERROR, summary: 'Erro', detail: response.error });
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
if (this.activeRequests.includes(this.getUrlWithoutParams(response.url))) {
|
|
60
|
-
this.activeRequests.splice(this.activeRequests.findIndex((item) => item === this.getUrlWithoutParams(request.url)), 1);
|
|
61
|
-
if (!this.activeRequests.length) {
|
|
62
|
-
this.loadingService.loading$.next(false);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
return throwError(response);
|
|
66
|
-
}), tap((response) => {
|
|
67
|
-
if (response instanceof HttpResponse) {
|
|
68
|
-
if (this.activeRequests.includes(this.getUrlWithoutParams(response.url))) {
|
|
69
|
-
this.activeRequests.splice(this.activeRequests.findIndex((item) => item === this.getUrlWithoutParams(request.url)), 1);
|
|
70
|
-
if (!this.activeRequests.length) {
|
|
71
|
-
this.loadingService.loading$.next(false);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
if (Object(response.body).hasOwnProperty('statusCode') &&
|
|
75
|
-
response.body.statusCode === 400 &&
|
|
76
|
-
response.body.messages?.length) {
|
|
77
|
-
this.errorMessageService.genericModalErrorMessage$.next(response.body.messages[response.body.messages.length - 1]);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}));
|
|
81
|
-
}
|
|
82
|
-
isRefreshTokenRequest(url) {
|
|
83
|
-
return url.includes('connect/token');
|
|
84
|
-
}
|
|
85
|
-
getUrlWithoutParams(fullUrl) {
|
|
86
|
-
if (!fullUrl) {
|
|
87
|
-
return '';
|
|
88
|
-
}
|
|
89
|
-
const decodedUrl = decodeURIComponent(fullUrl.trim());
|
|
90
|
-
if (!decodedUrl.includes('?')) {
|
|
91
|
-
return decodedUrl;
|
|
92
|
-
}
|
|
93
|
-
return decodedUrl.substring(0, decodedUrl.indexOf('?'));
|
|
94
|
-
}
|
|
95
|
-
addTokenIfPresent(request) {
|
|
96
|
-
const token = this.storageService.getToken();
|
|
97
|
-
if (token) {
|
|
98
|
-
request = request.clone({ setHeaders: { Authorization: token } });
|
|
99
|
-
}
|
|
100
|
-
return request;
|
|
101
|
-
}
|
|
102
|
-
addModifierIdIfPresent(request) {
|
|
103
|
-
const modifierId = this.storageService.getUserId();
|
|
104
|
-
if (modifierId && request.method !== 'GET' && !(request.body instanceof FormData)) {
|
|
105
|
-
request = request.clone({ body: { ...request.body, modifierId } });
|
|
106
|
-
}
|
|
107
|
-
return request;
|
|
108
|
-
}
|
|
109
|
-
addEncryptPasswordIfPresent(request) {
|
|
110
|
-
const encriptPassword = this.storageService.get('encryptPassword');
|
|
111
|
-
if (request.method !== 'GET' && encriptPassword) {
|
|
112
|
-
if (request.body instanceof FormData) {
|
|
113
|
-
request.body.append('encriptPassword', encriptPassword);
|
|
114
|
-
}
|
|
115
|
-
else {
|
|
116
|
-
request = request.clone({ body: { ...request.body, encriptPassword } });
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
return request;
|
|
120
|
-
}
|
|
121
|
-
addAccountUuidIfPresent(request) {
|
|
122
|
-
const accountUuid = this.storageService.get('accountUuid');
|
|
123
|
-
if (request.method !== 'GET' && accountUuid) {
|
|
124
|
-
if (request.body instanceof FormData) {
|
|
125
|
-
request.body.append('accountUuid', accountUuid);
|
|
126
|
-
}
|
|
127
|
-
else {
|
|
128
|
-
request = request.clone({ body: { ...request.body, accountUuid } });
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
return request;
|
|
132
|
-
}
|
|
133
|
-
addContentType(request) {
|
|
134
|
-
return request.clone({ setHeaders: { contentType: 'application/json' } });
|
|
135
|
-
}
|
|
136
|
-
fixUrl(request) {
|
|
137
|
-
if (this.isAuthRequest(request.url) || this.isProfilesRequest(request.url)) {
|
|
138
|
-
return request.clone({
|
|
139
|
-
url: `${this.environment.API_URL.replace('/api', '')}/${request.url}`,
|
|
140
|
-
});
|
|
141
|
-
}
|
|
142
|
-
return request.clone({
|
|
143
|
-
url: request.url.startsWith('/assets/') ? request.url : `${this.environment.API_URL}/${request.url}`,
|
|
144
|
-
});
|
|
145
|
-
}
|
|
146
|
-
isAuthRequest(url) {
|
|
147
|
-
return url.includes('connect/token');
|
|
148
|
-
}
|
|
149
|
-
isProfilesRequest(url) {
|
|
150
|
-
return url.includes('connect/userinfo');
|
|
151
|
-
}
|
|
152
|
-
handle401Error(request, next) {
|
|
153
|
-
if (!this.isRefreshing) {
|
|
154
|
-
this.isRefreshing = true;
|
|
155
|
-
this.refreshTokenSubject.next(null);
|
|
156
|
-
const refreshToken = this.storageService.getRefreshToken();
|
|
157
|
-
if (refreshToken) {
|
|
158
|
-
return this.authService.getTokenByRefreshToken(refreshToken).pipe(switchMap((token) => {
|
|
159
|
-
this.isRefreshing = false;
|
|
160
|
-
this.refreshTokenSubject.next(this.storageService.getToken());
|
|
161
|
-
return next.handle(this.addTokenIfPresent(request));
|
|
162
|
-
}), catchError((err) => {
|
|
163
|
-
this.isRefreshing = false;
|
|
164
|
-
this.authService.logout();
|
|
165
|
-
return throwError(err);
|
|
166
|
-
}));
|
|
167
|
-
}
|
|
168
|
-
else {
|
|
169
|
-
this.isRefreshing = false;
|
|
170
|
-
this.authService.logout();
|
|
171
|
-
return throwError(new Error());
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
return this.refreshTokenSubject.pipe(filter((token) => token !== null), take(1), switchMap((token) => next.handle(this.addTokenIfPresent(request))));
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
HttpInterceptorProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: HttpInterceptorProvider, deps: [{ token: i1.StorageService }, { token: i1.ErrorMessageService }, { token: i1.LoadingService }, { token: i1.AuthService }, { token: i2.MessageService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
178
|
-
HttpInterceptorProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: HttpInterceptorProvider });
|
|
179
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: HttpInterceptorProvider, decorators: [{
|
|
180
|
-
type: Injectable
|
|
181
|
-
}], ctorParameters: function () { return [{ type: i1.StorageService }, { type: i1.ErrorMessageService }, { type: i1.LoadingService }, { type: i1.AuthService }, { type: i2.MessageService }, { type: undefined, decorators: [{
|
|
182
|
-
type: Inject,
|
|
183
|
-
args: ['environment']
|
|
184
|
-
}] }]; } });
|
|
185
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZWN0b3ItY29tcG9uZW50cy9zcmMvbGliL2ludGVyY2VwdG9ycy9odHRwLWludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFNTCxZQUFZLEdBQ2IsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7QUFJMUMsTUFBTSxPQUFPLHVCQUF1QjtJQUlsQyxZQUNVLGNBQThCLEVBQzlCLG1CQUF3QyxFQUN4QyxjQUE4QixFQUM5QixXQUF3QixFQUN4QixjQUE4QixFQUNQLFdBQWdCO1FBTHZDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDUCxnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQVR6QyxtQkFBYyxHQUFhLEVBQUUsQ0FBQztRQUM5QixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQix3QkFBbUIsR0FBeUIsSUFBSSxlQUFlLENBQU0sSUFBSSxDQUFDLENBQUM7SUFRaEYsQ0FBQztJQUVKLFNBQVMsQ0FBQyxPQUF5QixFQUFFLElBQWlCO1FBQ3BELE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxP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LENBQUMsQ0FBQyxDQUFDLEVBQ1AsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQ25FLENBQUM7SUFDSixDQUFDOztvSEEvTVUsdUJBQXVCLDBLQVV4QixhQUFhO3dIQVZaLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVOzswQkFXTixNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEh0dHBFcnJvclJlc3BvbnNlLFxyXG4gIEh0dHBFdmVudCxcclxuICBIdHRwSGFuZGxlcixcclxuICBIdHRwSW50ZXJjZXB0b3IsXHJcbiAgSHR0cFJlcXVlc3QsXHJcbiAgSHR0cFJlc3BvbnNlLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBzd2l0Y2hNYXAsIHRha2UsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgTWVzc2FnZVN0YXR1cyB9IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlLCBFcnJvck1lc3NhZ2VTZXJ2aWNlLCBMb2FkaW5nU2VydmljZSwgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBIdHRwSW50ZXJjZXB0b3JQcm92aWRlciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XHJcbiAgcHJpdmF0ZSBhY3RpdmVSZXF1ZXN0czogc3RyaW5nW10gPSBbXTtcclxuICBwcml2YXRlIGlzUmVmcmVzaGluZyA9IGZhbHNlO1xyXG4gIHByaXZhdGUgcmVmcmVzaFRva2VuU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgZXJyb3JNZXNzYWdlU2VydmljZTogRXJyb3JNZXNzYWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgbG9hZGluZ1NlcnZpY2U6IExvYWRpbmdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcclxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudDogYW55XHJcbiAgKSB7fVxyXG5cclxuICBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XHJcbiAgICBjb25zdCBpc0V4dGVybmFsVXJsID0gcmVxdWVzdC5oZWFkZXJzLmdldCgnZXh0ZXJuYWwtdXJsJyk7XHJcblxyXG4gICAgaWYgKCF0aGlzLmlzUmVmcmVzaFRva2VuUmVxdWVzdChyZXF1ZXN0LnVybCkpIHtcclxuICAgICAgaWYgKCFpc0V4dGVybmFsVXJsKSB7XHJcbiAgICAgICAgcmVxdWVzdCA9IHRoaXMuYWRkVG9rZW5JZlByZXNlbnQocmVxdWVzdCk7XHJcbiAgICAgICAgcmVxdWVzdCA9IHRoaXMuYWRkRW5jcnlwdFBhc3N3b3JkSWZQcmVzZW50KHJlcXVlc3QpO1xyXG4gICAgICAgIHJlcXVlc3QgPSB0aGlzLmFkZEFjY291bnRVdWlkSWZQcmVzZW50KHJlcXVlc3QpO1xyXG4gICAgICAgIHJlcXVlc3QgPSB0aGlzLmFkZE1vZGlmaWVySWRJZlByZXNlbnQocmVxdWVzdCk7XHJcbiAgICAgICAgcmVxdWVzdCA9IHRoaXMuYWRkQ29udGVudFR5cGUocmVxdWVzdCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAoIWlzRXh0ZXJuYWxVcmwpIHtcclxuICAgICAgcmVxdWVzdCA9IHRoaXMuZml4VXJsKHJlcXVlc3QpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG5vU3Bpbm5lckhlYWRlciA9IHJlcXVlc3QuaGVhZGVycy5nZXQoJ25vLXNwaW5uZXInKTtcclxuICAgIGlmICghbm9TcGlubmVySGVhZGVyICYmICFyZXF1ZXN0LnVybC5zdGFydHNXaXRoKCcvYXNzZXRzLycpKSB7XHJcbiAgICAgIHRoaXMubG9hZGluZ1NlcnZpY2UubG9hZGluZyQubmV4dCh0cnVlKTtcclxuICAgICAgdGhpcy5hY3RpdmVSZXF1ZXN0cy5wdXNoKHRoaXMuZ2V0VXJsV2l0aG91dFBhcmFtcyhyZXF1ZXN0LnVybCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChyZXNwb25zZTogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcclxuICAgICAgICBpZiAocmVzcG9uc2UuZXJyb3I/Lm1lc3NhZ2VzPy5sZW5ndGgpIHtcclxuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlU2VydmljZS5nZW5lcmljTW9kYWxFcnJvck1lc3NhZ2UkLm5leHQoXHJcbiAgICAgICAgICAgIHJlc3BvbnNlLmVycm9yLm1lc3NhZ2VzW3Jlc3BvbnNlLmVycm9yLm1lc3NhZ2VzLmxlbmd0aCAtIDFdXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIXRoaXMuaXNSZWZyZXNoVG9rZW5SZXF1ZXN0KHJlcXVlc3QudXJsKSkge1xyXG4gICAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gNDAxKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmhhbmRsZTQwMUVycm9yKHJlcXVlc3QsIG5leHQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gNDAzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlU2VydmljZS5nZW5lcmljTW9kYWxFcnJvck1lc3NhZ2UkLm5leHQoJ1VzdcOhcmlvIHNlbSBwcml2aWzDqWdpb3MgcGFyYSByZWFsaXphciBlc3NhIGHDp8OjbycpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKCFpc0V4dGVybmFsVXJsKSB7XHJcbiAgICAgICAgICAgICAgaWYgKHR5cGVvZiByZXNwb25zZS5lcnJvciA9PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBzZXZlcml0eTogTWVzc2FnZVN0YXR1cy5FUlJPUiwgc3VtbWFyeTogJ0Vycm8nLCBkZXRhaWw6IHJlc3BvbnNlLmVycm9yIH0pO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5hY3RpdmVSZXF1ZXN0cy5pbmNsdWRlcyh0aGlzLmdldFVybFdpdGhvdXRQYXJhbXMocmVzcG9uc2UudXJsKSkpIHtcclxuICAgICAgICAgIHRoaXMuYWN0aXZlUmVxdWVzdHMuc3BsaWNlKFxyXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVJlcXVlc3RzLmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbSA9PT0gdGhpcy5nZXRVcmxXaXRob3V0UGFyYW1zKHJlcXVlc3QudXJsKSksXHJcbiAgICAgICAgICAgIDFcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICBpZiAoIXRoaXMuYWN0aXZlUmVxdWVzdHMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZ1NlcnZpY2UubG9hZGluZyQubmV4dChmYWxzZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihyZXNwb25zZSk7XHJcbiAgICAgIH0pLFxyXG4gICAgICB0YXAoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlIGluc3RhbmNlb2YgSHR0cFJlc3BvbnNlKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5hY3RpdmVSZXF1ZXN0cy5pbmNsdWRlcyh0aGlzLmdldFVybFdpdGhvdXRQYXJhbXMocmVzcG9uc2UudXJsKSkpIHtcclxuICAgICAgICAgICAgdGhpcy5hY3RpdmVSZXF1ZXN0cy5zcGxpY2UoXHJcbiAgICAgICAgICAgICAgdGhpcy5hY3RpdmVSZXF1ZXN0cy5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0gPT09IHRoaXMuZ2V0VXJsV2l0aG91dFBhcmFtcyhyZXF1ZXN0LnVybCkpLFxyXG4gICAgICAgICAgICAgIDFcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLmFjdGl2ZVJlcXVlc3RzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgIHRoaXMubG9hZGluZ1NlcnZpY2UubG9hZGluZyQubmV4dChmYWxzZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIE9iamVjdChyZXNwb25zZS5ib2R5KS5oYXNPd25Qcm9wZXJ0eSgnc3RhdHVzQ29kZScpICYmXHJcbiAgICAgICAgICAgIHJlc3BvbnNlLmJvZHkuc3RhdHVzQ29kZSA9PT0gNDAwICYmXHJcbiAgICAgICAgICAgIHJlc3BvbnNlLmJvZHkubWVzc2FnZXM/Lmxlbmd0aFxyXG4gICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlU2VydmljZS5nZW5lcmljTW9kYWxFcnJvck1lc3NhZ2UkLm5leHQoXHJcbiAgICAgICAgICAgICAgcmVzcG9uc2UuYm9keS5tZXNzYWdlc1tyZXNwb25zZS5ib2R5Lm1lc3NhZ2VzLmxlbmd0aCAtIDFdXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNSZWZyZXNoVG9rZW5SZXF1ZXN0KHVybDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdXJsLmluY2x1ZGVzKCdjb25uZWN0L3Rva2VuJyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFVybFdpdGhvdXRQYXJhbXMoZnVsbFVybDogc3RyaW5nIHwgbnVsbCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIWZ1bGxVcmwpIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGRlY29kZWRVcmwgPSBkZWNvZGVVUklDb21wb25lbnQoZnVsbFVybC50cmltKCkpO1xyXG5cclxuICAgIGlmICghZGVjb2RlZFVybC5pbmNsdWRlcygnPycpKSB7XHJcbiAgICAgIHJldHVybiBkZWNvZGVkVXJsO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBkZWNvZGVkVXJsLnN1YnN0cmluZygwLCBkZWNvZGVkVXJsLmluZGV4T2YoJz8nKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZFRva2VuSWZQcmVzZW50KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4pOiBIdHRwUmVxdWVzdDxhbnk+IHtcclxuICAgIGNvbnN0IHRva2VuID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRUb2tlbigpO1xyXG4gICAgaWYgKHRva2VuKSB7XHJcbiAgICAgIHJlcXVlc3QgPSByZXF1ZXN0LmNsb25lKHsgc2V0SGVhZGVyczogeyBBdXRob3JpemF0aW9uOiB0b2tlbiB9IH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlcXVlc3Q7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZE1vZGlmaWVySWRJZlByZXNlbnQocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55Pik6IEh0dHBSZXF1ZXN0PGFueT4ge1xyXG4gICAgY29uc3QgbW9kaWZpZXJJZCA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0VXNlcklkKCk7XHJcbiAgICBpZiAobW9kaWZpZXJJZCAmJiByZXF1ZXN0Lm1ldGhvZCAhPT0gJ0dFVCcgJiYgIShyZXF1ZXN0LmJvZHkgaW5zdGFuY2VvZiBGb3JtRGF0YSkpIHtcclxuICAgICAgcmVxdWVzdCA9IHJlcXVlc3QuY2xvbmUoeyBib2R5OiB7IC4uLnJlcXVlc3QuYm9keSwgbW9kaWZpZXJJZCB9IH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlcXVlc3Q7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZEVuY3J5cHRQYXNzd29yZElmUHJlc2VudChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+KTogSHR0cFJlcXVlc3Q8YW55PiB7XHJcbiAgICBjb25zdCBlbmNyaXB0UGFzc3dvcmQgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldCgnZW5jcnlwdFBhc3N3b3JkJyk7XHJcbiAgICBpZiAocmVxdWVzdC5tZXRob2QgIT09ICdHRVQnICYmIGVuY3JpcHRQYXNzd29yZCkge1xyXG4gICAgICBpZiAocmVxdWVzdC5ib2R5IGluc3RhbmNlb2YgRm9ybURhdGEpIHtcclxuICAgICAgICByZXF1ZXN0LmJvZHkuYXBwZW5kKCdlbmNyaXB0UGFzc3dvcmQnLCBlbmNyaXB0UGFzc3dvcmQpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJlcXVlc3QgPSByZXF1ZXN0LmNsb25lKHsgYm9keTogeyAuLi5yZXF1ZXN0LmJvZHksIGVuY3JpcHRQYXNzd29yZCB9IH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVxdWVzdDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWRkQWNjb3VudFV1aWRJZlByZXNlbnQocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55Pik6IEh0dHBSZXF1ZXN0PGFueT4ge1xyXG4gICAgY29uc3QgYWNjb3VudFV1aWQgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldCgnYWNjb3VudFV1aWQnKTtcclxuICAgIGlmIChyZXF1ZXN0Lm1ldGhvZCAhPT0gJ0dFVCcgJiYgYWNjb3VudFV1aWQpIHtcclxuICAgICAgaWYgKHJlcXVlc3QuYm9keSBpbnN0YW5jZW9mIEZvcm1EYXRhKSB7XHJcbiAgICAgICAgcmVxdWVzdC5ib2R5LmFwcGVuZCgnYWNjb3VudFV1aWQnLCBhY2NvdW50VXVpZCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmVxdWVzdCA9IHJlcXVlc3QuY2xvbmUoeyBib2R5OiB7IC4uLnJlcXVlc3QuYm9keSwgYWNjb3VudFV1aWQgfSB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlcXVlc3Q7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZENvbnRlbnRUeXBlKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4pOiBIdHRwUmVxdWVzdDxhbnk+IHtcclxuICAgIHJldHVybiByZXF1ZXN0LmNsb25lKHsgc2V0SGVhZGVyczogeyBjb250ZW50VHlwZTogJ2FwcGxpY2F0aW9uL2pzb24nIH0gfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpeFVybChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+KTogSHR0cFJlcXVlc3Q8YW55PiB7XHJcbiAgICBpZiAodGhpcy5pc0F1dGhSZXF1ZXN0KHJlcXVlc3QudXJsKSB8fCB0aGlzLmlzUHJvZmlsZXNSZXF1ZXN0KHJlcXVlc3QudXJsKSkge1xyXG4gICAgICByZXR1cm4gcmVxdWVzdC5jbG9uZSh7XHJcbiAgICAgICAgdXJsOiBgJHt0aGlzLmVudmlyb25tZW50LkFQSV9VUkwucmVwbGFjZSgnL2FwaScsICcnKX0vJHtyZXF1ZXN0LnVybH1gLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiByZXF1ZXN0LmNsb25lKHtcclxuICAgICAgdXJsOiByZXF1ZXN0LnVybC5zdGFydHNXaXRoKCcvYXNzZXRzLycpID8gcmVxdWVzdC51cmwgOiBgJHt0aGlzLmVudmlyb25tZW50LkFQSV9VUkx9LyR7cmVxdWVzdC51cmx9YCxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc0F1dGhSZXF1ZXN0KHVybDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdXJsLmluY2x1ZGVzKCdjb25uZWN0L3Rva2VuJyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzUHJvZmlsZXNSZXF1ZXN0KHVybDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdXJsLmluY2x1ZGVzKCdjb25uZWN0L3VzZXJpbmZvJyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZTQwMUVycm9yKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKSB7XHJcbiAgICBpZiAoIXRoaXMuaXNSZWZyZXNoaW5nKSB7XHJcbiAgICAgIHRoaXMuaXNSZWZyZXNoaW5nID0gdHJ1ZTtcclxuICAgICAgdGhpcy5yZWZyZXNoVG9rZW5TdWJqZWN0Lm5leHQobnVsbCk7XHJcblxyXG4gICAgICBjb25zdCByZWZyZXNoVG9rZW4gPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFJlZnJlc2hUb2tlbigpO1xyXG4gICAgICBpZiAocmVmcmVzaFRva2VuKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0aFNlcnZpY2UuZ2V0VG9rZW5CeVJlZnJlc2hUb2tlbihyZWZyZXNoVG9rZW4pLnBpcGUoXHJcbiAgICAgICAgICBzd2l0Y2hNYXAoKHRva2VuOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5pc1JlZnJlc2hpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5yZWZyZXNoVG9rZW5TdWJqZWN0Lm5leHQodGhpcy5zdG9yYWdlU2VydmljZS5nZXRUb2tlbigpKTtcclxuICAgICAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHRoaXMuYWRkVG9rZW5JZlByZXNlbnQocmVxdWVzdCkpO1xyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5pc1JlZnJlc2hpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5hdXRoU2VydmljZS5sb2dvdXQoKTtcclxuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyKTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmlzUmVmcmVzaGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UubG9nb3V0KCk7XHJcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IobmV3IEVycm9yKCkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMucmVmcmVzaFRva2VuU3ViamVjdC5waXBlKFxyXG4gICAgICBmaWx0ZXIoKHRva2VuKSA9PiB0b2tlbiAhPT0gbnVsbCksXHJcbiAgICAgIHRha2UoMSksXHJcbiAgICAgIHN3aXRjaE1hcCgodG9rZW4pID0+IG5leHQuaGFuZGxlKHRoaXMuYWRkVG9rZW5JZlByZXNlbnQocmVxdWVzdCkpKVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
|
|
1
|
+
import { HttpResponse, } from '@angular/common/http';
|
|
2
|
+
import { Inject, Injectable } from '@angular/core';
|
|
3
|
+
import { BehaviorSubject, throwError } from 'rxjs';
|
|
4
|
+
import { catchError, filter, switchMap, take, tap } from 'rxjs/operators';
|
|
5
|
+
import { MessageStatus } from '../models';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../services";
|
|
8
|
+
import * as i2 from "primeng/api";
|
|
9
|
+
export class HttpInterceptorProvider {
|
|
10
|
+
constructor(storageService, errorMessageService, loadingService, authService, messageService, environment) {
|
|
11
|
+
this.storageService = storageService;
|
|
12
|
+
this.errorMessageService = errorMessageService;
|
|
13
|
+
this.loadingService = loadingService;
|
|
14
|
+
this.authService = authService;
|
|
15
|
+
this.messageService = messageService;
|
|
16
|
+
this.environment = environment;
|
|
17
|
+
this.activeRequests = [];
|
|
18
|
+
this.isRefreshing = false;
|
|
19
|
+
this.refreshTokenSubject = new BehaviorSubject(null);
|
|
20
|
+
}
|
|
21
|
+
intercept(request, next) {
|
|
22
|
+
const isExternalUrl = request.headers.get('external-url');
|
|
23
|
+
if (!this.isRefreshTokenRequest(request.url)) {
|
|
24
|
+
if (!isExternalUrl) {
|
|
25
|
+
request = this.addTokenIfPresent(request);
|
|
26
|
+
request = this.addEncryptPasswordIfPresent(request);
|
|
27
|
+
request = this.addAccountUuidIfPresent(request);
|
|
28
|
+
request = this.addModifierIdIfPresent(request);
|
|
29
|
+
request = this.addContentType(request);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
if (!isExternalUrl) {
|
|
33
|
+
request = this.fixUrl(request);
|
|
34
|
+
}
|
|
35
|
+
const noSpinnerHeader = request.headers.get('no-spinner');
|
|
36
|
+
if (!noSpinnerHeader && !request.url.startsWith('/assets/')) {
|
|
37
|
+
this.loadingService.loading$.next(true);
|
|
38
|
+
this.activeRequests.push(this.getUrlWithoutParams(request.url));
|
|
39
|
+
}
|
|
40
|
+
return next.handle(request).pipe(catchError((response) => {
|
|
41
|
+
if (response.error?.messages?.length) {
|
|
42
|
+
this.errorMessageService.genericModalErrorMessage$.next(response.error.messages[response.error.messages.length - 1]);
|
|
43
|
+
}
|
|
44
|
+
if (!this.isRefreshTokenRequest(request.url)) {
|
|
45
|
+
if (response.status === 401) {
|
|
46
|
+
return this.handle401Error(request, next);
|
|
47
|
+
}
|
|
48
|
+
if (response.status === 403) {
|
|
49
|
+
this.errorMessageService.genericModalErrorMessage$.next('Usuário sem privilégios para realizar essa ação');
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
if (!isExternalUrl) {
|
|
53
|
+
if (typeof response.error == 'string') {
|
|
54
|
+
this.messageService.add({ severity: MessageStatus.ERROR, summary: 'Erro', detail: response.error });
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
if (this.activeRequests.includes(this.getUrlWithoutParams(response.url))) {
|
|
60
|
+
this.activeRequests.splice(this.activeRequests.findIndex((item) => item === this.getUrlWithoutParams(request.url)), 1);
|
|
61
|
+
if (!this.activeRequests.length) {
|
|
62
|
+
this.loadingService.loading$.next(false);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return throwError(response);
|
|
66
|
+
}), tap((response) => {
|
|
67
|
+
if (response instanceof HttpResponse) {
|
|
68
|
+
if (this.activeRequests.includes(this.getUrlWithoutParams(response.url))) {
|
|
69
|
+
this.activeRequests.splice(this.activeRequests.findIndex((item) => item === this.getUrlWithoutParams(request.url)), 1);
|
|
70
|
+
if (!this.activeRequests.length) {
|
|
71
|
+
this.loadingService.loading$.next(false);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
if (Object(response.body).hasOwnProperty('statusCode') &&
|
|
75
|
+
response.body.statusCode === 400 &&
|
|
76
|
+
response.body.messages?.length) {
|
|
77
|
+
this.errorMessageService.genericModalErrorMessage$.next(response.body.messages[response.body.messages.length - 1]);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}));
|
|
81
|
+
}
|
|
82
|
+
isRefreshTokenRequest(url) {
|
|
83
|
+
return url.includes('connect/token');
|
|
84
|
+
}
|
|
85
|
+
getUrlWithoutParams(fullUrl) {
|
|
86
|
+
if (!fullUrl) {
|
|
87
|
+
return '';
|
|
88
|
+
}
|
|
89
|
+
const decodedUrl = decodeURIComponent(fullUrl.trim());
|
|
90
|
+
if (!decodedUrl.includes('?')) {
|
|
91
|
+
return decodedUrl;
|
|
92
|
+
}
|
|
93
|
+
return decodedUrl.substring(0, decodedUrl.indexOf('?'));
|
|
94
|
+
}
|
|
95
|
+
addTokenIfPresent(request) {
|
|
96
|
+
const token = this.storageService.getToken();
|
|
97
|
+
if (token) {
|
|
98
|
+
request = request.clone({ setHeaders: { Authorization: token } });
|
|
99
|
+
}
|
|
100
|
+
return request;
|
|
101
|
+
}
|
|
102
|
+
addModifierIdIfPresent(request) {
|
|
103
|
+
const modifierId = this.storageService.getUserId();
|
|
104
|
+
if (modifierId && request.method !== 'GET' && !(request.body instanceof FormData)) {
|
|
105
|
+
request = request.clone({ body: { ...request.body, modifierId } });
|
|
106
|
+
}
|
|
107
|
+
return request;
|
|
108
|
+
}
|
|
109
|
+
addEncryptPasswordIfPresent(request) {
|
|
110
|
+
const encriptPassword = this.storageService.get('encryptPassword');
|
|
111
|
+
if (request.method !== 'GET' && encriptPassword) {
|
|
112
|
+
if (request.body instanceof FormData) {
|
|
113
|
+
request.body.append('encriptPassword', encriptPassword);
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
request = request.clone({ body: { ...request.body, encriptPassword } });
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
return request;
|
|
120
|
+
}
|
|
121
|
+
addAccountUuidIfPresent(request) {
|
|
122
|
+
const accountUuid = this.storageService.get('accountUuid');
|
|
123
|
+
if (request.method !== 'GET' && accountUuid) {
|
|
124
|
+
if (request.body instanceof FormData) {
|
|
125
|
+
request.body.append('accountUuid', accountUuid);
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
request = request.clone({ body: { ...request.body, accountUuid } });
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
return request;
|
|
132
|
+
}
|
|
133
|
+
addContentType(request) {
|
|
134
|
+
return request.clone({ setHeaders: { contentType: 'application/json' } });
|
|
135
|
+
}
|
|
136
|
+
fixUrl(request) {
|
|
137
|
+
if (this.isAuthRequest(request.url) || this.isProfilesRequest(request.url)) {
|
|
138
|
+
return request.clone({
|
|
139
|
+
url: `${this.environment.API_URL.replace('/api', '')}/${request.url}`,
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
return request.clone({
|
|
143
|
+
url: request.url.startsWith('/assets/') ? request.url : `${this.environment.API_URL}/${request.url}`,
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
isAuthRequest(url) {
|
|
147
|
+
return url.includes('connect/token');
|
|
148
|
+
}
|
|
149
|
+
isProfilesRequest(url) {
|
|
150
|
+
return url.includes('connect/userinfo');
|
|
151
|
+
}
|
|
152
|
+
handle401Error(request, next) {
|
|
153
|
+
if (!this.isRefreshing) {
|
|
154
|
+
this.isRefreshing = true;
|
|
155
|
+
this.refreshTokenSubject.next(null);
|
|
156
|
+
const refreshToken = this.storageService.getRefreshToken();
|
|
157
|
+
if (refreshToken) {
|
|
158
|
+
return this.authService.getTokenByRefreshToken(refreshToken).pipe(switchMap((token) => {
|
|
159
|
+
this.isRefreshing = false;
|
|
160
|
+
this.refreshTokenSubject.next(this.storageService.getToken());
|
|
161
|
+
return next.handle(this.addTokenIfPresent(request));
|
|
162
|
+
}), catchError((err) => {
|
|
163
|
+
this.isRefreshing = false;
|
|
164
|
+
this.authService.logout();
|
|
165
|
+
return throwError(err);
|
|
166
|
+
}));
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
this.isRefreshing = false;
|
|
170
|
+
this.authService.logout();
|
|
171
|
+
return throwError(new Error());
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
return this.refreshTokenSubject.pipe(filter((token) => token !== null), take(1), switchMap((token) => next.handle(this.addTokenIfPresent(request))));
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
HttpInterceptorProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: HttpInterceptorProvider, deps: [{ token: i1.StorageService }, { token: i1.ErrorMessageService }, { token: i1.LoadingService }, { token: i1.AuthService }, { token: i2.MessageService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
178
|
+
HttpInterceptorProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: HttpInterceptorProvider });
|
|
179
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: HttpInterceptorProvider, decorators: [{
|
|
180
|
+
type: Injectable
|
|
181
|
+
}], ctorParameters: function () { return [{ type: i1.StorageService }, { type: i1.ErrorMessageService }, { type: i1.LoadingService }, { type: i1.AuthService }, { type: i2.MessageService }, { type: undefined, decorators: [{
|
|
182
|
+
type: Inject,
|
|
183
|
+
args: ['environment']
|
|
184
|
+
}] }]; } });
|
|
185
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZWN0b3ItY29tcG9uZW50cy9zcmMvbGliL2ludGVyY2VwdG9ycy9odHRwLWludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFNTCxZQUFZLEdBQ2IsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7QUFJMUMsTUFBTSxPQUFPLHVCQUF1QjtJQUlsQyxZQUNVLGNBQThCLEVBQzlCLG1CQUF3QyxFQUN4QyxjQUE4QixFQUM5QixXQUF3QixFQUN4QixjQUE4QixFQUNQLFdBQWdCO1FBTHZDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDUCxnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQVR6QyxtQkFBYyxHQUFhLEVBQUUsQ0FBQztRQUM5QixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQix3QkFBbUIsR0FBeUIsSUFBSSxlQUFlLENBQU0sSUFBSSxDQUFDLENBQUM7SUFRaEYsQ0FBQztJQUVKLFNBQVMsQ0FBQyxPQUF5QixFQUFFLElBQWlCO1FBQ3BELE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxP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LENBQUMsQ0FBQyxDQUFDLEVBQ1AsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQ25FLENBQUM7SUFDSixDQUFDOztvSEEvTVUsdUJBQXVCLDBLQVV4QixhQUFhO3dIQVZaLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVOzswQkFXTixNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBIdHRwRXJyb3JSZXNwb25zZSxcbiAgSHR0cEV2ZW50LFxuICBIdHRwSGFuZGxlcixcbiAgSHR0cEludGVyY2VwdG9yLFxuICBIdHRwUmVxdWVzdCxcbiAgSHR0cFJlc3BvbnNlLFxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaWx0ZXIsIHN3aXRjaE1hcCwgdGFrZSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTWVzc2FnZVN0YXR1cyB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSwgRXJyb3JNZXNzYWdlU2VydmljZSwgTG9hZGluZ1NlcnZpY2UsIFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSHR0cEludGVyY2VwdG9yUHJvdmlkZXIgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuICBwcml2YXRlIGFjdGl2ZVJlcXVlc3RzOiBzdHJpbmdbXSA9IFtdO1xuICBwcml2YXRlIGlzUmVmcmVzaGluZyA9IGZhbHNlO1xuICBwcml2YXRlIHJlZnJlc2hUb2tlblN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSxcbiAgICBwcml2YXRlIGVycm9yTWVzc2FnZVNlcnZpY2U6IEVycm9yTWVzc2FnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBsb2FkaW5nU2VydmljZTogTG9hZGluZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcml2YXRlIGVudmlyb25tZW50OiBhbnlcbiAgKSB7fVxuXG4gIGludGVyY2VwdChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcbiAgICBjb25zdCBpc0V4dGVybmFsVXJsID0gcmVxdWVzdC5oZWFkZXJzLmdldCgnZXh0ZXJuYWwtdXJsJyk7XG5cbiAgICBpZiAoIXRoaXMuaXNSZWZyZXNoVG9rZW5SZXF1ZXN0KHJlcXVlc3QudXJsKSkge1xuICAgICAgaWYgKCFpc0V4dGVybmFsVXJsKSB7XG4gICAgICAgIHJlcXVlc3QgPSB0aGlzLmFkZFRva2VuSWZQcmVzZW50KHJlcXVlc3QpO1xuICAgICAgICByZXF1ZXN0ID0gdGhpcy5hZGRFbmNyeXB0UGFzc3dvcmRJZlByZXNlbnQocmVxdWVzdCk7XG4gICAgICAgIHJlcXVlc3QgPSB0aGlzLmFkZEFjY291bnRVdWlkSWZQcmVzZW50KHJlcXVlc3QpO1xuICAgICAgICByZXF1ZXN0ID0gdGhpcy5hZGRNb2RpZmllcklkSWZQcmVzZW50KHJlcXVlc3QpO1xuICAgICAgICByZXF1ZXN0ID0gdGhpcy5hZGRDb250ZW50VHlwZShyZXF1ZXN0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIWlzRXh0ZXJuYWxVcmwpIHtcbiAgICAgIHJlcXVlc3QgPSB0aGlzLmZpeFVybChyZXF1ZXN0KTtcbiAgICB9XG5cbiAgICBjb25zdCBub1NwaW5uZXJIZWFkZXIgPSByZXF1ZXN0LmhlYWRlcnMuZ2V0KCduby1zcGlubmVyJyk7XG4gICAgaWYgKCFub1NwaW5uZXJIZWFkZXIgJiYgIXJlcXVlc3QudXJsLnN0YXJ0c1dpdGgoJy9hc3NldHMvJykpIHtcbiAgICAgIHRoaXMubG9hZGluZ1NlcnZpY2UubG9hZGluZyQubmV4dCh0cnVlKTtcbiAgICAgIHRoaXMuYWN0aXZlUmVxdWVzdHMucHVzaCh0aGlzLmdldFVybFdpdGhvdXRQYXJhbXMocmVxdWVzdC51cmwpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IoKHJlc3BvbnNlOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICBpZiAocmVzcG9uc2UuZXJyb3I/Lm1lc3NhZ2VzPy5sZW5ndGgpIHtcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZVNlcnZpY2UuZ2VuZXJpY01vZGFsRXJyb3JNZXNzYWdlJC5uZXh0KFxuICAgICAgICAgICAgcmVzcG9uc2UuZXJyb3IubWVzc2FnZXNbcmVzcG9uc2UuZXJyb3IubWVzc2FnZXMubGVuZ3RoIC0gMV1cbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5pc1JlZnJlc2hUb2tlblJlcXVlc3QocmVxdWVzdC51cmwpKSB7XG4gICAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gNDAxKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGU0MDFFcnJvcihyZXF1ZXN0LCBuZXh0KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gNDAzKSB7XG4gICAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZVNlcnZpY2UuZ2VuZXJpY01vZGFsRXJyb3JNZXNzYWdlJC5uZXh0KCdVc3XDoXJpbyBzZW0gcHJpdmlsw6lnaW9zIHBhcmEgcmVhbGl6YXIgZXNzYSBhw6fDo28nKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKCFpc0V4dGVybmFsVXJsKSB7XG4gICAgICAgICAgICAgIGlmICh0eXBlb2YgcmVzcG9uc2UuZXJyb3IgPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiBNZXNzYWdlU3RhdHVzLkVSUk9SLCBzdW1tYXJ5OiAnRXJybycsIGRldGFpbDogcmVzcG9uc2UuZXJyb3IgfSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlUmVxdWVzdHMuaW5jbHVkZXModGhpcy5nZXRVcmxXaXRob3V0UGFyYW1zKHJlc3BvbnNlLnVybCkpKSB7XG4gICAgICAgICAgdGhpcy5hY3RpdmVSZXF1ZXN0cy5zcGxpY2UoXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVJlcXVlc3RzLmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbSA9PT0gdGhpcy5nZXRVcmxXaXRob3V0UGFyYW1zKHJlcXVlc3QudXJsKSksXG4gICAgICAgICAgICAxXG4gICAgICAgICAgKTtcbiAgICAgICAgICBpZiAoIXRoaXMuYWN0aXZlUmVxdWVzdHMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmdTZXJ2aWNlLmxvYWRpbmckLm5leHQoZmFsc2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKHJlc3BvbnNlKTtcbiAgICAgIH0pLFxuICAgICAgdGFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICBpZiAocmVzcG9uc2UgaW5zdGFuY2VvZiBIdHRwUmVzcG9uc2UpIHtcbiAgICAgICAgICBpZiAodGhpcy5hY3RpdmVSZXF1ZXN0cy5pbmNsdWRlcyh0aGlzLmdldFVybFdpdGhvdXRQYXJhbXMocmVzcG9uc2UudXJsKSkpIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlUmVxdWVzdHMuc3BsaWNlKFxuICAgICAgICAgICAgICB0aGlzLmFjdGl2ZVJlcXVlc3RzLmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbSA9PT0gdGhpcy5nZXRVcmxXaXRob3V0UGFyYW1zKHJlcXVlc3QudXJsKSksXG4gICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpZiAoIXRoaXMuYWN0aXZlUmVxdWVzdHMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIHRoaXMubG9hZGluZ1NlcnZpY2UubG9hZGluZyQubmV4dChmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgT2JqZWN0KHJlc3BvbnNlLmJvZHkpLmhhc093blByb3BlcnR5KCdzdGF0dXNDb2RlJykgJiZcbiAgICAgICAgICAgIHJlc3BvbnNlLmJvZHkuc3RhdHVzQ29kZSA9PT0gNDAwICYmXG4gICAgICAgICAgICByZXNwb25zZS5ib2R5Lm1lc3NhZ2VzPy5sZW5ndGhcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlU2VydmljZS5nZW5lcmljTW9kYWxFcnJvck1lc3NhZ2UkLm5leHQoXG4gICAgICAgICAgICAgIHJlc3BvbnNlLmJvZHkubWVzc2FnZXNbcmVzcG9uc2UuYm9keS5tZXNzYWdlcy5sZW5ndGggLSAxXVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNSZWZyZXNoVG9rZW5SZXF1ZXN0KHVybDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHVybC5pbmNsdWRlcygnY29ubmVjdC90b2tlbicpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRVcmxXaXRob3V0UGFyYW1zKGZ1bGxVcmw6IHN0cmluZyB8IG51bGwpOiBzdHJpbmcge1xuICAgIGlmICghZnVsbFVybCkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGNvbnN0IGRlY29kZWRVcmwgPSBkZWNvZGVVUklDb21wb25lbnQoZnVsbFVybC50cmltKCkpO1xuXG4gICAgaWYgKCFkZWNvZGVkVXJsLmluY2x1ZGVzKCc/JykpIHtcbiAgICAgIHJldHVybiBkZWNvZGVkVXJsO1xuICAgIH1cblxuICAgIHJldHVybiBkZWNvZGVkVXJsLnN1YnN0cmluZygwLCBkZWNvZGVkVXJsLmluZGV4T2YoJz8nKSk7XG4gIH1cblxuICBwcml2YXRlIGFkZFRva2VuSWZQcmVzZW50KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4pOiBIdHRwUmVxdWVzdDxhbnk+IHtcbiAgICBjb25zdCB0b2tlbiA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0VG9rZW4oKTtcbiAgICBpZiAodG9rZW4pIHtcbiAgICAgIHJlcXVlc3QgPSByZXF1ZXN0LmNsb25lKHsgc2V0SGVhZGVyczogeyBBdXRob3JpemF0aW9uOiB0b2tlbiB9IH0pO1xuICAgIH1cbiAgICByZXR1cm4gcmVxdWVzdDtcbiAgfVxuXG4gIHByaXZhdGUgYWRkTW9kaWZpZXJJZElmUHJlc2VudChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+KTogSHR0cFJlcXVlc3Q8YW55PiB7XG4gICAgY29uc3QgbW9kaWZpZXJJZCA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0VXNlcklkKCk7XG4gICAgaWYgKG1vZGlmaWVySWQgJiYgcmVxdWVzdC5tZXRob2QgIT09ICdHRVQnICYmICEocmVxdWVzdC5ib2R5IGluc3RhbmNlb2YgRm9ybURhdGEpKSB7XG4gICAgICByZXF1ZXN0ID0gcmVxdWVzdC5jbG9uZSh7IGJvZHk6IHsgLi4ucmVxdWVzdC5ib2R5LCBtb2RpZmllcklkIH0gfSk7XG4gICAgfVxuICAgIHJldHVybiByZXF1ZXN0O1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRFbmNyeXB0UGFzc3dvcmRJZlByZXNlbnQocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55Pik6IEh0dHBSZXF1ZXN0PGFueT4ge1xuICAgIGNvbnN0IGVuY3JpcHRQYXNzd29yZCA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0KCdlbmNyeXB0UGFzc3dvcmQnKTtcbiAgICBpZiAocmVxdWVzdC5tZXRob2QgIT09ICdHRVQnICYmIGVuY3JpcHRQYXNzd29yZCkge1xuICAgICAgaWYgKHJlcXVlc3QuYm9keSBpbnN0YW5jZW9mIEZvcm1EYXRhKSB7XG4gICAgICAgIHJlcXVlc3QuYm9keS5hcHBlbmQoJ2VuY3JpcHRQYXNzd29yZCcsIGVuY3JpcHRQYXNzd29yZCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXF1ZXN0ID0gcmVxdWVzdC5jbG9uZSh7IGJvZHk6IHsgLi4ucmVxdWVzdC5ib2R5LCBlbmNyaXB0UGFzc3dvcmQgfSB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlcXVlc3Q7XG4gIH1cblxuICBwcml2YXRlIGFkZEFjY291bnRVdWlkSWZQcmVzZW50KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4pOiBIdHRwUmVxdWVzdDxhbnk+IHtcbiAgICBjb25zdCBhY2NvdW50VXVpZCA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0KCdhY2NvdW50VXVpZCcpO1xuICAgIGlmIChyZXF1ZXN0Lm1ldGhvZCAhPT0gJ0dFVCcgJiYgYWNjb3VudFV1aWQpIHtcbiAgICAgIGlmIChyZXF1ZXN0LmJvZHkgaW5zdGFuY2VvZiBGb3JtRGF0YSkge1xuICAgICAgICByZXF1ZXN0LmJvZHkuYXBwZW5kKCdhY2NvdW50VXVpZCcsIGFjY291bnRVdWlkKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlcXVlc3QgPSByZXF1ZXN0LmNsb25lKHsgYm9keTogeyAuLi5yZXF1ZXN0LmJvZHksIGFjY291bnRVdWlkIH0gfSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXF1ZXN0O1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRDb250ZW50VHlwZShyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+KTogSHR0cFJlcXVlc3Q8YW55PiB7XG4gICAgcmV0dXJuIHJlcXVlc3QuY2xvbmUoeyBzZXRIZWFkZXJzOiB7IGNvbnRlbnRUeXBlOiAnYXBwbGljYXRpb24vanNvbicgfSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZml4VXJsKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4pOiBIdHRwUmVxdWVzdDxhbnk+IHtcbiAgICBpZiAodGhpcy5pc0F1dGhSZXF1ZXN0KHJlcXVlc3QudXJsKSB8fCB0aGlzLmlzUHJvZmlsZXNSZXF1ZXN0KHJlcXVlc3QudXJsKSkge1xuICAgICAgcmV0dXJuIHJlcXVlc3QuY2xvbmUoe1xuICAgICAgICB1cmw6IGAke3RoaXMuZW52aXJvbm1lbnQuQVBJX1VSTC5yZXBsYWNlKCcvYXBpJywgJycpfS8ke3JlcXVlc3QudXJsfWAsXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHJlcXVlc3QuY2xvbmUoe1xuICAgICAgdXJsOiByZXF1ZXN0LnVybC5zdGFydHNXaXRoKCcvYXNzZXRzLycpID8gcmVxdWVzdC51cmwgOiBgJHt0aGlzLmVudmlyb25tZW50LkFQSV9VUkx9LyR7cmVxdWVzdC51cmx9YCxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaXNBdXRoUmVxdWVzdCh1cmw6IHN0cmluZykge1xuICAgIHJldHVybiB1cmwuaW5jbHVkZXMoJ2Nvbm5lY3QvdG9rZW4nKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNQcm9maWxlc1JlcXVlc3QodXJsOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdXJsLmluY2x1ZGVzKCdjb25uZWN0L3VzZXJpbmZvJyk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZTQwMUVycm9yKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKSB7XG4gICAgaWYgKCF0aGlzLmlzUmVmcmVzaGluZykge1xuICAgICAgdGhpcy5pc1JlZnJlc2hpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5yZWZyZXNoVG9rZW5TdWJqZWN0Lm5leHQobnVsbCk7XG5cbiAgICAgIGNvbnN0IHJlZnJlc2hUb2tlbiA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0UmVmcmVzaFRva2VuKCk7XG4gICAgICBpZiAocmVmcmVzaFRva2VuKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmF1dGhTZXJ2aWNlLmdldFRva2VuQnlSZWZyZXNoVG9rZW4ocmVmcmVzaFRva2VuKS5waXBlKFxuICAgICAgICAgIHN3aXRjaE1hcCgodG9rZW46IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc1JlZnJlc2hpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMucmVmcmVzaFRva2VuU3ViamVjdC5uZXh0KHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0VG9rZW4oKSk7XG4gICAgICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUodGhpcy5hZGRUb2tlbklmUHJlc2VudChyZXF1ZXN0KSk7XG4gICAgICAgICAgfSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlzUmVmcmVzaGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5hdXRoU2VydmljZS5sb2dvdXQoKTtcbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycik7XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaXNSZWZyZXNoaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UubG9nb3V0KCk7XG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKG5ldyBFcnJvcigpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5yZWZyZXNoVG9rZW5TdWJqZWN0LnBpcGUoXG4gICAgICBmaWx0ZXIoKHRva2VuKSA9PiB0b2tlbiAhPT0gbnVsbCksXG4gICAgICB0YWtlKDEpLFxuICAgICAgc3dpdGNoTWFwKCh0b2tlbikgPT4gbmV4dC5oYW5kbGUodGhpcy5hZGRUb2tlbklmUHJlc2VudChyZXF1ZXN0KSkpXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './http-interceptor';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './http-interceptor';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9pbnRlcmNlcHRvcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaHR0cC1pbnRlcmNlcHRvcic7XG4iXX0=
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export var AppName;
|
|
2
|
-
(function (AppName) {
|
|
3
|
-
AppName["PORTAL"] = "PORTAL";
|
|
4
|
-
AppName["FINTECH"] = "FINTECH";
|
|
5
|
-
AppName["MARKETPLACE"] = "MARKETPLACE";
|
|
6
|
-
AppName["LOGTECH"] = "LOGTECH";
|
|
7
|
-
AppName["SURVEY"] = "SURVEY";
|
|
8
|
-
AppName["PRODUCER_PORTAL"] = "PRODUCER_PORTAL";
|
|
9
|
-
})(AppName || (AppName = {}));
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export var AppName;
|
|
2
|
+
(function (AppName) {
|
|
3
|
+
AppName["PORTAL"] = "PORTAL";
|
|
4
|
+
AppName["FINTECH"] = "FINTECH";
|
|
5
|
+
AppName["MARKETPLACE"] = "MARKETPLACE";
|
|
6
|
+
AppName["LOGTECH"] = "LOGTECH";
|
|
7
|
+
AppName["SURVEY"] = "SURVEY";
|
|
8
|
+
AppName["PRODUCER_PORTAL"] = "PRODUCER_PORTAL";
|
|
9
|
+
})(AppName || (AppName = {}));
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLW5hbWUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZWN0b3ItY29tcG9uZW50cy9zcmMvbGliL21vZGVscy9hcHAtbmFtZS5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLE9BT1g7QUFQRCxXQUFZLE9BQU87SUFDakIsNEJBQWlCLENBQUE7SUFDakIsOEJBQW1CLENBQUE7SUFDbkIsc0NBQTJCLENBQUE7SUFDM0IsOEJBQW1CLENBQUE7SUFDbkIsNEJBQWlCLENBQUE7SUFDakIsOENBQW1DLENBQUE7QUFDckMsQ0FBQyxFQVBXLE9BQU8sS0FBUCxPQUFPLFFBT2xCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQXBwTmFtZSB7XG4gIFBPUlRBTCA9ICdQT1JUQUwnLFxuICBGSU5URUNIID0gJ0ZJTlRFQ0gnLFxuICBNQVJLRVRQTEFDRSA9ICdNQVJLRVRQTEFDRScsXG4gIExPR1RFQ0ggPSAnTE9HVEVDSCcsXG4gIFNVUlZFWSA9ICdTVVJWRVknLFxuICBQUk9EVUNFUl9QT1JUQUwgPSAnUFJPRFVDRVJfUE9SVEFMJyxcbn1cbiJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export var BooleanType;
|
|
2
|
-
(function (BooleanType) {
|
|
3
|
-
BooleanType["YES"] = "YES";
|
|
4
|
-
BooleanType["NO"] = "NO";
|
|
5
|
-
})(BooleanType || (BooleanType = {}));
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export var BooleanType;
|
|
2
|
+
(function (BooleanType) {
|
|
3
|
+
BooleanType["YES"] = "YES";
|
|
4
|
+
BooleanType["NO"] = "NO";
|
|
5
|
+
})(BooleanType || (BooleanType = {}));
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi10eXBlLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9tb2RlbHMvYm9vbGVhbi10eXBlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksV0FHWDtBQUhELFdBQVksV0FBVztJQUNyQiwwQkFBVyxDQUFBO0lBQ1gsd0JBQVMsQ0FBQTtBQUNYLENBQUMsRUFIVyxXQUFXLEtBQVgsV0FBVyxRQUd0QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEJvb2xlYW5UeXBlIHtcbiAgWUVTID0gJ1lFUycsXG4gIE5PID0gJ05PJyxcbn1cbiJdfQ==
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export class CrudHistory {
|
|
2
|
-
}
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export class CrudHistory {
|
|
2
|
+
}
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1ZC1oaXN0b3J5Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvbW9kZWxzL2NydWQtaGlzdG9yeS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sV0FBVztDQU92QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBDcnVkSGlzdG9yeTxUPiB7XG4gIGV2ZW50VHlwZT86IHN0cmluZztcbiAgbW9kaWZpZXJOYW1lPzogc3RyaW5nO1xuICBkYXRlVGltZT86IERhdGU7XG4gIGF1ZGl0SWQ/OiBudW1iZXI7XG4gIHR5cGVPZk1vZGlmaWNhdGlvbj86IHN0cmluZztcbiAgZGF0YUF1ZGl0RGVsdGE/OiBEYXRhQXVkaXREZWx0YVtdO1xufVxuXG5leHBvcnQgdHlwZSBEYXRhQXVkaXREZWx0YSA9IHtcbiAgZmllbGROYW1lPzogc3RyaW5nO1xuICBuZXdWYWx1ZT86IHN0cmluZztcbiAgb2xkVmFsdWU/OiBzdHJpbmc7XG59O1xuIl19
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export var CrudMode;
|
|
2
|
-
(function (CrudMode) {
|
|
3
|
-
CrudMode[CrudMode["NEW"] = 0] = "NEW";
|
|
4
|
-
CrudMode[CrudMode["EDIT"] = 1] = "EDIT";
|
|
5
|
-
CrudMode[CrudMode["VIEW"] = 2] = "VIEW";
|
|
6
|
-
})(CrudMode || (CrudMode = {}));
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export var CrudMode;
|
|
2
|
+
(function (CrudMode) {
|
|
3
|
+
CrudMode[CrudMode["NEW"] = 0] = "NEW";
|
|
4
|
+
CrudMode[CrudMode["EDIT"] = 1] = "EDIT";
|
|
5
|
+
CrudMode[CrudMode["VIEW"] = 2] = "VIEW";
|
|
6
|
+
})(CrudMode || (CrudMode = {}));
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1ZC1tb2RlLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9tb2RlbHMvY3J1ZC1tb2RlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksUUFJWDtBQUpELFdBQVksUUFBUTtJQUNsQixxQ0FBRyxDQUFBO0lBQ0gsdUNBQUksQ0FBQTtJQUNKLHVDQUFJLENBQUE7QUFDTixDQUFDLEVBSlcsUUFBUSxLQUFSLFFBQVEsUUFJbkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBDcnVkTW9kZSB7XG4gIE5FVyxcbiAgRURJVCxcbiAgVklFVyxcbn1cbiJdfQ==
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export var Currency;
|
|
2
|
-
(function (Currency) {
|
|
3
|
-
Currency["BR"] = "R$ ";
|
|
4
|
-
Currency["AR"] = "$ ";
|
|
5
|
-
Currency["US"] = "$ ";
|
|
6
|
-
})(Currency || (Currency = {}));
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export var Currency;
|
|
2
|
+
(function (Currency) {
|
|
3
|
+
Currency["BR"] = "R$ ";
|
|
4
|
+
Currency["AR"] = "$ ";
|
|
5
|
+
Currency["US"] = "$ ";
|
|
6
|
+
})(Currency || (Currency = {}));
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3kuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZWN0b3ItY29tcG9uZW50cy9zcmMvbGliL21vZGVscy9jdXJyZW5jeS5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFFBSVg7QUFKRCxXQUFZLFFBQVE7SUFDbEIsc0JBQVUsQ0FBQTtJQUNWLHFCQUFTLENBQUE7SUFDVCxxQkFBUyxDQUFBO0FBQ1gsQ0FBQyxFQUpXLFFBQVEsS0FBUixRQUFRLFFBSW5CIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQ3VycmVuY3kge1xuICBCUiA9ICdSJCAnLFxuICBBUiA9ICckICcsXG4gIFVTID0gJyQgJyxcbn1cbiJdfQ==
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
export var TableColumnType;
|
|
2
|
-
(function (TableColumnType) {
|
|
3
|
-
TableColumnType["TEXT"] = "TEXT";
|
|
4
|
-
TableColumnType["BOOLEAN"] = "BOOLEAN";
|
|
5
|
-
TableColumnType["DATE"] = "DATE";
|
|
6
|
-
TableColumnType["DATETIME"] = "DATETIME";
|
|
7
|
-
TableColumnType["ENUM"] = "ENUM";
|
|
8
|
-
TableColumnType["STATUS_BADGE"] = "STATUS_BADGE";
|
|
9
|
-
TableColumnType["ACTIVE_BOOLEAN_BADGE"] = "ACTIVE_BOOLEAN_BADGE";
|
|
10
|
-
TableColumnType["BUTTON"] = "BUTTON";
|
|
11
|
-
TableColumnType["CUSTOM_STYLE"] = "CUSTOM_STYLE";
|
|
12
|
-
TableColumnType["MASK"] = "MASK";
|
|
13
|
-
TableColumnType["TEXT_BADGE"] = "TEXT_BADGE";
|
|
14
|
-
TableColumnType["STACK_BADGE"] = "STACK_BADGE";
|
|
15
|
-
TableColumnType["CURRENCY"] = "CURRENCY";
|
|
16
|
-
TableColumnType["SCORE"] = "SCORE";
|
|
17
|
-
})(TableColumnType || (TableColumnType = {}));
|
|
18
|
-
export var SelectionType;
|
|
19
|
-
(function (SelectionType) {
|
|
20
|
-
SelectionType["CHECKBOX"] = "checkbox";
|
|
21
|
-
SelectionType["RADIOBUTTON"] = "radiobutton";
|
|
22
|
-
})(SelectionType || (SelectionType = {}));
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export var TableColumnType;
|
|
2
|
+
(function (TableColumnType) {
|
|
3
|
+
TableColumnType["TEXT"] = "TEXT";
|
|
4
|
+
TableColumnType["BOOLEAN"] = "BOOLEAN";
|
|
5
|
+
TableColumnType["DATE"] = "DATE";
|
|
6
|
+
TableColumnType["DATETIME"] = "DATETIME";
|
|
7
|
+
TableColumnType["ENUM"] = "ENUM";
|
|
8
|
+
TableColumnType["STATUS_BADGE"] = "STATUS_BADGE";
|
|
9
|
+
TableColumnType["ACTIVE_BOOLEAN_BADGE"] = "ACTIVE_BOOLEAN_BADGE";
|
|
10
|
+
TableColumnType["BUTTON"] = "BUTTON";
|
|
11
|
+
TableColumnType["CUSTOM_STYLE"] = "CUSTOM_STYLE";
|
|
12
|
+
TableColumnType["MASK"] = "MASK";
|
|
13
|
+
TableColumnType["TEXT_BADGE"] = "TEXT_BADGE";
|
|
14
|
+
TableColumnType["STACK_BADGE"] = "STACK_BADGE";
|
|
15
|
+
TableColumnType["CURRENCY"] = "CURRENCY";
|
|
16
|
+
TableColumnType["SCORE"] = "SCORE";
|
|
17
|
+
})(TableColumnType || (TableColumnType = {}));
|
|
18
|
+
export var SelectionType;
|
|
19
|
+
(function (SelectionType) {
|
|
20
|
+
SelectionType["CHECKBOX"] = "checkbox";
|
|
21
|
+
SelectionType["RADIOBUTTON"] = "radiobutton";
|
|
22
|
+
})(SelectionType || (SelectionType = {}));
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZWN0b3ItY29tcG9uZW50cy9zcmMvbGliL21vZGVscy9kYXRhLXRhYmxlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE1BQU0sQ0FBTixJQUFZLGVBZVg7QUFmRCxXQUFZLGVBQWU7SUFDekIsZ0NBQWEsQ0FBQTtJQUNiLHNDQUFtQixDQUFBO0lBQ25CLGdDQUFhLENBQUE7SUFDYix3Q0FBcUIsQ0FBQTtJQUNyQixnQ0FBYSxDQUFBO0lBQ2IsZ0RBQTZCLENBQUE7SUFDN0IsZ0VBQTZDLENBQUE7SUFDN0Msb0NBQWlCLENBQUE7SUFDakIsZ0RBQTZCLENBQUE7SUFDN0IsZ0NBQWEsQ0FBQTtJQUNiLDRDQUF5QixDQUFBO0lBQ3pCLDhDQUEyQixDQUFBO0lBQzNCLHdDQUFxQixDQUFBO0lBQ3JCLGtDQUFlLENBQUE7QUFDakIsQ0FBQyxFQWZXLGVBQWUsS0FBZixlQUFlLFFBZTFCO0FBa0NELE1BQU0sQ0FBTixJQUFZLGFBR1g7QUFIRCxXQUFZLGFBQWE7SUFDdkIsc0NBQXFCLENBQUE7SUFDckIsNENBQTJCLENBQUE7QUFDN0IsQ0FBQyxFQUhXLGFBQWEsS0FBYixhQUFhLFFBR3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVudUl0ZW0gfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBMaXN0SXRlbSB9IGZyb20gJy4vbGlzdC1pdGVtLm1vZGVsJztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4vc3RhdHVzLmVudW0nO1xuXG5leHBvcnQgdHlwZSBEYXRhVGFibGVCYXNlSXRlbSA9IHtcbiAgYWN0aW9ucz86IE1lbnVJdGVtW107XG59O1xuXG5leHBvcnQgZW51bSBUYWJsZUNvbHVtblR5cGUge1xuICBURVhUID0gJ1RFWFQnLFxuICBCT09MRUFOID0gJ0JPT0xFQU4nLFxuICBEQVRFID0gJ0RBVEUnLFxuICBEQVRFVElNRSA9ICdEQVRFVElNRScsXG4gIEVOVU0gPSAnRU5VTScsXG4gIFNUQVRVU19CQURHRSA9ICdTVEFUVVNfQkFER0UnLFxuICBBQ1RJVkVfQk9PTEVBTl9CQURHRSA9ICdBQ1RJVkVfQk9PTEVBTl9CQURHRScsXG4gIEJVVFRPTiA9ICdCVVRUT04nLFxuICBDVVNUT01fU1RZTEUgPSAnQ1VTVE9NX1NUWUxFJyxcbiAgTUFTSyA9ICdNQVNLJyxcbiAgVEVYVF9CQURHRSA9ICdURVhUX0JBREdFJyxcbiAgU1RBQ0tfQkFER0UgPSAnU1RBQ0tfQkFER0UnLFxuICBDVVJSRU5DWSA9ICdDVVJSRU5DWScsXG4gIFNDT1JFID0gJ1NDT1JFJyxcbn1cblxuZXhwb3J0IHR5cGUgVGFibGVDb2x1bW4gPSB7XG4gIGhlYWRlcjogc3RyaW5nO1xuICBmaWVsZDogc3RyaW5nO1xuICB3aWR0aD86IHN0cmluZztcbiAgdHlwZT86IFRhYmxlQ29sdW1uVHlwZTtcbiAgdGV4dEZpZWxkQ2xhc3M/OiBzdHJpbmc7XG4gIGdldEVudW1UcmFuc2xhdGVkPzogKGVudW1WYWw6IGFueSkgPT4gc3RyaW5nO1xuICBnZXRTdGF0dXM/OiAodmFsdWU6IGFueSkgPT4gU3RhdHVzO1xuICBjbGlja0Z1bmN0aW9uPzogRnVuY3Rpb247XG4gIGljb24/OiBzdHJpbmc7XG4gIG5vdFNvcnRhYmxlPzogYm9vbGVhbjtcbiAgbWFzaz86IHN0cmluZztcbiAgY3VycmVuY3lUeXBlPzogJ1VTRCcgfCAnQlJMJztcbn07XG5cbmV4cG9ydCB0eXBlIERhdGFUYWJsZUxhenlMb2FkRXZlbnQgPSB7XG4gIHN0YXJ0OiBudW1iZXI7XG4gIGxlbmd0aDogbnVtYmVyO1xuICBkcmF3OiBudW1iZXI7XG4gIHBhZ2U6IG51bWJlcjtcbiAgb3JkZXI6IHsgY29sdW1uOiBudW1iZXI7IGRpcjogJ2FzYycgfCAnZGVzYycgfVtdO1xuICBjb2x1bW5zOiB7XG4gICAgZGF0YTogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBvcmRlcmFibGU6IGJvb2xlYW47XG4gICAgc2VhcmNoOiB7IHZhbHVlOiBzdHJpbmc7IHJlZ2V4OiBib29sZWFuIH07XG4gICAgc2VhcmNoYWJsZTogYm9vbGVhbjtcbiAgfVtdO1xuICBzZWFyY2g6IHsgdmFsdWU6IHN0cmluZzsgcmVnZXg6IGJvb2xlYW4gfTtcbiAgdGFiOiBMaXN0SXRlbTtcbn07XG5cbmV4cG9ydCBlbnVtIFNlbGVjdGlvblR5cGUge1xuICBDSEVDS0JPWCA9ICdjaGVja2JveCcsXG4gIFJBRElPQlVUVE9OID0gJ3JhZGlvYnV0dG9uJyxcbn1cbiJdfQ==
|