@unipin/angular-applet 18.6.6 → 18.6.8

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.
Files changed (99) hide show
  1. package/fesm2022/unipin-angular-applet.mjs +200 -217
  2. package/fesm2022/unipin-angular-applet.mjs.map +1 -1
  3. package/lib/components/approval/detail/approval-detail.component.d.ts +2 -1
  4. package/lib/components/grids/grid-pagination/grid-pagination.component.d.ts +3 -2
  5. package/lib/components/grids/grid-snapshot/grid-snapshot.component.d.ts +3 -2
  6. package/lib/components/index.d.ts +1 -1
  7. package/lib/components/tabs/index.d.ts +7 -3
  8. package/lib/components/tabs/tab-content/tab-content.component.d.ts +1 -1
  9. package/lib/components/tabs/tab-group/tab-group.component.d.ts +7 -5
  10. package/package.json +1 -3
  11. package/public-api.d.ts +1 -1
  12. package/esm2022/graphql/generated.mjs +0 -570
  13. package/esm2022/lib/components/approval/detail/approval-detail.component.mjs +0 -79
  14. package/esm2022/lib/components/approval/form/approval-form.component.mjs +0 -128
  15. package/esm2022/lib/components/approval/index.mjs +0 -3
  16. package/esm2022/lib/components/approval/list/approval-list.component.mjs +0 -113
  17. package/esm2022/lib/components/approval/services/approval.service.mjs +0 -46
  18. package/esm2022/lib/components/audit/detail/audit-detail.component.mjs +0 -124
  19. package/esm2022/lib/components/audit/index.mjs +0 -3
  20. package/esm2022/lib/components/audit/list/audit-list.component.mjs +0 -81
  21. package/esm2022/lib/components/audit/service/audit.service.mjs +0 -49
  22. package/esm2022/lib/components/audit/types/audit-detail-form.type.mjs +0 -2
  23. package/esm2022/lib/components/buttons/group/btn-group.component.mjs +0 -45
  24. package/esm2022/lib/components/buttons/group/interfaces/btn-group-config.interface.mjs +0 -2
  25. package/esm2022/lib/components/buttons/index.mjs +0 -3
  26. package/esm2022/lib/components/buttons/loading/btn-loading.component.mjs +0 -48
  27. package/esm2022/lib/components/containers/applet-container/applet-container.component.mjs +0 -54
  28. package/esm2022/lib/components/containers/colum-header-container/column-header-container.component.mjs +0 -23
  29. package/esm2022/lib/components/containers/column-container/column-container.component.mjs +0 -79
  30. package/esm2022/lib/components/containers/column-container/directives/lazy-route.directive.mjs +0 -23
  31. package/esm2022/lib/components/containers/index.mjs +0 -6
  32. package/esm2022/lib/components/containers/list-container/index.mjs +0 -3
  33. package/esm2022/lib/components/containers/list-container/interfaces/list-container-config.interface.mjs +0 -2
  34. package/esm2022/lib/components/containers/list-container/list-pagination-container/list-pagination-container.component.mjs +0 -58
  35. package/esm2022/lib/components/containers/list-container/list-snapshot-container/list-snapshot-container.component.mjs +0 -57
  36. package/esm2022/lib/components/containers/modal-container/modal-container.component.mjs +0 -40
  37. package/esm2022/lib/components/filter/filter.component.mjs +0 -121
  38. package/esm2022/lib/components/filter/index.mjs +0 -2
  39. package/esm2022/lib/components/filter/interfaces/filter-config.interface.mjs +0 -2
  40. package/esm2022/lib/components/filter/interfaces/filter-field.interface.mjs +0 -2
  41. package/esm2022/lib/components/filter/interfaces/filter-search-event.interface.mjs +0 -2
  42. package/esm2022/lib/components/forms/country-input/form-country-input.component.mjs +0 -122
  43. package/esm2022/lib/components/forms/currency-input/form-currency-input.component.mjs +0 -157
  44. package/esm2022/lib/components/forms/date/form-date.component.mjs +0 -109
  45. package/esm2022/lib/components/forms/image-picker/directives/drag-n-drop.directive.mjs +0 -49
  46. package/esm2022/lib/components/forms/image-picker/form-image-picker.component.mjs +0 -68
  47. package/esm2022/lib/components/forms/index.mjs +0 -11
  48. package/esm2022/lib/components/forms/input/form-input.component.mjs +0 -94
  49. package/esm2022/lib/components/forms/number/form-number.component.mjs +0 -97
  50. package/esm2022/lib/components/forms/number/pipes/locale-number.pipe.mjs +0 -38
  51. package/esm2022/lib/components/forms/password/form-password.component.mjs +0 -100
  52. package/esm2022/lib/components/forms/searchable-select/form-searchable-select.component.mjs +0 -132
  53. package/esm2022/lib/components/forms/select/form-select.component.mjs +0 -116
  54. package/esm2022/lib/components/forms/textarea/form-textarea.component.mjs +0 -88
  55. package/esm2022/lib/components/grids/grid-pagination/grid-pagination.component.mjs +0 -106
  56. package/esm2022/lib/components/grids/grid-snapshot/grid-snapshot.component.mjs +0 -104
  57. package/esm2022/lib/components/grids/index.mjs +0 -4
  58. package/esm2022/lib/components/grids/interfaces/grid-config.interface.mjs +0 -2
  59. package/esm2022/lib/components/grids/services/grid.service.mjs +0 -25
  60. package/esm2022/lib/components/index.mjs +0 -9
  61. package/esm2022/lib/components/infinite-scroll/directive/infinite-scroll.directive.mjs +0 -43
  62. package/esm2022/lib/components/infinite-scroll/index.mjs +0 -3
  63. package/esm2022/lib/components/infinite-scroll/infinite-scroll.component.mjs +0 -36
  64. package/esm2022/lib/components/tabs/index.mjs +0 -4
  65. package/esm2022/lib/components/tabs/tab-content/tab-content.component.mjs +0 -39
  66. package/esm2022/lib/components/tabs/tab-group/tab-group.component.mjs +0 -47
  67. package/esm2022/lib/components/tabs/tabs.component.module.mjs +0 -29
  68. package/esm2022/lib/guards/auth/auth.guard.mjs +0 -10
  69. package/esm2022/lib/guards/index.mjs +0 -2
  70. package/esm2022/lib/interceptors/header/header.interceptor.mjs +0 -20
  71. package/esm2022/lib/interceptors/index.mjs +0 -3
  72. package/esm2022/lib/interceptors/refresh-token/refresh-token.interceptor.mjs +0 -42
  73. package/esm2022/lib/interfaces/index.mjs +0 -2
  74. package/esm2022/lib/interfaces/user/user.interface.mjs +0 -2
  75. package/esm2022/lib/modules/index.mjs +0 -3
  76. package/esm2022/lib/modules/micro-frontend/index.mjs +0 -2
  77. package/esm2022/lib/modules/micro-frontend/utils/mf-bootstrap.util.mjs +0 -55
  78. package/esm2022/lib/modules/micro-frontend/utils/mf-global-state.util.mjs +0 -14
  79. package/esm2022/lib/modules/permission/directive/permission.directive.mjs +0 -41
  80. package/esm2022/lib/modules/permission/guards/permission.guard.mjs +0 -26
  81. package/esm2022/lib/modules/permission/index.mjs +0 -7
  82. package/esm2022/lib/modules/permission/pages/401/unauthorized.page.mjs +0 -15
  83. package/esm2022/lib/modules/permission/pages/loading/loading.page.mjs +0 -52
  84. package/esm2022/lib/modules/permission/permission.module.mjs +0 -20
  85. package/esm2022/lib/modules/permission/services/permission.service.mjs +0 -47
  86. package/esm2022/lib/resolvers/auth/auth.resolver.mjs +0 -87
  87. package/esm2022/lib/resolvers/index.mjs +0 -2
  88. package/esm2022/lib/services/auth/auth.service.mjs +0 -145
  89. package/esm2022/lib/services/country/country.service.mjs +0 -43
  90. package/esm2022/lib/services/currency/currency.service.mjs +0 -40
  91. package/esm2022/lib/services/index.mjs +0 -5
  92. package/esm2022/lib/services/profile/profile.service.mjs +0 -71
  93. package/esm2022/lib/utils/contrast-color-generator/contrast-color-generator.util.mjs +0 -16
  94. package/esm2022/lib/utils/form-error-message/form-error-message.util.mjs +0 -21
  95. package/esm2022/lib/utils/format-capitalize/format-capitalize.util.mjs +0 -18
  96. package/esm2022/lib/utils/index.mjs +0 -4
  97. package/esm2022/public-api.mjs +0 -10
  98. package/esm2022/unipin-angular-applet.mjs +0 -2
  99. package/lib/components/tabs/tabs.component.module.d.ts +0 -9
@@ -1,47 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, Output } from '@angular/core';
2
- import { TabContentComponent } from '../tab-content/tab-content.component';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/router";
5
- import * as i2 from "@ionic/angular";
6
- export class TabGroupComponent {
7
- constructor(router, activeRoute) {
8
- this.router = router;
9
- this.activeRoute = activeRoute;
10
- this.onChange = new EventEmitter();
11
- }
12
- ngAfterContentInit() {
13
- this.changeTab(this.activeRoute.snapshot.fragment);
14
- }
15
- changeTab(f) {
16
- this.onChange.emit(f);
17
- this.router.navigate([], { relativeTo: this.activeRoute, fragment: f || undefined, replaceUrl: true });
18
- let found = false;
19
- this.content.forEach((tab) => {
20
- if (tab.fragment !== f)
21
- tab.toggleVisibility(false);
22
- else {
23
- found = true;
24
- this.activeFragment = f;
25
- tab.toggleVisibility(true);
26
- }
27
- });
28
- if (!found) {
29
- this.content.get(0).toggleVisibility(true);
30
- this.activeFragment = this.content.get(0).fragment;
31
- }
32
- }
33
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: TabGroupComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
34
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.4", type: TabGroupComponent, selector: "up-tab-group", outputs: { onChange: "onChange" }, host: { classAttribute: "d-flex flex-column" }, queries: [{ propertyName: "content", predicate: TabContentComponent }], ngImport: i0, template: "<ion-segment [scrollable]=\"true\" [value]=\"activeFragment\" class=\"d-flex pb-4 flex-shrink-0\">\n @for (c of content; track c.fragment) {\n <ion-segment-button class=\"rounded\" [value]=\"c.fragment\" (click)=\"changeTab(c.fragment)\">\n @if (c.customHeader) {\n <div \n class=\"{{ c.customHeader.nativeElement.className }}\"\n [innerHTML]=\"c.customHeader.nativeElement.innerHTML\"\n >\n </div>\n }\n @else {\n {{ c.header }}\n }\n </ion-segment-button>\n }\n</ion-segment>\n\n<ng-content />\n", styles: ["ion-segment::-webkit-scrollbar{height:0}ion-segment-button{--color: #9E9E9E;--color-checked: #424242;--indicator-color: #ED6B26;border:none;height:34px;font-weight:400;min-width:100px;min-height:34px;width:fit-content;text-transform:none;letter-spacing:normal}ion-segment-button.segment-button-checked{font-weight:500}ion-segment-button::part(native){border-radius:4px}ion-segment-button::part(indicator-background){margin:auto;max-width:25%;border-radius:8px}\n"], dependencies: [{ kind: "component", type: i2.IonSegment, selector: "ion-segment", inputs: ["color", "disabled", "mode", "scrollable", "selectOnFocus", "swipeGesture", "value"] }, { kind: "component", type: i2.IonSegmentButton, selector: "ion-segment-button", inputs: ["disabled", "layout", "mode", "type", "value"] }, { kind: "directive", type: i2.SelectValueAccessor, selector: "ion-select, ion-radio-group, ion-segment, ion-datetime" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
35
- }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: TabGroupComponent, decorators: [{
37
- type: Component,
38
- args: [{ selector: 'up-tab-group', changeDetection: ChangeDetectionStrategy.OnPush, host: {
39
- class: 'd-flex flex-column'
40
- }, template: "<ion-segment [scrollable]=\"true\" [value]=\"activeFragment\" class=\"d-flex pb-4 flex-shrink-0\">\n @for (c of content; track c.fragment) {\n <ion-segment-button class=\"rounded\" [value]=\"c.fragment\" (click)=\"changeTab(c.fragment)\">\n @if (c.customHeader) {\n <div \n class=\"{{ c.customHeader.nativeElement.className }}\"\n [innerHTML]=\"c.customHeader.nativeElement.innerHTML\"\n >\n </div>\n }\n @else {\n {{ c.header }}\n }\n </ion-segment-button>\n }\n</ion-segment>\n\n<ng-content />\n", styles: ["ion-segment::-webkit-scrollbar{height:0}ion-segment-button{--color: #9E9E9E;--color-checked: #424242;--indicator-color: #ED6B26;border:none;height:34px;font-weight:400;min-width:100px;min-height:34px;width:fit-content;text-transform:none;letter-spacing:normal}ion-segment-button.segment-button-checked{font-weight:500}ion-segment-button::part(native){border-radius:4px}ion-segment-button::part(indicator-background){margin:auto;max-width:25%;border-radius:8px}\n"] }]
41
- }], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }], propDecorators: { onChange: [{
42
- type: Output
43
- }], content: [{
44
- type: ContentChildren,
45
- args: [TabContentComponent]
46
- }] } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VuaXBpbi1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy90YWJzL3RhYi1ncm91cC90YWItZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5pcGluLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3RhYnMvdGFiLWdyb3VwL3RhYi1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUV2SSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7OztBQVczRSxNQUFNLE9BQU8saUJBQWlCO0lBc0I1QixZQUNxQixNQUFjLEVBQ2QsV0FBMkI7UUFEM0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQWhCdEIsYUFBUSxHQUFnQyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBaUJqRixDQUFDO0lBRUUsa0JBQWtCO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQVFNLFNBQVMsQ0FBQyxDQUFnQjtRQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsQ0FBQyxJQUFJLFNBQVMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUV2RyxJQUFJLEtBQUssR0FBWSxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUMzQixJQUFJLEdBQUcsQ0FBQyxRQUFRLEtBQUssQ0FBQztnQkFBRSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQy9DLENBQUM7Z0JBQ0osS0FBSyxHQUFHLElBQUksQ0FBQztnQkFDYixJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQztnQkFDeEIsR0FBRyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBRSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzVDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFFLENBQUMsUUFBUSxDQUFDO1FBQ3RELENBQUM7SUFDSCxDQUFDOzhHQXZEVSxpQkFBaUI7a0dBQWpCLGlCQUFpQiwrSkFjWCxtQkFBbUIsNkJDM0J0QyxxcEJBa0JBOzsyRkRMYSxpQkFBaUI7a0JBVDdCLFNBQVM7K0JBQ0UsY0FBYyxtQkFHUCx1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNKLEtBQUssRUFBRSxvQkFBb0I7cUJBQzVCO3dHQVV5QixRQUFRO3NCQUFqQyxNQUFNO2dCQU1zQyxPQUFPO3NCQUFuRCxlQUFlO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBUYWJDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vdGFiLWNvbnRlbnQvdGFiLWNvbnRlbnQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndXAtdGFiLWdyb3VwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYi1ncm91cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYi1ncm91cC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZC1mbGV4IGZsZXgtY29sdW1uJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIFRhYkdyb3VwQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG5cbiAgLyoqXG4gICAqIEFuIG91dHB1dCB2YXJpYWJsZSB0aGF0IHVzZWQgdG8gZW1pdHMgZXZlbnQgb2YgdHlwZSBzdHJpbmcgb3IgbnVsbCB3aGVuIHZhbHVlIGNoYW5nZWQuIFRoaXNcbiAgICogb3V0cHV0IHZhcmlhYmxlLCB3aGVuIHN1YnNjcmliZWQgdG8sIGVtaXRzIGV2ZW50cyBjb250YWluaW5nIGluc3RhbmNlcyBvZiBzdHJpbmcgb3IgbnVsbFxuICAgKiBvciBpdHMgc3ViY2xhc3MuXG4gICAqIEB0eXBlIHtFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVsbD59XG4gICAqL1xuICBAT3V0cHV0KCkgcHVibGljIHJlYWRvbmx5IG9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVsbD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIEEgbGlzdCBvZiB0YWIgY29udGVudCBjb21wb25lbnRzXG4gICAqIEB0eXBlIHtRdWVyeUxpc3Q8VGFiQ29udGVudENvbXBvbmVudD59XG4gICAqL1xuICBAQ29udGVudENoaWxkcmVuKFRhYkNvbnRlbnRDb21wb25lbnQpIHB1YmxpYyBjb250ZW50ITogUXVlcnlMaXN0PFRhYkNvbnRlbnRDb21wb25lbnQ+O1xuXG4gIC8qKlxuICAgKiBBIGZsYWcgdmFyaWFibGUgdGhhdCB1c2VkIHRvIHNldCB2YWx1ZSBvZiBpb24tc2VnbWVudCBmb3IgcmVwcmVzZW50cyB0aGUgY3VycmVudCBzZWxlY3RlZCB0YWIuXG4gICAqIEB0eXBlIHtzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkfVxuICAgKi9cbiAgcHVibGljIGFjdGl2ZUZyYWdtZW50OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWN0aXZlUm91dGU6IEFjdGl2YXRlZFJvdXRlXG4gICkgeyB9XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lke1xuICAgIHRoaXMuY2hhbmdlVGFiKHRoaXMuYWN0aXZlUm91dGUuc25hcHNob3QuZnJhZ21lbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgbWV0aG9kIHdoZW4gdGhlIHRhYiBpcyBjaGFuZ2VkLCBpdCB3aWxsIGVtaXQgb25DaGFuZ2UgdmFyaWFibGUsIGNoYW5nZSByb3V0ZVxuICAgKiBiYXNlZCBvbiBmcmFnbWVudCB2YWx1ZSBpbiBwYXJhbSwgYW5kIHNlYXJjaCBpZiB0YWJzIGhhdmUgdGhlIGZyYWdtZW50IHZhbHVlLlxuICAgKiBJZiBpdCdzIGZvdW5kLCBpdCdsbCBzaG93IHRoZSB0YWIncyBjb250ZW50LiBJZiBpdCdzIG5vdCwgaXQnbGwgc2hvdyBlbXB0eSBjb250ZW50LlxuICAgKiBAcGFyYW0ge3N0cmluZyB8IG51bGx9IGYgLSBDb250YWluIHZhbHVlIG9mIHRoZSBmcmFnbWVudCB0aGF0IGN1cnJlbnRseSBzZWxlY3RlZC5cbiAgICovXG4gIHB1YmxpYyBjaGFuZ2VUYWIoZjogc3RyaW5nIHwgbnVsbCk6IHZvaWR7XG4gICAgdGhpcy5vbkNoYW5nZS5lbWl0KGYpO1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtdLCB7IHJlbGF0aXZlVG86IHRoaXMuYWN0aXZlUm91dGUsIGZyYWdtZW50OiBmIHx8IHVuZGVmaW5lZCwgcmVwbGFjZVVybDogdHJ1ZSB9KTtcblxuICAgIGxldCBmb3VuZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHRoaXMuY29udGVudC5mb3JFYWNoKCh0YWIpID0+IHtcbiAgICAgIGlmICh0YWIuZnJhZ21lbnQgIT09IGYpIHRhYi50b2dnbGVWaXNpYmlsaXR5KGZhbHNlKTtcbiAgICAgIGVsc2Uge1xuICAgICAgICBmb3VuZCA9IHRydWU7XG4gICAgICAgIHRoaXMuYWN0aXZlRnJhZ21lbnQgPSBmO1xuICAgICAgICB0YWIudG9nZ2xlVmlzaWJpbGl0eSh0cnVlKTtcbiAgICAgIH0gICAgICBcbiAgICB9KTtcblxuICAgIGlmICghZm91bmQpIHtcbiAgICAgIHRoaXMuY29udGVudC5nZXQoMCkhLnRvZ2dsZVZpc2liaWxpdHkodHJ1ZSk7XG4gICAgICB0aGlzLmFjdGl2ZUZyYWdtZW50ID0gdGhpcy5jb250ZW50LmdldCgwKSEuZnJhZ21lbnQ7XG4gICAgfVxuICB9XG59XG4iLCI8aW9uLXNlZ21lbnQgW3Njcm9sbGFibGVdPVwidHJ1ZVwiIFt2YWx1ZV09XCJhY3RpdmVGcmFnbWVudFwiIGNsYXNzPVwiZC1mbGV4IHBiLTQgZmxleC1zaHJpbmstMFwiPlxuICAgIEBmb3IgKGMgb2YgY29udGVudDsgdHJhY2sgYy5mcmFnbWVudCkge1xuICAgICAgICA8aW9uLXNlZ21lbnQtYnV0dG9uIGNsYXNzPVwicm91bmRlZFwiIFt2YWx1ZV09XCJjLmZyYWdtZW50XCIgKGNsaWNrKT1cImNoYW5nZVRhYihjLmZyYWdtZW50KVwiPlxuICAgICAgICAgICAgQGlmIChjLmN1c3RvbUhlYWRlcikge1xuICAgICAgICAgICAgICAgIDxkaXYgXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwie3sgYy5jdXN0b21IZWFkZXIubmF0aXZlRWxlbWVudC5jbGFzc05hbWUgfX1cIlxuICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cImMuY3VzdG9tSGVhZGVyLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgICAge3sgYy5oZWFkZXIgfX1cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9pb24tc2VnbWVudC1idXR0b24+XG4gICAgfVxuPC9pb24tc2VnbWVudD5cblxuPG5nLWNvbnRlbnQgLz5cbiJdfQ==
@@ -1,29 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { TabGroupComponent } from './tab-group/tab-group.component';
3
- import { TabContentComponent } from './tab-content/tab-content.component';
4
- import { IonicModule } from '@ionic/angular';
5
- import * as i0 from "@angular/core";
6
- export class TabsComponentModule {
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: TabsComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.4", ngImport: i0, type: TabsComponentModule, declarations: [TabGroupComponent,
9
- TabContentComponent], imports: [IonicModule], exports: [TabGroupComponent,
10
- TabContentComponent] }); }
11
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: TabsComponentModule, imports: [IonicModule] }); }
12
- }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: TabsComponentModule, decorators: [{
14
- type: NgModule,
15
- args: [{
16
- imports: [
17
- IonicModule
18
- ],
19
- declarations: [
20
- TabGroupComponent,
21
- TabContentComponent
22
- ],
23
- exports: [
24
- TabGroupComponent,
25
- TabContentComponent
26
- ]
27
- }]
28
- }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5pcGluLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3RhYnMvdGFicy5jb21wb25lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQWU3QyxNQUFNLE9BQU8sbUJBQW1COzhHQUFuQixtQkFBbUI7K0dBQW5CLG1CQUFtQixpQkFSNUIsaUJBQWlCO1lBQ2pCLG1CQUFtQixhQUpuQixXQUFXLGFBT1gsaUJBQWlCO1lBQ2pCLG1CQUFtQjsrR0FHVixtQkFBbUIsWUFYNUIsV0FBVzs7MkZBV0YsbUJBQW1CO2tCQWIvQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxXQUFXO3FCQUNaO29CQUNELFlBQVksRUFBRTt3QkFDWixpQkFBaUI7d0JBQ2pCLG1CQUFtQjtxQkFDcEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGlCQUFpQjt3QkFDakIsbUJBQW1CO3FCQUNwQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUYWJHcm91cENvbXBvbmVudCB9IGZyb20gJy4vdGFiLWdyb3VwL3RhYi1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFiQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vdGFiLWNvbnRlbnQvdGFiLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IElvbmljTW9kdWxlIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgSW9uaWNNb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgVGFiR3JvdXBDb21wb25lbnQsXG4gICAgVGFiQ29udGVudENvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgVGFiR3JvdXBDb21wb25lbnQsXG4gICAgVGFiQ29udGVudENvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFRhYnNDb21wb25lbnRNb2R1bGUge31cbiJdfQ==
@@ -1,10 +0,0 @@
1
- import { inject } from '@angular/core';
2
- import { AuthResolver } from '../../resolvers';
3
- export const AuthGuard = () => {
4
- const resolver = inject(AuthResolver);
5
- if (!resolver.isUserLoggedIn()) {
6
- location.href = '/auth/login';
7
- }
8
- return true;
9
- };
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VuaXBpbi1hbmd1bGFyL3NyYy9saWIvZ3VhcmRzL2F1dGgvYXV0aC5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQWtCLEdBQVksRUFBRTtJQUNwRCxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFdEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDO1FBQy9CLFFBQVEsQ0FBQyxJQUFJLEdBQUcsYUFBYSxDQUFDO0lBQ2hDLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0aFJlc29sdmVyIH0gZnJvbSAnLi4vLi4vcmVzb2x2ZXJzJztcblxuZXhwb3J0IGNvbnN0IEF1dGhHdWFyZDogKCkgPT4gYm9vbGVhbiA9ICgpOiBib29sZWFuID0+IHtcbiAgY29uc3QgcmVzb2x2ZXIgPSBpbmplY3QoQXV0aFJlc29sdmVyKTtcbiAgXG4gIGlmICghcmVzb2x2ZXIuaXNVc2VyTG9nZ2VkSW4oKSkge1xuICAgIGxvY2F0aW9uLmhyZWYgPSAnL2F1dGgvbG9naW4nO1xuICB9XG4gIHJldHVybiB0cnVlO1xufTtcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export { AuthGuard } from './auth/auth.guard';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL2d1YXJkcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBBdXRoR3VhcmQgfSBmcm9tICcuL2F1dGgvYXV0aC5ndWFyZCc7XG4iXX0=
@@ -1,20 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { AuthService } from '../../services';
3
- import * as i0 from "@angular/core";
4
- export class HeaderInterceptor {
5
- intercept(request, next) {
6
- return next.handle(request.clone({
7
- headers: request.headers,
8
- setHeaders: {
9
- authorization: AuthService.authToken,
10
- project: 'unipin'
11
- }
12
- }));
13
- }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: HeaderInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
15
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: HeaderInterceptor }); }
16
- }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: HeaderInterceptor, decorators: [{
18
- type: Injectable
19
- }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5pcGluLWFuZ3VsYXIvc3JjL2xpYi9pbnRlcmNlcHRvcnMvaGVhZGVyL2hlYWRlci5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFHN0MsTUFBTSxPQUFPLGlCQUFpQjtJQUVyQixTQUFTLENBQUMsT0FBeUIsRUFBRSxJQUFpQjtRQUMzRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUMvQixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87WUFDeEIsVUFBVSxFQUFFO2dCQUNWLGFBQWEsRUFBRSxXQUFXLENBQUMsU0FBUztnQkFDcEMsT0FBTyxFQUFFLFFBQVE7YUFDbEI7U0FDRixDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7OEdBVlUsaUJBQWlCO2tIQUFqQixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwRXZlbnQsIEh0dHBIYW5kbGVyLCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBIZWFkZXJJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG5cbiAgcHVibGljIGludGVyY2VwdChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+e1xuICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0LmNsb25lKHtcbiAgICAgIGhlYWRlcnM6IHJlcXVlc3QuaGVhZGVycyxcbiAgICAgIHNldEhlYWRlcnM6IHtcbiAgICAgICAgYXV0aG9yaXphdGlvbjogQXV0aFNlcnZpY2UuYXV0aFRva2VuLFxuICAgICAgICBwcm9qZWN0OiAndW5pcGluJ1xuICAgICAgfVxuICAgIH0pKTtcbiAgfVxufVxuIl19
@@ -1,3 +0,0 @@
1
- export { HeaderInterceptor } from './header/header.interceptor';
2
- export { RefreshTokenInterceptor } from './refresh-token/refresh-token.interceptor';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL2ludGVyY2VwdG9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IEhlYWRlckludGVyY2VwdG9yIH0gZnJvbSAnLi9oZWFkZXIvaGVhZGVyLmludGVyY2VwdG9yJztcbmV4cG9ydCB7IFJlZnJlc2hUb2tlbkludGVyY2VwdG9yIH0gZnJvbSAnLi9yZWZyZXNoLXRva2VuL3JlZnJlc2gtdG9rZW4uaW50ZXJjZXB0b3InO1xuIl19
@@ -1,42 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { catchError, switchMap, throwError } from 'rxjs';
3
- import { AuthService } from '../../services';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../../services";
6
- export class RefreshTokenInterceptor {
7
- constructor(authService) {
8
- this.authService = authService;
9
- }
10
- intercept(request, next) {
11
- return next.handle(request).pipe(catchError(({ error: { errors } }) => {
12
- if (errors[0].extensions.code === 'USER_INVALID_TOKEN') {
13
- return this.authService.refreshToken({ refreshToken: AuthService.refreshToken }).pipe(switchMap(({ data }) => {
14
- const { accessToken, refreshToken } = data.authMsRefreshAccessToken;
15
- AuthService.authToken = accessToken;
16
- AuthService.refreshToken = refreshToken;
17
- localStorage.setItem('authToken', accessToken);
18
- localStorage.setItem('refreshToken', refreshToken);
19
- return next.handle(request.clone({
20
- setHeaders: {
21
- authorization: accessToken
22
- }
23
- }));
24
- }), catchError(() => {
25
- localStorage.clear();
26
- AuthService.authToken = '';
27
- AuthService.refreshToken = '';
28
- this.authService.user = undefined;
29
- location.href = '/auth/login';
30
- return throwError(() => errors[0]);
31
- }));
32
- }
33
- return throwError(() => errors[0]);
34
- }));
35
- }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RefreshTokenInterceptor, deps: [{ token: i1.AuthService }], target: i0.ɵɵFactoryTarget.Injectable }); }
37
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RefreshTokenInterceptor }); }
38
- }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: RefreshTokenInterceptor, decorators: [{
40
- type: Injectable
41
- }], ctorParameters: () => [{ type: i1.AuthService }] });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmcmVzaC10b2tlbi5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VuaXBpbi1hbmd1bGFyL3NyYy9saWIvaW50ZXJjZXB0b3JzL3JlZnJlc2gtdG9rZW4vcmVmcmVzaC10b2tlbi5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxVQUFVLEVBQWMsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUc3QyxNQUFNLE9BQU8sdUJBQXVCO0lBRWxDLFlBQ3FCLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBQ3pDLENBQUM7SUFFRSxTQUFTLENBQUMsT0FBeUIsRUFBRSxJQUFpQjtRQUMzRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUM5QixVQUFVLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRTtZQUNuQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLG9CQUFvQixFQUFFLENBQUM7Z0JBQ3ZELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsRUFBRSxZQUFZLEVBQUUsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUNuRixTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUU7b0JBQ3JCLE1BQU0sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEdBQUcsSUFBSyxDQUFDLHdCQUF3QixDQUFDO29CQUVyRSxXQUFXLENBQUMsU0FBUyxHQUFHLFdBQVksQ0FBQztvQkFDckMsV0FBVyxDQUFDLFlBQVksR0FBRyxZQUFhLENBQUM7b0JBRXpDLFlBQVksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLFdBQVksQ0FBQyxDQUFDO29CQUNoRCxZQUFZLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxZQUFhLENBQUMsQ0FBQztvQkFFcEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7d0JBQy9CLFVBQVUsRUFBRTs0QkFDVixhQUFhLEVBQUUsV0FBWTt5QkFDNUI7cUJBQ0YsQ0FBQyxDQUFDLENBQUM7Z0JBQ04sQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDZCxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ3JCLFdBQVcsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO29CQUMzQixXQUFXLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztvQkFDOUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDO29CQUVsQyxRQUFRLENBQUMsSUFBSSxHQUFHLGFBQWEsQ0FBQztvQkFDOUIsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JDLENBQUMsQ0FBQyxDQUNILENBQUM7WUFDSixDQUFDO1lBRUQsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7OEdBekNVLHVCQUF1QjtrSEFBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cEV2ZW50LCBIdHRwSGFuZGxlciwgSHR0cEludGVyY2VwdG9yLCBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIE9ic2VydmFibGUsIHN3aXRjaE1hcCwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSZWZyZXNoVG9rZW5JbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZVxuICApIHsgfVxuXG4gIHB1YmxpYyBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PntcbiAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IoKHsgZXJyb3I6IHsgZXJyb3JzIH0gfSkgPT4ge1xuICAgICAgICBpZiAoZXJyb3JzWzBdLmV4dGVuc2lvbnMuY29kZSA9PT0gJ1VTRVJfSU5WQUxJRF9UT0tFTicpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5hdXRoU2VydmljZS5yZWZyZXNoVG9rZW4oeyByZWZyZXNoVG9rZW46IEF1dGhTZXJ2aWNlLnJlZnJlc2hUb2tlbiB9KS5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKCh7IGRhdGEgfSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCB7IGFjY2Vzc1Rva2VuLCByZWZyZXNoVG9rZW4gfSA9IGRhdGEhLmF1dGhNc1JlZnJlc2hBY2Nlc3NUb2tlbjtcblxuICAgICAgICAgICAgICBBdXRoU2VydmljZS5hdXRoVG9rZW4gPSBhY2Nlc3NUb2tlbiE7XG4gICAgICAgICAgICAgIEF1dGhTZXJ2aWNlLnJlZnJlc2hUb2tlbiA9IHJlZnJlc2hUb2tlbiE7XG5cbiAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2F1dGhUb2tlbicsIGFjY2Vzc1Rva2VuISk7XG4gICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdyZWZyZXNoVG9rZW4nLCByZWZyZXNoVG9rZW4hKTtcblxuICAgICAgICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdC5jbG9uZSh7XG4gICAgICAgICAgICAgICAgc2V0SGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgYXV0aG9yaXphdGlvbjogYWNjZXNzVG9rZW4hXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4ge1xuICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2UuY2xlYXIoKTtcbiAgICAgICAgICAgICAgQXV0aFNlcnZpY2UuYXV0aFRva2VuID0gJyc7XG4gICAgICAgICAgICAgIEF1dGhTZXJ2aWNlLnJlZnJlc2hUb2tlbiA9ICcnO1xuICAgICAgICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLnVzZXIgPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgICAgICAgbG9jYXRpb24uaHJlZiA9ICcvYXV0aC9sb2dpbic7XG4gICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yc1swXSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcnNbMF0pO1xuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL2ludGVyZmFjZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFVzZXIgfSBmcm9tICcuL3VzZXIvdXNlci5pbnRlcmZhY2UnO1xuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL2ludGVyZmFjZXMvdXNlci91c2VyLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBVc2VyIHtcbiAgYmlydGhkYXk6IHN0cmluZztcbiAgY2F0ZWdvcnk/OiBzdHJpbmcgfCBudWxsO1xuICBlbWFpbDogc3RyaW5nO1xuICBnZW5kZXI6IHN0cmluZztcbiAgZ3VpZDogc3RyaW5nO1xuICBtb2JpbGVOdW1iZXI/OiBzdHJpbmcgfCBudWxsO1xuICBuYW1lOiBzdHJpbmc7XG4gIHBob3RvOiBzdHJpbmc7XG4gIHJvbGVzOiB7XG4gICAgZ3VpZDogc3RyaW5nO1xuICAgIGNvZGU6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgc3RhdHVzOiBzdHJpbmc7XG4gICAgaXNJbnRlcm5hbDogYm9vbGVhbjtcbiAgfVtdO1xufVxuIl19
@@ -1,3 +0,0 @@
1
- export { bootstrap } from './micro-frontend';
2
- export { PermissionDirective, PermissionGuard, PermissionModule, PermissionService, LoadingPage, UnauthorizedPage } from './permission';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL21vZHVsZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgYm9vdHN0cmFwIH0gZnJvbSAnLi9taWNyby1mcm9udGVuZCc7XG5leHBvcnQgeyBQZXJtaXNzaW9uRGlyZWN0aXZlLCBQZXJtaXNzaW9uR3VhcmQsIFBlcm1pc3Npb25Nb2R1bGUsIFBlcm1pc3Npb25TZXJ2aWNlLCBMb2FkaW5nUGFnZSwgVW5hdXRob3JpemVkUGFnZSB9IGZyb20gJy4vcGVybWlzc2lvbic7XG4iXX0=
@@ -1,2 +0,0 @@
1
- export { bootstrap } from './utils/mf-bootstrap.util';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL21vZHVsZXMvbWljcm8tZnJvbnRlbmQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgYm9vdHN0cmFwIH0gZnJvbSAnLi91dGlscy9tZi1ib290c3RyYXAudXRpbCc7XG4iXX0=
@@ -1,55 +0,0 @@
1
- import { enableProdMode, NgZone } from '@angular/core';
2
- import { Location } from '@angular/common';
3
- import { Router } from '@angular/router';
4
- import { bootstrapApplication, createApplication } from '@angular/platform-browser';
5
- import { getGlobalStateSlice, setGlobalStateSlice } from './mf-global-state.util';
6
- import { createCustomElement } from '@angular/elements';
7
- function getNgZone() {
8
- return (getGlobalStateSlice((state) => state.ngZone));
9
- }
10
- export function shareNgZone(zone) {
11
- setGlobalStateSlice({ ngZone: zone });
12
- }
13
- export function bootstrap(component, options, config) {
14
- options.production && enableProdMode();
15
- if (options.appType === 'shell') {
16
- bootstrapApplication(component, config).then((ref) => {
17
- shareShellZone(ref.injector);
18
- });
19
- return;
20
- }
21
- if (!getNgZone() && isLocalhost()) {
22
- bootstrapApplication(component, config).then((ref) => {
23
- connectMicroFrontendRouter(ref.injector);
24
- });
25
- return;
26
- }
27
- (async () => {
28
- config.providers.push({ provide: NgZone, useValue: getNgZone() });
29
- const app = await createApplication(config);
30
- customElements.define(options.elementName, createCustomElement(component, { injector: app.injector }));
31
- connectMicroFrontendRouter(app.injector);
32
- })();
33
- }
34
- function shareShellZone(injector) {
35
- const ngZone = injector.get(NgZone, null);
36
- if (!ngZone) {
37
- console.warn('No NgZone to share found');
38
- return;
39
- }
40
- shareNgZone(ngZone);
41
- }
42
- function connectMicroFrontendRouter(injector) {
43
- const router = injector.get(Router);
44
- const location = injector.get(Location);
45
- if (!router) {
46
- console.warn('No router to connect found');
47
- return;
48
- }
49
- router.navigateByUrl(location.path() + window.location.hash);
50
- }
51
- function isLocalhost() {
52
- const hostname = window.location.hostname;
53
- return hostname === 'localhost' || hostname === '127.0.0.1';
54
- }
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWYtYm9vdHN0cmFwLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL21vZHVsZXMvbWljcm8tZnJvbnRlbmQvdXRpbHMvbWYtYm9vdHN0cmFwLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixjQUFjLEVBQVksTUFBTSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFVeEQsU0FBUyxTQUFTO0lBQ2hCLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLEtBQXlCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQzVFLENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFDLElBQVk7SUFDdEMsbUJBQW1CLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FBSSxTQUFrQixFQUFFLE9BQWdCLEVBQUUsTUFBeUI7SUFDMUYsT0FBTyxDQUFDLFVBQVUsSUFBSSxjQUFjLEVBQUUsQ0FBQztJQUV2QyxJQUFJLE9BQU8sQ0FBQyxPQUFPLEtBQUssT0FBTyxFQUFFLENBQUM7UUFDaEMsb0JBQW9CLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ25ELGNBQWMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPO0lBQ1QsQ0FBQztJQUVELElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxXQUFXLEVBQUUsRUFBRSxDQUFDO1FBQ2xDLG9CQUFvQixDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNuRCwwQkFBMEIsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPO0lBQ1QsQ0FBQztJQUVELENBQUMsS0FBSyxJQUFJLEVBQUU7UUFDVixNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVsRSxNQUFNLEdBQUcsR0FBRyxNQUFNLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVDLGNBQWMsQ0FBQyxNQUFNLENBQVUsT0FBTyxDQUFDLFdBQVcsRUFBRSxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVoSCwwQkFBMEIsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDM0MsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNQLENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FBQyxRQUFrQjtJQUN4QyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWixPQUFPLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDekMsT0FBTztJQUNULENBQUM7SUFDRCxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDdEIsQ0FBQztBQUVELFNBQVMsMEJBQTBCLENBQUMsUUFBa0I7SUFDcEQsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRXhDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNaLE9BQU8sQ0FBQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUMzQyxPQUFPO0lBQ1QsQ0FBQztJQUNELE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDL0QsQ0FBQztBQUVELFNBQVMsV0FBVztJQUNsQixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztJQUMxQyxPQUFPLFFBQVEsS0FBSyxXQUFXLElBQUksUUFBUSxLQUFLLFdBQVcsQ0FBQztBQUM5RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBwbGljYXRpb25Db25maWcsIGVuYWJsZVByb2RNb2RlLCBJbmplY3RvciwgTmdab25lLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgYm9vdHN0cmFwQXBwbGljYXRpb24sIGNyZWF0ZUFwcGxpY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBnZXRHbG9iYWxTdGF0ZVNsaWNlLCBzZXRHbG9iYWxTdGF0ZVNsaWNlIH0gZnJvbSAnLi9tZi1nbG9iYWwtc3RhdGUudXRpbCc7XG5pbXBvcnQgeyBjcmVhdGVDdXN0b21FbGVtZW50IH0gZnJvbSAnQGFuZ3VsYXIvZWxlbWVudHMnO1xuXG5leHBvcnQgdHlwZSBBcHBUeXBlID0gJ3NoZWxsJyB8ICdtaWNyb2Zyb250ZW5kJztcblxuZXhwb3J0IHR5cGUgT3B0aW9ucyA9IHtcbiAgcHJvZHVjdGlvbjogYm9vbGVhbjtcbiAgYXBwVHlwZTogQXBwVHlwZTtcbiAgZWxlbWVudE5hbWU/OiBzdHJpbmc7XG59O1xuXG5mdW5jdGlvbiBnZXROZ1pvbmUoKTogTmdab25le1xuICByZXR1cm4gKGdldEdsb2JhbFN0YXRlU2xpY2UoKHN0YXRlOiB7IG5nWm9uZTogTmdab25lIH0pID0+IHN0YXRlLm5nWm9uZSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2hhcmVOZ1pvbmUoem9uZTogTmdab25lKTogdm9pZHtcbiAgc2V0R2xvYmFsU3RhdGVTbGljZSh7IG5nWm9uZTogem9uZSB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJvb3RzdHJhcDxNPihjb21wb25lbnQ6IFR5cGU8TT4sIG9wdGlvbnM6IE9wdGlvbnMsIGNvbmZpZzogQXBwbGljYXRpb25Db25maWcpOiB2b2lke1xuICBvcHRpb25zLnByb2R1Y3Rpb24gJiYgZW5hYmxlUHJvZE1vZGUoKTtcblxuICBpZiAob3B0aW9ucy5hcHBUeXBlID09PSAnc2hlbGwnKSB7XG4gICAgYm9vdHN0cmFwQXBwbGljYXRpb24oY29tcG9uZW50LCBjb25maWcpLnRoZW4oKHJlZikgPT4ge1xuICAgICAgc2hhcmVTaGVsbFpvbmUocmVmLmluamVjdG9yKTtcbiAgICB9KTtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoIWdldE5nWm9uZSgpICYmIGlzTG9jYWxob3N0KCkpIHtcbiAgICBib290c3RyYXBBcHBsaWNhdGlvbihjb21wb25lbnQsIGNvbmZpZykudGhlbigocmVmKSA9PiB7XG4gICAgICBjb25uZWN0TWljcm9Gcm9udGVuZFJvdXRlcihyZWYuaW5qZWN0b3IpO1xuICAgIH0pO1xuICAgIHJldHVybjtcbiAgfVxuICBcbiAgKGFzeW5jICgpID0+IHtcbiAgICBjb25maWcucHJvdmlkZXJzLnB1c2goeyBwcm92aWRlOiBOZ1pvbmUsIHVzZVZhbHVlOiBnZXROZ1pvbmUoKSB9KTtcblxuICAgIGNvbnN0IGFwcCA9IGF3YWl0IGNyZWF0ZUFwcGxpY2F0aW9uKGNvbmZpZyk7XG4gICAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKDxzdHJpbmc+IG9wdGlvbnMuZWxlbWVudE5hbWUsIGNyZWF0ZUN1c3RvbUVsZW1lbnQoY29tcG9uZW50LCB7IGluamVjdG9yOiBhcHAuaW5qZWN0b3IgfSkpO1xuXG4gICAgY29ubmVjdE1pY3JvRnJvbnRlbmRSb3V0ZXIoYXBwLmluamVjdG9yKTtcbiAgfSkoKTtcbn1cblxuZnVuY3Rpb24gc2hhcmVTaGVsbFpvbmUoaW5qZWN0b3I6IEluamVjdG9yKTogdm9pZHtcbiAgY29uc3Qgbmdab25lID0gaW5qZWN0b3IuZ2V0KE5nWm9uZSwgbnVsbCk7XG4gIGlmICghbmdab25lKSB7XG4gICAgY29uc29sZS53YXJuKCdObyBOZ1pvbmUgdG8gc2hhcmUgZm91bmQnKTtcbiAgICByZXR1cm47XG4gIH1cbiAgc2hhcmVOZ1pvbmUobmdab25lKTtcbn1cblxuZnVuY3Rpb24gY29ubmVjdE1pY3JvRnJvbnRlbmRSb3V0ZXIoaW5qZWN0b3I6IEluamVjdG9yKTogdm9pZHtcbiAgY29uc3Qgcm91dGVyID0gaW5qZWN0b3IuZ2V0KFJvdXRlcik7XG4gIGNvbnN0IGxvY2F0aW9uID0gaW5qZWN0b3IuZ2V0KExvY2F0aW9uKTtcblxuICBpZiAoIXJvdXRlcikge1xuICAgIGNvbnNvbGUud2FybignTm8gcm91dGVyIHRvIGNvbm5lY3QgZm91bmQnKTtcbiAgICByZXR1cm47XG4gIH1cbiAgcm91dGVyLm5hdmlnYXRlQnlVcmwobG9jYXRpb24ucGF0aCgpICsgd2luZG93LmxvY2F0aW9uLmhhc2gpO1xufVxuXG5mdW5jdGlvbiBpc0xvY2FsaG9zdCgpOiBib29sZWFue1xuICBjb25zdCBob3N0bmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZTtcbiAgcmV0dXJuIGhvc3RuYW1lID09PSAnbG9jYWxob3N0JyB8fCBob3N0bmFtZSA9PT0gJzEyNy4wLjAuMSc7XG59XG4iXX0=
@@ -1,14 +0,0 @@
1
- export const packageNamespace = '@angular-architects/module-federation-tools';
2
- function getGlobalState() {
3
- const globalState = window;
4
- globalState[packageNamespace] = globalState[packageNamespace] || {};
5
- return globalState[packageNamespace];
6
- }
7
- export function getGlobalStateSlice(selector) {
8
- const globalState = getGlobalState();
9
- return selector ? selector(globalState) : globalState;
10
- }
11
- export function setGlobalStateSlice(slice) {
12
- return Object.assign(getGlobalState(), slice);
13
- }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWYtZ2xvYmFsLXN0YXRlLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL21vZHVsZXMvbWljcm8tZnJvbnRlbmQvdXRpbHMvbWYtZ2xvYmFsLXN0YXRlLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsNkNBQTZDLENBQUM7QUFFOUUsU0FBUyxjQUFjO0lBQ3JCLE1BQU0sV0FBVyxHQUFHLE1BQThDLENBQUM7SUFDbkUsV0FBVyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsV0FBVyxDQUFDLGdCQUFnQixDQUFDLElBQUssRUFBbUIsQ0FBQztJQUV0RixPQUFPLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0FBQ3ZDLENBQUM7QUFLRCxNQUFNLFVBQVUsbUJBQW1CLENBQU8sUUFBZ0M7SUFDeEUsTUFBTSxXQUFXLEdBQUcsY0FBYyxFQUFLLENBQUM7SUFDeEMsT0FBTyxRQUFRLENBQUEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO0FBQ3ZELENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQW1CLEtBQVE7SUFDNUQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ25ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgcGFja2FnZU5hbWVzcGFjZSA9ICdAYW5ndWxhci1hcmNoaXRlY3RzL21vZHVsZS1mZWRlcmF0aW9uLXRvb2xzJztcblxuZnVuY3Rpb24gZ2V0R2xvYmFsU3RhdGU8VD4oKTogVCB7XG4gIGNvbnN0IGdsb2JhbFN0YXRlID0gd2luZG93IGFzIHVua25vd24gYXMgeyBbcGFja2FnZU5hbWVzcGFjZV06IFQgfTtcbiAgZ2xvYmFsU3RhdGVbcGFja2FnZU5hbWVzcGFjZV0gPSBnbG9iYWxTdGF0ZVtwYWNrYWdlTmFtZXNwYWNlXSB8fCAoe30gYXMgdW5rbm93biBhcyBUKTtcbiAgXG4gIHJldHVybiBnbG9iYWxTdGF0ZVtwYWNrYWdlTmFtZXNwYWNlXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEdsb2JhbFN0YXRlU2xpY2U8VD4oKTogVDtcbmV4cG9ydCBmdW5jdGlvbiBnZXRHbG9iYWxTdGF0ZVNsaWNlPFQsIFI+KHNlbGVjdG9yOiAoZ2xvYmFsU3RhdGU6IFQpID0+IFIpOiBSO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0R2xvYmFsU3RhdGVTbGljZTxULCBSPihzZWxlY3Rvcj86IChnbG9iYWxTdGF0ZTogVCkgPT4gUik6IFIgfCBUIHtcbiAgY29uc3QgZ2xvYmFsU3RhdGUgPSBnZXRHbG9iYWxTdGF0ZTxUPigpO1xuICByZXR1cm4gc2VsZWN0b3I/IHNlbGVjdG9yKGdsb2JhbFN0YXRlKSA6IGdsb2JhbFN0YXRlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0R2xvYmFsU3RhdGVTbGljZTxUIGV4dGVuZHMgb2JqZWN0PihzbGljZTogVCk6IFQge1xuICByZXR1cm4gT2JqZWN0LmFzc2lnbihnZXRHbG9iYWxTdGF0ZTxUPigpLCBzbGljZSk7XG59XG4iXX0=
@@ -1,41 +0,0 @@
1
- import { Directive, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../services/permission.service";
4
- export class PermissionDirective {
5
- set hasPermission(m) {
6
- this.module = m;
7
- }
8
- set hasPermissionScope(s) {
9
- this.scope = s;
10
- }
11
- set hasPermissionType(t) {
12
- ;
13
- if (this.permissionService.checkPermission(this.scope, this.module, t)) {
14
- this.viewContainer.createEmbeddedView(this.templateRef);
15
- return;
16
- }
17
- this.viewContainer.clear();
18
- }
19
- constructor(templateRef, viewContainer, permissionService) {
20
- this.templateRef = templateRef;
21
- this.viewContainer = viewContainer;
22
- this.permissionService = permissionService;
23
- this.scope = 'GLOBAL';
24
- }
25
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: PermissionDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i1.PermissionService }], target: i0.ɵɵFactoryTarget.Directive }); }
26
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: PermissionDirective, isStandalone: true, selector: "[hasPermission]", inputs: { hasPermission: "hasPermission", hasPermissionScope: "hasPermissionScope", hasPermissionType: "hasPermissionType" }, ngImport: i0 }); }
27
- }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: PermissionDirective, decorators: [{
29
- type: Directive,
30
- args: [{
31
- standalone: true,
32
- selector: '[hasPermission]'
33
- }]
34
- }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i1.PermissionService }], propDecorators: { hasPermission: [{
35
- type: Input
36
- }], hasPermissionScope: [{
37
- type: Input
38
- }], hasPermissionType: [{
39
- type: Input
40
- }] } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL21vZHVsZXMvcGVybWlzc2lvbi9kaXJlY3RpdmUvcGVybWlzc2lvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWlDLE1BQU0sZUFBZSxDQUFDOzs7QUFnQmhGLE1BQU0sT0FBTyxtQkFBbUI7SUFxQjlCLElBQWEsYUFBYSxDQUFDLENBQVM7UUFDbEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQU1ELElBQWEsa0JBQWtCLENBQUMsQ0FBUztRQUN2QyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBTUQsSUFBYSxpQkFBaUIsQ0FBQyxDQUFTO1FBQUcsQ0FBQztRQUMxQyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDdkUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDeEQsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxZQUNxQixXQUE2QixFQUM3QixhQUErQixFQUMvQixpQkFBb0M7UUFGcEMsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQzdCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUMvQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBbkMvQyxVQUFLLEdBQVcsUUFBUSxDQUFDO0lBb0MvQixDQUFDOzhHQWxETSxtQkFBbUI7a0dBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFKL0IsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGlCQUFpQjtpQkFDNUI7K0lBc0JjLGFBQWE7c0JBQXpCLEtBQUs7Z0JBUU8sa0JBQWtCO3NCQUE5QixLQUFLO2dCQVFPLGlCQUFpQjtzQkFBN0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3Blcm1pc3Npb24uc2VydmljZSc7XG5cbi8qKlxuICogVGhlIGBQZXJtaXNzaW9uRGlyZWN0aXZlYCBpcyBhIGRpcmVjdGl2ZSB0aGF0IGNvbmRpdGlvbmFsbHkgcmVuZGVycyBjb250ZW50IGJhc2VkIG9uIHVzZXIgcGVybWlzc2lvbnMuXG4gKiBgU2NvcGVgIHBhcmFtIGlzIGRlZmF1bHQgdG8gYEdMT0JBTGBcbiAqIEBzZWxlY3RvciAnW2hhc1Blcm1pc3Npb25dJ1xuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDxkaXYgKmhhc1Blcm1pc3Npb249XCInUE9TVF9BVURJVCc7IHR5cGU6ICdSRUFEJzsgc2NvcGU6ICdNRVJDSEFOVCdcIj48L2Rpdj5cbiAqIGBgYFxuICovXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdbaGFzUGVybWlzc2lvbl0nXG59KVxuZXhwb3J0IGNsYXNzIFBlcm1pc3Npb25EaXJlY3RpdmUge1xuICBcbiAgLyoqXG4gICAqIFRoZSBtb2R1bGUgbmFtZSBmb3Igd2hpY2ggcGVybWlzc2lvbnMgYXJlIGJlaW5nIGNoZWNrZWQuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBkZWZhdWx0IHtudWxsfVxuICAgKi9cbiAgcHJvdGVjdGVkIG1vZHVsZSE6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBlcm1pc3Npb24gc2NvcGUuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBkZWZhdWx0IHsnR0xPQkFMJ31cbiAgICovXG4gIHByb3RlY3RlZCBzY29wZTogc3RyaW5nID0gJ0dMT0JBTCc7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIG1vZHVsZSBuYW1lIGZvciB3aGljaCBwZXJtaXNzaW9ucyBhcmUgYmVpbmcgY2hlY2tlZC5cbiAgICogQGV4YW1wbGUgJ1BPU1RfQVVESVQnLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbSAtIFRoZSBtb2R1bGUgbmFtZS5cbiAgICovXG4gIEBJbnB1dCgpIHNldCBoYXNQZXJtaXNzaW9uKG06IHN0cmluZykge1xuICAgIHRoaXMubW9kdWxlID0gbTsgXG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgcGVybWlzc2lvbiBzY29wZS4gRGVmYXVsdCBpcyAnR0xPQkFMJy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHMgLSBUaGUgcGVybWlzc2lvbiBzY29wZS5cbiAgICovXG4gIEBJbnB1dCgpIHNldCBoYXNQZXJtaXNzaW9uU2NvcGUoczogc3RyaW5nKSB7IFxuICAgIHRoaXMuc2NvcGUgPSBzOyBcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBwZXJtaXNzaW9uIHR5cGUgYW5kIGNvbmRpdGlvbmFsbHkgcmVuZGVycyBjb250ZW50IGJhc2VkIG9uIHVzZXIgcGVybWlzc2lvbnMuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0IC0gVGhlIHBlcm1pc3Npb24gdHlwZSwgZS5nLiwgJ1JFQUQnLCAnV1JJVEUnLlxuICAgKi9cbiAgQElucHV0KCkgc2V0IGhhc1Blcm1pc3Npb25UeXBlKHQ6IHN0cmluZykgeztcbiAgICBpZiAodGhpcy5wZXJtaXNzaW9uU2VydmljZS5jaGVja1Blcm1pc3Npb24odGhpcy5zY29wZSwgdGhpcy5tb2R1bGUsIHQpKSB7XG4gICAgICB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMudmlld0NvbnRhaW5lci5jbGVhcigpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgIHByb3RlY3RlZCByZWFkb25seSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHByb3RlY3RlZCByZWFkb25seSBwZXJtaXNzaW9uU2VydmljZTogUGVybWlzc2lvblNlcnZpY2VcbiAgKSB7IH1cbn1cbiJdfQ==
@@ -1,26 +0,0 @@
1
- import { inject } from '@angular/core';
2
- import { Location } from '@angular/common';
3
- import { Router } from '@angular/router';
4
- import { PermissionService } from '../services/permission.service';
5
- export const PermissionGuard = (route) => {
6
- const router = inject(Router);
7
- const location = inject(Location);
8
- const permissionService = inject(PermissionService);
9
- const permissions = route.data['requiredPermissions'];
10
- if (!permissions || permissions.length === 0)
11
- throw new Error('Invalid config: requiredPermissions is a required parameter in route data for PermissionGuard');
12
- if (!permissionService.isInitiated) {
13
- router.navigate(['loading'], { queryParams: { url: `${location.path() + window.location.hash}` } });
14
- return false;
15
- }
16
- if (permissions) {
17
- for (let i = 0; i < permissions.length; i++) {
18
- const { scope, module, type } = permissions[i];
19
- if (permissionService.checkPermission(scope, module, type))
20
- return true;
21
- }
22
- }
23
- router.navigate(['401']);
24
- return false;
25
- };
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VuaXBpbi1hbmd1bGFyL3NyYy9saWIvbW9kdWxlcy9wZXJtaXNzaW9uL2d1YXJkcy9wZXJtaXNzaW9uLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBeUMsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFbkUsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFrQixDQUFDLEtBQTZCLEVBQVcsRUFBRTtJQUV2RixNQUFNLE1BQU0sR0FBVyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEMsTUFBTSxRQUFRLEdBQWEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzVDLE1BQU0saUJBQWlCLEdBQXNCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRXZFLE1BQU0sV0FBVyxHQUFzRCxLQUFLLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFFekcsSUFBSSxDQUFDLFdBQVcsSUFBSSxXQUFXLENBQUMsTUFBTSxLQUFLLENBQUM7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLCtGQUErRixDQUFDLENBQUM7SUFFL0osSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25DLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBRSxTQUFTLENBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFJLFFBQVEsQ0FBQyxJQUFJLEVBQUUsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3hHLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQUksV0FBVyxFQUFFLENBQUM7UUFDaEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUM1QyxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0MsSUFBSSxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUM7Z0JBQUUsT0FBTyxJQUFJLENBQUM7UUFDMUUsQ0FBQztJQUNILENBQUM7SUFFRCxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUUsS0FBSyxDQUFFLENBQUMsQ0FBQztJQUMzQixPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuQWN0aXZhdGVGbiwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFBlcm1pc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvcGVybWlzc2lvbi5zZXJ2aWNlJztcblxuZXhwb3J0IGNvbnN0IFBlcm1pc3Npb25HdWFyZDogQ2FuQWN0aXZhdGVGbiA9IChyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IGJvb2xlYW4gPT4ge1xuICBcbiAgY29uc3Qgcm91dGVyOiBSb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgY29uc3QgbG9jYXRpb246IExvY2F0aW9uID0gaW5qZWN0KExvY2F0aW9uKTtcbiAgY29uc3QgcGVybWlzc2lvblNlcnZpY2U6IFBlcm1pc3Npb25TZXJ2aWNlID0gaW5qZWN0KFBlcm1pc3Npb25TZXJ2aWNlKTtcblxuICBjb25zdCBwZXJtaXNzaW9uczogeyBzY29wZTogc3RyaW5nLCBtb2R1bGU6IHN0cmluZywgdHlwZTogc3RyaW5nIH1bXSA9IHJvdXRlLmRhdGFbJ3JlcXVpcmVkUGVybWlzc2lvbnMnXTtcbiAgXG4gIGlmICghcGVybWlzc2lvbnMgfHwgcGVybWlzc2lvbnMubGVuZ3RoID09PSAwKSB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgY29uZmlnOiByZXF1aXJlZFBlcm1pc3Npb25zIGlzIGEgcmVxdWlyZWQgcGFyYW1ldGVyIGluIHJvdXRlIGRhdGEgZm9yIFBlcm1pc3Npb25HdWFyZCcpO1xuXG4gIGlmICghcGVybWlzc2lvblNlcnZpY2UuaXNJbml0aWF0ZWQpIHtcbiAgICByb3V0ZXIubmF2aWdhdGUoWyAnbG9hZGluZycgXSwgeyBxdWVyeVBhcmFtczogeyB1cmw6IGAkeyBsb2NhdGlvbi5wYXRoKCkgKyB3aW5kb3cubG9jYXRpb24uaGFzaCB9YCB9IH0pO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChwZXJtaXNzaW9ucykge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGVybWlzc2lvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IHsgc2NvcGUsIG1vZHVsZSwgdHlwZSB9ID0gcGVybWlzc2lvbnNbaV07XG4gICAgICBpZiAocGVybWlzc2lvblNlcnZpY2UuY2hlY2tQZXJtaXNzaW9uKHNjb3BlLCBtb2R1bGUsIHR5cGUpKSByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByb3V0ZXIubmF2aWdhdGUoWyAnNDAxJyBdKTtcbiAgcmV0dXJuIGZhbHNlO1xufTtcbiJdfQ==
@@ -1,7 +0,0 @@
1
- export { LoadingPage } from './pages/loading/loading.page';
2
- export { PermissionDirective } from './directive/permission.directive';
3
- export { PermissionGuard } from './guards/permission.guard';
4
- export { PermissionModule } from './permission.module';
5
- export { PermissionService } from './services/permission.service';
6
- export { UnauthorizedPage } from './pages/401/unauthorized.page';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL21vZHVsZXMvcGVybWlzc2lvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgTG9hZGluZ1BhZ2UgfSBmcm9tICcuL3BhZ2VzL2xvYWRpbmcvbG9hZGluZy5wYWdlJztcbmV4cG9ydCB7IFBlcm1pc3Npb25EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZS9wZXJtaXNzaW9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBQZXJtaXNzaW9uR3VhcmQgfSBmcm9tICcuL2d1YXJkcy9wZXJtaXNzaW9uLmd1YXJkJztcbmV4cG9ydCB7IFBlcm1pc3Npb25Nb2R1bGUgfSBmcm9tICcuL3Blcm1pc3Npb24ubW9kdWxlJztcbmV4cG9ydCB7IFBlcm1pc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9wZXJtaXNzaW9uLnNlcnZpY2UnO1xuZXhwb3J0IHsgVW5hdXRob3JpemVkUGFnZSB9IGZyb20gJy4vcGFnZXMvNDAxL3VuYXV0aG9yaXplZC5wYWdlJztcbiJdfQ==
@@ -1,15 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { IonicModule } from '@ionic/angular';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@ionic/angular";
5
- export class UnauthorizedPage {
6
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: UnauthorizedPage, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: UnauthorizedPage, isStandalone: true, selector: "up-unauthorized", host: { classAttribute: "d-flex flex-column align-items-center justify-content-center h-100 w-75 mx-auto" }, ngImport: i0, template: "<ion-icon name=\"lock-closed\" class=\"mb-4\" />\n<h3 class=\"text-center\">Oops! You're not authorized to access this page.</h3>\n<p class=\"text-center\">Please log in or re-check your permissions.</p>\n", styles: ["ion-icon{font-size:5rem}\n"], dependencies: [{ kind: "ngmodule", type: IonicModule }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
8
- }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: UnauthorizedPage, decorators: [{
10
- type: Component,
11
- args: [{ standalone: true, selector: 'up-unauthorized', host: {
12
- class: 'd-flex flex-column align-items-center justify-content-center h-100 w-75 mx-auto'
13
- }, imports: [IonicModule], template: "<ion-icon name=\"lock-closed\" class=\"mb-4\" />\n<h3 class=\"text-center\">Oops! You're not authorized to access this page.</h3>\n<p class=\"text-center\">Please log in or re-check your permissions.</p>\n", styles: ["ion-icon{font-size:5rem}\n"] }]
14
- }] });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5hdXRob3JpemVkLnBhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL21vZHVsZXMvcGVybWlzc2lvbi9wYWdlcy80MDEvdW5hdXRob3JpemVkLnBhZ2UudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL21vZHVsZXMvcGVybWlzc2lvbi9wYWdlcy80MDEvdW5hdXRob3JpemVkLnBhZ2UuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBWTdDLE1BQU0sT0FBTyxnQkFBZ0I7OEdBQWhCLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLHdMQ2I3QiwrTUFHQSxtRkRRYSxXQUFXOzsyRkFFWCxnQkFBZ0I7a0JBVjVCLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLGlCQUFpQixRQUdyQjt3QkFDSixLQUFLLEVBQUUsaUZBQWlGO3FCQUN6RixXQUNRLENBQUUsV0FBVyxDQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25pY01vZHVsZSB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAndXAtdW5hdXRob3JpemVkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VuYXV0aG9yaXplZC5wYWdlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi91bmF1dGhvcml6ZWQucGFnZS5zY3NzJ10sXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2QtZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBoLTEwMCB3LTc1IG14LWF1dG8nXG4gIH0sXG4gIGltcG9ydHM6IFsgSW9uaWNNb2R1bGUgXVxufSlcbmV4cG9ydCBjbGFzcyBVbmF1dGhvcml6ZWRQYWdlIHsgfVxuIiwiPGlvbi1pY29uIG5hbWU9XCJsb2NrLWNsb3NlZFwiIGNsYXNzPVwibWItNFwiIC8+XG48aDMgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPk9vcHMhIFlvdSdyZSBub3QgYXV0aG9yaXplZCB0byBhY2Nlc3MgdGhpcyBwYWdlLjwvaDM+XG48cCBjbGFzcz1cInRleHQtY2VudGVyXCI+UGxlYXNlIGxvZyBpbiBvciByZS1jaGVjayB5b3VyIHBlcm1pc3Npb25zLjwvcD5cbiJdfQ==
@@ -1,52 +0,0 @@
1
- import { Component, Inject } from '@angular/core';
2
- import { IonicModule } from '@ionic/angular';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/router";
5
- import * as i2 from "../../services/permission.service";
6
- import * as i3 from "@ionic/angular";
7
- export class LoadingPage {
8
- constructor(config, router, route, permissionService) {
9
- this.config = config;
10
- this.router = router;
11
- this.route = route;
12
- this.permissionService = permissionService;
13
- }
14
- ngOnInit() {
15
- const subjectGuid = localStorage.getItem(this.config.subjectGuidStorageKey || 'userGuid');
16
- if (!subjectGuid) {
17
- this.router.navigate(['401']);
18
- return;
19
- }
20
- const permCodeList = [];
21
- this.sub = this.permissionService.getPermissions({ pageSize: 1000, subjectGuid, permModule: this.config.permModule, permType: this.config.permType }, this.config.fetchPolicy).subscribe({
22
- next: ({ data: { authMsPermission: { data } } }) => {
23
- data.forEach(({ permCode }) => {
24
- if (!permCode)
25
- return;
26
- permCodeList.push(permCode);
27
- });
28
- this.permissionService.isInitiated = true;
29
- this.permissionService.setPermission(permCodeList, this.config.permModule);
30
- this.router.navigateByUrl(this.route.snapshot.queryParamMap.get('url') ?? '');
31
- },
32
- error: () => this.router.navigate(['401'])
33
- });
34
- }
35
- ngOnDestroy() {
36
- this.sub?.unsubscribe();
37
- }
38
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: LoadingPage, deps: [{ token: 'LOADING_CONFIG' }, { token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.PermissionService }], target: i0.ɵɵFactoryTarget.Component }); }
39
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: LoadingPage, isStandalone: true, selector: "up-loading", host: { classAttribute: "d-flex flex-column align-items-center justify-content-center h-100 w-75 mx-auto" }, ngImport: i0, template: "<ion-spinner class=\"mb-4\" />\n<h3 class=\"text-center\">Please wait, we're preparing the applet. Drink water or coffee while waiting.</h3>\n", styles: ["ion-spinner{height:50px;width:50px}\n"], dependencies: [{ kind: "ngmodule", type: IonicModule }, { kind: "component", type: i3.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }] }); }
40
- }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: LoadingPage, decorators: [{
42
- type: Component,
43
- args: [{ standalone: true, selector: 'up-loading', host: {
44
- class: 'd-flex flex-column align-items-center justify-content-center h-100 w-75 mx-auto'
45
- }, imports: [
46
- IonicModule
47
- ], template: "<ion-spinner class=\"mb-4\" />\n<h3 class=\"text-center\">Please wait, we're preparing the applet. Drink water or coffee while waiting.</h3>\n", styles: ["ion-spinner{height:50px;width:50px}\n"] }]
48
- }], ctorParameters: () => [{ type: undefined, decorators: [{
49
- type: Inject,
50
- args: ['LOADING_CONFIG']
51
- }] }, { type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.PermissionService }] });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5wYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5pcGluLWFuZ3VsYXIvc3JjL2xpYi9tb2R1bGVzL3Blcm1pc3Npb24vcGFnZXMvbG9hZGluZy9sb2FkaW5nLnBhZ2UudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL21vZHVsZXMvcGVybWlzc2lvbi9wYWdlcy9sb2FkaW5nL2xvYWRpbmcucGFnZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUdyRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBZ0I3QyxNQUFNLE9BQU8sV0FBVztJQUl0QixZQUM0QyxNQUt6QyxFQUNrQixNQUFjLEVBQ2QsS0FBcUIsRUFDckIsaUJBQW9DO1FBUmIsV0FBTSxHQUFOLE1BQU0sQ0FLL0M7UUFDa0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7SUFDckQsQ0FBQztJQUVFLFFBQVE7UUFDYixNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLElBQUksVUFBVSxDQUFDLENBQUM7UUFDMUYsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUUsS0FBSyxDQUFFLENBQUMsQ0FBQztZQUNoQyxPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sWUFBWSxHQUFhLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDdkwsSUFBSSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFDLEVBQUMsRUFBRSxFQUFFO2dCQUMvQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFO29CQUM1QixJQUFJLENBQUMsUUFBUTt3QkFBRSxPQUFPO29CQUV0QixZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM5QixDQUFDLENBQUMsQ0FBQztnQkFFSCxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztnQkFDMUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFFM0UsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBRyxFQUFFLENBQUMsQ0FBQztZQUMvRSxDQUFDO1lBQ0QsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUUsS0FBSyxDQUFFLENBQUM7U0FDN0MsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLEdBQUcsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUMxQixDQUFDOzhHQTNDVSxXQUFXLGtCQUtaLGdCQUFnQjtrR0FMZixXQUFXLG1MQ25CeEIsZ0pBRUEsOEZEY0ksV0FBVzs7MkZBR0YsV0FBVztrQkFadkIsU0FBUztpQ0FDSSxJQUFJLFlBQ04sWUFBWSxRQUdoQjt3QkFDSixLQUFLLEVBQUUsaUZBQWlGO3FCQUN6RixXQUNRO3dCQUNQLFdBQVc7cUJBQ1o7OzBCQU9FLE1BQU07MkJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW9uaWNNb2R1bGUgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQgeyBGZXRjaFBvbGljeSB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2NvcmUnO1xuaW1wb3J0IHsgUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wZXJtaXNzaW9uLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICd1cC1sb2FkaW5nJyxcbiAgc3R5bGVVcmw6ICcuL2xvYWRpbmcucGFnZS5zY3NzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xvYWRpbmcucGFnZS5odG1sJyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZC1mbGV4IGZsZXgtY29sdW1uIGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGgtMTAwIHctNzUgbXgtYXV0bydcbiAgfSxcbiAgaW1wb3J0czogW1xuICAgIElvbmljTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTG9hZGluZ1BhZ2UgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgcHJvdGVjdGVkIHN1Yj86IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KCdMT0FESU5HX0NPTkZJRycpIHB1YmxpYyByZWFkb25seSBjb25maWc6IHtcbiAgICAgIHBlcm1Nb2R1bGU6IHN0cmluZ1tdLFxuICAgICAgcGVybVR5cGU6IHN0cmluZ1tdLFxuICAgICAgZmV0Y2hQb2xpY3k/OiBGZXRjaFBvbGljeVxuICAgICAgc3ViamVjdEd1aWRTdG9yYWdlS2V5Pzogc3RyaW5nXG4gICAgfSxcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcGVybWlzc2lvblNlcnZpY2U6IFBlcm1pc3Npb25TZXJ2aWNlXG4gICkgeyB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWR7XG4gICAgY29uc3Qgc3ViamVjdEd1aWQgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmNvbmZpZy5zdWJqZWN0R3VpZFN0b3JhZ2VLZXkgfHwgJ3VzZXJHdWlkJyk7XG4gICAgaWYgKCFzdWJqZWN0R3VpZCkge1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWyAnNDAxJyBdKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgXG4gICAgY29uc3QgcGVybUNvZGVMaXN0OiBzdHJpbmdbXSA9IFtdO1xuICAgIHRoaXMuc3ViID0gdGhpcy5wZXJtaXNzaW9uU2VydmljZS5nZXRQZXJtaXNzaW9ucyh7IHBhZ2VTaXplOiAxMDAwLCBzdWJqZWN0R3VpZCwgcGVybU1vZHVsZTogdGhpcy5jb25maWcucGVybU1vZHVsZSwgcGVybVR5cGU6IHRoaXMuY29uZmlnLnBlcm1UeXBlIH0sIHRoaXMuY29uZmlnLmZldGNoUG9saWN5KS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHsgZGF0YTogeyBhdXRoTXNQZXJtaXNzaW9uOiB7IGRhdGEgfX19KSA9PiB7XG4gICAgICAgIGRhdGEuZm9yRWFjaCgoeyBwZXJtQ29kZSB9KSA9PiB7XG4gICAgICAgICAgaWYgKCFwZXJtQ29kZSkgcmV0dXJuO1xuXG4gICAgICAgICAgcGVybUNvZGVMaXN0LnB1c2gocGVybUNvZGUpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLmlzSW5pdGlhdGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5wZXJtaXNzaW9uU2VydmljZS5zZXRQZXJtaXNzaW9uKHBlcm1Db2RlTGlzdCwgdGhpcy5jb25maWcucGVybU1vZHVsZSk7XG5cbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCd1cmwnKT8/ICcnKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKCkgPT4gdGhpcy5yb3V0ZXIubmF2aWdhdGUoWyAnNDAxJyBdKVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWR7XG4gICAgdGhpcy5zdWI/LnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiIsIjxpb24tc3Bpbm5lciBjbGFzcz1cIm1iLTRcIiAvPlxuPGgzIGNsYXNzPVwidGV4dC1jZW50ZXJcIj5QbGVhc2Ugd2FpdCwgd2UncmUgcHJlcGFyaW5nIHRoZSBhcHBsZXQuIERyaW5rIHdhdGVyIG9yIGNvZmZlZSB3aGlsZSB3YWl0aW5nLjwvaDM+XG4iXX0=
@@ -1,20 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { PermissionDirective } from './directive/permission.directive';
3
- import * as i0 from "@angular/core";
4
- export class PermissionModule {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: PermissionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.4", ngImport: i0, type: PermissionModule, imports: [PermissionDirective], exports: [PermissionDirective] }); }
7
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: PermissionModule }); }
8
- }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: PermissionModule, decorators: [{
10
- type: NgModule,
11
- args: [{
12
- imports: [
13
- PermissionDirective
14
- ],
15
- exports: [
16
- PermissionDirective
17
- ]
18
- }]
19
- }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL21vZHVsZXMvcGVybWlzc2lvbi9wZXJtaXNzaW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQVV2RSxNQUFNLE9BQU8sZ0JBQWdCOzhHQUFoQixnQkFBZ0I7K0dBQWhCLGdCQUFnQixZQU56QixtQkFBbUIsYUFHbkIsbUJBQW1COytHQUdWLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFSNUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsbUJBQW1CO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsbUJBQW1CO3FCQUNwQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmUvcGVybWlzc2lvbi5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgUGVybWlzc2lvbkRpcmVjdGl2ZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgUGVybWlzc2lvbkRpcmVjdGl2ZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFBlcm1pc3Npb25Nb2R1bGUgeyB9XG4iXX0=
@@ -1,47 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import { gql } from 'apollo-angular';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "apollo-angular";
6
- export class PermissionService {
7
- constructor(apollo) {
8
- this.apollo = apollo;
9
- this.permModules = new Subject();
10
- this.isInitiated = false;
11
- this.permissions = new Map();
12
- }
13
- setPermission(permCodes, permModules = []) {
14
- for (let i = 0; i < permCodes.length; i++)
15
- this.permissions.set(permCodes[i], true);
16
- this.permModules.next(permModules);
17
- }
18
- checkPermission(scope, module, type) {
19
- if (this.permissions.has(`${scope}.${module}.ADMIN`))
20
- return true;
21
- if (this.permissions.has(`${scope}.${module}.${type}`))
22
- return true;
23
- return false;
24
- }
25
- getPermissions(filter, fetchPolicy) {
26
- return this.apollo.query({
27
- fetchPolicy,
28
- variables: { filter },
29
- query: gql `
30
- query QueryPermission($filter: PermissionFilter!) {
31
- authMsPermission(filter: $filter) {
32
- data { permCode }
33
- }
34
- }
35
- `
36
- });
37
- }
38
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: PermissionService, deps: [{ token: i1.Apollo }], target: i0.ɵɵFactoryTarget.Injectable }); }
39
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: PermissionService, providedIn: 'root' }); }
40
- }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: PermissionService, decorators: [{
42
- type: Injectable,
43
- args: [{
44
- providedIn: 'root'
45
- }]
46
- }], ctorParameters: () => [{ type: i1.Apollo }] });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5pcGluLWFuZ3VsYXIvc3JjL2xpYi9tb2R1bGVzL3Blcm1pc3Npb24vc2VydmljZXMvcGVybWlzc2lvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxPQUFPLEVBQVUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQU03QyxNQUFNLE9BQU8saUJBQWlCO0lBbUI1QixZQUNxQixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQVhuQixnQkFBVyxHQUFzQixJQUFJLE9BQU8sRUFBWSxDQUFDO1FBT2xFLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBQzFCLGdCQUFXLEdBQXlCLElBQUksR0FBRyxFQUFFLENBQUM7SUFJcEQsQ0FBQztJQU9FLGFBQWEsQ0FBQyxTQUFtQixFQUFFLGNBQXdCLEVBQUU7UUFDbEUsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFO1lBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BGLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFTTSxlQUFlLENBQUMsS0FBYSxFQUFFLE1BQWMsRUFBRSxJQUFZO1FBQ2hFLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBSSxLQUFNLElBQUssTUFBTyxRQUFRLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQztRQUN0RSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUksS0FBTSxJQUFLLE1BQU8sSUFBSyxJQUFLLEVBQUUsQ0FBQztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRTFFLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQU9NLGNBQWMsQ0FBQyxNQUF3QixFQUFFLFdBQXlCO1FBQ3ZFLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFDdkIsV0FBVztZQUNYLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRTtZQUNyQixLQUFLLEVBQUUsR0FBRyxDQUFBOzs7Ozs7T0FNVDtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBaEVVLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07OzJGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBcG9sbG9RdWVyeVJlc3VsdCwgRmV0Y2hQb2xpY3kgfSBmcm9tICdAYXBvbGxvL2NsaWVudC9jb3JlJztcbmltcG9ydCB7IEFwb2xsbywgZ3FsIH0gZnJvbSAnYXBvbGxvLWFuZ3VsYXInO1xuaW1wb3J0IHsgQXBwUGVybURmbiwgUGVybWlzc2lvbkZpbHRlciB9IGZyb20gJy4uLy4uLy4uLy4uL2dyYXBocWwvZ2VuZXJhdGVkJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvblNlcnZpY2Uge1xuXG4gIC8qKlxuICAgKiBBIHJlYWRvbmx5IHZhcmlhYmxlIHRoYXQgdXNlZCB0byBzdG9yZSBwZXJtaXNzaW9uIG1vZHVsZXMgaW4gYW4gYXBwbGV0IHRoZW4gY2hlY2sgaWYgdGhlIHVzZXJcbiAgICogaGFzIHRoZSBwZXJtaXNzaW9uIG9yIG5vdC4gVGhpcyB2YXJpYWJsZSBjb250cm9scyBtZW51J3MgaWNvbiB2aXNpYmlsaXR5IG9uIHRoZSBzaWRlYmFyLiBUaGVcbiAgICogaWNvbiB3aWxsIGFwcGVhciBpZiB0aGUgdXNlciBoYXMgdGhlIHBlcm1pc3Npb24gdGhhdCBtZW51J3MgbmVlZGVkIGFuZCBpdCB3aWxsIGRpc2FwcGVhciBpZlxuICAgKiB0aGUgdXNlciBkb24ndCBoYXZlIHRoZSBwZXJtaXNzaW9uLlxuICAgKiBAdHlwZSB7U3ViamVjdDxzdHJpbmdbXT59XG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcGVybU1vZHVsZXM6IFN1YmplY3Q8c3RyaW5nW10+ID0gbmV3IFN1YmplY3Q8c3RyaW5nW10+KCk7XG5cbiAgLyoqXG4gICAqIEEgZmxhZyB2YXJpYWJsZSB0aGF0IHVzZWQgdG8ga25vdyBpZiB0aGUgYXBwbGV0IGFscmVhZHkgaW5pdGlhdGVkIG9yIG5vdC4gRGVmYXVsdCB2YWx1ZSBpc1xuICAgKiBmYWxzZS5cbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqL1xuICBwdWJsaWMgaXNJbml0aWF0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJvdGVjdGVkIHBlcm1pc3Npb25zOiBNYXA8c3RyaW5nLCBib29sZWFuPiA9IG5ldyBNYXAoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXBvbGxvOiBBcG9sbG9cbiAgKSB7IH1cblxuICAvKipcbiAgICogQSBtZXRob2QgdGhhdCBzZXQgdGhlIHBlcm1pc3Npb25zIGFuZCBwZXJtaXNzaW9uIG1vZHVsZXMuXG4gICAqIEBwYXJhbSB7c3RyaW5nW119IHBlcm1Db2RlcyAtIENvbnRhaW4gbGlzdCBvZiBwZXJtaXNzaW9uIGNvZGVzLlxuICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBwZXJtTW9kdWxlcyAtIENvbnRhaW4gbGlzdCBvZiBwZXJtaXNzaW9uIG1vZHVsZXMuIERlZmF1bHQgdmFsdWUgW10uXG4gICAqL1xuICBwdWJsaWMgc2V0UGVybWlzc2lvbihwZXJtQ29kZXM6IHN0cmluZ1tdLCBwZXJtTW9kdWxlczogc3RyaW5nW10gPSBbXSk6IHZvaWR7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwZXJtQ29kZXMubGVuZ3RoOyBpKyspIHRoaXMucGVybWlzc2lvbnMuc2V0KHBlcm1Db2Rlc1tpXSwgdHJ1ZSk7XG4gICAgdGhpcy5wZXJtTW9kdWxlcy5uZXh0KHBlcm1Nb2R1bGVzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIG1ldGhvZCB0aGF0IGNoZWNraW5nIGlmIHRoZSB1c2VyIGhhcyB0aGUgcGVybWlzc2lvbiBvciBub3QgYmFzZWQgb24gdGhlIHBhcmFtcyB2YWx1ZS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHNjb3BlIC0gQ29udGFpbiBzY29wZSBvZiB0aGUgdXNlcidzIHBlcm1pc3Npb24uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtb2R1bGUgLSBDb250YWluIG1vZHVsZSBvZiB0aGUgdXNlcidzIHBlcm1pc3Npb24uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0eXBlIC0gQ29udGFpbiB0eXBlIG9mIHRoZSB1c2VyJ3MgcGVybWlzc2lvbi5cbiAgICogQHJldHVybnMge2Jvb2xlYW59IENvbnRhaW4gYm9vbGVhbiB2YWx1ZSB0aGF0IHRlbGxzIHRoZSB1c2VyIGhhcyB0aGUgcGVybWlzc2lvbiBvciBub3QuXG4gICAqL1xuICBwdWJsaWMgY2hlY2tQZXJtaXNzaW9uKHNjb3BlOiBzdHJpbmcsIG1vZHVsZTogc3RyaW5nLCB0eXBlOiBzdHJpbmcpOiBib29sZWFue1xuICAgIGlmICh0aGlzLnBlcm1pc3Npb25zLmhhcyhgJHsgc2NvcGUgfS4keyBtb2R1bGUgfS5BRE1JTmApKSByZXR1cm4gdHJ1ZTtcbiAgICBpZiAodGhpcy5wZXJtaXNzaW9ucy5oYXMoYCR7IHNjb3BlIH0uJHsgbW9kdWxlIH0uJHsgdHlwZSB9YCkpIHJldHVybiB0cnVlO1xuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgbWV0aG9kIHRoYXQgZ2V0IHRoZSBxdWVyeSB2YWx1ZSB3aXRoIGF1dGhNc1Blcm1pc3Npb24gYXMgdGhlIG9iamVjdC5cbiAgICogQHBhcmFtIHtQZXJtaXNzaW9uRmlsdGVyfSBmaWx0ZXIgLSBDb250YWluIGZpbHRlciBhcyBhIGNvbmRpdGlvbnMgZm9yIHRoZSBxdWVyeS5cbiAgICogQHJldHVybnMge09ic2VydmFibGU8QXBvbGxvUXVlcnlSZXN1bHQ8eyBhdXRoTXNQZXJtaXNzaW9uOiB7IGRhdGE6IEFwcFBlcm1EZm5bXSB9fT4+fSBDb250YWluIHF1ZXJ5IHZhbHVlLlxuICAgKi9cbiAgcHVibGljIGdldFBlcm1pc3Npb25zKGZpbHRlcjogUGVybWlzc2lvbkZpbHRlciwgZmV0Y2hQb2xpY3k/OiBGZXRjaFBvbGljeSk6IE9ic2VydmFibGU8QXBvbGxvUXVlcnlSZXN1bHQ8eyBhdXRoTXNQZXJtaXNzaW9uOiB7IGRhdGE6IEFwcFBlcm1EZm5bXSB9fT4+e1xuICAgIHJldHVybiB0aGlzLmFwb2xsby5xdWVyeSh7XG4gICAgICBmZXRjaFBvbGljeSxcbiAgICAgIHZhcmlhYmxlczogeyBmaWx0ZXIgfSxcbiAgICAgIHF1ZXJ5OiBncWxgXG4gICAgICAgIHF1ZXJ5IFF1ZXJ5UGVybWlzc2lvbigkZmlsdGVyOiBQZXJtaXNzaW9uRmlsdGVyISkge1xuICAgICAgICAgIGF1dGhNc1Blcm1pc3Npb24oZmlsdGVyOiAkZmlsdGVyKSB7XG4gICAgICAgICAgICBkYXRhIHsgcGVybUNvZGUgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgYFxuICAgIH0pO1xuICB9XG59XG4iXX0=