@mediusinc/mng-commons-audit 5.5.0-rc.1 → 5.5.0-rc.2

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 (33) hide show
  1. package/esm2022/lib/api/models/entityChange.mjs +1 -1
  2. package/esm2022/lib/api/models/guiEntityModel.mjs +1 -1
  3. package/esm2022/lib/api/models/guiPropertyModel.mjs +1 -1
  4. package/esm2022/lib/api/models/guiPropertyType.mjs +1 -14
  5. package/esm2022/lib/api/models/guiRelationModel.mjs +1 -12
  6. package/esm2022/lib/api/models/revEntityWithChangesDto.mjs +1 -1
  7. package/esm2022/lib/api/models/revEntityWithStateDto.mjs +1 -1
  8. package/esm2022/lib/api/models/revisionType.mjs +1 -14
  9. package/esm2022/lib/api/services/audit-revisions-api.service.mjs +4 -5
  10. package/esm2022/lib/components/entity-changes-field/entity-changes-field.component.mjs +31 -20
  11. package/esm2022/lib/components/pages/entity-revisions/audit-entity-revisions.page.component.mjs +39 -32
  12. package/esm2022/lib/components/pages/revisions/audit-revisions.page.component.mjs +17 -15
  13. package/esm2022/lib/helpers/descriptor.mjs +136 -0
  14. package/esm2022/lib/helpers/entity-changes.mjs +42 -0
  15. package/esm2022/lib/helpers/i18n.mjs +14 -0
  16. package/fesm2022/mediusinc-mng-commons-audit.mjs +282 -325
  17. package/fesm2022/mediusinc-mng-commons-audit.mjs.map +1 -1
  18. package/lib/api/models/entityChange.d.ts +0 -11
  19. package/lib/api/models/guiEntityModel.d.ts +0 -11
  20. package/lib/api/models/guiPropertyModel.d.ts +0 -11
  21. package/lib/api/models/guiRelationModel.d.ts +0 -11
  22. package/lib/api/models/revEntityWithChangesDto.d.ts +0 -11
  23. package/lib/api/models/revEntityWithStateDto.d.ts +0 -11
  24. package/lib/components/entity-changes-field/entity-changes-field.component.d.ts +5 -8
  25. package/lib/components/pages/entity-revisions/audit-entity-revisions.page.component.d.ts +8 -15
  26. package/lib/components/pages/revisions/audit-revisions.page.component.d.ts +5 -7
  27. package/lib/helpers/descriptor.d.ts +10 -0
  28. package/lib/helpers/entity-changes.d.ts +5 -0
  29. package/lib/helpers/i18n.d.ts +3 -0
  30. package/package.json +2 -2
  31. package/version-info.json +5 -5
  32. package/esm2022/lib/utils/audit.util.mjs +0 -227
  33. package/lib/utils/audit.util.d.ts +0 -22
@@ -1,7 +1,6 @@
1
- import { AsyncPipe, JsonPipe } from '@angular/common';
2
1
  import { ChangeDetectionStrategy, Component, Injector, computed, inject, signal } from '@angular/core';
3
2
  import { toSignal } from '@angular/core/rxjs-interop';
4
- import { RouterOutlet } from '@angular/router';
3
+ import { TranslateService } from '@ngx-translate/core';
5
4
  import { map } from 'rxjs/operators';
6
5
  import { itemIdToDefined } from '@mediusinc/mng-commons/core';
7
6
  import { model } from '@mediusinc/mng-commons/model';
@@ -9,36 +8,35 @@ import { TableviewComponent } from '@mediusinc/mng-commons/tableview';
9
8
  import { TableviewEditorTypeEnum, actionEditorDetails, editorDescriptor, tableviewDataProviderWithService, tableviewDescriptor } from '@mediusinc/mng-commons/tableview/api';
10
9
  import { AuditRevisionsApiService } from '../../../api/services/audit-revisions-api.service';
11
10
  import { AuditService } from '../../../api/services/audit.service';
12
- import { AuditUtil } from '../../../utils/audit.util';
11
+ import { auditAddColumnsFromModel, auditAddFieldsFromModel } from '../../../helpers/descriptor';
13
12
  import { EntityChangesFieldComponent } from '../../entity-changes-field/entity-changes-field.component';
14
13
  import * as i0 from "@angular/core";
15
14
  export class AuditRevisionsPageComponent {
16
15
  constructor() {
17
- this.injector = inject(Injector);
18
- this.auditService = inject(AuditService);
19
- this.revModel = toSignal(this.auditService.revModel$);
20
- this.showTableview = computed(() => this.revModel() != null);
16
+ this.#injector = inject(Injector);
17
+ this.#translate = inject(TranslateService);
18
+ this.#auditService = inject(AuditService);
19
+ this.#revModel = toSignal(this.#auditService.revModel$);
20
+ this.showTableview = computed(() => this.#revModel() != null);
21
21
  this.descriptor = computed(() => {
22
- const revModel = this.revModel();
22
+ const revModel = this.#revModel();
23
23
  if (revModel) {
24
24
  const idProperty = revModel.properties?.filter(prop => prop.isId).map(prop => prop.resolvedPropertyName)[0];
25
25
  const revEntModel = model({ id: 'rev', title: 'rev', i18nBase: 'MngRevEntity' });
26
- if (revModel.entityName)
27
- revEntModel.withI18nBase(revModel.entityName);
28
26
  if (idProperty)
29
27
  revEntModel.withIdPropertyUnsafe(idProperty);
30
28
  const desc = tableviewDescriptor(revEntModel);
31
29
  const detailsDescriptor = editorDescriptor({ i18nBase: 'MngRevEntity', tableviewEditorType: TableviewEditorTypeEnum.Details });
32
30
  detailsDescriptor.model.withIdPropertyUnsafe('revEntity.' + idProperty);
33
31
  if (revModel.properties) {
34
- AuditUtil.addColumnsFromModel(desc.table, revModel.properties);
35
- AuditUtil.addFieldsFromModel(detailsDescriptor, revModel.properties);
32
+ auditAddColumnsFromModel(this.#translate, desc.table, revModel.entityName ?? '', revModel.properties);
33
+ auditAddFieldsFromModel(this.#translate, detailsDescriptor, revModel.entityName ?? '', revModel.properties);
36
34
  }
37
35
  detailsDescriptor
38
36
  .addField('entityNameChangesMap')
39
37
  .asCustomComponent(EntityChangesFieldComponent, {
40
38
  fieldWrappers: ['field-no-label'],
41
- inputs: { injector: this.injector }
39
+ inputs: { injector: this.#injector }
42
40
  })
43
41
  .withDisabled();
44
42
  desc.withDetailsDescriptor(detailsDescriptor); // MngRevEntity is extended by MngRevEntityWithChangesDto, so no real harm here
@@ -61,11 +59,15 @@ export class AuditRevisionsPageComponent {
61
59
  return [detailsAction];
62
60
  });
63
61
  }
62
+ #injector;
63
+ #translate;
64
+ #auditService;
65
+ #revModel;
64
66
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AuditRevisionsPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
65
67
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: AuditRevisionsPageComponent, isStandalone: true, selector: "mng-audit-revisions-page", providers: [AuditRevisionsApiService], ngImport: i0, template: "@if (showTableview()) {\n <mng-tableview [descriptor]=\"descriptor()\" [dataProvider]=\"dataProvider()\" [actions]=\"actions()\"></mng-tableview>\n}\n", dependencies: [{ kind: "component", type: TableviewComponent, selector: "mng-tableview", inputs: ["descriptor", "dataProvider", "actions"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
66
68
  }
67
69
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AuditRevisionsPageComponent, decorators: [{
68
70
  type: Component,
69
- args: [{ standalone: true, selector: 'mng-audit-revisions-page', imports: [TableviewComponent, AsyncPipe, RouterOutlet, JsonPipe], providers: [AuditRevisionsApiService], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (showTableview()) {\n <mng-tableview [descriptor]=\"descriptor()\" [dataProvider]=\"dataProvider()\" [actions]=\"actions()\"></mng-tableview>\n}\n" }]
71
+ args: [{ standalone: true, selector: 'mng-audit-revisions-page', imports: [TableviewComponent], providers: [AuditRevisionsApiService], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (showTableview()) {\n <mng-tableview [descriptor]=\"descriptor()\" [dataProvider]=\"dataProvider()\" [actions]=\"actions()\"></mng-tableview>\n}\n" }]
70
72
  }] });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtcmV2aXNpb25zLnBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL3BhZ2VzL3JldmlzaW9ucy9hdWRpdC1yZXZpc2lvbnMucGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvcGFnZXMvcmV2aXNpb25zL2F1ZGl0LXJldmlzaW9ucy5wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUU3QyxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBR0gsdUJBQXVCLEVBQ3ZCLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFDaEIsZ0NBQWdDLEVBQ2hDLG1CQUFtQixFQUN0QixNQUFNLHNDQUFzQyxDQUFDO0FBRzlDLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQzNGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUdqRSxPQUFPLEVBQUMsU0FBUyxF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Z3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0b3IsIGNvbXB1dGVkLCBpbmplY3QsIHNpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3RvU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1JvdXRlck91dGxldH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtpdGVtSWRUb0RlZmluZWR9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5pbXBvcnQge21vZGVsfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL21vZGVsJztcbmltcG9ydCB7VGFibGV2aWV3Q29tcG9uZW50fSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL3RhYmxldmlldyc7XG5pbXBvcnQge1xuICAgIEFjdGlvbkRlc2NyaXB0b3JJbnN0LFxuICAgIEVkaXRvckRlc2NyaXB0b3JJbnN0LFxuICAgIFRhYmxldmlld0VkaXRvclR5cGVFbnVtLFxuICAgIGFjdGlvbkVkaXRvckRldGFpbHMsXG4gICAgZWRpdG9yRGVzY3JpcHRvcixcbiAgICB0YWJsZXZpZXdEYXRhUHJvdmlkZXJXaXRoU2VydmljZSxcbiAgICB0YWJsZXZpZXdEZXNjcmlwdG9yXG59IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvdGFibGV2aWV3L2FwaSc7XG5cbmltcG9ydCB7UmV2RW50aXR5V2l0aENoYW5nZXNEdG99IGZyb20gJy4uLy4uLy4uL2FwaS9tb2RlbHMvcmV2RW50aXR5V2l0aENoYW5nZXNEdG8nO1xuaW1wb3J0IHtBdWRpdFJldmlzaW9uc0FwaVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2FwaS9zZXJ2aWNlcy9hdWRpdC1yZXZpc2lvbnMtYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHtBdWRpdFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2FwaS9zZXJ2aWNlcy9hdWRpdC5zZXJ2aWNlJztcbmltcG9ydCB7UmV2RW50aXR5RGV0YWlsZWR9IGZyb20gJy4uLy4uLy4uL21vZGVscy9yZXYtZW50aXR5LWRldGFpbGVkLm1vZGVsJztcbmltcG9ydCB7UmV2RW50aXR5fSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcmV2LWVudGl0eS5tb2RlbCc7XG5pbXBvcnQge0F1ZGl0VXRpbH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvYXVkaXQudXRpbCc7XG5pbXBvcnQge0VudGl0eUNoYW5nZXNGaWVsZENvbXBvbmVudH0gZnJvbSAnLi4vLi4vZW50aXR5LWNoYW5nZXMtZmllbGQvZW50aXR5LWNoYW5nZXMtZmllbGQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ21uZy1hdWRpdC1yZXZpc2lvbnMtcGFnZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2F1ZGl0LXJldmlzaW9ucy5wYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgICBpbXBvcnRzOiBbVGFibGV2aWV3Q29tcG9uZW50LCBBc3luY1BpcGUsIFJvdXRlck91dGxldCwgSnNvblBpcGVdLFxuICAgIHByb3ZpZGVyczogW0F1ZGl0UmV2aXNpb25zQXBpU2VydmljZV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQXVkaXRSZXZpc2lvbnNQYWdlQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgICBwcml2YXRlIGF1ZGl0U2VydmljZSA9IGluamVjdChBdWRpdFNlcnZpY2UpO1xuXG4gICAgcHJpdmF0ZSByZXZNb2RlbCA9IHRvU2lnbmFsKHRoaXMuYXVkaXRTZXJ2aWNlLnJldk1vZGVsJCk7XG4gICAgcHVibGljIHNob3dUYWJsZXZpZXcgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJldk1vZGVsKCkgIT0gbnVsbCk7XG5cbiAgICBwdWJsaWMgZGVzY3JpcHRvciA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgcmV2TW9kZWwgPSB0aGlzLnJldk1vZGVsKCk7XG4gICAgICAgIGlmIChyZXZNb2RlbCkge1xuICAgICAgICAgICAgY29uc3QgaWRQcm9wZXJ0eSA9IHJldk1vZGVsLnByb3BlcnRpZXM/LmZpbHRlcihwcm9wID0+IHByb3AuaXNJZCkubWFwKHByb3AgPT4gcHJvcC5yZXNvbHZlZFByb3BlcnR5TmFtZSlbMF07XG5cbiAgICAgICAgICAgIGNvbnN0IHJldkVudE1vZGVsID0gbW9kZWw8UmV2RW50aXR5Pih7aWQ6ICdyZXYnLCB0aXRsZTogJ3JldicsIGkxOG5CYXNlOiAnTW5nUmV2RW50aXR5J30pO1xuICAgICAgICAgICAgaWYgKHJldk1vZGVsLmVudGl0eU5hbWUpIHJldkVudE1vZGVsLndpdGhJMThuQmFzZShyZXZNb2RlbC5lbnRpdHlOYW1lKTtcbiAgICAgICAgICAgIGlmIChpZFByb3BlcnR5KSByZXZFbnRNb2RlbC53aXRoSWRQcm9wZXJ0eVVuc2FmZShpZFByb3BlcnR5KTtcblxuICAgICAgICAgICAgY29uc3QgZGVzYyA9IHRhYmxldmlld0Rlc2NyaXB0b3IocmV2RW50TW9kZWwpO1xuXG4gICAgICAgICAgICBjb25zdCBkZXRhaWxzRGVzY3JpcHRvciA9IGVkaXRvckRlc2NyaXB0b3I8UmV2RW50aXR5V2l0aENoYW5nZXNEdG8+KHtpMThuQmFzZTogJ01uZ1JldkVudGl0eScsIHRhYmxldmlld0VkaXRvclR5cGU6IFRhYmxldmlld0VkaXRvclR5cGVFbnVtLkRldGFpbHN9KTtcbiAgICAgICAgICAgIGRldGFpbHNEZXNjcmlwdG9yLm1vZGVsLndpdGhJZFByb3BlcnR5VW5zYWZlKCdyZXZFbnRpdHkuJyArIGlkUHJvcGVydHkpO1xuXG4gICAgICAgICAgICBpZiAocmV2TW9kZWwucHJvcGVydGllcykge1xuICAgICAgICAgICAgICAgIEF1ZGl0VXRpbC5hZGRDb2x1bW5zRnJvbU1vZGVsKGRlc2MudGFibGUsIHJldk1vZGVsLnByb3BlcnRpZXMpO1xuICAgICAgICAgICAgICAgIEF1ZGl0VXRpbC5hZGRGaWVsZHNGcm9tTW9kZWw8UmV2RW50aXR5V2l0aENoYW5nZXNEdG8+KGRldGFpbHNEZXNjcmlwdG9yLCByZXZNb2RlbC5wcm9wZXJ0aWVzKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZGV0YWlsc0Rlc2NyaXB0b3JcbiAgICAgICAgICAgICAgICAuYWRkRmllbGQoJ2VudGl0eU5hbWVDaGFuZ2VzTWFwJylcbiAgICAgICAgICAgICAgICAuYXNDdXN0b21Db21wb25lbnQoRW50aXR5Q2hhbmdlc0ZpZWxkQ29tcG9uZW50LCB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkV3JhcHBlcnM6IFsnZmllbGQtbm8tbGFiZWwnXSxcbiAgICAgICAgICAgICAgICAgICAgaW5wdXRzOiB7aW5qZWN0b3I6IHRoaXMuaW5qZWN0b3J9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAud2l0aERpc2FibGVkKCk7XG5cbiAgICAgICAgICAgIGRlc2Mud2l0aERldGFpbHNEZXNjcmlwdG9yKGRldGFpbHNEZXNjcmlwdG9yIGFzIEVkaXRvckRlc2NyaXB0b3JJbnN0PFJldkVudGl0eT4pOyAvLyBNbmdSZXZFbnRpdHkgaXMgZXh0ZW5kZWQgYnkgTW5nUmV2RW50aXR5V2l0aENoYW5nZXNEdG8sIHNvIG5vIHJlYWwgaGFybSBoZXJlXG5cbiAgICAgICAgICAgIHJldHVybiBkZXNjO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0YWJsZXZpZXdEZXNjcmlwdG9yPFJldkVudGl0eT4oKTtcbiAgICB9KTtcbiAgICBwdWJsaWMgZGF0YVByb3ZpZGVyID0gc2lnbmFsKFxuICAgICAgICB0YWJsZXZpZXdEYXRhUHJvdmlkZXJXaXRoU2VydmljZTxBdWRpdFJldmlzaW9uc0FwaVNlcnZpY2UsIFJldkVudGl0eT4oQXVkaXRSZXZpc2lvbnNBcGlTZXJ2aWNlKS53aXRoR2V0QWxsKChwYXJhbXMsIHNlcnZpY2UpID0+XG4gICAgICAgICAgICBzZXJ2aWNlLmdldFJldmlzaW9uTGlzdChwYXJhbXMpLnBpcGUobWFwKHJlcyA9PiAoe2RhdGE6IHJlcy5kYXRhLCB0b3RhbENvdW50OiByZXMudG90YWxDb3VudH0pKSlcbiAgICAgICAgKVxuICAgICk7XG4gICAgcHVibGljIGFjdGlvbnMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGRldGFpbHNBY3Rpb24gPSBhY3Rpb25FZGl0b3JEZXRhaWxzKHRoaXMuZGVzY3JpcHRvcigpLmRldGFpbHNFZGl0b3IsIEF1ZGl0UmV2aXNpb25zQXBpU2VydmljZSkud2l0aEZldGNoRnVuY3Rpb24oY3R4ID0+IHtcbiAgICAgICAgICAgIHJldHVybiBjdHguc2VydmljZUluc3RhbmNlLmdldEFsbENoYW5nZXNGb3JSZXZpc2lvbihpdGVtSWRUb0RlZmluZWQoY3R4LnBhcmFtZXRlcnMuaXRlbUlkKSkucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJldkVudGl0eVdpdGhDaGFuZ2VzOiBSZXZFbnRpdHlEZXRhaWxlZCA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldjogY3R4LnBhcmFtZXRlcnMuaXRlbUlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmV2RW50aXR5OiBpdGVtLnJldkVudGl0eSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eU5hbWVDaGFuZ2VzTWFwOiBpdGVtLmVudGl0eU5hbWVDaGFuZ2VzTWFwXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXZFbnRpdHlXaXRoQ2hhbmdlcztcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIFtkZXRhaWxzQWN0aW9uXSBhcyBBY3Rpb25EZXNjcmlwdG9ySW5zdDxSZXZFbnRpdHk+W107XG4gICAgfSk7XG59XG4iLCJAaWYgKHNob3dUYWJsZXZpZXcoKSkge1xuICAgIDxtbmctdGFibGV2aWV3IFtkZXNjcmlwdG9yXT1cImRlc2NyaXB0b3IoKVwiIFtkYXRhUHJvdmlkZXJdPVwiZGF0YVByb3ZpZGVyKClcIiBbYWN0aW9uc109XCJhY3Rpb25zKClcIj48L21uZy10YWJsZXZpZXc+XG59XG4iXX0=
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtcmV2aXNpb25zLnBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL3BhZ2VzL3JldmlzaW9ucy9hdWRpdC1yZXZpc2lvbnMucGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvcGFnZXMvcmV2aXNpb25zL2F1ZGl0LXJldmlzaW9ucy5wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUVwRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBR0gsdUJBQXVCLEVBQ3ZCLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFDaEIsZ0NBQWdDLEVBQ2hDLG1CQUFtQixFQUN0QixNQUFNLHNDQUFzQyxDQUFDO0FBRzlDLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQzNGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNqRSxPQUFPLEVBQUMsd0JBQXdCLEVBQUUsdUJBQXVCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUc5RixPQUFPLEVBQUMs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b250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0b3IsIGNvbXB1dGVkLCBpbmplY3QsIHNpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3RvU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge2l0ZW1JZFRvRGVmaW5lZH0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcbmltcG9ydCB7bW9kZWx9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvbW9kZWwnO1xuaW1wb3J0IHtUYWJsZXZpZXdDb21wb25lbnR9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvdGFibGV2aWV3JztcbmltcG9ydCB7XG4gICAgQWN0aW9uRGVzY3JpcHRvckluc3QsXG4gICAgRWRpdG9yRGVzY3JpcHRvckluc3QsXG4gICAgVGFibGV2aWV3RWRpdG9yVHlwZUVudW0sXG4gICAgYWN0aW9uRWRpdG9yRGV0YWlscyxcbiAgICBlZGl0b3JEZXNjcmlwdG9yLFxuICAgIHRhYmxldmlld0RhdGFQcm92aWRlcldpdGhTZXJ2aWNlLFxuICAgIHRhYmxldmlld0Rlc2NyaXB0b3Jcbn0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy90YWJsZXZpZXcvYXBpJztcblxuaW1wb3J0IHtSZXZFbnRpdHlXaXRoQ2hhbmdlc0R0b30gZnJvbSAnLi4vLi4vLi4vYXBpL21vZGVscy9yZXZFbnRpdHlXaXRoQ2hhbmdlc0R0byc7XG5pbXBvcnQge0F1ZGl0UmV2aXNpb25zQXBpU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vYXBpL3NlcnZpY2VzL2F1ZGl0LXJldmlzaW9ucy1hcGkuc2VydmljZSc7XG5pbXBvcnQge0F1ZGl0U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vYXBpL3NlcnZpY2VzL2F1ZGl0LnNlcnZpY2UnO1xuaW1wb3J0IHthdWRpdEFkZENvbHVtbnNGcm9tTW9kZWwsIGF1ZGl0QWRkRmllbGRzRnJvbU1vZGVsfSBmcm9tICcuLi8uLi8uLi9oZWxwZXJzL2Rlc2NyaXB0b3InO1xuaW1wb3J0IHtSZXZFbnRpdHlEZXRhaWxlZH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3Jldi1lbnRpdHktZGV0YWlsZWQubW9kZWwnO1xuaW1wb3J0IHtSZXZFbnRpdHl9IGZyb20gJy4uLy4uLy4uL21vZGVscy9yZXYtZW50aXR5Lm1vZGVsJztcbmltcG9ydCB7RW50aXR5Q2hhbmdlc0ZpZWxkQ29tcG9uZW50fSBmcm9tICcuLi8uLi9lbnRpdHktY2hhbmdlcy1maWVsZC9lbnRpdHktY2hhbmdlcy1maWVsZC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnbW5nLWF1ZGl0LXJldmlzaW9ucy1wYWdlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXVkaXQtcmV2aXNpb25zLnBhZ2UuY29tcG9uZW50Lmh0bWwnLFxuICAgIGltcG9ydHM6IFtUYWJsZXZpZXdDb21wb25lbnRdLFxuICAgIHByb3ZpZGVyczogW0F1ZGl0UmV2aXNpb25zQXBpU2VydmljZV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQXVkaXRSZXZpc2lvbnNQYWdlQ29tcG9uZW50IHtcbiAgICByZWFkb25seSAjaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICAgIHJlYWRvbmx5ICN0cmFuc2xhdGUgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XG4gICAgcmVhZG9ubHkgI2F1ZGl0U2VydmljZSA9IGluamVjdChBdWRpdFNlcnZpY2UpO1xuXG4gICAgcmVhZG9ubHkgI3Jldk1vZGVsID0gdG9TaWduYWwodGhpcy4jYXVkaXRTZXJ2aWNlLnJldk1vZGVsJCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHNob3dUYWJsZXZpZXcgPSBjb21wdXRlZCgoKSA9PiB0aGlzLiNyZXZNb2RlbCgpICE9IG51bGwpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlc2NyaXB0b3IgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHJldk1vZGVsID0gdGhpcy4jcmV2TW9kZWwoKTtcbiAgICAgICAgaWYgKHJldk1vZGVsKSB7XG4gICAgICAgICAgICBjb25zdCBpZFByb3BlcnR5ID0gcmV2TW9kZWwucHJvcGVydGllcz8uZmlsdGVyKHByb3AgPT4gcHJvcC5pc0lkKS5tYXAocHJvcCA9PiBwcm9wLnJlc29sdmVkUHJvcGVydHlOYW1lKVswXTtcblxuICAgICAgICAgICAgY29uc3QgcmV2RW50TW9kZWwgPSBtb2RlbDxSZXZFbnRpdHk+KHtpZDogJ3JldicsIHRpdGxlOiAncmV2JywgaTE4bkJhc2U6ICdNbmdSZXZFbnRpdHknfSk7XG4gICAgICAgICAgICBpZiAoaWRQcm9wZXJ0eSkgcmV2RW50TW9kZWwud2l0aElkUHJvcGVydHlVbnNhZmUoaWRQcm9wZXJ0eSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGRlc2MgPSB0YWJsZXZpZXdEZXNjcmlwdG9yKHJldkVudE1vZGVsKTtcblxuICAgICAgICAgICAgY29uc3QgZGV0YWlsc0Rlc2NyaXB0b3IgPSBlZGl0b3JEZXNjcmlwdG9yPFJldkVudGl0eVdpdGhDaGFuZ2VzRHRvPih7aTE4bkJhc2U6ICdNbmdSZXZFbnRpdHknLCB0YWJsZXZpZXdFZGl0b3JUeXBlOiBUYWJsZXZpZXdFZGl0b3JUeXBlRW51bS5EZXRhaWxzfSk7XG4gICAgICAgICAgICBkZXRhaWxzRGVzY3JpcHRvci5tb2RlbC53aXRoSWRQcm9wZXJ0eVVuc2FmZSgncmV2RW50aXR5LicgKyBpZFByb3BlcnR5KTtcblxuICAgICAgICAgICAgaWYgKHJldk1vZGVsLnByb3BlcnRpZXMpIHtcbiAgICAgICAgICAgICAgICBhdWRpdEFkZENvbHVtbnNGcm9tTW9kZWwodGhpcy4jdHJhbnNsYXRlLCBkZXNjLnRhYmxlLCByZXZNb2RlbC5lbnRpdHlOYW1lID8/ICcnLCByZXZNb2RlbC5wcm9wZXJ0aWVzKTtcbiAgICAgICAgICAgICAgICBhdWRpdEFkZEZpZWxkc0Zyb21Nb2RlbDxSZXZFbnRpdHlXaXRoQ2hhbmdlc0R0bz4odGhpcy4jdHJhbnNsYXRlLCBkZXRhaWxzRGVzY3JpcHRvciwgcmV2TW9kZWwuZW50aXR5TmFtZSA/PyAnJywgcmV2TW9kZWwucHJvcGVydGllcyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGRldGFpbHNEZXNjcmlwdG9yXG4gICAgICAgICAgICAgICAgLmFkZEZpZWxkKCdlbnRpdHlOYW1lQ2hhbmdlc01hcCcpXG4gICAgICAgICAgICAgICAgLmFzQ3VzdG9tQ29tcG9uZW50KEVudGl0eUNoYW5nZXNGaWVsZENvbXBvbmVudCwge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZFdyYXBwZXJzOiBbJ2ZpZWxkLW5vLWxhYmVsJ10sXG4gICAgICAgICAgICAgICAgICAgIGlucHV0czoge2luamVjdG9yOiB0aGlzLiNpbmplY3Rvcn1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC53aXRoRGlzYWJsZWQoKTtcblxuICAgICAgICAgICAgZGVzYy53aXRoRGV0YWlsc0Rlc2NyaXB0b3IoZGV0YWlsc0Rlc2NyaXB0b3IgYXMgRWRpdG9yRGVzY3JpcHRvckluc3Q8UmV2RW50aXR5Pik7IC8vIE1uZ1JldkVudGl0eSBpcyBleHRlbmRlZCBieSBNbmdSZXZFbnRpdHlXaXRoQ2hhbmdlc0R0bywgc28gbm8gcmVhbCBoYXJtIGhlcmVcblxuICAgICAgICAgICAgcmV0dXJuIGRlc2M7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRhYmxldmlld0Rlc2NyaXB0b3I8UmV2RW50aXR5PigpO1xuICAgIH0pO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBkYXRhUHJvdmlkZXIgPSBzaWduYWwoXG4gICAgICAgIHRhYmxldmlld0RhdGFQcm92aWRlcldpdGhTZXJ2aWNlPEF1ZGl0UmV2aXNpb25zQXBpU2VydmljZSwgUmV2RW50aXR5PihBdWRpdFJldmlzaW9uc0FwaVNlcnZpY2UpLndpdGhHZXRBbGwoKHBhcmFtcywgc2VydmljZSkgPT5cbiAgICAgICAgICAgIHNlcnZpY2UuZ2V0UmV2aXNpb25MaXN0KHBhcmFtcykucGlwZShtYXAocmVzID0+ICh7ZGF0YTogcmVzLmRhdGEsIHRvdGFsQ291bnQ6IHJlcy50b3RhbENvdW50fSkpKVxuICAgICAgICApXG4gICAgKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWN0aW9ucyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgZGV0YWlsc0FjdGlvbiA9IGFjdGlvbkVkaXRvckRldGFpbHModGhpcy5kZXNjcmlwdG9yKCkuZGV0YWlsc0VkaXRvciwgQXVkaXRSZXZpc2lvbnNBcGlTZXJ2aWNlKS53aXRoRmV0Y2hGdW5jdGlvbihjdHggPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGN0eC5zZXJ2aWNlSW5zdGFuY2UuZ2V0QWxsQ2hhbmdlc0ZvclJldmlzaW9uKGl0ZW1JZFRvRGVmaW5lZChjdHgucGFyYW1ldGVycy5pdGVtSWQpKS5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChpdGVtID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmV2RW50aXR5V2l0aENoYW5nZXM6IFJldkVudGl0eURldGFpbGVkID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV2OiBjdHgucGFyYW1ldGVycy5pdGVtSWQsXG4gICAgICAgICAgICAgICAgICAgICAgICByZXZFbnRpdHk6IGl0ZW0ucmV2RW50aXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5TmFtZUNoYW5nZXNNYXA6IGl0ZW0uZW50aXR5TmFtZUNoYW5nZXNNYXBcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJldkVudGl0eVdpdGhDaGFuZ2VzO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gW2RldGFpbHNBY3Rpb25dIGFzIEFjdGlvbkRlc2NyaXB0b3JJbnN0PFJldkVudGl0eT5bXTtcbiAgICB9KTtcbn1cbiIsIkBpZiAoc2hvd1RhYmxldmlldygpKSB7XG4gICAgPG1uZy10YWJsZXZpZXcgW2Rlc2NyaXB0b3JdPVwiZGVzY3JpcHRvcigpXCIgW2RhdGFQcm92aWRlcl09XCJkYXRhUHJvdmlkZXIoKVwiIFthY3Rpb25zXT1cImFjdGlvbnMoKVwiPjwvbW5nLXRhYmxldmlldz5cbn1cbiJdfQ==
@@ -0,0 +1,136 @@
1
+ import { lookupDataProvider } from '@mediusinc/mng-commons/form/api';
2
+ import { enumModelGeneric } from '@mediusinc/mng-commons/model';
3
+ import { GuiPropertyTypeDto } from '../api/models/guiPropertyType';
4
+ import { revisionTypeEnum } from '../api/models/revisionType';
5
+ import { getI18nAuditEntityProperty } from '../helpers/i18n';
6
+ export function auditAddColumnsFromModel(translate, descriptor, entityName, properties, modelType = undefined, addFilters = true, addSorts = true) {
7
+ for (const property of properties) {
8
+ if (!property.resolvedPropertyName) {
9
+ continue;
10
+ }
11
+ const isEnum = property.propertyType === GuiPropertyTypeDto.Enum;
12
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
13
+ let column = null;
14
+ if (isEnum) {
15
+ if (!property.possibleEnumValues) {
16
+ continue;
17
+ }
18
+ const enumModel = getEnumModel(property);
19
+ if (enumModel) {
20
+ column = descriptor.addColumnEnum(property.resolvedPropertyName, enumModel);
21
+ if (addFilters) {
22
+ descriptor.addFilterLookupEnum(column.property, enumModel, property.possibleEnumValues);
23
+ }
24
+ }
25
+ else {
26
+ column = descriptor.addColumnUnsafe(property.resolvedPropertyName);
27
+ if (addFilters) {
28
+ descriptor.addFilterLookupUnsafe(column.property, lookupDataProvider().withLookup(() => property.possibleEnumValues ?? []));
29
+ }
30
+ }
31
+ }
32
+ else if (property.propertyType === GuiPropertyTypeDto.Number) {
33
+ column = descriptor.addColumnUnsafe(property.resolvedPropertyName).asNumber();
34
+ }
35
+ else if (property.propertyType === GuiPropertyTypeDto.Boolean) {
36
+ column = descriptor.addColumnUnsafe(property.resolvedPropertyName).asBoolean();
37
+ }
38
+ else if (property.propertyType === GuiPropertyTypeDto.LocalDate) {
39
+ column = descriptor.addColumnUnsafe(property.resolvedPropertyName).asDate('dd. MM yyyy');
40
+ }
41
+ else if (property.propertyType === GuiPropertyTypeDto.OffsetDateTime) {
42
+ column = descriptor.addColumnUnsafe(property.resolvedPropertyName).asDate('dd. MM yyyy HH:mm');
43
+ }
44
+ else {
45
+ // string / wildcard
46
+ column = descriptor.addColumnUnsafe(property.resolvedPropertyName).withTitle(getI18nAuditEntityProperty(translate, entityName, property.propertyName ?? '', modelType));
47
+ }
48
+ if (modelType) {
49
+ column.withGetter((value, item) => item?.[modelType]?.[property.resolvedPropertyName]);
50
+ }
51
+ column.withTitle(getI18nAuditEntityProperty(translate, entityName, property.propertyName ?? '', modelType));
52
+ if (!isEnum && addFilters) {
53
+ descriptor.addFilterFromColumnDescriptorUnsafe(column).withTitle(column.title ?? '');
54
+ }
55
+ if (addSorts) {
56
+ descriptor.withSortUnsafe(column.property);
57
+ }
58
+ }
59
+ return descriptor;
60
+ }
61
+ export function auditAddFieldsFromModel(translate, descriptor, entityName, properties, modelType = 'revEntity') {
62
+ for (const property of properties) {
63
+ if (!property.resolvedPropertyName) {
64
+ continue;
65
+ }
66
+ const fieldPrepend = `${modelType}.`;
67
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
68
+ let field;
69
+ if (property.propertyType === GuiPropertyTypeDto.Enum) {
70
+ const enumModel = getEnumModel(property);
71
+ if (enumModel) {
72
+ if (!property.possibleEnumValues) {
73
+ continue;
74
+ }
75
+ field = descriptor.addFieldLookupEnum((fieldPrepend + property.resolvedPropertyName), enumModel, property.possibleEnumValues);
76
+ }
77
+ else {
78
+ field = descriptor.addFieldUnsafe(fieldPrepend + property.resolvedPropertyName);
79
+ }
80
+ }
81
+ else if (property.propertyType === GuiPropertyTypeDto.Number) {
82
+ field = descriptor.addFieldUnsafe(fieldPrepend + property.resolvedPropertyName).asNumber();
83
+ }
84
+ else if (property.propertyType === GuiPropertyTypeDto.Boolean) {
85
+ field = descriptor.addFieldUnsafe(fieldPrepend + property.resolvedPropertyName);
86
+ }
87
+ else if (property.propertyType === GuiPropertyTypeDto.LocalDate) {
88
+ field = descriptor.addFieldUnsafe(fieldPrepend + property.resolvedPropertyName).asDatePicker({ format: 'dd. MMM yyyy' });
89
+ }
90
+ else if (property.propertyType === GuiPropertyTypeDto.OffsetDateTime) {
91
+ field = descriptor.addFieldUnsafe(fieldPrepend + property.resolvedPropertyName).asDatePicker({
92
+ format: 'dd. MM yy',
93
+ showTime: true,
94
+ showSeconds: false
95
+ });
96
+ }
97
+ else {
98
+ // string / wildcard
99
+ field = descriptor.addFieldUnsafe(fieldPrepend + property.resolvedPropertyName);
100
+ }
101
+ field.withLabel(getI18nAuditEntityProperty(translate, entityName, property.propertyName ?? '', modelType)).withDisabled();
102
+ }
103
+ return descriptor;
104
+ }
105
+ export function auditBuildTableviewEntityRevision(translate, descriptor, revModel, entityModel) {
106
+ const revType = descriptor.addColumnEnum('revType', revisionTypeEnum).withTitle('MngEntityRevisionChangeState.properties.revType');
107
+ descriptor.addFieldLookupEnum('revType', revisionTypeEnum).withLabel('MngEntityRevisionChangeState.properties.revType');
108
+ descriptor.table.addFilterFromColumnDescriptorUnsafe(revType);
109
+ if (revModel.properties) {
110
+ auditAddColumnsFromModel(translate, descriptor.table, revModel.entityName ?? '', revModel.properties, 'revEntity');
111
+ auditAddFieldsFromModel(translate, descriptor.detailsEditor, revModel.entityName ?? '', revModel.properties, 'revEntity');
112
+ }
113
+ if (entityModel.properties) {
114
+ auditAddColumnsFromModel(translate, descriptor.table, entityModel.entityName ?? '', entityModel.properties, 'entityState');
115
+ auditAddFieldsFromModel(translate, descriptor.detailsEditor, entityModel.entityName ?? '', entityModel.properties, 'entityState');
116
+ }
117
+ return descriptor;
118
+ }
119
+ export function getEnumModel(property) {
120
+ if (Array.isArray(property.possibleEnumValues)) {
121
+ const enumType = property.possibleEnumValues?.reduce((acc, v) => {
122
+ const constName = v
123
+ .split('_')
124
+ .map(s => (s.length > 1 ? s.substring(0, 1).toUpperCase() + s.substring(1).toLowerCase() : s))
125
+ .join('');
126
+ if (constName !== v) {
127
+ acc[constName] = v;
128
+ }
129
+ acc[v] = constName;
130
+ return acc;
131
+ }, {});
132
+ return enumModelGeneric(enumType, property.enumClassSimpleName);
133
+ }
134
+ return null;
135
+ }
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvaGVscGVycy9kZXNjcmlwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBTTlELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ2pFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRzNELE1BQU0sVUFBVSx3QkFBd0IsQ0FDcEMsU0FBMkIsRUFDM0IsVUFBa0MsRUFDbEMsVUFBa0IsRUFDbEIsVUFBaUMsRUFDakMsWUFBcUQsU0FBUyxFQUM5RCxVQUFVLEdBQUcsSUFBSSxFQUNqQixRQUFRLEdBQUcsSUFBSTtJQUVmLEtBQUssTUFBTSxRQUFRLElBQUksVUFBVSxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQ2pDLFNBQVM7UUFDYixDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLFlBQVksS0FBSyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7UUFDakUsOERBQThEO1FBQzlELElBQUksTUFBTSxHQUFvQyxJQUFJLENBQUM7UUFDbkQsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztnQkFDL0IsU0FBUztZQUNiLENBQUM7WUFFRCxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDekMsSUFBSSxTQUFTLEVBQUUsQ0FBQztnQkFDWixNQUFNLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENB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UCxNQUFNLFNBQVMsR0FBRyxDQUFDO2lCQUNkLEtBQUssQ0FBQyxHQUFHLENBQUM7aUJBQ1YsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQzdGLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNkLElBQUksU0FBUyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNsQixHQUFHLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZCLENBQUM7WUFDRCxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDO1lBQ25CLE9BQU8sR0FBRyxDQUFDO1FBQ2YsQ0FBQyxFQUNTLEVBQUUsQ0FDZixDQUFDO1FBQ0YsT0FBTyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQge0VudW1UeXBlfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuaW1wb3J0IHtsb29rdXBEYXRhUHJvdmlkZXJ9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvZm9ybS9hcGknO1xuaW1wb3J0IHtlbnVtTW9kZWxHZW5lcmljfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL21vZGVsJztcbmltcG9ydCB7Q29sdW1uRGVzY3JpcHRvciwgVGFibGVEZXNjcmlwdG9ySW5zdH0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy90YWJsZS9hcGknO1xuaW1wb3J0IHtBRmllbGREZXNjcmlwdG9yLCBFZGl0b3JEZXNjcmlwdG9ySW5zdCwgVGFibGV2aWV3RGVzY3JpcHRvckluc3R9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvdGFibGV2aWV3L2FwaSc7XG5cbmltcG9ydCB7R3VpRW50aXR5TW9kZWxEdG99IGZyb20gJy4uL2FwaS9tb2RlbHMvZ3VpRW50aXR5TW9kZWwnO1xuaW1wb3J0IHtHdWlQcm9wZXJ0eU1vZGVsRHRvfSBmcm9tICcuLi9hcGkvbW9kZWxzL2d1aVByb3BlcnR5TW9kZWwnO1xuaW1wb3J0IHtHdWlQcm9wZXJ0eVR5cGVEdG99IGZyb20gJy4uL2FwaS9tb2RlbHMvZ3VpUHJvcGVydHlUeXBlJztcbmltcG9ydCB7cmV2aXNpb25UeXBlRW51bX0gZnJvbSAnLi4vYXBpL21vZGVscy9yZXZpc2lvblR5cGUnO1xuaW1wb3J0IHtnZXRJMThuQXVkaXRFbnRpdHlQcm9wZXJ0eX0gZnJvbSAnLi4vaGVscGVycy9pMThuJztcbmltcG9ydCB7UmV2RW50aXR5V2l0aElkfSBmcm9tICcuLi9tb2RlbHMvcmV2RW50aXR5V2l0aElkLm1vZGVsJztcblxuZXhwb3J0IGZ1bmN0aW9uIGF1ZGl0QWRkQ29sdW1uc0Zyb21Nb2RlbDxUPihcbiAgICB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgZGVzY3JpcHRvcjogVGFibGVEZXNjcmlwdG9ySW5zdDxUPixcbiAgICBlbnRpdHlOYW1lOiBzdHJpbmcsXG4gICAgcHJvcGVydGllczogR3VpUHJvcGVydHlNb2RlbER0b1tdLFxuICAgIG1vZGVsVHlwZTogJ3JldkVudGl0eScgfCAnZW50aXR5U3RhdGUnIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLFxuICAgIGFkZEZpbHRlcnMgPSB0cnVlLFxuICAgIGFkZFNvcnRzID0gdHJ1ZVxuKTogVGFibGVEZXNjcmlwdG9ySW5zdDxUPiB7XG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBwcm9wZXJ0aWVzKSB7XG4gICAgICAgIGlmICghcHJvcGVydHkucmVzb2x2ZWRQcm9wZXJ0eU5hbWUpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXNFbnVtID0gcHJvcGVydHkucHJvcGVydHlUeXBlID09PSBHdWlQcm9wZXJ0eVR5cGVEdG8uRW51bTtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgbGV0IGNvbHVtbjogQ29sdW1uRGVzY3JpcHRvcjxhbnksIFQ+IHwgbnVsbCA9IG51bGw7XG4gICAgICAgIGlmIChpc0VudW0pIHtcbiAgICAgICAgICAgIGlmICghcHJvcGVydHkucG9zc2libGVFbnVtVmFsdWVzKSB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGVudW1Nb2RlbCA9IGdldEVudW1Nb2RlbChwcm9wZXJ0eSk7XG4gICAgICAgICAgICBpZiAoZW51bU1vZGVsKSB7XG4gICAgICAgICAgICAgICAgY29sdW1uID0gZGVzY3JpcHRvci5hZGRDb2x1bW5FbnVtKHByb3BlcnR5LnJlc29sdmVkUHJvcGVydHlOYW1lIGFzIGtleW9mIFQsIGVudW1Nb2RlbCk7XG4gICAgICAgICAgICAgICAgaWYgKGFkZEZpbHRlcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRvci5hZGRGaWx0ZXJMb29rdXBFbnVtKGNvbHVtbi5wcm9wZXJ0eSBhcyBrZXlvZiBULCBlbnVtTW9kZWwsIHByb3BlcnR5LnBvc3NpYmxlRW51bVZhbHVlcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb2x1bW4gPSBkZXNjcmlwdG9yLmFkZENvbHVtblVuc2FmZShwcm9wZXJ0eS5yZXNvbHZlZFByb3BlcnR5TmFtZSk7XG4gICAgICAgICAgICAgICAgaWYgKGFkZEZpbHRlcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRvci5hZGRGaWx0ZXJMb29rdXBVbnNhZmUoXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4ucHJvcGVydHksXG4gICAgICAgICAgICAgICAgICAgICAgICBsb29rdXBEYXRhUHJvdmlkZXI8c3RyaW5nPigpLndpdGhMb29rdXAoKCkgPT4gcHJvcGVydHkucG9zc2libGVFbnVtVmFsdWVzID8/IFtdKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChwcm9wZXJ0eS5wcm9wZXJ0eVR5cGUgPT09IEd1aVByb3BlcnR5VHlwZUR0by5OdW1iZXIpIHtcbiAgICAgICAgICAgIGNvbHVtbiA9IGRlc2NyaXB0b3IuYWRkQ29sdW1uVW5zYWZlKHByb3BlcnR5LnJlc29sdmVkUHJvcGVydHlOYW1lKS5hc051bWJlcigpO1xuICAgICAgICB9IGVsc2UgaWYgKHByb3BlcnR5LnByb3BlcnR5VHlwZSA9PT0gR3VpUHJvcGVydHlUeXBlRHRvLkJvb2xlYW4pIHtcbiAgICAgICAgICAgIGNvbHVtbiA9IGRlc2NyaXB0b3IuYWRkQ29sdW1uVW5zYWZlKHByb3BlcnR5LnJlc29sdmVkUHJvcGVydHlOYW1lKS5hc0Jvb2xlYW4oKTtcbiAgICAgICAgfSBlbHNlIGlmIChwcm9wZXJ0eS5wcm9wZXJ0eVR5cGUgPT09IEd1aVByb3BlcnR5VHlwZUR0by5Mb2NhbERhdGUpIHtcbiAgICAgICAgICAgIGNvbHVtbiA9IGRlc2NyaXB0b3IuYWRkQ29sdW1uVW5zYWZlKHByb3BlcnR5LnJlc29sdmVkUHJvcGVydHlOYW1lKS5hc0RhdGUoJ2RkLiBNTSB5eXl5Jyk7XG4gICAgICAgIH0gZWxzZSBpZiAocHJvcGVydHkucHJvcGVydHlUeXBlID09PSBHdWlQcm9wZXJ0eVR5cGVEdG8uT2Zmc2V0RGF0ZVRpbWUpIHtcbiAgICAgICAgICAgIGNvbHVtbiA9IGRlc2NyaXB0b3IuYWRkQ29sdW1uVW5zYWZlKHByb3BlcnR5LnJlc29sdmVkUHJvcGVydHlOYW1lKS5hc0RhdGUoJ2RkLiBNTSB5eXl5IEhIOm1tJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBzdHJpbmcgLyB3aWxkY2FyZFxuICAgICAgICAgICAgY29sdW1uID0gZGVzY3JpcHRvci5hZGRDb2x1bW5VbnNhZmUocHJvcGVydHkucmVzb2x2ZWRQcm9wZXJ0eU5hbWUpLndpdGhUaXRsZShnZXRJMThuQXVkaXRFbnRpdHlQcm9wZXJ0eSh0cmFuc2xhdGUsIGVudGl0eU5hbWUsIHByb3BlcnR5LnByb3BlcnR5TmFtZSA/PyAnJywgbW9kZWxUeXBlKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobW9kZWxUeXBlKSB7XG4gICAgICAgICAgICBjb2x1bW4ud2l0aEdldHRlcigodmFsdWUsIGl0ZW0pID0+IGl0ZW0/Llttb2RlbFR5cGUgYXMga2V5b2Ygb2JqZWN0XT8uW3Byb3BlcnR5LnJlc29sdmVkUHJvcGVydHlOYW1lIGFzIGtleW9mIG9iamVjdF0pO1xuICAgICAgICB9XG5cbiAgICAgICAgY29sdW1uLndpdGhUaXRsZShnZXRJMThuQXVkaXRFbnRpdHlQcm9wZXJ0eSh0cmFuc2xhdGUsIGVudGl0eU5hbWUsIHByb3BlcnR5LnByb3BlcnR5TmFtZSA/PyAnJywgbW9kZWxUeXBlKSk7XG5cbiAgICAgICAgaWYgKCFpc0VudW0gJiYgYWRkRmlsdGVycykge1xuICAgICAgICAgICAgZGVzY3JpcHRvci5hZGRGaWx0ZXJGcm9tQ29sdW1uRGVzY3JpcHRvclVuc2FmZShjb2x1bW4pLndpdGhUaXRsZShjb2x1bW4udGl0bGUgPz8gJycpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhZGRTb3J0cykge1xuICAgICAgICAgICAgZGVzY3JpcHRvci53aXRoU29ydFVuc2FmZShjb2x1bW4ucHJvcGVydHkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBkZXNjcmlwdG9yO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXVkaXRBZGRGaWVsZHNGcm9tTW9kZWw8VD4oXG4gICAgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIGRlc2NyaXB0b3I6IEVkaXRvckRlc2NyaXB0b3JJbnN0PFQ+LFxuICAgIGVudGl0eU5hbWU6IHN0cmluZyxcbiAgICBwcm9wZXJ0aWVzOiBHdWlQcm9wZXJ0eU1vZGVsRHRvW10sXG4gICAgbW9kZWxUeXBlOiAncmV2RW50aXR5JyB8ICdlbnRpdHlTdGF0ZScgPSAncmV2RW50aXR5J1xuKTogRWRpdG9yRGVzY3JpcHRvckluc3Q8VD4ge1xuICAgIGZvciAoY29uc3QgcHJvcGVydHkgb2YgcHJvcGVydGllcykge1xuICAgICAgICBpZiAoIXByb3BlcnR5LnJlc29sdmVkUHJvcGVydHlOYW1lKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZpZWxkUHJlcGVuZCA9IGAke21vZGVsVHlwZX0uYDtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgbGV0IGZpZWxkOiBBRmllbGREZXNjcmlwdG9yPGFueSwgYW55PjtcblxuICAgICAgICBpZiAocHJvcGVydHkucHJvcGVydHlUeXBlID09PSBHdWlQcm9wZXJ0eVR5cGVEdG8uRW51bSkge1xuICAgICAgICAgICAgY29uc3QgZW51bU1vZGVsID0gZ2V0RW51bU1vZGVsKHByb3BlcnR5KTtcbiAgICAgICAgICAgIGlmIChlbnVtTW9kZWwpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXByb3BlcnR5LnBvc3NpYmxlRW51bVZhbHVlcykge1xuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBmaWVsZCA9IGRlc2NyaXB0b3IuYWRkRmllbGRMb29rdXBFbnVtKChmaWVsZFByZXBlbmQgKyBwcm9wZXJ0eS5yZXNvbHZlZFByb3BlcnR5TmFtZSkgYXMga2V5b2YgVCwgZW51bU1vZGVsLCBwcm9wZXJ0eS5wb3NzaWJsZUVudW1WYWx1ZXMpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBmaWVsZCA9IGRlc2NyaXB0b3IuYWRkRmllbGRVbnNhZmUoZmllbGRQcmVwZW5kICsgcHJvcGVydHkucmVzb2x2ZWRQcm9wZXJ0eU5hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKHByb3BlcnR5LnByb3BlcnR5VHlwZSA9PT0gR3VpUHJvcGVydHlUeXBlRHRvLk51bWJlcikge1xuICAgICAgICAgICAgZmllbGQgPSBkZXNjcmlwdG9yLmFkZEZpZWxkVW5zYWZlKGZpZWxkUHJlcGVuZCArIHByb3BlcnR5LnJlc29sdmVkUHJvcGVydHlOYW1lKS5hc051bWJlcigpO1xuICAgICAgICB9IGVsc2UgaWYgKHByb3BlcnR5LnByb3BlcnR5VHlwZSA9PT0gR3VpUHJvcGVydHlUeXBlRHRvLkJvb2xlYW4pIHtcbiAgICAgICAgICAgIGZpZWxkID0gZGVzY3JpcHRvci5hZGRGaWVsZFVuc2FmZShmaWVsZFByZXBlbmQgKyBwcm9wZXJ0eS5yZXNvbHZlZFByb3BlcnR5TmFtZSk7XG4gICAgICAgIH0gZWxzZSBpZiAocHJvcGVydHkucHJvcGVydHlUeXBlID09PSBHdWlQcm9wZXJ0eVR5cGVEdG8uTG9jYWxEYXRlKSB7XG4gICAgICAgICAgICBmaWVsZCA9IGRlc2NyaXB0b3IuYWRkRmllbGRVbnNhZmUoZmllbGRQcmVwZW5kICsgcHJvcGVydHkucmVzb2x2ZWRQcm9wZXJ0eU5hbWUpLmFzRGF0ZVBpY2tlcih7Zm9ybWF0OiAnZGQuIE1NTSB5eXl5J30pO1xuICAgICAgICB9IGVsc2UgaWYgKHByb3BlcnR5LnByb3BlcnR5VHlwZSA9PT0gR3VpUHJvcGVydHlUeXBlRHRvLk9mZnNldERhdGVUaW1lKSB7XG4gICAgICAgICAgICBmaWVsZCA9IGRlc2NyaXB0b3IuYWRkRmllbGRVbnNhZmUoZmllbGRQcmVwZW5kICsgcHJvcGVydHkucmVzb2x2ZWRQcm9wZXJ0eU5hbWUpLmFzRGF0ZVBpY2tlcih7XG4gICAgICAgICAgICAgICAgZm9ybWF0OiAnZGQuIE1NIHl5JyxcbiAgICAgICAgICAgICAgICBzaG93VGltZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBzaG93U2Vjb25kczogZmFsc2VcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gc3RyaW5nIC8gd2lsZGNhcmRcbiAgICAgICAgICAgIGZpZWxkID0gZGVzY3JpcHRvci5hZGRGaWVsZFVuc2FmZShmaWVsZFByZXBlbmQgKyBwcm9wZXJ0eS5yZXNvbHZlZFByb3BlcnR5TmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICBmaWVsZC53aXRoTGFiZWwoZ2V0STE4bkF1ZGl0RW50aXR5UHJvcGVydHkodHJhbnNsYXRlLCBlbnRpdHlOYW1lLCBwcm9wZXJ0eS5wcm9wZXJ0eU5hbWUgPz8gJycsIG1vZGVsVHlwZSkpLndpdGhEaXNhYmxlZCgpO1xuICAgIH1cbiAgICByZXR1cm4gZGVzY3JpcHRvcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGF1ZGl0QnVpbGRUYWJsZXZpZXdFbnRpdHlSZXZpc2lvbihcbiAgICB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgZGVzY3JpcHRvcjogVGFibGV2aWV3RGVzY3JpcHRvckluc3Q8UmV2RW50aXR5V2l0aElkPixcbiAgICByZXZNb2RlbDogR3VpRW50aXR5TW9kZWxEdG8sXG4gICAgZW50aXR5TW9kZWw6IEd1aUVudGl0eU1vZGVsRHRvXG4pOiBUYWJsZXZpZXdEZXNjcmlwdG9ySW5zdDxSZXZFbnRpdHlXaXRoSWQ+IHtcbiAgICBjb25zdCByZXZUeXBlID0gZGVzY3JpcHRvci5hZGRDb2x1bW5FbnVtKCdyZXZUeXBlJywgcmV2aXNpb25UeXBlRW51bSkud2l0aFRpdGxlKCdNbmdFbnRpdHlSZXZpc2lvbkNoYW5nZVN0YXRlLnByb3BlcnRpZXMucmV2VHlwZScpO1xuICAgIGRlc2NyaXB0b3IuYWRkRmllbGRMb29rdXBFbnVtKCdyZXZUeXBlJywgcmV2aXNpb25UeXBlRW51bSkud2l0aExhYmVsKCdNbmdFbnRpdHlSZXZpc2lvbkNoYW5nZVN0YXRlLnByb3BlcnRpZXMucmV2VHlwZScpO1xuXG4gICAgZGVzY3JpcHRvci50YWJsZS5hZGRGaWx0ZXJGcm9tQ29sdW1uRGVzY3JpcHRvclVuc2FmZShyZXZUeXBlKTtcblxuICAgIGlmIChyZXZNb2RlbC5wcm9wZXJ0aWVzKSB7XG4gICAgICAgIGF1ZGl0QWRkQ29sdW1uc0Zyb21Nb2RlbCh0cmFuc2xhdGUsIGRlc2NyaXB0b3IudGFibGUsIHJldk1vZGVsLmVudGl0eU5hbWUgPz8gJycsIHJldk1vZGVsLnByb3BlcnRpZXMsICdyZXZFbnRpdHknKTtcbiAgICAgICAgYXVkaXRBZGRGaWVsZHNGcm9tTW9kZWwodHJhbnNsYXRlLCBkZXNjcmlwdG9yLmRldGFpbHNFZGl0b3IsIHJldk1vZGVsLmVudGl0eU5hbWUgPz8gJycsIHJldk1vZGVsLnByb3BlcnRpZXMsICdyZXZFbnRpdHknKTtcbiAgICB9XG4gICAgaWYgKGVudGl0eU1vZGVsLnByb3BlcnRpZXMpIHtcbiAgICAgICAgYXVkaXRBZGRDb2x1bW5zRnJvbU1vZGVsKHRyYW5zbGF0ZSwgZGVzY3JpcHRvci50YWJsZSwgZW50aXR5TW9kZWwuZW50aXR5TmFtZSA/PyAnJywgZW50aXR5TW9kZWwucHJvcGVydGllcywgJ2VudGl0eVN0YXRlJyk7XG4gICAgICAgIGF1ZGl0QWRkRmllbGRzRnJvbU1vZGVsKHRyYW5zbGF0ZSwgZGVzY3JpcHRvci5kZXRhaWxzRWRpdG9yLCBlbnRpdHlNb2RlbC5lbnRpdHlOYW1lID8/ICcnLCBlbnRpdHlNb2RlbC5wcm9wZXJ0aWVzLCAnZW50aXR5U3RhdGUnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZGVzY3JpcHRvcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEVudW1Nb2RlbChwcm9wZXJ0eTogR3VpUHJvcGVydHlNb2RlbER0bykge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHByb3BlcnR5LnBvc3NpYmxlRW51bVZhbHVlcykpIHtcbiAgICAgICAgY29uc3QgZW51bVR5cGUgPSBwcm9wZXJ0eS5wb3NzaWJsZUVudW1WYWx1ZXM/LnJlZHVjZShcbiAgICAgICAgICAgIChhY2MsIHYpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb25zdE5hbWUgPSB2XG4gICAgICAgICAgICAgICAgICAgIC5zcGxpdCgnXycpXG4gICAgICAgICAgICAgICAgICAgIC5tYXAocyA9PiAocy5sZW5ndGggPiAxID8gcy5zdWJzdHJpbmcoMCwgMSkudG9VcHBlckNhc2UoKSArIHMuc3Vic3RyaW5nKDEpLnRvTG93ZXJDYXNlKCkgOiBzKSlcbiAgICAgICAgICAgICAgICAgICAgLmpvaW4oJycpO1xuICAgICAgICAgICAgICAgIGlmIChjb25zdE5hbWUgIT09IHYpIHtcbiAgICAgICAgICAgICAgICAgICAgYWNjW2NvbnN0TmFtZV0gPSB2O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhY2Nbdl0gPSBjb25zdE5hbWU7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICA8RW51bVR5cGU+e31cbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIGVudW1Nb2RlbEdlbmVyaWMoZW51bVR5cGUsIHByb3BlcnR5LmVudW1DbGFzc1NpbXBsZU5hbWUpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn1cbiJdfQ==
@@ -0,0 +1,42 @@
1
+ import { RevisionTypeDto } from '../api/models/revisionType';
2
+ export function auditMapToEntityChangesArray(fieldValue) {
3
+ const entityChanges = [];
4
+ for (const key of Object.keys(fieldValue)) {
5
+ const ec = { entityType: key, items: [] };
6
+ for (const change of fieldValue[key]) {
7
+ if (change.revType === RevisionTypeDto.Add && change.entityNewState) {
8
+ const item = {
9
+ revType: change.revType,
10
+ color: 'green'
11
+ };
12
+ Object.entries(change.entityNewState).forEach(([key, value]) => (item[key] = value));
13
+ ec.items?.push(item);
14
+ }
15
+ else if (change.revType === RevisionTypeDto.Del && change.entityOldState) {
16
+ const item = {
17
+ revType: change.revType,
18
+ color: 'red'
19
+ };
20
+ Object.entries(change.entityOldState).forEach(([key, value]) => (item[key] = value));
21
+ ec.items?.push(item);
22
+ }
23
+ else if (change.revType === RevisionTypeDto.Mod && change.entityOldState && change.entityNewState) {
24
+ const itemOld = {
25
+ revType: change.revType,
26
+ color: 'red'
27
+ };
28
+ Object.entries(change.entityOldState).forEach(([key, value]) => (itemOld[key] = value));
29
+ const itemNew = {
30
+ revType: change.revType,
31
+ color: 'green'
32
+ };
33
+ Object.entries(change.entityNewState).forEach(([key, value]) => (itemNew[key] = value));
34
+ ec.items?.push(itemOld);
35
+ ec.items?.push(itemNew);
36
+ }
37
+ }
38
+ entityChanges.push(ec);
39
+ }
40
+ return entityChanges;
41
+ }
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWNoYW5nZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2hlbHBlcnMvZW50aXR5LWNoYW5nZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBSTNELE1BQU0sVUFBVSw0QkFBNEIsQ0FBQyxVQUFtRDtJQUM1RixNQUFNLGFBQWEsR0FBNEIsRUFBRSxDQUFDO0lBQ2xELEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1FBQ3hDLE1BQU0sRUFBRSxHQUEwQixFQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBQyxDQUFDO1FBQy9ELEtBQUssTUFBTSxNQUFNLElBQUksVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDbkMsSUFBSSxNQUFNLENBQUMsT0FBTyxLQUFLLGVBQWUsQ0FBQyxHQUFHLElBQUksTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUNsRSxNQUFNLElBQUksR0FBOEI7b0JBQ3BDLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztvQkFDdkIsS0FBSyxFQUFFLE9BQU87aUJBQ2pCLENBQUM7Z0JBQ0YsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQ3JGLEVBQUUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3pCLENBQUM7aUJBQU0sSUFBSSxNQUFNLENBQUMsT0FBTyxLQUFLLGVBQWUsQ0FBQyxHQUFHLElBQUksTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN6RSxNQUFNLElBQUksR0FBOEI7b0JBQ3BDLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztvQkFDdkIsS0FBSyxFQUFFLEtBQUs7aUJBQ2YsQ0FBQztnQkFDRixNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDckYsRUFBRSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDekIsQ0FBQztpQkFBTSxJQUFJLE1BQU0sQ0FBQyxPQUFPLEtBQUssZUFBZSxDQUFDLEdBQUcsSUFBSSxNQUFNLENBQUMsY0FBYyxJQUFJLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDbEcsTUFBTSxPQUFPLEdBQThCO29CQUN2QyxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU87b0JBQ3ZCLEtBQUssRUFBRSxLQUFLO2lCQUNmLENBQUM7Z0JBQ0YsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBRXhGLE1BQU0sT0FBTyxHQUE4QjtvQkFDdkMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO29CQUN2QixLQUFLLEVBQUUsT0FBTztpQkFDakIsQ0FBQztnQkFDRixNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFFeEYsRUFBRSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ3hCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzVCLENBQUM7UUFDTCxDQUFDO1FBQ0QsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBQ0QsT0FBTyxhQUFhLENBQUM7QUFDekIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RW50aXR5Q2hhbmdlRHRvfSBmcm9tICcuLi9hcGkvbW9kZWxzL2VudGl0eUNoYW5nZSc7XG5pbXBvcnQge1JldmlzaW9uVHlwZUR0b30gZnJvbSAnLi4vYXBpL21vZGVscy9yZXZpc2lvblR5cGUnO1xuaW1wb3J0IHtFbnRpdHlSZXZpc2lvbkNoYW5nZVN0YXRlfSBmcm9tICcuLi9tb2RlbHMvZW50aXR5LXJldmlzaW9uLWNoYW5nZS1zdGF0ZS5tb2RlbCc7XG5pbXBvcnQge0VudGl0eVJldmlzaW9uQ2hhbmdlc30gZnJvbSAnLi4vbW9kZWxzL2VudGl0eS1yZXZpc2lvbi1jaGFuZ2VzLm1vZGVsJztcblxuZXhwb3J0IGZ1bmN0aW9uIGF1ZGl0TWFwVG9FbnRpdHlDaGFuZ2VzQXJyYXkoZmllbGRWYWx1ZToge1trZXk6IHN0cmluZ106IEFycmF5PEVudGl0eUNoYW5nZUR0bz59KTogQXJyYXk8RW50aXR5UmV2aXNpb25DaGFuZ2VzPiB7XG4gICAgY29uc3QgZW50aXR5Q2hhbmdlczogRW50aXR5UmV2aXNpb25DaGFuZ2VzW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhmaWVsZFZhbHVlKSkge1xuICAgICAgICBjb25zdCBlYzogRW50aXR5UmV2aXNpb25DaGFuZ2VzID0ge2VudGl0eVR5cGU6IGtleSwgaXRlbXM6IFtdfTtcbiAgICAgICAgZm9yIChjb25zdCBjaGFuZ2Ugb2YgZmllbGRWYWx1ZVtrZXldKSB7XG4gICAgICAgICAgICBpZiAoY2hhbmdlLnJldlR5cGUgPT09IFJldmlzaW9uVHlwZUR0by5BZGQgJiYgY2hhbmdlLmVudGl0eU5ld1N0YXRlKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaXRlbTogRW50aXR5UmV2aXNpb25DaGFuZ2VTdGF0ZSA9IHtcbiAgICAgICAgICAgICAgICAgICAgcmV2VHlwZTogY2hhbmdlLnJldlR5cGUsXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnZ3JlZW4nXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBPYmplY3QuZW50cmllcyhjaGFuZ2UuZW50aXR5TmV3U3RhdGUpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4gKGl0ZW1ba2V5XSA9IHZhbHVlKSk7XG4gICAgICAgICAgICAgICAgZWMuaXRlbXM/LnB1c2goaXRlbSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGNoYW5nZS5yZXZUeXBlID09PSBSZXZpc2lvblR5cGVEdG8uRGVsICYmIGNoYW5nZS5lbnRpdHlPbGRTdGF0ZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW06IEVudGl0eVJldmlzaW9uQ2hhbmdlU3RhdGUgPSB7XG4gICAgICAgICAgICAgICAgICAgIHJldlR5cGU6IGNoYW5nZS5yZXZUeXBlLFxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ3JlZCdcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGNoYW5nZS5lbnRpdHlPbGRTdGF0ZSkuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiAoaXRlbVtrZXldID0gdmFsdWUpKTtcbiAgICAgICAgICAgICAgICBlYy5pdGVtcz8ucHVzaChpdGVtKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoY2hhbmdlLnJldlR5cGUgPT09IFJldmlzaW9uVHlwZUR0by5Nb2QgJiYgY2hhbmdlLmVudGl0eU9sZFN0YXRlICYmIGNoYW5nZS5lbnRpdHlOZXdTdGF0ZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1PbGQ6IEVudGl0eVJldmlzaW9uQ2hhbmdlU3RhdGUgPSB7XG4gICAgICAgICAgICAgICAgICAgIHJldlR5cGU6IGNoYW5nZS5yZXZUeXBlLFxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ3JlZCdcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGNoYW5nZS5lbnRpdHlPbGRTdGF0ZSkuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiAoaXRlbU9sZFtrZXldID0gdmFsdWUpKTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1OZXc6IEVudGl0eVJldmlzaW9uQ2hhbmdlU3RhdGUgPSB7XG4gICAgICAgICAgICAgICAgICAgIHJldlR5cGU6IGNoYW5nZS5yZXZUeXBlLFxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ2dyZWVuJ1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgT2JqZWN0LmVudHJpZXMoY2hhbmdlLmVudGl0eU5ld1N0YXRlKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IChpdGVtTmV3W2tleV0gPSB2YWx1ZSkpO1xuXG4gICAgICAgICAgICAgICAgZWMuaXRlbXM/LnB1c2goaXRlbU9sZCk7XG4gICAgICAgICAgICAgICAgZWMuaXRlbXM/LnB1c2goaXRlbU5ldyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZW50aXR5Q2hhbmdlcy5wdXNoKGVjKTtcbiAgICB9XG4gICAgcmV0dXJuIGVudGl0eUNoYW5nZXM7XG59XG4iXX0=
@@ -0,0 +1,14 @@
1
+ import { getI18n, getI18nTypePropertyKey } from '@mediusinc/mng-commons/core';
2
+ const i18nBaseEntityKey = 'AuditEntities';
3
+ export function getI18nAuditEntityName(translate, entityName) {
4
+ return getI18n(translate, {}, `${i18nBaseEntityKey}.${entityName}.name`, `${i18nBaseEntityKey}.${entityName}`, `${entityName}.name`) ?? entityName;
5
+ }
6
+ export function getI18nAuditEntityProperty(translate, entityName, propertyName, modelType = 'entityState') {
7
+ if (modelType === 'revEntity') {
8
+ return 'MngRevEntity.properties.' + propertyName;
9
+ }
10
+ else {
11
+ return getI18n(translate, {}, getI18nTypePropertyKey(`${i18nBaseEntityKey}.${entityName}`, propertyName), getI18nTypePropertyKey(entityName, propertyName)) ?? propertyName;
12
+ }
13
+ }
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvaGVscGVycy9pMThuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUU1RSxNQUFNLGlCQUFpQixHQUFHLGVBQWUsQ0FBQztBQUUxQyxNQUFNLFVBQVUsc0JBQXNCLENBQUMsU0FBMkIsRUFBRSxVQUFrQjtJQUNsRixPQUFPLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFFLEdBQUcsaUJBQWlCLElBQUksVUFBVSxPQUFPLEVBQUUsR0FBRyxpQkFBaUIsSUFBSSxVQUFVLEVBQUUsRUFBRSxHQUFHLFVBQVUsT0FBTyxDQUFDLElBQUksVUFBVSxDQUFDO0FBQ3ZKLENBQUM7QUFFRCxNQUFNLFVBQVUsMEJBQTBCLENBQ3RDLFNBQTJCLEVBQzNCLFVBQWtCLEVBQ2xCLFlBQW9CLEVBQ3BCLFlBQXFELGFBQWE7SUFFbEUsSUFBSSxTQUFTLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDNUIsT0FBTywwQkFBMEIsR0FBRyxZQUFZLENBQUM7SUFDckQsQ0FBQztTQUFNLENBQUM7UUFDSixPQUFPLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFFLHNCQUFzQixDQUFDLEdBQUcsaUJBQWlCLElBQUksVUFBVSxFQUFFLEVBQUUsWUFBWSxDQUFDLEVBQUUsc0JBQXNCLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQyxDQUFDLElBQUksWUFBWSxDQUFDO0lBQ2hMLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuaW1wb3J0IHtnZXRJMThuLCBnZXRJMThuVHlwZVByb3BlcnR5S2V5fSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuXG5jb25zdCBpMThuQmFzZUVudGl0eUtleSA9ICdBdWRpdEVudGl0aWVzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEkxOG5BdWRpdEVudGl0eU5hbWUodHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCBlbnRpdHlOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBnZXRJMThuKHRyYW5zbGF0ZSwge30sIGAke2kxOG5CYXNlRW50aXR5S2V5fS4ke2VudGl0eU5hbWV9Lm5hbWVgLCBgJHtpMThuQmFzZUVudGl0eUtleX0uJHtlbnRpdHlOYW1lfWAsIGAke2VudGl0eU5hbWV9Lm5hbWVgKSA/PyBlbnRpdHlOYW1lO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0STE4bkF1ZGl0RW50aXR5UHJvcGVydHkoXG4gICAgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIGVudGl0eU5hbWU6IHN0cmluZyxcbiAgICBwcm9wZXJ0eU5hbWU6IHN0cmluZyxcbiAgICBtb2RlbFR5cGU6ICdyZXZFbnRpdHknIHwgJ2VudGl0eVN0YXRlJyB8IHVuZGVmaW5lZCA9ICdlbnRpdHlTdGF0ZSdcbik6IHN0cmluZyB7XG4gICAgaWYgKG1vZGVsVHlwZSA9PT0gJ3JldkVudGl0eScpIHtcbiAgICAgICAgcmV0dXJuICdNbmdSZXZFbnRpdHkucHJvcGVydGllcy4nICsgcHJvcGVydHlOYW1lO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBnZXRJMThuKHRyYW5zbGF0ZSwge30sIGdldEkxOG5UeXBlUHJvcGVydHlLZXkoYCR7aTE4bkJhc2VFbnRpdHlLZXl9LiR7ZW50aXR5TmFtZX1gLCBwcm9wZXJ0eU5hbWUpLCBnZXRJMThuVHlwZVByb3BlcnR5S2V5KGVudGl0eU5hbWUsIHByb3BlcnR5TmFtZSkpID8/IHByb3BlcnR5TmFtZTtcbiAgICB9XG59XG4iXX0=