@firestitch/app-acl 9.0.15 → 9.0.19

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 (80) hide show
  1. package/app/components/acl-entries/acl-entries.component.d.ts +27 -23
  2. package/app/components/acl-entry/acl-entry.component.d.ts +23 -23
  3. package/app/components/acl-entry/index.d.ts +1 -1
  4. package/app/components/acl-object-roles/acl-object-roles.component.d.ts +14 -14
  5. package/app/components/acl-permission-popover/acl-permission-popover.component.d.ts +9 -9
  6. package/app/components/acl-permission-popover/index.d.ts +1 -1
  7. package/app/components/acl-role/acl-role.component.d.ts +43 -42
  8. package/app/components/acl-role-popover/acl-role-popover.component.d.ts +10 -10
  9. package/app/components/acl-roles/acl-roles.component.d.ts +31 -31
  10. package/app/consts/acl-role-accesses.d.ts +5 -5
  11. package/app/enums/acl-role-access.d.ts +6 -6
  12. package/app/enums/index.d.ts +1 -1
  13. package/app/fs-app-acl.module.d.ts +4 -4
  14. package/app/injectors/app-acl-config.injector.d.ts +2 -2
  15. package/app/injectors/index.d.ts +1 -1
  16. package/app/interfaces/acl-entry-data.d.ts +11 -11
  17. package/app/interfaces/acl-entry.d.ts +18 -18
  18. package/app/interfaces/acl-level.d.ts +3 -3
  19. package/app/interfaces/acl-object-entry.d.ts +11 -11
  20. package/app/interfaces/acl-object-role.d.ts +6 -6
  21. package/app/interfaces/acl-object.d.ts +4 -4
  22. package/app/interfaces/acl-permission.d.ts +7 -7
  23. package/app/interfaces/acl-role.d.ts +15 -15
  24. package/app/interfaces/app-acl-config.d.ts +7 -7
  25. package/app/interfaces/index.d.ts +11 -11
  26. package/app/interfaces/name-value.d.ts +4 -4
  27. package/app/services/app-acl.service.d.ts +13 -13
  28. package/app/services/index.d.ts +1 -1
  29. package/bundles/firestitch-app-acl.umd.js +858 -846
  30. package/bundles/firestitch-app-acl.umd.js.map +1 -1
  31. package/bundles/firestitch-app-acl.umd.min.js +2 -2
  32. package/bundles/firestitch-app-acl.umd.min.js.map +1 -1
  33. package/esm2015/app/components/acl-entries/acl-entries.component.js +177 -165
  34. package/esm2015/app/components/acl-entry/acl-entry.component.js +87 -87
  35. package/esm2015/app/components/acl-entry/index.js +1 -1
  36. package/esm2015/app/components/acl-object-roles/acl-object-roles.component.js +62 -62
  37. package/esm2015/app/components/acl-permission-popover/acl-permission-popover.component.js +34 -34
  38. package/esm2015/app/components/acl-permission-popover/index.js +1 -1
  39. package/esm2015/app/components/acl-role/acl-role.component.js +191 -191
  40. package/esm2015/app/components/acl-role-popover/acl-role-popover.component.js +40 -40
  41. package/esm2015/app/components/acl-roles/acl-roles.component.js +157 -157
  42. package/esm2015/app/consts/acl-role-accesses.js +7 -7
  43. package/esm2015/app/enums/acl-role-access.js +7 -7
  44. package/esm2015/app/enums/index.js +3 -3
  45. package/esm2015/app/fs-app-acl.module.js +81 -81
  46. package/esm2015/app/injectors/app-acl-config.injector.js +2 -2
  47. package/esm2015/app/injectors/index.js +4 -4
  48. package/esm2015/app/interfaces/index.js +1 -1
  49. package/esm2015/app/services/app-acl.service.js +80 -80
  50. package/esm2015/app/services/index.js +1 -1
  51. package/esm2015/firestitch-app-acl.js +11 -12
  52. package/esm2015/public_api.js +6 -5
  53. package/esm5/app/components/acl-entries/acl-entries.component.js +180 -168
  54. package/esm5/app/components/acl-entry/acl-entry.component.js +92 -92
  55. package/esm5/app/components/acl-entry/index.js +1 -1
  56. package/esm5/app/components/acl-object-roles/acl-object-roles.component.js +63 -63
  57. package/esm5/app/components/acl-permission-popover/acl-permission-popover.component.js +36 -36
  58. package/esm5/app/components/acl-permission-popover/index.js +1 -1
  59. package/esm5/app/components/acl-role/acl-role.component.js +201 -201
  60. package/esm5/app/components/acl-role-popover/acl-role-popover.component.js +42 -42
  61. package/esm5/app/components/acl-roles/acl-roles.component.js +162 -162
  62. package/esm5/app/consts/acl-role-accesses.js +7 -7
  63. package/esm5/app/enums/acl-role-access.js +7 -7
  64. package/esm5/app/enums/index.js +3 -3
  65. package/esm5/app/fs-app-acl.module.js +85 -85
  66. package/esm5/app/injectors/app-acl-config.injector.js +2 -2
  67. package/esm5/app/injectors/index.js +4 -4
  68. package/esm5/app/interfaces/index.js +1 -1
  69. package/esm5/app/services/app-acl.service.js +85 -85
  70. package/esm5/app/services/index.js +1 -1
  71. package/esm5/firestitch-app-acl.js +11 -12
  72. package/esm5/public_api.js +6 -5
  73. package/fesm2015/firestitch-app-acl.js +822 -810
  74. package/fesm2015/firestitch-app-acl.js.map +1 -1
  75. package/fesm5/firestitch-app-acl.js +859 -847
  76. package/fesm5/firestitch-app-acl.js.map +1 -1
  77. package/firestitch-app-acl.d.ts +11 -12
  78. package/firestitch-app-acl.metadata.json +1 -1
  79. package/package.json +1 -1
  80. package/public_api.d.ts +6 -5
@@ -1,168 +1,180 @@
1
- import { __assign, __decorate, __metadata } from "tslib";
2
- import { takeUntil, map } from 'rxjs/operators';
3
- import { Component, ViewChild, Input } from '@angular/core';
4
- import { MatDialog } from '@angular/material/dialog';
5
- import { Subject, Observable } from 'rxjs';
6
- import { sortBy, groupBy, forOwn } from 'lodash-es';
7
- import { FsListComponent } from '@firestitch/list';
8
- import { FsAppAclService } from '../../services';
9
- import { FsAclEntryComponent } from '../acl-entry';
10
- import { FsPrompt } from '@firestitch/prompt';
11
- var FsAclEntriesComponent = /** @class */ (function () {
12
- function FsAclEntriesComponent(_appAclService, _dialog, _confirm) {
13
- this._appAclService = _appAclService;
14
- this._dialog = _dialog;
15
- this._confirm = _confirm;
16
- this.aclEntriesList = null;
17
- this.aclEntriesConfig = null;
18
- this.permissions = [];
19
- this._destroy$ = new Subject();
20
- }
21
- FsAclEntriesComponent.prototype.ngOnInit = function () {
22
- var _this = this;
23
- this._appAclService.getPermissions()
24
- .subscribe(function (response) {
25
- _this.permissions = response;
26
- });
27
- this.aclEntriesConfig = {
28
- status: false,
29
- paging: false,
30
- scrollable: false,
31
- rowActions: [
32
- {
33
- label: 'Edit',
34
- click: function (aclObjectEntry) {
35
- _this.update(aclObjectEntry);
36
- }
37
- },
38
- {
39
- label: 'Remove All Roles',
40
- click: function (aclObjectEntry) {
41
- _this._confirm
42
- .confirm({
43
- title: 'Remove All Roles',
44
- template: 'Are you sure you would like to remove all roles?',
45
- }).subscribe(function () {
46
- var data = _this._appAclService.output(__assign(__assign({}, aclObjectEntry), { aclEntries: [] }));
47
- _this.saveAclObjectEntry(data)
48
- .subscribe(function () {
49
- _this.aclEntriesList.reload();
50
- });
51
- });
52
- }
53
- }
54
- ],
55
- fetch: function (query) {
56
- return new Observable(function (observer) {
57
- _this.loadAclEntries({
58
- aclRoles: true,
59
- aclRolePermissions: true,
60
- objects: true,
61
- aclRoleState: 'active',
62
- })
63
- .pipe(map(function (response) { return _this._appAclService.input(response); }))
64
- .subscribe(function (aclEntries) {
65
- var objects = aclEntries.reduce(function (items, item) {
66
- if (item.object) {
67
- items[item.object.id] = item.object;
68
- }
69
- return items;
70
- }, {});
71
- var environments = aclEntries.reduce(function (items, item) {
72
- if (item.environment) {
73
- items[item.environment.id] = item.environment;
74
- }
75
- return items;
76
- }, {});
77
- var aclObjectEntry = [];
78
- var grouped = groupBy(aclEntries, function (item) {
79
- return [item.aclRole.level, item.environmentId, item.objectId];
80
- });
81
- forOwn(grouped, function (group, key) {
82
- key = key.split(',');
83
- aclObjectEntry.push({
84
- object: objects[key[2]],
85
- level: key[0],
86
- environmentId: key[1] ? parseInt(key[1]) : null,
87
- environment: environments[key[1]],
88
- aclEntries: group,
89
- });
90
- });
91
- var hasApp = aclObjectEntry.some(function (item) {
92
- return item.aclEntries.some(function (entry) {
93
- return !entry.objectId;
94
- });
95
- });
96
- if (!hasApp) {
97
- aclObjectEntry.unshift({
98
- object: null, aclEntries: [],
99
- level: 'app',
100
- environmentId: null,
101
- });
102
- }
103
- aclObjectEntry = sortBy(aclObjectEntry, function (item) {
104
- return item.object ? item.level : '';
105
- });
106
- observer.next({ data: aclObjectEntry });
107
- observer.complete();
108
- });
109
- });
110
- },
111
- };
112
- };
113
- FsAclEntriesComponent.prototype.update = function (aclObjectEntry) {
114
- var _this = this;
115
- var data = {
116
- aclObjectEntry: aclObjectEntry,
117
- required: false,
118
- loadAclRoles: this.loadAclRoles,
119
- saveAclObjectEntry: this.saveAclObjectEntry
120
- };
121
- this._dialog.open(FsAclEntryComponent, {
122
- data: data
123
- })
124
- .afterClosed()
125
- .pipe(takeUntil(this._destroy$))
126
- .subscribe(function () {
127
- _this.aclEntriesList.reload();
128
- });
129
- };
130
- FsAclEntriesComponent.prototype.ngOnDestroy = function () {
131
- this._destroy$.next();
132
- this._destroy$.complete();
133
- };
134
- FsAclEntriesComponent.ctorParameters = function () { return [
135
- { type: FsAppAclService },
136
- { type: MatDialog },
137
- { type: FsPrompt }
138
- ]; };
139
- __decorate([
140
- Input(),
141
- __metadata("design:type", Function)
142
- ], FsAclEntriesComponent.prototype, "loadAclEntries", void 0);
143
- __decorate([
144
- Input(),
145
- __metadata("design:type", Function)
146
- ], FsAclEntriesComponent.prototype, "loadAclRoles", void 0);
147
- __decorate([
148
- Input(),
149
- __metadata("design:type", Function)
150
- ], FsAclEntriesComponent.prototype, "saveAclObjectEntry", void 0);
151
- __decorate([
152
- ViewChild(FsListComponent),
153
- __metadata("design:type", FsListComponent)
154
- ], FsAclEntriesComponent.prototype, "aclEntriesList", void 0);
155
- FsAclEntriesComponent = __decorate([
156
- Component({
157
- selector: 'fs-acl-entries',
158
- template: "\n<fs-list [config]=\"aclEntriesConfig\">\n <fs-list-column>\n <ng-template fs-list-header>Object</ng-template>\n <ng-template fs-list-cell let-row=\"row\">\n <div\n *ngIf=\"row.object; else elseObject\"\n fxLayout=\"row\"\n fxLayoutAlign=\"start center\"\n fxLayoutGap=\"10px\">\n <fs-badge *ngIf=\"row.object.imageUrl\" shape=\"circle\" image=\"{{ row.object.imageUrl }}\"></fs-badge>\n <span>\n <small>{{ row.object.className }}</small>\n <div>{{ row.object.name }}</div>\n </span>\n </div>\n\n <ng-template #elseObject>\n App\n </ng-template>\n </ng-template>\n </fs-list-column>\n\n <fs-list-column>\n <ng-template fs-list-header>Environment</ng-template>\n <ng-template fs-list-cell let-row=\"row\">\n {{row.environment?.name}}\n </ng-template>\n </fs-list-column>\n\n <fs-list-column>\n <ng-template fs-list-header>Roles</ng-template>\n <ng-template fs-list-cell let-row=\"row\">\n <div fxLayout=\"column\" fxLayoutGap=\"10px\">\n <div div *ngFor=\"let aclEntry of row.aclEntries\">\n <ng-container [ngSwitch]=\"row.level\">\n <ng-container *ngSwitchCase=\"'app'\">\n <fs-acl-role-popover [aclRole]=\"aclEntry.aclRole\" objectName=\"App\">{{aclEntry.aclRole.name}}</fs-acl-role-popover>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <ng-container *ngIf=\"row.object\">\n <fs-acl-role-popover [aclRole]=\"aclEntry.aclRole\">{{aclEntry.aclRole.name}}</fs-acl-role-popover>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n </ng-template>\n </fs-list-column>\n</fs-list>\n",
159
- styles: [""]
160
- }),
161
- __metadata("design:paramtypes", [FsAppAclService,
162
- MatDialog,
163
- FsPrompt])
164
- ], FsAclEntriesComponent);
165
- return FsAclEntriesComponent;
166
- }());
167
- export { FsAclEntriesComponent };
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNsLWVudHJpZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGZpcmVzdGl0Y2gvYXBwLWFjbC8iLCJzb3VyY2VzIjpbImFwcC9jb21wb25lbnRzL2FjbC1lbnRyaWVzL2FjbC1lbnRyaWVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFVLFNBQVMsRUFBYSxLQUFLLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQzdGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFcEQsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQVE5QztJQWNFLCtCQUNtQixjQUErQixFQUMvQixPQUFrQixFQUMzQixRQUFrQjtRQUZULG1CQUFjLEdBQWQsY0FBYyxDQUFpQjtRQUMvQixZQUFPLEdBQVAsT0FBTyxDQUFXO1FBQzNCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFWckIsbUJBQWMsR0FBb0IsSUFBSSxDQUFDO1FBRXZDLHFCQUFnQixHQUFpQixJQUFJLENBQUM7UUFDdEMsZ0JBQVcsR0FBVSxFQUFFLENBQUM7UUFFdkIsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFNL0IsQ0FBQztJQUVHLHdDQUFRLEdBQWY7UUFBQSxp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LGVBQWU7WUFDdEIsU0FBUztZQUNqQixRQUFRO09BakJqQixxQkFBcUIsQ0FzSmpDO0lBQUQsNEJBQUM7Q0FBQSxBQXRKRCxJQXNKQztTQXRKWSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0YWtlVW50aWwsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQsIE9uRGVzdHJveSwgSW5wdXQsIERlYnVnRWxlbWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuaW1wb3J0IHsgU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBzb3J0QnksIGdyb3VwQnksIGZvck93biB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbmltcG9ydCB7IEZzTGlzdENvbXBvbmVudCwgRnNMaXN0Q29uZmlnIH0gZnJvbSAnQGZpcmVzdGl0Y2gvbGlzdCc7XG5pbXBvcnQgeyBGc0FwcEFjbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBBY2xFbnRyeSwgQWNsRW50cnlEYXRhLCBBY2xSb2xlLCBBY2xPYmplY3RFbnRyeSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgRnNBY2xFbnRyeUNvbXBvbmVudCB9IGZyb20gJy4uL2FjbC1lbnRyeSc7XG5pbXBvcnQgeyBGc1Byb21wdCB9IGZyb20gJ0BmaXJlc3RpdGNoL3Byb21wdCc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnMtYWNsLWVudHJpZXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWNsLWVudHJpZXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hY2wtZW50cmllcy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZzQWNsRW50cmllc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoKSBsb2FkQWNsRW50cmllczogKHF1ZXJ5OiBhbnkpID0+IE9ic2VydmFibGU8QWNsRW50cnlbXT47XG4gIEBJbnB1dCgpIGxvYWRBY2xSb2xlczogKHF1ZXJ5OiBhbnkpID0+IE9ic2VydmFibGU8QWNsUm9sZVtdPjtcbiAgQElucHV0KCkgc2F2ZUFjbE9iamVjdEVudHJ5OiAoYWNsT2JqZWN0RW50cnk6IEFjbE9iamVjdEVudHJ5KSA9PiBPYnNlcnZhYmxlPGFueT47XG5cbiAgQFZpZXdDaGlsZChGc0xpc3RDb21wb25lbnQpXG4gIHB1YmxpYyBhY2xFbnRyaWVzTGlzdDogRnNMaXN0Q29tcG9uZW50ID0gbnVsbDtcblxuICBwdWJsaWMgYWNsRW50cmllc0NvbmZpZzogRnNMaXN0Q29uZmlnID0gbnVsbDtcbiAgcHVibGljIHBlcm1pc3Npb25zOiBhbnlbXSA9IFtdO1xuXG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9hcHBBY2xTZXJ2aWNlOiBGc0FwcEFjbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGlhbG9nOiBNYXREaWFsb2csXG4gICAgcHJpdmF0ZSBfY29uZmlybTogRnNQcm9tcHQsXG4gICkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG5cbiAgICB0aGlzLl9hcHBBY2xTZXJ2aWNlLmdldFBlcm1pc3Npb25zKClcbiAgICAgIC5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICB0aGlzLnBlcm1pc3Npb25zID0gcmVzcG9uc2U7XG4gICAgICB9KTtcblxuXG4gICAgdGhpcy5hY2xFbnRyaWVzQ29uZmlnID0ge1xuICAgICAgc3RhdHVzOiBmYWxzZSxcbiAgICAgIHBhZ2luZzogZmFsc2UsXG4gICAgICBzY3JvbGxhYmxlOiBmYWxzZSxcbiAgICAgIHJvd0FjdGlvbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiAnRWRpdCcsXG4gICAgICAgICAgY2xpY2s6IChhY2xPYmplY3RFbnRyeTogQWNsT2JqZWN0RW50cnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlKGFjbE9iamVjdEVudHJ5KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ1JlbW92ZSBBbGwgUm9sZXMnLFxuICAgICAgICAgIGNsaWNrOiAoYWNsT2JqZWN0RW50cnk6IEFjbE9iamVjdEVudHJ5KSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9jb25maXJtXG4gICAgICAgICAgICAgIC5jb25maXJtKHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJ1JlbW92ZSBBbGwgUm9sZXMnLFxuICAgICAgICAgICAgICAgIHRlbXBsYXRlOiAnQXJlIHlvdSBzdXJlIHlvdSB3b3VsZCBsaWtlIHRvIHJlbW92ZSBhbGwgcm9sZXM/JyxcbiAgICAgICAgICAgICAgfSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5fYXBwQWNsU2VydmljZS5vdXRwdXQoeyAuLi5hY2xPYmplY3RFbnRyeSwgYWNsRW50cmllczogW10gfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5zYXZlQWNsT2JqZWN0RW50cnkoZGF0YSlcbiAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFjbEVudHJpZXNMaXN0LnJlbG9hZCgpO1xuICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXSxcbiAgICAgIGZldGNoOiAocXVlcnkpID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcikgPT4ge1xuICAgICAgICAgIHRoaXMubG9hZEFjbEVudHJpZXMoe1xuICAgICAgICAgICAgYWNsUm9sZXM6IHRydWUsXG4gICAgICAgICAgICBhY2xSb2xlUGVybWlzc2lvbnM6IHRydWUsXG4gICAgICAgICAgICBvYmplY3RzOiB0cnVlLFxuICAgICAgICAgICAgYWNsUm9sZVN0YXRlOiAnYWN0aXZlJyxcbiAgICAgICAgICB9KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHRoaXMuX2FwcEFjbFNlcnZpY2UuaW5wdXQocmVzcG9uc2UpKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGFjbEVudHJpZXM6IEFjbEVudHJ5W10pID0+IHtcbiAgICAgICAgICAgICAgY29uc3Qgb2JqZWN0cyA9IGFjbEVudHJpZXMucmVkdWNlKChpdGVtcywgaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpdGVtLm9iamVjdCkge1xuICAgICAgICAgICAgICAgICAgaXRlbXNbaXRlbS5vYmplY3QuaWRdID0gaXRlbS5vYmplY3Q7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBpdGVtcztcbiAgICAgICAgICAgICAgfSwge30pO1xuXG4gICAgICAgICAgICAgIGNvbnN0IGVudmlyb25tZW50cyA9IGFjbEVudHJpZXMucmVkdWNlKChpdGVtcywgaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpdGVtLmVudmlyb25tZW50KSB7XG4gICAgICAgICAgICAgICAgICBpdGVtc1tpdGVtLmVudmlyb25tZW50LmlkXSA9IGl0ZW0uZW52aXJvbm1lbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBpdGVtcztcbiAgICAgICAgICAgICAgfSwge30pO1xuXG4gICAgICAgICAgICAgIGxldCBhY2xPYmplY3RFbnRyeTogQWNsT2JqZWN0RW50cnlbXSA9IFtdO1xuICAgICAgICAgICAgICBjb25zdCBncm91cGVkID0gZ3JvdXBCeShhY2xFbnRyaWVzLCAoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBbaXRlbS5hY2xSb2xlLmxldmVsLCBpdGVtLmVudmlyb25tZW50SWQsIGl0ZW0ub2JqZWN0SWRdO1xuICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICBmb3JPd24oZ3JvdXBlZCwgKGdyb3VwLCBrZXkpID0+IHtcbiAgICAgICAgICAgICAgICBrZXkgPSBrZXkuc3BsaXQoJywnKTtcbiAgICAgICAgICAgICAgICBhY2xPYmplY3RFbnRyeS5wdXNoKHtcbiAgICAgICAgICAgICAgICAgIG9iamVjdDogb2JqZWN0c1trZXlbMl1dLFxuICAgICAgICAgICAgICAgICAgbGV2ZWw6IGtleVswXSxcbiAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50SWQ6IGtleVsxXSA/IHBhcnNlSW50KGtleVsxXSkgOiBudWxsLFxuICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQ6IGVudmlyb25tZW50c1trZXlbMV1dLFxuICAgICAgICAgICAgICAgICAgYWNsRW50cmllczogZ3JvdXAsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgIGNvbnN0IGhhc0FwcCA9IGFjbE9iamVjdEVudHJ5LnNvbWUoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaXRlbS5hY2xFbnRyaWVzLnNvbWUoKGVudHJ5KSA9PiB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gIWVudHJ5Lm9iamVjdElkO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICBpZiAoIWhhc0FwcCkge1xuICAgICAgICAgICAgICAgIGFjbE9iamVjdEVudHJ5LnVuc2hpZnQoe1xuICAgICAgICAgICAgICAgICAgb2JqZWN0OiBudWxsLCBhY2xFbnRyaWVzOiBbXSxcbiAgICAgICAgICAgICAgICAgIGxldmVsOiAnYXBwJyxcbiAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50SWQ6IG51bGwsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBhY2xPYmplY3RFbnRyeSA9IHNvcnRCeShhY2xPYmplY3RFbnRyeSwgKGl0ZW06IEFjbE9iamVjdEVudHJ5KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0ub2JqZWN0ID8gaXRlbS5sZXZlbCA6ICcnO1xuICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KHsgZGF0YTogYWNsT2JqZWN0RW50cnkgfSk7XG4gICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlKGFjbE9iamVjdEVudHJ5OiBBY2xPYmplY3RFbnRyeSkge1xuXG4gICAgY29uc3QgZGF0YTogQWNsRW50cnlEYXRhID0ge1xuICAgICAgYWNsT2JqZWN0RW50cnk6IGFjbE9iamVjdEVudHJ5LFxuICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgbG9hZEFjbFJvbGVzOiB0aGlzLmxvYWRBY2xSb2xlcyxcbiAgICAgIHNhdmVBY2xPYmplY3RFbnRyeTogdGhpcy5zYXZlQWNsT2JqZWN0RW50cnlcbiAgICB9XG5cbiAgICB0aGlzLl9kaWFsb2cub3BlbihGc0FjbEVudHJ5Q29tcG9uZW50LCB7XG4gICAgICBkYXRhOiBkYXRhXG4gICAgfSlcbiAgICAgIC5hZnRlckNsb3NlZCgpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuYWNsRW50cmllc0xpc3QucmVsb2FkKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG59XG4iXX0=
1
+ import { __assign, __decorate, __metadata } from "tslib";
2
+ import { takeUntil, map } from 'rxjs/operators';
3
+ import { Component, ViewChild, Input } from '@angular/core';
4
+ import { MatDialog } from '@angular/material/dialog';
5
+ import { Subject, Observable } from 'rxjs';
6
+ import { sortBy, groupBy, forOwn } from 'lodash-es';
7
+ import { FsListComponent } from '@firestitch/list';
8
+ import { FsAppAclService } from '../../services';
9
+ import { FsAclEntryComponent } from '../acl-entry';
10
+ import { FsPrompt } from '@firestitch/prompt';
11
+ var FsAclEntriesComponent = /** @class */ (function () {
12
+ function FsAclEntriesComponent(_appAclService, _dialog, _confirm) {
13
+ this._appAclService = _appAclService;
14
+ this._dialog = _dialog;
15
+ this._confirm = _confirm;
16
+ this.environmentShow = true;
17
+ this.environmentLabel = 'Environment';
18
+ this.actions = [];
19
+ this.aclEntriesList = null;
20
+ this.aclEntriesConfig = null;
21
+ this.permissions = [];
22
+ this._destroy$ = new Subject();
23
+ }
24
+ FsAclEntriesComponent.prototype.ngOnInit = function () {
25
+ var _this = this;
26
+ this._appAclService.getPermissions()
27
+ .subscribe(function (response) {
28
+ _this.permissions = response;
29
+ });
30
+ this.aclEntriesConfig = {
31
+ status: false,
32
+ paging: false,
33
+ actions: this.actions,
34
+ rowActions: [
35
+ {
36
+ label: 'Remove All Roles',
37
+ click: function (aclObjectEntry) {
38
+ _this._confirm
39
+ .confirm({
40
+ title: 'Remove All Roles',
41
+ template: 'Are you sure you would like to remove all roles?',
42
+ }).subscribe(function () {
43
+ var data = _this._appAclService.output(__assign(__assign({}, aclObjectEntry), { aclEntries: [] }));
44
+ _this.saveAclObjectEntry(data)
45
+ .subscribe(function () {
46
+ _this.aclEntriesList.reload();
47
+ });
48
+ });
49
+ }
50
+ }
51
+ ],
52
+ fetch: function () {
53
+ return new Observable(function (observer) {
54
+ _this.loadAclEntries({
55
+ aclRoles: true,
56
+ aclRolePermissions: true,
57
+ objects: true,
58
+ aclRoleState: 'active',
59
+ })
60
+ .pipe(map(function (response) { return _this._appAclService.input(response); }))
61
+ .subscribe(function (aclEntries) {
62
+ var objects = aclEntries.reduce(function (items, item) {
63
+ if (item.object) {
64
+ items[item.object.id] = item.object;
65
+ }
66
+ return items;
67
+ }, {});
68
+ var environments = aclEntries.reduce(function (items, item) {
69
+ if (item.environment) {
70
+ items[item.environment.id] = item.environment;
71
+ }
72
+ return items;
73
+ }, {});
74
+ var aclObjectEntry = [];
75
+ var grouped = groupBy(aclEntries, function (item) {
76
+ return [item.aclRole.level, item.environmentId, item.objectId];
77
+ });
78
+ forOwn(grouped, function (group, key) {
79
+ key = key.split(',');
80
+ aclObjectEntry.push({
81
+ object: objects[key[2]],
82
+ level: key[0],
83
+ environmentId: key[1] ? parseInt(key[1]) : null,
84
+ environment: environments[key[1]],
85
+ aclEntries: group,
86
+ });
87
+ });
88
+ var hasApp = aclObjectEntry.some(function (item) {
89
+ return item.aclEntries.some(function (entry) {
90
+ return !entry.objectId;
91
+ });
92
+ });
93
+ if (!hasApp) {
94
+ aclObjectEntry.unshift({
95
+ object: null, aclEntries: [],
96
+ level: 'app',
97
+ environmentId: null,
98
+ });
99
+ }
100
+ aclObjectEntry = sortBy(aclObjectEntry, function (item) {
101
+ return item.object ? item.level : '';
102
+ });
103
+ observer.next({ data: aclObjectEntry });
104
+ observer.complete();
105
+ });
106
+ });
107
+ },
108
+ };
109
+ };
110
+ FsAclEntriesComponent.prototype.update = function (aclObjectEntry) {
111
+ var _this = this;
112
+ var data = {
113
+ aclObjectEntry: aclObjectEntry,
114
+ required: false,
115
+ loadAclRoles: this.loadAclRoles,
116
+ saveAclObjectEntry: this.saveAclObjectEntry
117
+ };
118
+ this._dialog.open(FsAclEntryComponent, {
119
+ data: data
120
+ })
121
+ .afterClosed()
122
+ .pipe(takeUntil(this._destroy$))
123
+ .subscribe(function () {
124
+ _this.aclEntriesList.reload();
125
+ });
126
+ };
127
+ FsAclEntriesComponent.prototype.ngOnDestroy = function () {
128
+ this._destroy$.next();
129
+ this._destroy$.complete();
130
+ };
131
+ FsAclEntriesComponent.prototype.reload = function () {
132
+ this.aclEntriesList.reload();
133
+ };
134
+ FsAclEntriesComponent.ctorParameters = function () { return [
135
+ { type: FsAppAclService },
136
+ { type: MatDialog },
137
+ { type: FsPrompt }
138
+ ]; };
139
+ __decorate([
140
+ Input(),
141
+ __metadata("design:type", Function)
142
+ ], FsAclEntriesComponent.prototype, "loadAclEntries", void 0);
143
+ __decorate([
144
+ Input(),
145
+ __metadata("design:type", Function)
146
+ ], FsAclEntriesComponent.prototype, "loadAclRoles", void 0);
147
+ __decorate([
148
+ Input(),
149
+ __metadata("design:type", Function)
150
+ ], FsAclEntriesComponent.prototype, "saveAclObjectEntry", void 0);
151
+ __decorate([
152
+ Input(),
153
+ __metadata("design:type", Object)
154
+ ], FsAclEntriesComponent.prototype, "environmentShow", void 0);
155
+ __decorate([
156
+ Input(),
157
+ __metadata("design:type", Object)
158
+ ], FsAclEntriesComponent.prototype, "environmentLabel", void 0);
159
+ __decorate([
160
+ Input(),
161
+ __metadata("design:type", Array)
162
+ ], FsAclEntriesComponent.prototype, "actions", void 0);
163
+ __decorate([
164
+ ViewChild(FsListComponent),
165
+ __metadata("design:type", FsListComponent)
166
+ ], FsAclEntriesComponent.prototype, "aclEntriesList", void 0);
167
+ FsAclEntriesComponent = __decorate([
168
+ Component({
169
+ selector: 'fs-acl-entries',
170
+ template: "\n<fs-list [config]=\"aclEntriesConfig\">\n <fs-list-column>\n <ng-template fs-list-header>Context</ng-template>\n <ng-template fs-list-cell let-row=\"row\">\n <div\n *ngIf=\"row.object; else elseObject\"\n fxLayout=\"row\"\n fxLayoutAlign=\"start center\"\n fxLayoutGap=\"10px\">\n <fs-badge *ngIf=\"row.object.imageUrl\" shape=\"circle\" image=\"{{ row.object.imageUrl }}\"></fs-badge>\n <span>\n <div><small>{{ row.object.className }}</small></div>\n <a (click)=\"update(row)\">{{ row.object.name }}</a>\n </span>\n </div>\n\n <ng-template #elseObject>\n <a (click)=\"update(row)\">App</a>\n </ng-template>\n </ng-template>\n </fs-list-column>\n\n <fs-list-column [show]=\"environmentShow\">\n <ng-template fs-list-header>{{environmentLabel}}</ng-template>\n <ng-template fs-list-cell let-row=\"row\">\n {{row.environment?.name}}\n </ng-template>\n </fs-list-column>\n\n <fs-list-column>\n <ng-template fs-list-header>Roles</ng-template>\n <ng-template fs-list-cell let-row=\"row\">\n <div fxLayout=\"column\" fxLayoutGap=\"10px\">\n <div div *ngFor=\"let aclEntry of row.aclEntries\">\n <ng-container [ngSwitch]=\"row.level\">\n <ng-container *ngSwitchCase=\"'app'\">\n <fs-acl-role-popover [aclRole]=\"aclEntry.aclRole\" objectName=\"App\">{{aclEntry.aclRole.name}}</fs-acl-role-popover>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <ng-container *ngIf=\"row.object\">\n <fs-acl-role-popover [aclRole]=\"aclEntry.aclRole\">{{aclEntry.aclRole.name}}</fs-acl-role-popover>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n </ng-template>\n </fs-list-column>\n</fs-list>\n",
171
+ styles: [""]
172
+ }),
173
+ __metadata("design:paramtypes", [FsAppAclService,
174
+ MatDialog,
175
+ FsPrompt])
176
+ ], FsAclEntriesComponent);
177
+ return FsAclEntriesComponent;
178
+ }());
179
+ export { FsAclEntriesComponent };
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNsLWVudHJpZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGZpcmVzdGl0Y2gvYXBwLWFjbC8iLCJzb3VyY2VzIjpbImFwcC9jb21wb25lbnRzL2FjbC1lbnRyaWVzL2FjbC1lbnRyaWVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFVLFNBQVMsRUFBYSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJELE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVwRCxPQUFPLEVBQWdCLGVBQWUsRUFBZ0IsTUFBTSxrQkFBa0IsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQVE5QztJQWlCRSwrQkFDbUIsY0FBK0IsRUFDL0IsT0FBa0IsRUFDM0IsUUFBa0I7UUFGVCxtQkFBYyxHQUFkLGNBQWMsQ0FBaUI7UUFDL0IsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQUMzQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBZlosb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFDdkIscUJBQWdCLEdBQUcsYUFBYSxDQUFDO1FBQ2pDLFlBQU8sR0FBbUIsRUFBRSxDQUFDO1FBR3RDLG1CQUFjLEdBQW9CLElBQUksQ0FBQztRQUV2QyxxQkFBZ0IsR0FBaUIsSUFBSSxDQUFDO1FBQ3RDLGdCQUFXLEdB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QyxTQUFTLENBQUMsZUFBZSxDQUFDO2tDQUNKLGVBQWU7aUVBQVE7SUFWbkMscUJBQXFCO1FBTGpDLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSxnQkFBZ0I7WUFDMUIsNjJEQUEyQzs7U0FFNUMsQ0FBQzt5Q0FtQm1DLGVBQWU7WUFDdEIsU0FBUztZQUNqQixRQUFRO09BcEJqQixxQkFBcUIsQ0FxSmpDO0lBQUQsNEJBQUM7Q0FBQSxBQXJKRCxJQXFKQztTQXJKWSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0YWtlVW50aWwsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQsIE9uRGVzdHJveSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbmltcG9ydCB7IFN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgc29ydEJ5LCBncm91cEJ5LCBmb3JPd24gfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5pbXBvcnQgeyBGc0xpc3RBY3Rpb24sIEZzTGlzdENvbXBvbmVudCwgRnNMaXN0Q29uZmlnIH0gZnJvbSAnQGZpcmVzdGl0Y2gvbGlzdCc7XG5pbXBvcnQgeyBGc0FwcEFjbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBBY2xFbnRyeSwgQWNsRW50cnlEYXRhLCBBY2xSb2xlLCBBY2xPYmplY3RFbnRyeSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgRnNBY2xFbnRyeUNvbXBvbmVudCB9IGZyb20gJy4uL2FjbC1lbnRyeSc7XG5pbXBvcnQgeyBGc1Byb21wdCB9IGZyb20gJ0BmaXJlc3RpdGNoL3Byb21wdCc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnMtYWNsLWVudHJpZXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWNsLWVudHJpZXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hY2wtZW50cmllcy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZzQWNsRW50cmllc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoKSBwdWJsaWMgbG9hZEFjbEVudHJpZXM6IChxdWVyeTogYW55KSA9PiBPYnNlcnZhYmxlPEFjbEVudHJ5W10+O1xuICBASW5wdXQoKSBwdWJsaWMgbG9hZEFjbFJvbGVzOiAocXVlcnk6IGFueSkgPT4gT2JzZXJ2YWJsZTxBY2xSb2xlW10+O1xuICBASW5wdXQoKSBwdWJsaWMgc2F2ZUFjbE9iamVjdEVudHJ5OiAoYWNsT2JqZWN0RW50cnk6IEFjbE9iamVjdEVudHJ5KSA9PiBPYnNlcnZhYmxlPGFueT47XG4gIEBJbnB1dCgpIHB1YmxpYyBlbnZpcm9ubWVudFNob3cgPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgZW52aXJvbm1lbnRMYWJlbCA9ICdFbnZpcm9ubWVudCc7XG4gIEBJbnB1dCgpIHB1YmxpYyBhY3Rpb25zOiBGc0xpc3RBY3Rpb25bXSA9IFtdO1xuXG4gIEBWaWV3Q2hpbGQoRnNMaXN0Q29tcG9uZW50KVxuICBwdWJsaWMgYWNsRW50cmllc0xpc3Q6IEZzTGlzdENvbXBvbmVudCA9IG51bGw7XG5cbiAgcHVibGljIGFjbEVudHJpZXNDb25maWc6IEZzTGlzdENvbmZpZyA9IG51bGw7XG4gIHB1YmxpYyBwZXJtaXNzaW9uczogYW55W10gPSBbXTtcblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBfYXBwQWNsU2VydmljZTogRnNBcHBBY2xTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2RpYWxvZzogTWF0RGlhbG9nLFxuICAgIHByaXZhdGUgX2NvbmZpcm06IEZzUHJvbXB0LFxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2FwcEFjbFNlcnZpY2UuZ2V0UGVybWlzc2lvbnMoKVxuICAgICAgLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgIHRoaXMucGVybWlzc2lvbnMgPSByZXNwb25zZTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5hY2xFbnRyaWVzQ29uZmlnID0ge1xuICAgICAgc3RhdHVzOiBmYWxzZSxcbiAgICAgIHBhZ2luZzogZmFsc2UsXG4gICAgICBhY3Rpb25zOiB0aGlzLmFjdGlvbnMsXG4gICAgICByb3dBY3Rpb25zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ1JlbW92ZSBBbGwgUm9sZXMnLFxuICAgICAgICAgIGNsaWNrOiAoYWNsT2JqZWN0RW50cnk6IEFjbE9iamVjdEVudHJ5KSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9jb25maXJtXG4gICAgICAgICAgICAgIC5jb25maXJtKHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJ1JlbW92ZSBBbGwgUm9sZXMnLFxuICAgICAgICAgICAgICAgIHRlbXBsYXRlOiAnQXJlIHlvdSBzdXJlIHlvdSB3b3VsZCBsaWtlIHRvIHJlbW92ZSBhbGwgcm9sZXM/JyxcbiAgICAgICAgICAgICAgfSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5fYXBwQWNsU2VydmljZS5vdXRwdXQoeyAuLi5hY2xPYmplY3RFbnRyeSwgYWNsRW50cmllczogW10gfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5zYXZlQWNsT2JqZWN0RW50cnkoZGF0YSlcbiAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFjbEVudHJpZXNMaXN0LnJlbG9hZCgpO1xuICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXSxcbiAgICAgIGZldGNoOiAoKSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXIpID0+IHtcbiAgICAgICAgICB0aGlzLmxvYWRBY2xFbnRyaWVzKHtcbiAgICAgICAgICAgIGFjbFJvbGVzOiB0cnVlLFxuICAgICAgICAgICAgYWNsUm9sZVBlcm1pc3Npb25zOiB0cnVlLFxuICAgICAgICAgICAgb2JqZWN0czogdHJ1ZSxcbiAgICAgICAgICAgIGFjbFJvbGVTdGF0ZTogJ2FjdGl2ZScsXG4gICAgICAgICAgfSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB0aGlzLl9hcHBBY2xTZXJ2aWNlLmlucHV0KHJlc3BvbnNlKSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChhY2xFbnRyaWVzOiBBY2xFbnRyeVtdKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IG9iamVjdHMgPSBhY2xFbnRyaWVzLnJlZHVjZSgoaXRlbXMsIGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaXRlbS5vYmplY3QpIHtcbiAgICAgICAgICAgICAgICAgIGl0ZW1zW2l0ZW0ub2JqZWN0LmlkXSA9IGl0ZW0ub2JqZWN0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gaXRlbXM7XG4gICAgICAgICAgICAgIH0sIHt9KTtcblxuICAgICAgICAgICAgICBjb25zdCBlbnZpcm9ubWVudHMgPSBhY2xFbnRyaWVzLnJlZHVjZSgoaXRlbXMsIGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaXRlbS5lbnZpcm9ubWVudCkge1xuICAgICAgICAgICAgICAgICAgaXRlbXNbaXRlbS5lbnZpcm9ubWVudC5pZF0gPSBpdGVtLmVudmlyb25tZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gaXRlbXM7XG4gICAgICAgICAgICAgIH0sIHt9KTtcblxuICAgICAgICAgICAgICBsZXQgYWNsT2JqZWN0RW50cnk6IEFjbE9iamVjdEVudHJ5W10gPSBbXTtcbiAgICAgICAgICAgICAgY29uc3QgZ3JvdXBlZCA9IGdyb3VwQnkoYWNsRW50cmllcywgKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gW2l0ZW0uYWNsUm9sZS5sZXZlbCwgaXRlbS5lbnZpcm9ubWVudElkLCBpdGVtLm9iamVjdElkXTtcbiAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgZm9yT3duKGdyb3VwZWQsIChncm91cCwga2V5KSA9PiB7XG4gICAgICAgICAgICAgICAga2V5ID0ga2V5LnNwbGl0KCcsJyk7XG4gICAgICAgICAgICAgICAgYWNsT2JqZWN0RW50cnkucHVzaCh7XG4gICAgICAgICAgICAgICAgICBvYmplY3Q6IG9iamVjdHNba2V5WzJdXSxcbiAgICAgICAgICAgICAgICAgIGxldmVsOiBrZXlbMF0sXG4gICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudElkOiBrZXlbMV0gPyBwYXJzZUludChrZXlbMV0pIDogbnVsbCxcbiAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50OiBlbnZpcm9ubWVudHNba2V5WzFdXSxcbiAgICAgICAgICAgICAgICAgIGFjbEVudHJpZXM6IGdyb3VwLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICBjb25zdCBoYXNBcHAgPSBhY2xPYmplY3RFbnRyeS5zb21lKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0uYWNsRW50cmllcy5zb21lKChlbnRyeSkgPT4ge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuICFlbnRyeS5vYmplY3RJZDtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgaWYgKCFoYXNBcHApIHtcbiAgICAgICAgICAgICAgICBhY2xPYmplY3RFbnRyeS51bnNoaWZ0KHtcbiAgICAgICAgICAgICAgICAgIG9iamVjdDogbnVsbCwgYWNsRW50cmllczogW10sXG4gICAgICAgICAgICAgICAgICBsZXZlbDogJ2FwcCcsXG4gICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudElkOiBudWxsLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgYWNsT2JqZWN0RW50cnkgPSBzb3J0QnkoYWNsT2JqZWN0RW50cnksIChpdGVtOiBBY2xPYmplY3RFbnRyeSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBpdGVtLm9iamVjdCA/IGl0ZW0ubGV2ZWwgOiAnJztcbiAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dCh7IGRhdGE6IGFjbE9iamVjdEVudHJ5IH0pO1xuICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZShhY2xPYmplY3RFbnRyeTogQWNsT2JqZWN0RW50cnkpIHtcblxuICAgIGNvbnN0IGRhdGE6IEFjbEVudHJ5RGF0YSA9IHtcbiAgICAgIGFjbE9iamVjdEVudHJ5OiBhY2xPYmplY3RFbnRyeSxcbiAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIGxvYWRBY2xSb2xlczogdGhpcy5sb2FkQWNsUm9sZXMsXG4gICAgICBzYXZlQWNsT2JqZWN0RW50cnk6IHRoaXMuc2F2ZUFjbE9iamVjdEVudHJ5XG4gICAgfVxuXG4gICAgdGhpcy5fZGlhbG9nLm9wZW4oRnNBY2xFbnRyeUNvbXBvbmVudCwge1xuICAgICAgZGF0YTogZGF0YVxuICAgIH0pXG4gICAgICAuYWZ0ZXJDbG9zZWQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5hY2xFbnRyaWVzTGlzdC5yZWxvYWQoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIHJlbG9hZCgpOiB2b2lkIHtcbiAgICB0aGlzLmFjbEVudHJpZXNMaXN0LnJlbG9hZCgpO1xuICB9XG5cbn1cbiJdfQ==
@@ -1,93 +1,93 @@
1
- import { __assign, __decorate, __metadata, __param, __read } from "tslib";
2
- import { Component, Inject } from '@angular/core';
3
- import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
4
- import { FsMessage } from '@firestitch/message';
5
- import { map } from 'rxjs/operators';
6
- import { forkJoin } from 'rxjs';
7
- import { FsAppAclService } from './../../services';
8
- var FsAclEntryComponent = /** @class */ (function () {
9
- function FsAclEntryComponent(_appAclService, _dialogRef, _message, _data) {
10
- var _this = this;
11
- var _a;
12
- this._appAclService = _appAclService;
13
- this._dialogRef = _dialogRef;
14
- this._message = _message;
15
- this._data = _data;
16
- this.aclRoles = [];
17
- this.indexedAclRoleLevels = {};
18
- this.titleEdit = 'Edit Roles';
19
- this.titleAdd = 'Assign Roles';
20
- this.required = true;
21
- this.save = function () {
22
- return _this._data.saveAclObjectEntry(_this._appAclService.output(_this.aclObjectEntry))
23
- .subscribe(function (data) {
24
- _this._message.success('Saved Changes');
25
- _this.close(data);
26
- });
27
- };
28
- this.aclObjectEntry = __assign({}, _data.aclObjectEntry);
29
- this.required = (_a = _data.required, (_a !== null && _a !== void 0 ? _a : true));
30
- if (_data.titleEdit) {
31
- this.titleEdit = _data.titleEdit;
32
- }
33
- if (_data.titleAdd) {
34
- this.titleAdd = _data.titleAdd;
35
- }
36
- }
37
- FsAclEntryComponent.prototype.ngOnInit = function () {
38
- var _this = this;
39
- forkJoin(this._data.loadAclRoles({
40
- level: this.aclObjectEntry.level,
41
- environmentId: this.aclObjectEntry.environmentId,
42
- })
43
- .pipe(map(function (data) { return _this._appAclService.input(data); })), this._appAclService.getIndexedLevels())
44
- .subscribe(function (_a) {
45
- var _b = __read(_a, 2), aclRoles = _b[0], levels = _b[1];
46
- _this.aclRoles = aclRoles;
47
- _this.indexedAclRoleLevels = levels;
48
- _this.aclObjectRole = {
49
- object: _this.aclObjectEntry.object,
50
- aclRoles: _this.aclObjectEntry.aclEntries
51
- .map(function (aclEntry) {
52
- return aclEntry.aclRole;
53
- })
54
- };
55
- });
56
- };
57
- FsAclEntryComponent.prototype.aclObjectRoleChange = function (aclObjectRoles) {
58
- this.aclObjectEntry.aclEntries = aclObjectRoles.reduce(function (aclEntries, aclObjectRole) {
59
- aclObjectRole.aclRoles.forEach(function (aclRole) {
60
- aclEntries.push({
61
- aclRoleId: aclRole.id,
62
- aclRole: aclRole,
63
- objectId: aclObjectRole.object ? aclObjectRole.object.id : null,
64
- object: aclObjectRole.object || null
65
- });
66
- });
67
- return aclEntries;
68
- }, []);
69
- };
70
- FsAclEntryComponent.prototype.close = function (data) {
71
- if (data === void 0) { data = null; }
72
- this._dialogRef.close(data);
73
- };
74
- FsAclEntryComponent.ctorParameters = function () { return [
75
- { type: FsAppAclService },
76
- { type: MatDialogRef },
77
- { type: FsMessage },
78
- { type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
79
- ]; };
80
- FsAclEntryComponent = __decorate([
81
- Component({
82
- template: "<form fsForm [submit]=\"save\">\n <fs-dialog>\n <div mat-dialog-title>{{ titleEdit? titleEdit : titleAdd }}</div>\n <mat-dialog-content>\n <div *ngIf=\"aclObjectRole\">\n <fs-label-field *ngIf=\"aclObjectEntry.object\">\n <fs-label>{{indexedAclRoleLevels[aclObjectEntry.level]}}</fs-label>\n {{aclObjectEntry.object.name}}\n </fs-label-field>\n\n <fs-acl-object-roles\n [aclRoles]=\"aclRoles\"\n [aclObjectRoles]=\"[aclObjectRole]\"\n [required]=\"required\"\n (change)=\"aclObjectRoleChange($event)\">\n </fs-acl-object-roles>\n </div>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button mat-button type=\"submit\" color=\"primary\">Save</button>\n <button mat-button mat-dialog-close type=\"button\">Cancel</button>\n </mat-dialog-actions>\n </fs-dialog>\n</form>\n",
83
- styles: ["::ng-deep .account-roles-autocomplete-panel .mat-option{line-height:normal}::ng-deep .account-roles-autocomplete-panel .mat-option .mat-option-text{display:flex;flex-direction:row;align-items:center}::ng-deep .account-roles-autocomplete-panel .mat-option .mat-option-text fs-badge{margin-right:5px}"]
84
- }),
85
- __param(3, Inject(MAT_DIALOG_DATA)),
86
- __metadata("design:paramtypes", [FsAppAclService,
87
- MatDialogRef,
88
- FsMessage, Object])
89
- ], FsAclEntryComponent);
90
- return FsAclEntryComponent;
91
- }());
92
- export { FsAclEntryComponent };
1
+ import { __assign, __decorate, __metadata, __param, __read } from "tslib";
2
+ import { Component, Inject } from '@angular/core';
3
+ import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
4
+ import { FsMessage } from '@firestitch/message';
5
+ import { map } from 'rxjs/operators';
6
+ import { forkJoin } from 'rxjs';
7
+ import { FsAppAclService } from './../../services';
8
+ var FsAclEntryComponent = /** @class */ (function () {
9
+ function FsAclEntryComponent(_appAclService, _dialogRef, _message, _data) {
10
+ var _this = this;
11
+ var _a;
12
+ this._appAclService = _appAclService;
13
+ this._dialogRef = _dialogRef;
14
+ this._message = _message;
15
+ this._data = _data;
16
+ this.aclRoles = [];
17
+ this.indexedAclRoleLevels = {};
18
+ this.titleEdit = 'Edit Roles';
19
+ this.titleAdd = 'Assign Roles';
20
+ this.required = true;
21
+ this.save = function () {
22
+ return _this._data.saveAclObjectEntry(_this._appAclService.output(_this.aclObjectEntry))
23
+ .subscribe(function (data) {
24
+ _this._message.success('Saved Changes');
25
+ _this.close(data);
26
+ });
27
+ };
28
+ this.aclObjectEntry = __assign({}, _data.aclObjectEntry);
29
+ this.required = (_a = _data.required, (_a !== null && _a !== void 0 ? _a : true));
30
+ if (_data.titleEdit) {
31
+ this.titleEdit = _data.titleEdit;
32
+ }
33
+ if (_data.titleAdd) {
34
+ this.titleAdd = _data.titleAdd;
35
+ }
36
+ }
37
+ FsAclEntryComponent.prototype.ngOnInit = function () {
38
+ var _this = this;
39
+ forkJoin(this._data.loadAclRoles({
40
+ level: this.aclObjectEntry.level,
41
+ environmentId: this.aclObjectEntry.environmentId,
42
+ })
43
+ .pipe(map(function (data) { return _this._appAclService.input(data); })), this._appAclService.getIndexedLevels())
44
+ .subscribe(function (_a) {
45
+ var _b = __read(_a, 2), aclRoles = _b[0], levels = _b[1];
46
+ _this.aclRoles = aclRoles;
47
+ _this.indexedAclRoleLevels = levels;
48
+ _this.aclObjectRole = {
49
+ object: _this.aclObjectEntry.object,
50
+ aclRoles: _this.aclObjectEntry.aclEntries
51
+ .map(function (aclEntry) {
52
+ return aclEntry.aclRole;
53
+ })
54
+ };
55
+ });
56
+ };
57
+ FsAclEntryComponent.prototype.aclObjectRoleChange = function (aclObjectRoles) {
58
+ this.aclObjectEntry.aclEntries = aclObjectRoles.reduce(function (aclEntries, aclObjectRole) {
59
+ aclObjectRole.aclRoles.forEach(function (aclRole) {
60
+ aclEntries.push({
61
+ aclRoleId: aclRole.id,
62
+ aclRole: aclRole,
63
+ objectId: aclObjectRole.object ? aclObjectRole.object.id : null,
64
+ object: aclObjectRole.object || null
65
+ });
66
+ });
67
+ return aclEntries;
68
+ }, []);
69
+ };
70
+ FsAclEntryComponent.prototype.close = function (data) {
71
+ if (data === void 0) { data = null; }
72
+ this._dialogRef.close(data);
73
+ };
74
+ FsAclEntryComponent.ctorParameters = function () { return [
75
+ { type: FsAppAclService },
76
+ { type: MatDialogRef },
77
+ { type: FsMessage },
78
+ { type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] }
79
+ ]; };
80
+ FsAclEntryComponent = __decorate([
81
+ Component({
82
+ template: "<form fsForm [submit]=\"save\">\n <fs-dialog>\n <div mat-dialog-title>{{ titleEdit? titleEdit : titleAdd }}</div>\n <mat-dialog-content>\n <div *ngIf=\"aclObjectRole\">\n <fs-label-field *ngIf=\"aclObjectEntry.object\">\n <fs-label>{{indexedAclRoleLevels[aclObjectEntry.level]}}</fs-label>\n {{aclObjectEntry.object.name}}\n </fs-label-field>\n\n <fs-acl-object-roles\n [aclRoles]=\"aclRoles\"\n [aclObjectRoles]=\"[aclObjectRole]\"\n [required]=\"required\"\n (change)=\"aclObjectRoleChange($event)\">\n </fs-acl-object-roles>\n </div>\n </mat-dialog-content>\n <mat-dialog-actions>\n <button mat-button type=\"submit\" color=\"primary\">Save</button>\n <button mat-button mat-dialog-close type=\"button\">Cancel</button>\n </mat-dialog-actions>\n </fs-dialog>\n</form>\n",
83
+ styles: ["::ng-deep .account-roles-autocomplete-panel .mat-option{line-height:normal}::ng-deep .account-roles-autocomplete-panel .mat-option .mat-option-text{display:flex;flex-direction:row;align-items:center}::ng-deep .account-roles-autocomplete-panel .mat-option .mat-option-text fs-badge{margin-right:5px}"]
84
+ }),
85
+ __param(3, Inject(MAT_DIALOG_DATA)),
86
+ __metadata("design:paramtypes", [FsAppAclService,
87
+ MatDialogRef,
88
+ FsMessage, Object])
89
+ ], FsAclEntryComponent);
90
+ return FsAclEntryComponent;
91
+ }());
92
+ export { FsAclEntryComponent };
93
93
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNsLWVudHJ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmaXJlc3RpdGNoL2FwcC1hY2wvIiwic291cmNlcyI6WyJhcHAvY29tcG9uZW50cy9hY2wtZW50cnkvYWNsLWVudHJ5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFaEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHaEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBT25EO0lBVUUsNkJBQ21CLGNBQStCLEVBQy9CLFVBQTZDLEVBQzdDLFFBQW1CLEVBQ00sS0FBbUI7UUFKL0QsaUJBZ0JDOztRQWZrQixtQkFBYyxHQUFkLGNBQWMsQ0FBaUI7UUFDL0IsZUFBVSxHQUFWLFVBQVUsQ0FBbUM7UUFDN0MsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNNLFVBQUssR0FBTCxLQUFLLENBQWM7UUFaeEQsYUFBUSxHQUFjLEVBQUUsQ0FBQztRQUd6Qix5QkFBb0IsR0FBRyxFQUFFLENBQUM7UUFDMUIsY0FBUyxHQUFHLFlBQVksQ0FBQztRQUN6QixhQUFRLEdBQUcsY0FBYyxDQUFDO1FBQzFCLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFvQmhCLFNBQUksR0FBRztZQUNaLE9BQU8sS0FBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxLQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxLQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7aUJBQ3BGLFNBQVMsQ0FBQyxVQUFDLElBQUk7Z0JB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ZSxDQUFDLENBQUE7eUNBSFMsZUFBZTtZQUNuQixZQUFZO1lBQ2QsU0FBUztPQWIzQixtQkFBbUIsQ0FxRi9CO0lBQUQsMEJBQUM7Q0FBQSxBQXJGRCxJQXFGQztTQXJGWSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbmltcG9ydCB7IEZzTWVzc2FnZSB9IGZyb20gJ0BmaXJlc3RpdGNoL21lc3NhZ2UnO1xuXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBmb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBY2xSb2xlLCBBY2xFbnRyeURhdGEsIEFjbE9iamVjdFJvbGUsIEFjbE9iamVjdEVudHJ5LCBBY2xFbnRyeSB9IGZyb20gJy4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBGc0FwcEFjbFNlcnZpY2UgfSBmcm9tICcuLy4uLy4uL3NlcnZpY2VzJztcblxuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL2FjbC1lbnRyeS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FjbC1lbnRyeS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGc0FjbEVudHJ5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgYWNsUm9sZXM6IEFjbFJvbGVbXSA9IFtdO1xuICBwdWJsaWMgYWNsT2JqZWN0RW50cnk6IEFjbE9iamVjdEVudHJ5O1xuICBwdWJsaWMgYWNsT2JqZWN0Um9sZTogQWNsT2JqZWN0Um9sZTtcbiAgcHVibGljIGluZGV4ZWRBY2xSb2xlTGV2ZWxzID0ge307XG4gIHB1YmxpYyB0aXRsZUVkaXQgPSAnRWRpdCBSb2xlcyc7XG4gIHB1YmxpYyB0aXRsZUFkZCA9ICdBc3NpZ24gUm9sZXMnO1xuICBwdWJsaWMgcmVxdWlyZWQgPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2FwcEFjbFNlcnZpY2U6IEZzQXBwQWNsU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxGc0FjbEVudHJ5Q29tcG9uZW50PixcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9tZXNzYWdlOiBGc01lc3NhZ2UsXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHByaXZhdGUgcmVhZG9ubHkgX2RhdGE6IEFjbEVudHJ5RGF0YVxuICApIHtcbiAgICB0aGlzLmFjbE9iamVjdEVudHJ5ID0geyAuLi5fZGF0YS5hY2xPYmplY3RFbnRyeSB9O1xuICAgIHRoaXMucmVxdWlyZWQgPSBfZGF0YS5yZXF1aXJlZCA/PyB0cnVlO1xuXG4gICAgaWYgKF9kYXRhLnRpdGxlRWRpdCkge1xuICAgICAgdGhpcy50aXRsZUVkaXQgPSBfZGF0YS50aXRsZUVkaXQ7XG4gICAgfVxuXG4gICAgaWYgKF9kYXRhLnRpdGxlQWRkKSB7XG4gICAgICB0aGlzLnRpdGxlQWRkID0gX2RhdGEudGl0bGVBZGQ7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNhdmUgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGEuc2F2ZUFjbE9iamVjdEVudHJ5KHRoaXMuX2FwcEFjbFNlcnZpY2Uub3V0cHV0KHRoaXMuYWNsT2JqZWN0RW50cnkpKVxuICAgIC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIHRoaXMuX21lc3NhZ2Uuc3VjY2VzcygnU2F2ZWQgQ2hhbmdlcycpO1xuICAgICAgdGhpcy5jbG9zZShkYXRhKTtcbiAgICB9KVxuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIGZvcmtKb2luKFxuICAgICAgdGhpcy5fZGF0YS5sb2FkQWNsUm9sZXMoe1xuICAgICAgICBsZXZlbDogdGhpcy5hY2xPYmplY3RFbnRyeS5sZXZlbCxcbiAgICAgICAgZW52aXJvbm1lbnRJZDogdGhpcy5hY2xPYmplY3RFbnRyeS5lbnZpcm9ubWVudElkLFxuICAgICAgfSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChkYXRhKSA9PiB0aGlzLl9hcHBBY2xTZXJ2aWNlLmlucHV0KGRhdGEpKSxcbiAgICAgICAgKSxcbiAgICAgIHRoaXMuX2FwcEFjbFNlcnZpY2UuZ2V0SW5kZXhlZExldmVscygpXG4gICAgKVxuICAgICAgLnN1YnNjcmliZSgoW1xuICAgICAgICBhY2xSb2xlcyxcbiAgICAgICAgbGV2ZWxzLFxuICAgICAgXSkgPT4ge1xuXG4gICAgICAgIHRoaXMuYWNsUm9sZXMgPSBhY2xSb2xlcztcbiAgICAgICAgdGhpcy5pbmRleGVkQWNsUm9sZUxldmVscyA9IGxldmVscztcblxuICAgICAgICB0aGlzLmFjbE9iamVjdFJvbGUgPSB7XG4gICAgICAgICAgb2JqZWN0OiB0aGlzLmFjbE9iamVjdEVudHJ5Lm9iamVjdCxcbiAgICAgICAgICBhY2xSb2xlczogdGhpcy5hY2xPYmplY3RFbnRyeS5hY2xFbnRyaWVzXG4gICAgICAgICAgICAgICAgICAgIC5tYXAoKGFjbEVudHJ5OiBBY2xFbnRyeSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBhY2xFbnRyeS5hY2xSb2xlO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICB9O1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYWNsT2JqZWN0Um9sZUNoYW5nZShhY2xPYmplY3RSb2xlczogQWNsT2JqZWN0Um9sZVtdKSB7XG5cbiAgICB0aGlzLmFjbE9iamVjdEVudHJ5LmFjbEVudHJpZXMgPSBhY2xPYmplY3RSb2xlcy5yZWR1Y2UoKGFjbEVudHJpZXMsIGFjbE9iamVjdFJvbGUpID0+IHtcbiAgICAgIGFjbE9iamVjdFJvbGUuYWNsUm9sZXMuZm9yRWFjaChhY2xSb2xlID0+IHtcbiAgICAgICAgYWNsRW50cmllcy5wdXNoKHtcbiAgICAgICAgICBhY2xSb2xlSWQ6IGFjbFJvbGUuaWQsXG4gICAgICAgICAgYWNsUm9sZTogYWNsUm9sZSxcbiAgICAgICAgICBvYmplY3RJZDogYWNsT2JqZWN0Um9sZS5vYmplY3QgPyBhY2xPYmplY3RSb2xlLm9iamVjdC5pZCA6IG51bGwsXG4gICAgICAgICAgb2JqZWN0OiBhY2xPYmplY3RSb2xlLm9iamVjdCB8fCBudWxsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiBhY2xFbnRyaWVzO1xuICAgIH0sIFtdKTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZShkYXRhID0gbnVsbCkge1xuICAgIHRoaXMuX2RpYWxvZ1JlZi5jbG9zZShkYXRhKTtcbiAgfVxuXG59XG4iXX0=
@@ -1,2 +1,2 @@
1
- export * from './acl-entry.component';
1
+ export * from './acl-entry.component';
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZmlyZXN0aXRjaC9hcHAtYWNsLyIsInNvdXJjZXMiOlsiYXBwL2NvbXBvbmVudHMvYWNsLWVudHJ5L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FjbC1lbnRyeS5jb21wb25lbnQnO1xuIl19