new-front-common-library 16.1.32-ROY-5 → 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,180 +1,158 @@
|
|
|
1
|
-
import { Inject, Injectable } from '@angular/core';
|
|
2
|
-
import { from } from 'rxjs';
|
|
3
|
-
import { Client as ClientJs } from 'elasticsearch-browser';
|
|
4
|
-
import { WEB_CONFIG } from '../../config';
|
|
5
|
-
import { WorkRecordRapidSearchModel } from "../../models/commercial/work-record-rapid-search-model";
|
|
6
|
-
import { InvoiceRapidSearchModel } from "../../models/commercial/invoice-rapid-search-model";
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "./subsidiaries.service";
|
|
9
|
-
export class ElasticsearchService {
|
|
10
|
-
constructor(config, subsidiariesMappingService) {
|
|
11
|
-
this.config = config;
|
|
12
|
-
this.subsidiariesMappingService = subsidiariesMappingService;
|
|
13
|
-
this.PROFILE_SEARCH_CONFIG = {
|
|
14
|
-
'COMMERCIAL': ['unity-invoice*', 'unity-deal*', 'unity-work-record*'],
|
|
15
|
-
'ACCOUNTANT': ['unity-invoice*', 'unity-deal*', 'unity-work-record*'],
|
|
16
|
-
'ADMINISTRATIVE_CONTROLLER': ['unity-invoice*', 'unity-deal*', 'unity-work-record*'],
|
|
17
|
-
'VIDEO_CONSULT': ['unity-product*'],
|
|
18
|
-
'BDC': ['unity-purchase-order*'],
|
|
19
|
-
'LEGAL': ['unity-contract*']
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
allIndexes.add('unity-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
},
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
},
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
const must = [
|
|
159
|
-
{ wildcard: { lisaId: { value: '*' + text + '*' } } }
|
|
160
|
-
];
|
|
161
|
-
const should = [];
|
|
162
|
-
should.push({ bool: { must_not: { exists: { field: 'societeAppartenance' } } } });
|
|
163
|
-
if (societes && societes.length > 0) {
|
|
164
|
-
should.push({ terms: { societeAppartenance: societes } });
|
|
165
|
-
}
|
|
166
|
-
const boolQuery = { must };
|
|
167
|
-
boolQuery.should = should;
|
|
168
|
-
boolQuery.minimum_should_match = 1;
|
|
169
|
-
return boolQuery;
|
|
170
|
-
}
|
|
171
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ElasticsearchService, deps: [{ token: WEB_CONFIG }, { token: i1.SubsidiariesService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
172
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ElasticsearchService }); }
|
|
173
|
-
}
|
|
174
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ElasticsearchService, decorators: [{
|
|
175
|
-
type: Injectable
|
|
176
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
177
|
-
type: Inject,
|
|
178
|
-
args: [WEB_CONFIG]
|
|
179
|
-
}] }, { type: i1.SubsidiariesService }]; } });
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhc3RpY3NlYXJjaC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV3LWZyb250LWNvbW1vbi1saWJyYXJ5L3NyYy9saWIvdXRpbC9zZXJ2aWNlcy9lbGFzdGljc2VhcmNoL2VsYXN0aWNzZWFyY2guc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUMsSUFBSSxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBQyxNQUFNLElBQUksUUFBUSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFJekQsT0FBTyxFQUFTLFVBQVUsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUloRCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUVsRyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxvREFBb0QsQ0FBQzs7O0FBTTNGLE1BQU0sT0FBTyxvQkFBb0I7SUFFL0IsWUFBd0MsTUFBYyxFQUNsQywwQkFBK0M7UUFEM0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNsQywrQkFBMEIsR0FBMUIsMEJBQTBCLENBQXFCO1FBSW5FLDBCQUFxQixHQUFHO1lBQ3RCLFlBQVksRUFBRSxDQUFDLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxvQkFBb0IsQ0FBQztZQUNyRSxZQUFZLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsb0JBQW9CLENBQUM7WUFDckUsMkJBQTJCLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsb0JBQW9CLENBQUM7WUFDcEYsZUFBZSxFQUFFLENBQUMsZ0JBQWdCLENBQUM7WUFDbkMsS0FBSyxFQUFFLENBQUMsdUJBQXVCLENBQUM7WUFDaEMsT0FBTyxFQUFFLENBQUMsaUJBQWlCLENBQUM7WUFDNUIsU0FBUyxF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QUMsRUFBQyxDQUFDLENBQUM7UUFDMUUsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDbkMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFDLEtBQUssRUFBRSxFQUFDLG1CQUFtQixFQUFFLFFBQVEsRUFBQyxFQUFDLENBQUMsQ0FBQztTQUN2RDtRQUNELE1BQU0sU0FBUyxHQUFRLEVBQUMsSUFBSSxFQUFDLENBQUM7UUFDOUIsU0FBUyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDMUIsU0FBUyxDQUFDLG9CQUFvQixHQUFHLENBQUMsQ0FBQztRQUNuQyxPQUFPLFNBQVMsQ0FBQTtJQUNsQixDQUFDOytHQTVLVSxvQkFBb0Isa0JBRVgsVUFBVTttSEFGbkIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVOzswQkFHSSxNQUFNOzJCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2Zyb20sIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtDbGllbnQgYXMgQ2xpZW50SnN9IGZyb20gJ2VsYXN0aWNzZWFyY2gtYnJvd3Nlcic7XG5pbXBvcnQge0NsaWVudCwgTVNlYXJjaFJlc3BvbnNlfSBmcm9tICdlbGFzdGljc2VhcmNoJztcbmltcG9ydCB7UHVyY2hhc2VPcmRlclJhcGlkU2VhcmNoTW9kZWx9IGZyb20gXCIuLi8uLi9tb2RlbHMvZXhwZW5kaXR1cmUtY29tbWl0bWVudC9wdXJjaGFzZS1vcmRlci1yYXBpZC1zZWFyY2gubW9kZWxcIjtcbmltcG9ydCB7UHJvZHVjdFJhcGlkU2VhcmNoTW9kZWx9IGZyb20gXCIuLi8uLi9tb2RlbHMvdmlkZW8vcHJvZHVjdC1yYXBpZC1zZWFyY2gubW9kZWxcIjtcbmltcG9ydCB7Q29uZmlnLCBXRUJfQ09ORklHfSBmcm9tICcuLi8uLi9jb25maWcnO1xuaW1wb3J0IHtXb3JrVmVyc2lvblJhcGlkU2VhcmNoTW9kZWx9IGZyb20gXCIuLi8uLi9tb2RlbHMvcmVmZXJlbnRpYWwvd29yay12ZXJzaW9uLXJhcGlkLXNlYXJjaC5tb2RlbFwiO1xuaW1wb3J0IHtEZWFsUmFwaWRTZWFyY2hNb2RlbH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NvbW1lcmNpYWwvZGVhbC1yYXBpZC1zZWFyY2gtbW9kZWwnO1xuaW1wb3J0IHtUaGlyZFBhcnR5UmFwaWRTZWFyY2hNb2RlbH0gZnJvbSBcIi4uLy4uL21vZGVscy9yZWZlcmVudGlhbC90aGlyZC1wYXJ0eS1yYXBpZC1zZWFyY2gubW9kZWxcIjtcbmltcG9ydCB7V29ya1JlY29yZFJhcGlkU2VhcmNoTW9kZWx9IGZyb20gXCIuLi8uLi9tb2RlbHMvY29tbWVyY2lhbC93b3JrLXJlY29yZC1yYXBpZC1zZWFyY2gtbW9kZWxcIjtcbmltcG9ydCB7Q29udHJhY3RSYXBpZFNlYXJjaE1vZGVsfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2xlZ2FsL2NvbnRyYWN0LXJhcGlkLXNlYXJjaC1tb2RlbFwiO1xuaW1wb3J0IHtJbnZvaWNlUmFwaWRTZWFyY2hNb2RlbH0gZnJvbSBcIi4uLy4uL21vZGVscy9jb21tZXJjaWFsL2ludm9pY2UtcmFwaWQtc2VhcmNoLW1vZGVsXCI7XG5pbXBvcnQge0F1dGhVc2VyTW9kZWx9IGZyb20gXCIuLi8uLi9tb2RlbHNcIjtcbmltcG9ydCB7U3Vic2lkaWFyaWVzU2VydmljZX0gZnJvbSBcIi4vc3Vic2lkaWFyaWVzLnNlcnZpY2VcIjtcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRWxhc3RpY3NlYXJjaFNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoV0VCX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IENvbmZpZyxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBzdWJzaWRpYXJpZXNNYXBwaW5nU2VydmljZTogU3Vic2lkaWFyaWVzU2VydmljZSkge1xuICB9XG5cbiAgcHJpdmF0ZSBjbGllbnQ6IENsaWVudDtcbiAgUFJPRklMRV9TRUFSQ0hfQ09ORklHID0ge1xuICAgICdDT01NRVJDSUFMJzogWyd1bml0eS1pbnZvaWNlKicsICd1bml0eS1kZWFsKicsICd1bml0eS13b3JrLXJlY29yZConXSxcbiAgICAnQUNDT1VOVEFOVCc6IFsndW5pdHktaW52b2ljZSonLCAndW5pdHktZGVhbConLCAndW5pdHktd29yay1yZWNvcmQqJ10sXG4gICAgJ0FETUlOSVNUUkFUSVZFX0NPTlRST0xMRVInOiBbJ3VuaXR5LWludm9pY2UqJywgJ3VuaXR5LWRlYWwqJywgJ3VuaXR5LXdvcmstcmVjb3JkKiddLFxuICAgICdWSURFT19DT05TVUxUJzogWyd1bml0eS1wcm9kdWN0KiddLFxuICAgICdCREMnOiBbJ3VuaXR5LXB1cmNoYXNlLW9yZGVyKiddLFxuICAgICdMRUdBTCc6IFsndW5pdHktY29udHJhY3QqJ10sXG4gICAgJ1JPWUFMVFknOiBbJ3VuaXR5LXJveWFsdHktY29udHJhY3QnLCAndW5pdHktcm95YWx0eS1jb3VudCcsICd1bml0eS1yb3lhbHR5LWludm9pY2UnXSxcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RWxhc3RpY3NlYXJjaENsaWVudCgpOiBDbGllbnQge1xuICAgIGlmICghdGhpcy5jbGllbnQpIHtcbiAgICAgIHRoaXMuY2xpZW50ID0gbmV3IENsaWVudEpzKHtcbiAgICAgICAgaG9zdDogdGhpcy5jb25maWcuZWxhc3RpY3NlYXJjaF91cmxcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jbGllbnQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0U2VhcmNoUmVzcG9uc2UodGV4dDogc3RyaW5nLCB1c2VyOiBBdXRoVXNlck1vZGVsKTogT2JzZXJ2YWJsZTxNU2VhcmNoUmVzcG9uc2U8YW55Pj4ge1xuICAgIGNvbnN0IGFsbEluZGV4ZXM6IFNldDxzdHJpbmc+ID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gICAgYWxsSW5kZXhlcy5hZGQoJ3VuaXR5LXdvcmstdmVyc2lvbionKVxuICAgIGFsbEluZGV4ZXMuYWRkKCd1bml0eS10aGlyZC1wYXJ0eSonKVxuXG4gICAgZm9yIChjb25zdCBwZXJtaXNzaW9uIG9mIHVzZXIucGVybWlzc2lvbnMpIHtcbiAgICAgIGNvbnN0IGluZGV4ZXMgPSB0aGlzLlBST0ZJTEVfU0VBUkNIX0NPTkZJR1twZXJtaXNzaW9uLmNvZGVdO1xuICAgICAgaW5kZXhlcz8uZm9yRWFjaChpZHggPT4gYWxsSW5kZXhlcy5hZGQoaWR4KSk7XG4gICAgfVxuXG4gICAgY29uc3QgYm9keTogYW55W10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IGluZGV4IG9mIGFsbEluZGV4ZXMpIHtcbiAgICAgIGJvZHkucHVzaCh7aW5kZXh9KTtcbiAgICAgIHN3aXRjaCAoaW5kZXgpIHtcbiAgICAgICAgY2FzZSAndW5pdHktd29yay12ZXJzaW9uKicgOlxuICAgICAgICAgIGJvZHkucHVzaCh7XG4gICAgICAgICAgICBxdWVyeToge1xuICAgICAgICAgICAgICBkaXNfbWF4OiB7XG4gICAgICAgICAgICAgICAgcXVlcmllczogW3t3aWxkY2FyZDoge21pbG9Db2RlOiB7dmFsdWU6ICcqJyArIHRleHQgKyAnKid9fX0sIHt3aWxkY2FyZDoge3RpdGxlOiB7dmFsdWU6ICcqJyArIHRleHQgKyAnKid9fX0sIHt3aWxkY2FyZDoge3RpdGxlOiB7dmFsdWU6IHRleHQgKyAnKid9fX0sIHt3aWxkY2FyZDoge3RpdGxlOiB7dmFsdWU6IHRleHR9fX1dLFxuICAgICAgICAgICAgICAgIHRpZV9icmVha2VyOiAwLjVcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNvcnQ6IFt7X3Njb3JlOiB7b3JkZXI6ICdkZXNjJ319LCB7dGl0bGU6IHtvcmRlcjogXCJhc2NcIn19XSxcbiAgICAgICAgICAgIHNpemU6IDUwXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3VuaXR5LXByb2R1Y3QqJyA6XG4gICAgICAgICAgYm9keS5wdXNoKHtcbiAgICAgICAgICAgIHF1ZXJ5OiB7ZGlzX21heDoge3F1ZXJpZXM6IFt7d2lsZGNhcmQ6IHtlYW46IHt2YWx1ZTogJyonICsgdGV4dCArICcqJ319fSwge3dpbGRjYXJkOiB7dGl0bGU6IHt2YWx1ZTogJyonICsgdGV4dCArICcqJ319fV19fSxcbiAgICAgICAgICAgIHNvcnQ6IHtyZWxlYXNlRGF0ZToge29yZGVyOiAnZGVzYyd9fSxcbiAgICAgICAgICAgIHNpemU6IDUwXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3VuaXR5LXB1cmNoYXNlLW9yZGVyKicgOlxuICAgICAgICAgIGJvZHkucHVzaCh7XG4gICAgICAgICAgICBxdWVyeToge2Rpc19tYXg6IHtxdWVyaWVzOiBbe3dpbGRjYXJkOiB7cG9OdW1iZXI6IHt2YWx1ZTogJyonICsgdGV4dCArICcqJ319fSwge3dpbGRjYXJkOiB7ZWFuOiB7dmFsdWU6ICcqJyArIHRleHQgKyAnKid9fX0sIHt3aWxkY2FyZDoge2Jhc2tldE51bWJlcjoge3ZhbHVlOiAnKicgKyB0ZXh0ICsgJyonfX19XX19LFxuICAgICAgICAgICAgc2l6ZTogNTBcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAndW5pdHktZGVhbConIDpcbiAgICAgICAgICBib2R5LnB1c2goe1xuICAgICAgICAgICAgcXVlcnk6IHtkaXNfbWF4OiB7cXVlcmllczogW3t3aWxkY2FyZDoge2RlYWxOdW1iZXI6IHt2YWx1ZTogJyonICsgdGV4dCArICcqJ319fV19fSxcbiAgICAgICAgICAgIHNvcnQ6IFt7X3Njb3JlOiB7b3JkZXI6ICdkZXNjJ319LCB7J2RlYWxOdW1iZXIua2V5d29yZCc6IHtvcmRlcjogJ2FzYyd9fV0sXG4gICAgICAgICAgICBzaXplOiA1MFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICd1bml0eS13b3JrLXJlY29yZConIDpcbiAgICAgICAgICBib2R5LnB1c2goe1xuICAgICAgICAgICAgcXVlcnk6IHtkaXNfbWF4OiB7cXVlcmllczogW3t3aWxkY2FyZDoge3dvcmtSZWNvcmRJZDoge3ZhbHVlOiAnKicgKyB0ZXh0ICsgJyonfX19XX19LFxuICAgICAgICAgICAgc29ydDogW3snd29ya1JlY29yZElkLmtleXdvcmQnOiB7b3JkZXI6ICdhc2MnfX1dLFxuICAgICAgICAgICAgc2l6ZTogNTBcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAndW5pdHktaW52b2ljZSonIDpcbiAgICAgICAgICBib2R5LnB1c2goe1xuICAgICAgICAgICAgcXVlcnk6IHtkaXNfbWF4OiB7cXVlcmllczogW3t3aWxkY2FyZDoge251bWJlcjoge3ZhbHVlOiAnKicgKyB0ZXh0ICsgJyonfX19XX19LFxuICAgICAgICAgICAgc29ydDogW3snbnVtYmVyLmtleXdvcmQnOiB7b3JkZXI6ICdhc2MnfX1dLFxuICAgICAgICAgICAgc2l6ZTogNTBcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAndW5pdHktdGhpcmQtcGFydHkqJyA6XG4gICAgICAgICAgYm9keS5wdXNoKHtcbiAgICAgICAgICAgIHF1ZXJ5OiB7XG4gICAgICAgICAgICAgIGRpc19tYXg6IHtcbiAgICAgICAgICAgICAgICBxdWVyaWVzOiBbe3dpbGRjYXJkOiB7Y29tcGFueU9yUGVyc29uTmFtZToge3ZhbHVlOiAnKicgKyB0ZXh0ICsgJyonfX19LCB7d2lsZGNhcmQ6IHtjb21wYW55T3JQZXJzb25OYW1lOiB7dmFsdWU6IHRleHQgKyAnKid9fX0sIHt3aWxkY2FyZDoge2NvbXBhbnlPclBlcnNvbk5hbWU6IHt2YWx1ZTogdGV4dH19fV0sXG4gICAgICAgICAgICAgICAgdGllX2JyZWFrZXI6IDAuNVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc29ydDogW3tfc2NvcmU6IHtvcmRlcjogJ2Rlc2MnfX0sIHtjb21wYW55T3JQZXJzb25OYW1lOiB7b3JkZXI6ICdhc2MnfX1dLFxuICAgICAgICAgICAgc2l6ZTogNTBcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAndW5pdHktY29udHJhY3QqJyA6XG4gICAgICAgICAgYm9keS5wdXNoKHtcbiAgICAgICAgICAgIHF1ZXJ5OiB7Ym9vbDogdGhpcy5jb21wb3NlQ29udHJhY3RRdWVyeSh0ZXh0LCB1c2VyLnN1YnNpZGlhcmllcyl9LFxuICAgICAgICAgICAgc29ydDogW3snbGlzYUlkLmtleXdvcmQnOiB7b3JkZXI6ICdhc2MnfX1dLFxuICAgICAgICAgICAgc2l6ZTogNTBcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAndW5pdHktcm95YWx0eS1jb250cmFjdCcgOlxuICAgICAgICAgIGJvZHkucHVzaCh7XG4gICAgICAgICAgICBxdWVyeToge2Rpc19tYXg6IHtxdWVyaWVzOiBbe3dpbGRjYXJkOiB7Y29udHJhY3ROdW1iZXI6IHt2YWx1ZTogJyonICsgdGV4dCArICcqJ319fV19fSxcbiAgICAgICAgICAgIHNvcnQ6IFt7J2NvbnRyYWN0TnVtYmVyLmtleXdvcmQnOiB7b3JkZXI6ICdhc2MnfX1dLFxuICAgICAgICAgICAgc2l6ZTogNTBcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAndW5pdHktcm95YWx0eS1jb3VudCcgOlxuICAgICAgICAgIGJvZHkucHVzaCh7XG4gICAgICAgICAgICBxdWVyeToge2Rpc19tYXg6IHtxdWVyaWVzOiBbe3dpbGRjYXJkOiB7Y291bnROdW1iZXI6IHt2YWx1ZTogJyonICsgdGV4dCArICcqJ319fV19fSxcbiAgICAgICAgICAgIHNvcnQ6IFt7J2NvdW50TnVtYmVyLmtleXdvcmQnOiB7b3JkZXI6ICdhc2MnfX1dLFxuICAgICAgICAgICAgc2l6ZTogNTBcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAndW5pdHktcm95YWx0eS1pbnZvaWNlJyA6XG4gICAgICAgICAgYm9keS5wdXNoKHtcbiAgICAgICAgICAgIHF1ZXJ5OiB7ZGlzX21heDoge3F1ZXJpZXM6IFt7d2lsZGNhcmQ6IHtpbnZvaWNlTnVtYmVyOiB7dmFsdWU6ICcqJyArIHRleHQgKyAnKid9fX1dfX0sXG4gICAgICAgICAgICBzb3J0OiBbeydpbnZvaWNlTnVtYmVyLmtleXdvcmQnOiB7b3JkZXI6ICdhc2MnfX1dLFxuICAgICAgICAgICAgc2l6ZTogNTBcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZyb20odGhpcy5nZXRFbGFzdGljc2VhcmNoQ2xpZW50KCkubXNlYXJjaCh7Ym9keX0pKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXREb2N1bWVudHMoc2VhcmNoUmVzcG9uc2U6IGFueSk6IChQdXJjaGFzZU9yZGVyUmFwaWRTZWFyY2hNb2RlbCB8IFByb2R1Y3RSYXBpZFNlYXJjaE1vZGVsIHxcbiAgICBXb3JrVmVyc2lvblJhcGlkU2VhcmNoTW9kZWwgfCBEZWFsUmFwaWRTZWFyY2hNb2RlbCB8IFdvcmtSZWNvcmRSYXBpZFNlYXJjaE1vZGVsIHwgVGhpcmRQYXJ0eVJhcGlkU2VhcmNoTW9kZWwgfCBDb250cmFjdFJhcGlkU2VhcmNoTW9kZWwpW10ge1xuICAgIGxldCByZXN1bHRzID0gW107XG4gICAgaWYgKHNlYXJjaFJlc3BvbnNlICYmIHNlYXJjaFJlc3BvbnNlLnJlc3BvbnNlcykge1xuICAgICAgZm9yIChjb25zdCByIG9mIHNlYXJjaFJlc3BvbnNlLnJlc3BvbnNlcykge1xuICAgICAgICBpZiAoci5lcnJvciB8fCAhci5oaXRzKSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpdGVtID0gci5oaXRzLmhpdHMgJiYgci5oaXRzLmhpdHMubGVuZ3RoID4gMCA/IHIuaGl0cy5oaXRzLm1hcCh2ID0+IHRoaXMubWFwRG9jdW1lbnQodikpIDogW107XG4gICAgICAgIHJlc3VsdHMgPSByZXN1bHRzLmNvbmNhdChpdGVtKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdHM7XG4gIH1cblxuICBtYXBEb2N1bWVudChkb2M6IGFueSk6IGFueSB7XG4gICAgc3dpdGNoIChkb2MuX3NvdXJjZS5kb2NUeXBlKSB7XG4gICAgICBjYXNlICdJTlZPSUNFJzpcbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24obmV3IEludm9pY2VSYXBpZFNlYXJjaE1vZGVsKCksIGRvYy5fc291cmNlKTtcbiAgICAgIGNhc2UgJ1dPUktfUkVDT1JEJzpcbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24obmV3IFdvcmtSZWNvcmRSYXBpZFNlYXJjaE1vZGVsKCksIGRvYy5fc291cmNlKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBkb2MuX3NvdXJjZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNvbXBvc2VDb250cmFjdFF1ZXJ5KHRleHQ6IHN0cmluZywgc3Vic2lkaWFkaWVzKSB7XG4gICAgY29uc3Qgc29jaWV0ZXMgPSB0aGlzLnN1YnNpZGlhcmllc01hcHBpbmdTZXJ2aWNlLmdldFNvY2lldGVBcHBhcnRlbmFuY2Uoc3Vic2lkaWFkaWVzKTtcbiAgICBjb25zdCBtdXN0OiBhbnlbXSA9IFtcbiAgICAgIHt3aWxkY2FyZDoge2xpc2FJZDoge3ZhbHVlOiAnKicgKyB0ZXh0ICsgJyonfX19XG4gICAgXTtcbiAgICBjb25zdCBzaG91bGQ6IGFueVtdID0gW107XG4gICAgc2hvdWxkLnB1c2goe2Jvb2w6IHttdXN0X25vdDoge2V4aXN0czoge2ZpZWxkOiAnc29jaWV0ZUFwcGFydGVuYW5jZSd9fX19KTtcbiAgICBpZiAoc29jaWV0ZXMgJiYgc29jaWV0ZXMubGVuZ3RoID4gMCkge1xuICAgICAgc2hvdWxkLnB1c2goe3Rlcm1zOiB7c29jaWV0ZUFwcGFydGVuYW5jZTogc29jaWV0ZXN9fSk7XG4gICAgfVxuICAgIGNvbnN0IGJvb2xRdWVyeTogYW55ID0ge211c3R9O1xuICAgIGJvb2xRdWVyeS5zaG91bGQgPSBzaG91bGQ7XG4gICAgYm9vbFF1ZXJ5Lm1pbmltdW1fc2hvdWxkX21hdGNoID0gMTtcbiAgICByZXR1cm4gYm9vbFF1ZXJ5XG4gIH1cblxufVxuIl19
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { from } from 'rxjs';
|
|
3
|
+
import { Client as ClientJs } from 'elasticsearch-browser';
|
|
4
|
+
import { WEB_CONFIG } from '../../config';
|
|
5
|
+
import { WorkRecordRapidSearchModel } from "../../models/commercial/work-record-rapid-search-model";
|
|
6
|
+
import { InvoiceRapidSearchModel } from "../../models/commercial/invoice-rapid-search-model";
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "./subsidiaries.service";
|
|
9
|
+
export class ElasticsearchService {
|
|
10
|
+
constructor(config, subsidiariesMappingService) {
|
|
11
|
+
this.config = config;
|
|
12
|
+
this.subsidiariesMappingService = subsidiariesMappingService;
|
|
13
|
+
this.PROFILE_SEARCH_CONFIG = {
|
|
14
|
+
'COMMERCIAL': ['unity-invoice*', 'unity-deal*', 'unity-work-record*'],
|
|
15
|
+
'ACCOUNTANT': ['unity-invoice*', 'unity-deal*', 'unity-work-record*'],
|
|
16
|
+
'ADMINISTRATIVE_CONTROLLER': ['unity-invoice*', 'unity-deal*', 'unity-work-record*'],
|
|
17
|
+
'VIDEO_CONSULT': ['unity-product*'],
|
|
18
|
+
'BDC': ['unity-purchase-order*'],
|
|
19
|
+
'LEGAL': ['unity-contract*']
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
getElasticsearchClient() {
|
|
23
|
+
if (!this.client) {
|
|
24
|
+
this.client = new ClientJs({
|
|
25
|
+
host: this.config.elasticsearch_url
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
return this.client;
|
|
29
|
+
}
|
|
30
|
+
getSearchResponse(text, user) {
|
|
31
|
+
const allIndexes = new Set();
|
|
32
|
+
allIndexes.add('unity-work-version*');
|
|
33
|
+
allIndexes.add('unity-third-party*');
|
|
34
|
+
for (const permission of user.permissions) {
|
|
35
|
+
const indexes = this.PROFILE_SEARCH_CONFIG[permission.code];
|
|
36
|
+
indexes?.forEach(idx => allIndexes.add(idx));
|
|
37
|
+
}
|
|
38
|
+
const body = [];
|
|
39
|
+
for (const index of allIndexes) {
|
|
40
|
+
body.push({ index });
|
|
41
|
+
switch (index) {
|
|
42
|
+
case 'unity-work-version*':
|
|
43
|
+
body.push({
|
|
44
|
+
query: {
|
|
45
|
+
dis_max: {
|
|
46
|
+
queries: [{ wildcard: { miloCode: { value: '*' + text + '*' } } }, { wildcard: { title: { value: '*' + text + '*' } } }, { wildcard: { title: { value: text + '*' } } }, { wildcard: { title: { value: text } } }],
|
|
47
|
+
tie_breaker: 0.5
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
sort: [{ _score: { order: 'desc' } }, { title: { order: "asc" } }],
|
|
51
|
+
size: 50
|
|
52
|
+
});
|
|
53
|
+
break;
|
|
54
|
+
case 'unity-product*':
|
|
55
|
+
body.push({
|
|
56
|
+
query: { dis_max: { queries: [{ wildcard: { ean: { value: '*' + text + '*' } } }, { wildcard: { title: { value: '*' + text + '*' } } }] } },
|
|
57
|
+
sort: { releaseDate: { order: 'desc' } },
|
|
58
|
+
size: 50
|
|
59
|
+
});
|
|
60
|
+
break;
|
|
61
|
+
case 'unity-purchase-order*':
|
|
62
|
+
body.push({
|
|
63
|
+
query: { dis_max: { queries: [{ wildcard: { poNumber: { value: '*' + text + '*' } } }, { wildcard: { ean: { value: '*' + text + '*' } } }, { wildcard: { basketNumber: { value: '*' + text + '*' } } }] } },
|
|
64
|
+
size: 50
|
|
65
|
+
});
|
|
66
|
+
break;
|
|
67
|
+
case 'unity-deal*':
|
|
68
|
+
body.push({
|
|
69
|
+
query: { dis_max: { queries: [{ wildcard: { dealNumber: { value: '*' + text + '*' } } }] } },
|
|
70
|
+
sort: [{ _score: { order: 'desc' } }, { 'dealNumber.keyword': { order: 'asc' } }],
|
|
71
|
+
size: 50
|
|
72
|
+
});
|
|
73
|
+
break;
|
|
74
|
+
case 'unity-work-record*':
|
|
75
|
+
body.push({
|
|
76
|
+
query: { dis_max: { queries: [{ wildcard: { workRecordId: { value: '*' + text + '*' } } }] } },
|
|
77
|
+
sort: [{ 'workRecordId.keyword': { order: 'asc' } }],
|
|
78
|
+
size: 50
|
|
79
|
+
});
|
|
80
|
+
break;
|
|
81
|
+
case 'unity-invoice*':
|
|
82
|
+
body.push({
|
|
83
|
+
query: { dis_max: { queries: [{ wildcard: { number: { value: '*' + text + '*' } } }] } },
|
|
84
|
+
sort: [{ 'number.keyword': { order: 'asc' } }],
|
|
85
|
+
size: 50
|
|
86
|
+
});
|
|
87
|
+
break;
|
|
88
|
+
case 'unity-third-party*':
|
|
89
|
+
body.push({
|
|
90
|
+
query: {
|
|
91
|
+
dis_max: {
|
|
92
|
+
queries: [{ wildcard: { companyOrPersonName: { value: '*' + text + '*' } } }, { wildcard: { companyOrPersonName: { value: text + '*' } } }, { wildcard: { companyOrPersonName: { value: text } } }],
|
|
93
|
+
tie_breaker: 0.5
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
sort: [{ _score: { order: 'desc' } }, { companyOrPersonName: { order: 'asc' } }],
|
|
97
|
+
size: 50
|
|
98
|
+
});
|
|
99
|
+
break;
|
|
100
|
+
case 'unity-contract*':
|
|
101
|
+
body.push({
|
|
102
|
+
query: { bool: this.composeContractQuery(text, user.subsidiaries) },
|
|
103
|
+
sort: [{ 'lisaId.keyword': { order: 'asc' } }],
|
|
104
|
+
size: 50
|
|
105
|
+
});
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return from(this.getElasticsearchClient().msearch({ body }));
|
|
110
|
+
}
|
|
111
|
+
getDocuments(searchResponse) {
|
|
112
|
+
let results = [];
|
|
113
|
+
if (searchResponse && searchResponse.responses) {
|
|
114
|
+
for (const r of searchResponse.responses) {
|
|
115
|
+
if (r.error || !r.hits) {
|
|
116
|
+
continue;
|
|
117
|
+
}
|
|
118
|
+
const item = r.hits.hits && r.hits.hits.length > 0 ? r.hits.hits.map(v => this.mapDocument(v)) : [];
|
|
119
|
+
results = results.concat(item);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return results;
|
|
123
|
+
}
|
|
124
|
+
mapDocument(doc) {
|
|
125
|
+
switch (doc._source.docType) {
|
|
126
|
+
case 'INVOICE':
|
|
127
|
+
return Object.assign(new InvoiceRapidSearchModel(), doc._source);
|
|
128
|
+
case 'WORK_RECORD':
|
|
129
|
+
return Object.assign(new WorkRecordRapidSearchModel(), doc._source);
|
|
130
|
+
default:
|
|
131
|
+
return doc._source;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
composeContractQuery(text, subsidiadies) {
|
|
135
|
+
const societes = this.subsidiariesMappingService.getSocieteAppartenance(subsidiadies);
|
|
136
|
+
const must = [
|
|
137
|
+
{ wildcard: { lisaId: { value: '*' + text + '*' } } }
|
|
138
|
+
];
|
|
139
|
+
const should = [];
|
|
140
|
+
should.push({ bool: { must_not: { exists: { field: 'societeAppartenance' } } } });
|
|
141
|
+
if (societes && societes.length > 0) {
|
|
142
|
+
should.push({ terms: { societeAppartenance: societes } });
|
|
143
|
+
}
|
|
144
|
+
const boolQuery = { must };
|
|
145
|
+
boolQuery.should = should;
|
|
146
|
+
boolQuery.minimum_should_match = 1;
|
|
147
|
+
return boolQuery;
|
|
148
|
+
}
|
|
149
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ElasticsearchService, deps: [{ token: WEB_CONFIG }, { token: i1.SubsidiariesService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
150
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ElasticsearchService }); }
|
|
151
|
+
}
|
|
152
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ElasticsearchService, decorators: [{
|
|
153
|
+
type: Injectable
|
|
154
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
155
|
+
type: Inject,
|
|
156
|
+
args: [WEB_CONFIG]
|
|
157
|
+
}] }, { type: i1.SubsidiariesService }]; } });
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhc3RpY3NlYXJjaC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV3LWZyb250LWNvbW1vbi1saWJyYXJ5L3NyYy9saWIvdXRpbC9zZXJ2aWNlcy9lbGFzdGljc2VhcmNoL2VsYXN0aWNzZWFyY2guc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUMsSUFBSSxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBQyxNQUFNLElBQUksUUFBUSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFJekQsT0FBTyxFQUFTLFVBQVUsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUloRCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUVsRyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxvREFBb0QsQ0FBQzs7O0FBTTNGLE1BQU0sT0FBTyxvQkFBb0I7SUFFL0IsWUFBd0MsTUFBYyxFQUNsQywwQkFBK0M7UUFEM0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNsQywrQkFBMEIsR0FBMUIsMEJBQTBCLENBQXFCO1FBSW5FLDBCQUFxQixHQUFHO1lBQ3RCLFlBQVksRUFBRSxDQUFDLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxvQkFBb0IsQ0FBQztZQUNyRSxZQUFZLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsb0JBQW9CLENBQUM7WUFDckUsMkJBQTJCLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsb0JBQW9CLENBQUM7WUFDcEYsZUFBZSxFQUFFLENBQUMsZ0JBQWdCLENBQUM7WUFDbkMsS0FBSyxFQUFFLENBQUMsdUJBQXVCLENBQUM7WUFDaEMsT0FBTyxFQUFFLENBQUMsaUJBQWlCLENBQUM7U0FDN0IsQ0FBQTtJ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LG1CQUFtQixFQUFFLFFBQVEsRUFBQyxFQUFDLENBQUMsQ0FBQztTQUN2RDtRQUNELE1BQU0sU0FBUyxHQUFRLEVBQUMsSUFBSSxFQUFDLENBQUM7UUFDOUIsU0FBUyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDMUIsU0FBUyxDQUFDLG9CQUFvQixHQUFHLENBQUMsQ0FBQztRQUNuQyxPQUFPLFNBQVMsQ0FBQTtJQUNsQixDQUFDOytHQXRKVSxvQkFBb0Isa0JBRVgsVUFBVTttSEFGbkIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVOzswQkFHSSxNQUFNOzJCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7ZnJvbSwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7Q2xpZW50IGFzIENsaWVudEpzfSBmcm9tICdlbGFzdGljc2VhcmNoLWJyb3dzZXInO1xyXG5pbXBvcnQge0NsaWVudCwgTVNlYXJjaFJlc3BvbnNlfSBmcm9tICdlbGFzdGljc2VhcmNoJztcclxuaW1wb3J0IHtQdXJjaGFzZU9yZGVyUmFwaWRTZWFyY2hNb2RlbH0gZnJvbSBcIi4uLy4uL21vZGVscy9leHBlbmRpdHVyZS1jb21taXRtZW50L3B1cmNoYXNlLW9yZGVyLXJhcGlkLXNlYXJjaC5tb2RlbFwiO1xyXG5pbXBvcnQge1Byb2R1Y3RSYXBpZFNlYXJjaE1vZGVsfSBmcm9tIFwiLi4vLi4vbW9kZWxzL3ZpZGVvL3Byb2R1Y3QtcmFwaWQtc2VhcmNoLm1vZGVsXCI7XHJcbmltcG9ydCB7Q29uZmlnLCBXRUJfQ09ORklHfSBmcm9tICcuLi8uLi9jb25maWcnO1xyXG5pbXBvcnQge1dvcmtWZXJzaW9uUmFwaWRTZWFyY2hNb2RlbH0gZnJvbSBcIi4uLy4uL21vZGVscy9yZWZlcmVudGlhbC93b3JrLXZlcnNpb24tcmFwaWQtc2VhcmNoLm1vZGVsXCI7XHJcbmltcG9ydCB7RGVhbFJhcGlkU2VhcmNoTW9kZWx9IGZyb20gJy4uLy4uL21vZGVscy9jb21tZXJjaWFsL2RlYWwtcmFwaWQtc2VhcmNoLW1vZGVsJztcclxuaW1wb3J0IHtUaGlyZFBhcnR5UmFwaWRTZWFyY2hNb2RlbH0gZnJvbSBcIi4uLy4uL21vZGVscy9yZWZlcmVudGlhbC90aGlyZC1wYXJ0eS1yYXBpZC1zZWFyY2gubW9kZWxcIjtcclxuaW1wb3J0IHtXb3JrUmVjb3JkUmFwaWRTZWFyY2hNb2RlbH0gZnJvbSBcIi4uLy4uL21vZGVscy9jb21tZXJjaWFsL3dvcmstcmVjb3JkLXJhcGlkLXNlYXJjaC1tb2RlbFwiO1xyXG5pbXBvcnQge0NvbnRyYWN0UmFwaWRTZWFyY2hNb2RlbH0gZnJvbSBcIi4uLy4uL21vZGVscy9sZWdhbC9jb250cmFjdC1yYXBpZC1zZWFyY2gtbW9kZWxcIjtcclxuaW1wb3J0IHtJbnZvaWNlUmFwaWRTZWFyY2hNb2RlbH0gZnJvbSBcIi4uLy4uL21vZGVscy9jb21tZXJjaWFsL2ludm9pY2UtcmFwaWQtc2VhcmNoLW1vZGVsXCI7XHJcbmltcG9ydCB7QXV0aFVzZXJNb2RlbH0gZnJvbSBcIi4uLy4uL21vZGVsc1wiO1xyXG5pbXBvcnQge1N1YnNpZGlhcmllc1NlcnZpY2V9IGZyb20gXCIuL3N1YnNpZGlhcmllcy5zZXJ2aWNlXCI7XHJcblxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgRWxhc3RpY3NlYXJjaFNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KFdFQl9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBDb25maWcsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBzdWJzaWRpYXJpZXNNYXBwaW5nU2VydmljZTogU3Vic2lkaWFyaWVzU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjbGllbnQ6IENsaWVudDtcclxuICBQUk9GSUxFX1NFQVJDSF9DT05GSUcgPSB7XHJcbiAgICAnQ09NTUVSQ0lBTCc6IFsndW5pdHktaW52b2ljZSonLCAndW5pdHktZGVhbConLCAndW5pdHktd29yay1yZWNvcmQqJ10sXHJcbiAgICAnQUNDT1VOVEFOVCc6IFsndW5pdHktaW52b2ljZSonLCAndW5pdHktZGVhbConLCAndW5pdHktd29yay1yZWNvcmQqJ10sXHJcbiAgICAnQURNSU5JU1RSQVRJVkVfQ09OVFJPTExFUic6IFsndW5pdHktaW52b2ljZSonLCAndW5pdHktZGVhbConLCAndW5pdHktd29yay1yZWNvcmQqJ10sXHJcbiAgICAnVklERU9fQ09OU1VMVCc6IFsndW5pdHktcHJvZHVjdConXSxcclxuICAgICdCREMnOiBbJ3VuaXR5LXB1cmNoYXNlLW9yZGVyKiddLFxyXG4gICAgJ0xFR0FMJzogWyd1bml0eS1jb250cmFjdConXVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRFbGFzdGljc2VhcmNoQ2xpZW50KCk6IENsaWVudCB7XHJcbiAgICBpZiAoIXRoaXMuY2xpZW50KSB7XHJcbiAgICAgIHRoaXMuY2xpZW50ID0gbmV3IENsaWVudEpzKHtcclxuICAgICAgICBob3N0OiB0aGlzLmNvbmZpZy5lbGFzdGljc2VhcmNoX3VybFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmNsaWVudDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRTZWFyY2hSZXNwb25zZSh0ZXh0OiBzdHJpbmcsIHVzZXI6IEF1dGhVc2VyTW9kZWwpOiBPYnNlcnZhYmxlPE1TZWFyY2hSZXNwb25zZTxhbnk+PiB7XHJcbiAgICBjb25zdCBhbGxJbmRleGVzOiBTZXQ8c3RyaW5nPiA9IG5ldyBTZXQ8c3RyaW5nPigpO1xyXG4gICAgYWxsSW5kZXhlcy5hZGQoJ3VuaXR5LXdvcmstdmVyc2lvbionKVxyXG4gICAgYWxsSW5kZXhlcy5hZGQoJ3VuaXR5LXRoaXJkLXBhcnR5KicpXHJcblxyXG4gICAgZm9yIChjb25zdCBwZXJtaXNzaW9uIG9mIHVzZXIucGVybWlzc2lvbnMpIHtcclxuICAgICAgY29uc3QgaW5kZXhlcyA9IHRoaXMuUFJPRklMRV9TRUFSQ0hfQ09ORklHW3Blcm1pc3Npb24uY29kZV07XHJcbiAgICAgIGluZGV4ZXM/LmZvckVhY2goaWR4ID0+IGFsbEluZGV4ZXMuYWRkKGlkeCkpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGJvZHk6IGFueVtdID0gW107XHJcbiAgICBmb3IgKGNvbnN0IGluZGV4IG9mIGFsbEluZGV4ZXMpIHtcclxuICAgICAgYm9keS5wdXNoKHtpbmRleH0pO1xyXG4gICAgICBzd2l0Y2ggKGluZGV4KSB7XHJcbiAgICAgICAgY2FzZSAndW5pdHktd29yay12ZXJzaW9uKicgOlxyXG4gICAgICAgICAgYm9keS5wdXNoKHtcclxuICAgICAgICAgICAgcXVlcnk6IHtcclxuICAgICAgICAgICAgICBkaXNfbWF4OiB7XHJcbiAgICAgICAgICAgICAgICBxdWVyaWVzOiBbe3dpbGRjYXJkOiB7bWlsb0NvZGU6IHt2YWx1ZTogJyonICsgdGV4dCArICcqJ319fSwge3dpbGRjYXJkOiB7dGl0bGU6IHt2YWx1ZTogJyonICsgdGV4dCArICcqJ319fSwge3dpbGRjYXJkOiB7dGl0bGU6IHt2YWx1ZTogdGV4dCArICcqJ319fSwge3dpbGRjYXJkOiB7dGl0bGU6IHt2YWx1ZTogdGV4dH19fV0sXHJcbiAgICAgICAgICAgICAgICB0aWVfYnJlYWtlcjogMC41XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBzb3J0OiBbe19zY29yZToge29yZGVyOiAnZGVzYyd9fSwge3RpdGxlOiB7b3JkZXI6IFwiYXNjXCJ9fV0sXHJcbiAgICAgICAgICAgIHNpemU6IDUwXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ3VuaXR5LXByb2R1Y3QqJyA6XHJcbiAgICAgICAgICBib2R5LnB1c2goe1xyXG4gICAgICAgICAgICBxdWVyeToge2Rpc19tYXg6IHtxdWVyaWVzOiBbe3dpbGRjYXJkOiB7ZWFuOiB7dmFsdWU6ICcqJyArIHRleHQgKyAnKid9fX0sIHt3aWxkY2FyZDoge3RpdGxlOiB7dmFsdWU6ICcqJyArIHRleHQgKyAnKid9fX1dfX0sXHJcbiAgICAgICAgICAgIHNvcnQ6IHtyZWxlYXNlRGF0ZToge29yZGVyOiAnZGVzYyd9fSxcclxuICAgICAgICAgICAgc2l6ZTogNTBcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAndW5pdHktcHVyY2hhc2Utb3JkZXIqJyA6XHJcbiAgICAgICAgICBib2R5LnB1c2goe1xyXG4gICAgICAgICAgICBxdWVyeToge2Rpc19tYXg6IHtxdWVyaWVzOiBbe3dpbGRjYXJkOiB7cG9OdW1iZXI6IHt2YWx1ZTogJyonICsgdGV4dCArICcqJ319fSwge3dpbGRjYXJkOiB7ZWFuOiB7dmFsdWU6ICcqJyArIHRleHQgKyAnKid9fX0sIHt3aWxkY2FyZDoge2Jhc2tldE51bWJlcjoge3ZhbHVlOiAnKicgKyB0ZXh0ICsgJyonfX19XX19LFxyXG4gICAgICAgICAgICBzaXplOiA1MFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICd1bml0eS1kZWFsKicgOlxyXG4gICAgICAgICAgYm9keS5wdXNoKHtcclxuICAgICAgICAgICAgcXVlcnk6IHtkaXNfbWF4OiB7cXVlcmllczogW3t3aWxkY2FyZDoge2RlYWxOdW1iZXI6IHt2YWx1ZTogJyonICsgdGV4dCArICcqJ319fV19fSxcclxuICAgICAgICAgICAgc29ydDogW3tfc2NvcmU6IHtvcmRlcjogJ2Rlc2MnfX0sIHsnZGVhbE51bWJlci5rZXl3b3JkJzoge29yZGVyOiAnYXNjJ319XSxcclxuICAgICAgICAgICAgc2l6ZTogNTBcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAndW5pdHktd29yay1yZWNvcmQqJyA6XHJcbiAgICAgICAgICBib2R5LnB1c2goe1xyXG4gICAgICAgICAgICBxdWVyeToge2Rpc19tYXg6IHtxdWVyaWVzOiBbe3dpbGRjYXJkOiB7d29ya1JlY29yZElkOiB7dmFsdWU6ICcqJyArIHRleHQgKyAnKid9fX1dfX0sXHJcbiAgICAgICAgICAgIHNvcnQ6IFt7J3dvcmtSZWNvcmRJZC5rZXl3b3JkJzoge29yZGVyOiAnYXNjJ319XSxcclxuICAgICAgICAgICAgc2l6ZTogNTBcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAndW5pdHktaW52b2ljZSonIDpcclxuICAgICAgICAgIGJvZHkucHVzaCh7XHJcbiAgICAgICAgICAgIHF1ZXJ5OiB7ZGlzX21heDoge3F1ZXJpZXM6IFt7d2lsZGNhcmQ6IHtudW1iZXI6IHt2YWx1ZTogJyonICsgdGV4dCArICcqJ319fV19fSxcclxuICAgICAgICAgICAgc29ydDogW3snbnVtYmVyLmtleXdvcmQnOiB7b3JkZXI6ICdhc2MnfX1dLFxyXG4gICAgICAgICAgICBzaXplOiA1MFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICd1bml0eS10aGlyZC1wYXJ0eSonIDpcclxuICAgICAgICAgIGJvZHkucHVzaCh7XHJcbiAgICAgICAgICAgIHF1ZXJ5OiB7XHJcbiAgICAgICAgICAgICAgZGlzX21heDoge1xyXG4gICAgICAgICAgICAgICAgcXVlcmllczogW3t3aWxkY2FyZDoge2NvbXBhbnlPclBlcnNvbk5hbWU6IHt2YWx1ZTogJyonICsgdGV4dCArICcqJ319fSwge3dpbGRjYXJkOiB7Y29tcGFueU9yUGVyc29uTmFtZToge3ZhbHVlOiB0ZXh0ICsgJyonfX19LCB7d2lsZGNhcmQ6IHtjb21wYW55T3JQZXJzb25OYW1lOiB7dmFsdWU6IHRleHR9fX1dLFxyXG4gICAgICAgICAgICAgICAgdGllX2JyZWFrZXI6IDAuNVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgc29ydDogW3tfc2NvcmU6IHtvcmRlcjogJ2Rlc2MnfX0sIHtjb21wYW55T3JQZXJzb25OYW1lOiB7b3JkZXI6ICdhc2MnfX1dLFxyXG4gICAgICAgICAgICBzaXplOiA1MFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICd1bml0eS1jb250cmFjdConIDpcclxuICAgICAgICAgIGJvZHkucHVzaCh7XHJcbiAgICAgICAgICAgIHF1ZXJ5OiB7Ym9vbDogdGhpcy5jb21wb3NlQ29udHJhY3RRdWVyeSh0ZXh0LCB1c2VyLnN1YnNpZGlhcmllcyl9LFxyXG4gICAgICAgICAgICBzb3J0OiBbeydsaXNhSWQua2V5d29yZCc6IHtvcmRlcjogJ2FzYyd9fV0sXHJcbiAgICAgICAgICAgIHNpemU6IDUwXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZnJvbSh0aGlzLmdldEVsYXN0aWNzZWFyY2hDbGllbnQoKS5tc2VhcmNoKHtib2R5fSkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldERvY3VtZW50cyhzZWFyY2hSZXNwb25zZTogYW55KTogKFB1cmNoYXNlT3JkZXJSYXBpZFNlYXJjaE1vZGVsIHwgUHJvZHVjdFJhcGlkU2VhcmNoTW9kZWwgfFxyXG4gICAgV29ya1ZlcnNpb25SYXBpZFNlYXJjaE1vZGVsIHwgRGVhbFJhcGlkU2VhcmNoTW9kZWwgfCBXb3JrUmVjb3JkUmFwaWRTZWFyY2hNb2RlbCB8IFRoaXJkUGFydHlSYXBpZFNlYXJjaE1vZGVsIHwgQ29udHJhY3RSYXBpZFNlYXJjaE1vZGVsKVtdIHtcclxuICAgIGxldCByZXN1bHRzID0gW107XHJcbiAgICBpZiAoc2VhcmNoUmVzcG9uc2UgJiYgc2VhcmNoUmVzcG9uc2UucmVzcG9uc2VzKSB7XHJcbiAgICAgIGZvciAoY29uc3QgciBvZiBzZWFyY2hSZXNwb25zZS5yZXNwb25zZXMpIHtcclxuICAgICAgICBpZiAoci5lcnJvciB8fCAhci5oaXRzKSB7XHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGl0ZW0gPSByLmhpdHMuaGl0cyAmJiByLmhpdHMuaGl0cy5sZW5ndGggPiAwID8gci5oaXRzLmhpdHMubWFwKHYgPT4gdGhpcy5tYXBEb2N1bWVudCh2KSkgOiBbXTtcclxuICAgICAgICByZXN1bHRzID0gcmVzdWx0cy5jb25jYXQoaXRlbSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHRzO1xyXG4gIH1cclxuXHJcbiAgbWFwRG9jdW1lbnQoZG9jOiBhbnkpOiBhbnkge1xyXG4gICAgc3dpdGNoIChkb2MuX3NvdXJjZS5kb2NUeXBlKSB7XHJcbiAgICAgIGNhc2UgJ0lOVk9JQ0UnOlxyXG4gICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKG5ldyBJbnZvaWNlUmFwaWRTZWFyY2hNb2RlbCgpLCBkb2MuX3NvdXJjZSk7XHJcbiAgICAgIGNhc2UgJ1dPUktfUkVDT1JEJzpcclxuICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihuZXcgV29ya1JlY29yZFJhcGlkU2VhcmNoTW9kZWwoKSwgZG9jLl9zb3VyY2UpO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBkb2MuX3NvdXJjZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgY29tcG9zZUNvbnRyYWN0UXVlcnkodGV4dDogc3RyaW5nLCBzdWJzaWRpYWRpZXMpIHtcclxuICAgIGNvbnN0IHNvY2lldGVzID0gdGhpcy5zdWJzaWRpYXJpZXNNYXBwaW5nU2VydmljZS5nZXRTb2NpZXRlQXBwYXJ0ZW5hbmNlKHN1YnNpZGlhZGllcyk7XHJcbiAgICBjb25zdCBtdXN0OiBhbnlbXSA9IFtcclxuICAgICAge3dpbGRjYXJkOiB7bGlzYUlkOiB7dmFsdWU6ICcqJyArIHRleHQgKyAnKid9fX1cclxuICAgIF07XHJcbiAgICBjb25zdCBzaG91bGQ6IGFueVtdID0gW107XHJcbiAgICBzaG91bGQucHVzaCh7Ym9vbDoge211c3Rfbm90OiB7ZXhpc3RzOiB7ZmllbGQ6ICdzb2NpZXRlQXBwYXJ0ZW5hbmNlJ319fX0pO1xyXG4gICAgaWYgKHNvY2lldGVzICYmIHNvY2lldGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgc2hvdWxkLnB1c2goe3Rlcm1zOiB7c29jaWV0ZUFwcGFydGVuYW5jZTogc29jaWV0ZXN9fSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBib29sUXVlcnk6IGFueSA9IHttdXN0fTtcclxuICAgIGJvb2xRdWVyeS5zaG91bGQgPSBzaG91bGQ7XHJcbiAgICBib29sUXVlcnkubWluaW11bV9zaG91bGRfbWF0Y2ggPSAxO1xyXG4gICAgcmV0dXJuIGJvb2xRdWVyeVxyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -1,48 +1,48 @@
|
|
|
1
|
-
import { inject, Injectable } from "@angular/core";
|
|
2
|
-
import { LegalApiService } from "../api/legal-api.service";
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class SubsidiariesService {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.legalService = inject(LegalApiService);
|
|
7
|
-
this.defaultMapping = {
|
|
8
|
-
1: [4991],
|
|
9
|
-
2: [332, 333, 334, 739, 335, 1379, 1380, 4988, 4990],
|
|
10
|
-
3: [332, 333, 334, 739, 335, 1379, 1380, 4988, 4990],
|
|
11
|
-
4: [332, 333, 334, 739, 335, 1379, 1380, 4988, 4990],
|
|
12
|
-
5: [332, 333, 334, 739, 335, 1379, 1380, 4988, 4990],
|
|
13
|
-
6: [332, 333, 334, 739, 335, 1379, 1380, 4988, 4990],
|
|
14
|
-
7: [332, 333, 334, 739, 335, 1379, 1380, 4988, 4990]
|
|
15
|
-
};
|
|
16
|
-
this.subsidiaryToSocieteMapLegal = {};
|
|
17
|
-
this.loadTableSocieteAppartenance();
|
|
18
|
-
}
|
|
19
|
-
loadTableSocieteAppartenance() {
|
|
20
|
-
this.legalService.getMappingSocietesSubsidiaries().subscribe({
|
|
21
|
-
next: (map) => {
|
|
22
|
-
this.subsidiaryToSocieteMapLegal = map;
|
|
23
|
-
},
|
|
24
|
-
error: () => {
|
|
25
|
-
console.log('Default mapping for subsidiaryToSocieteMapLegal');
|
|
26
|
-
this.subsidiaryToSocieteMapLegal = { ...this.defaultMapping };
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
getSocieteAppartenance(subsidiaries) {
|
|
31
|
-
if (subsidiaries === null) {
|
|
32
|
-
return null;
|
|
33
|
-
}
|
|
34
|
-
return subsidiaries
|
|
35
|
-
.reduce((acc, sub) => {
|
|
36
|
-
const societes = this.subsidiaryToSocieteMapLegal[sub.id] || [];
|
|
37
|
-
return acc.concat(societes);
|
|
38
|
-
}, [])
|
|
39
|
-
.filter((v, i, arr) => arr.indexOf(v) === i);
|
|
40
|
-
}
|
|
41
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SubsidiariesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
42
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SubsidiariesService, providedIn: 'root' }); }
|
|
43
|
-
}
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SubsidiariesService, decorators: [{
|
|
45
|
-
type: Injectable,
|
|
46
|
-
args: [{ providedIn: 'root' }]
|
|
47
|
-
}], ctorParameters: function () { return []; } });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { inject, Injectable } from "@angular/core";
|
|
2
|
+
import { LegalApiService } from "../api/legal-api.service";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class SubsidiariesService {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.legalService = inject(LegalApiService);
|
|
7
|
+
this.defaultMapping = {
|
|
8
|
+
1: [4991],
|
|
9
|
+
2: [332, 333, 334, 739, 335, 1379, 1380, 4988, 4990],
|
|
10
|
+
3: [332, 333, 334, 739, 335, 1379, 1380, 4988, 4990],
|
|
11
|
+
4: [332, 333, 334, 739, 335, 1379, 1380, 4988, 4990],
|
|
12
|
+
5: [332, 333, 334, 739, 335, 1379, 1380, 4988, 4990],
|
|
13
|
+
6: [332, 333, 334, 739, 335, 1379, 1380, 4988, 4990],
|
|
14
|
+
7: [332, 333, 334, 739, 335, 1379, 1380, 4988, 4990]
|
|
15
|
+
};
|
|
16
|
+
this.subsidiaryToSocieteMapLegal = {};
|
|
17
|
+
this.loadTableSocieteAppartenance();
|
|
18
|
+
}
|
|
19
|
+
loadTableSocieteAppartenance() {
|
|
20
|
+
this.legalService.getMappingSocietesSubsidiaries().subscribe({
|
|
21
|
+
next: (map) => {
|
|
22
|
+
this.subsidiaryToSocieteMapLegal = map;
|
|
23
|
+
},
|
|
24
|
+
error: () => {
|
|
25
|
+
console.log('Default mapping for subsidiaryToSocieteMapLegal');
|
|
26
|
+
this.subsidiaryToSocieteMapLegal = { ...this.defaultMapping };
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
getSocieteAppartenance(subsidiaries) {
|
|
31
|
+
if (subsidiaries === null) {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
return subsidiaries
|
|
35
|
+
.reduce((acc, sub) => {
|
|
36
|
+
const societes = this.subsidiaryToSocieteMapLegal[sub.id] || [];
|
|
37
|
+
return acc.concat(societes);
|
|
38
|
+
}, [])
|
|
39
|
+
.filter((v, i, arr) => arr.indexOf(v) === i);
|
|
40
|
+
}
|
|
41
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SubsidiariesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
42
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SubsidiariesService, providedIn: 'root' }); }
|
|
43
|
+
}
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SubsidiariesService, decorators: [{
|
|
45
|
+
type: Injectable,
|
|
46
|
+
args: [{ providedIn: 'root' }]
|
|
47
|
+
}], ctorParameters: function () { return []; } });
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2lkaWFyaWVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXctZnJvbnQtY29tbW9uLWxpYnJhcnkvc3JjL2xpYi91dGlsL3NlcnZpY2VzL2VsYXN0aWNzZWFyY2gvc3Vic2lkaWFyaWVzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDOztBQUd6RCxNQUFNLE9BQU8sbUJBQW1CO0lBZ0I5QjtRQWRpQixpQkFBWSxHQUFvQixNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFakUsbUJBQWMsR0FBNkI7WUFDakQsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDO1lBQ1QsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7WUFDcEQsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7WUFDcEQsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7WUFDcEQsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7WUFDcEQsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7WUFDcEQsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7U0FDckQsQ0FBQTtRQUVPLGdDQUEyQixHQUE2QixFQUFFLENBQUM7UUFHakUsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUNELDRCQUE0QjtRQUMxQixJQUFJLENBQUMsWUFBWSxDQUFDLDhCQUE4QixFQUFFLENBQUMsU0FBUyxDQUFDO1lBQzNELElBQUksRUFBRSxDQUFDLEdBQTZCLEVBQUUsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLDJCQUEyQixHQUFHLEdBQUcsQ0FBQztZQUN6QyxDQUFDO1lBQ0QsS0FBSyxFQUFFLEdBQUcsRUFBRTtnQkFDVixPQUFPLENBQUMsR0FBRyxDQUFDLGlEQUFpRCxDQUFDLENBQUM7Z0JBQy9ELElBQUksQ0FBQywyQkFBMkIsR0FBRyxFQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBQyxDQUFDO1lBQzlELENBQUM7U0FDRixDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsc0JBQXNCLENBQUMsWUFBK0I7UUFDcEQsSUFBSSxZQUFZLEtBQUssSUFBSSxFQUFFO1lBQ3pCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxPQUFPLFlBQVk7YUFDaEIsTUFBTSxDQUFDLENBQUMsR0FBYSxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQzdCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2hFLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QixDQUFDLEVBQUUsRUFBRSxDQUFDO2FBQ0wsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDakQsQ0FBQzsrR0F6Q1UsbUJBQW1CO21IQUFuQixtQkFBbUIsY0FEUCxNQUFNOzs0RkFDbEIsbUJBQW1CO2tCQUQvQixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1N1YnNpZGlhcnlNb2RlbH0gZnJvbSBcIi4uLy4uL21vZGVsc1wiO1xyXG5pbXBvcnQge0xlZ2FsQXBpU2VydmljZX0gZnJvbSBcIi4uL2FwaS9sZWdhbC1hcGkuc2VydmljZVwiO1xyXG5cclxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXHJcbmV4cG9ydCBjbGFzcyBTdWJzaWRpYXJpZXNTZXJ2aWNlIHtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBsZWdhbFNlcnZpY2U6IExlZ2FsQXBpU2VydmljZSA9IGluamVjdChMZWdhbEFwaVNlcnZpY2UpO1xyXG5cclxuICBwcml2YXRlIGRlZmF1bHRNYXBwaW5nOiBSZWNvcmQ8bnVtYmVyLCBudW1iZXJbXT4gPSB7XHJcbiAgICAxOiBbNDk5MV0sXHJcbiAgICAyOiBbMzMyLCAzMzMsIDMzNCwgNzM5LCAzMzUsIDEzNzksIDEzODAsIDQ5ODgsIDQ5OTBdLFxyXG4gICAgMzogWzMzMiwgMzMzLCAzMzQsIDczOSwgMzM1LCAxMzc5LCAxMzgwLCA0OTg4LCA0OTkwXSxcclxuICAgIDQ6IFszMzIsIDMzMywgMzM0LCA3MzksIDMzNSwgMTM3OSwgMTM4MCwgNDk4OCwgNDk5MF0sXHJcbiAgICA1OiBbMzMyLCAzMzMsIDMzNCwgNzM5LCAzMzUsIDEzNzksIDEzODAsIDQ5ODgsIDQ5OTBdLFxyXG4gICAgNjogWzMzMiwgMzMzLCAzMzQsIDczOSwgMzM1LCAxMzc5LCAxMzgwLCA0OTg4LCA0OTkwXSxcclxuICAgIDc6IFszMzIsIDMzMywgMzM0LCA3MzksIDMzNSwgMTM3OSwgMTM4MCwgNDk4OCwgNDk5MF1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3Vic2lkaWFyeVRvU29jaWV0ZU1hcExlZ2FsOiBSZWNvcmQ8bnVtYmVyLCBudW1iZXJbXT4gPSB7fTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLmxvYWRUYWJsZVNvY2lldGVBcHBhcnRlbmFuY2UoKTtcclxuICB9XHJcbiAgbG9hZFRhYmxlU29jaWV0ZUFwcGFydGVuYW5jZSgpIHtcclxuICAgIHRoaXMubGVnYWxTZXJ2aWNlLmdldE1hcHBpbmdTb2NpZXRlc1N1YnNpZGlhcmllcygpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChtYXA6IFJlY29yZDxudW1iZXIsIG51bWJlcltdPikgPT4ge1xyXG4gICAgICAgIHRoaXMuc3Vic2lkaWFyeVRvU29jaWV0ZU1hcExlZ2FsID0gbWFwO1xyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKCkgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdEZWZhdWx0IG1hcHBpbmcgZm9yIHN1YnNpZGlhcnlUb1NvY2lldGVNYXBMZWdhbCcpO1xyXG4gICAgICAgIHRoaXMuc3Vic2lkaWFyeVRvU29jaWV0ZU1hcExlZ2FsID0gey4uLnRoaXMuZGVmYXVsdE1hcHBpbmd9O1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0U29jaWV0ZUFwcGFydGVuYW5jZShzdWJzaWRpYXJpZXM6IFN1YnNpZGlhcnlNb2RlbFtdKSB7XHJcbiAgICBpZiAoc3Vic2lkaWFyaWVzID09PSBudWxsKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN1YnNpZGlhcmllc1xyXG4gICAgICAucmVkdWNlKChhY2M6IG51bWJlcltdLCBzdWIpID0+IHtcclxuICAgICAgICBjb25zdCBzb2NpZXRlcyA9IHRoaXMuc3Vic2lkaWFyeVRvU29jaWV0ZU1hcExlZ2FsW3N1Yi5pZF0gfHwgW107XHJcbiAgICAgICAgcmV0dXJuIGFjYy5jb25jYXQoc29jaWV0ZXMpO1xyXG4gICAgICB9LCBbXSlcclxuICAgICAgLmZpbHRlcigodiwgaSwgYXJyKSA9PiBhcnIuaW5kZXhPZih2KSA9PT0gaSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { EventEmitter, Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class FormActionsEventsService {
|
|
4
|
-
constructor() {
|
|
5
|
-
this.updateEvent = new EventEmitter(true);
|
|
6
|
-
this.consultToEdit = new EventEmitter(true);
|
|
7
|
-
this.EditToConsult = new EventEmitter(true);
|
|
8
|
-
this.consultToDuplicate = new EventEmitter(true);
|
|
9
|
-
}
|
|
10
|
-
emitUpdateEvent() {
|
|
11
|
-
this.updateEvent.emit();
|
|
12
|
-
}
|
|
13
|
-
emitEventIsUpdateTrue() {
|
|
14
|
-
this.consultToEdit.emit(true);
|
|
15
|
-
}
|
|
16
|
-
emitConsultEvent() {
|
|
17
|
-
this.EditToConsult.emit();
|
|
18
|
-
}
|
|
19
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormActionsEventsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
20
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormActionsEventsService }); }
|
|
21
|
-
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormActionsEventsService, decorators: [{
|
|
23
|
-
type: Injectable
|
|
24
|
-
}], ctorParameters: function () { return []; } });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { EventEmitter, Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class FormActionsEventsService {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.updateEvent = new EventEmitter(true);
|
|
6
|
+
this.consultToEdit = new EventEmitter(true);
|
|
7
|
+
this.EditToConsult = new EventEmitter(true);
|
|
8
|
+
this.consultToDuplicate = new EventEmitter(true);
|
|
9
|
+
}
|
|
10
|
+
emitUpdateEvent() {
|
|
11
|
+
this.updateEvent.emit();
|
|
12
|
+
}
|
|
13
|
+
emitEventIsUpdateTrue() {
|
|
14
|
+
this.consultToEdit.emit(true);
|
|
15
|
+
}
|
|
16
|
+
emitConsultEvent() {
|
|
17
|
+
this.EditToConsult.emit();
|
|
18
|
+
}
|
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormActionsEventsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
20
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormActionsEventsService }); }
|
|
21
|
+
}
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormActionsEventsService, decorators: [{
|
|
23
|
+
type: Injectable
|
|
24
|
+
}], ctorParameters: function () { return []; } });
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1hY3Rpb25zLWV2ZW50cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV3LWZyb250LWNvbW1vbi1saWJyYXJ5L3NyYy9saWIvdXRpbC9zZXJ2aWNlcy9mb3JtLWFjdGlvbi9mb3JtLWFjdGlvbnMtZXZlbnRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBR3pELE1BQU0sT0FBTyx3QkFBd0I7SUFPakM7UUFMTyxnQkFBVyxHQUEwQixJQUFJLFlBQVksQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUNyRSxrQkFBYSxHQUEwQixJQUFJLFlBQVksQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUN2RSxrQkFBYSxHQUEwQixJQUFJLFlBQVksQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUN2RSx1QkFBa0IsR0FBMEIsSUFBSSxZQUFZLENBQVUsSUFBSSxDQUFDLENBQUM7SUFHbkYsQ0FBQztJQUVNLGVBQWU7UUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU0scUJBQXFCO1FBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxnQkFBZ0I7UUFDbkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM5QixDQUFDOytHQXBCUSx3QkFBd0I7bUhBQXhCLHdCQUF3Qjs7NEZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgRm9ybUFjdGlvbnNFdmVudHNTZXJ2aWNlIHtcclxuXHJcbiAgICBwdWJsaWMgdXBkYXRlRXZlbnQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4odHJ1ZSk7XHJcbiAgICBwdWJsaWMgY29uc3VsdFRvRWRpdDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPih0cnVlKTtcclxuICAgIHB1YmxpYyBFZGl0VG9Db25zdWx0OiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KHRydWUpO1xyXG4gICAgcHVibGljIGNvbnN1bHRUb0R1cGxpY2F0ZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPih0cnVlKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZW1pdFVwZGF0ZUV2ZW50KCkge1xyXG4gICAgICAgIHRoaXMudXBkYXRlRXZlbnQuZW1pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBlbWl0RXZlbnRJc1VwZGF0ZVRydWUoKSB7XHJcbiAgICAgICAgdGhpcy5jb25zdWx0VG9FZGl0LmVtaXQodHJ1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGVtaXRDb25zdWx0RXZlbnQoKSB7XHJcbiAgICAgICAgdGhpcy5FZGl0VG9Db25zdWx0LmVtaXQoKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|