@mediusinc/mng-commons-audit 4.2.0 → 5.0.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/README.md +12 -26
  2. package/esm2022/lib/api/models/entityChange.mjs +10 -10
  3. package/esm2022/lib/api/models/guiEntityModel.mjs +10 -10
  4. package/esm2022/lib/api/models/guiPropertyModel.mjs +10 -10
  5. package/esm2022/lib/api/models/guiPropertyType.mjs +13 -13
  6. package/esm2022/lib/api/models/guiRelationModel.mjs +10 -10
  7. package/esm2022/lib/api/models/revEntityWithChangesDto.mjs +10 -10
  8. package/esm2022/lib/api/models/revEntityWithStateDto.mjs +10 -10
  9. package/esm2022/lib/api/models/revisionType.mjs +11 -9
  10. package/esm2022/lib/api/services/audit-revisions-api.service.mjs +29 -20
  11. package/esm2022/lib/api/services/audit.service.mjs +12 -11
  12. package/esm2022/lib/audit.routes.mjs +17 -19
  13. package/esm2022/lib/components/entity-changes-field/entity-changes-field.component.mjs +17 -14
  14. package/esm2022/lib/components/pages/audit/audit.page.component.mjs +7 -7
  15. package/esm2022/lib/components/pages/entity-revisions/audit-entity-revisions.page.component.mjs +114 -99
  16. package/esm2022/lib/components/pages/revisions/audit-revisions.page.component.mjs +61 -70
  17. package/esm2022/lib/models/config.model.mjs +1 -1
  18. package/esm2022/lib/models/entity-revision-change-state.model.mjs +6 -6
  19. package/esm2022/lib/models/entity-revision-changes.model.mjs +6 -6
  20. package/esm2022/lib/models/guiEntityModelWithI18n.model.mjs +7 -7
  21. package/esm2022/lib/models/rev-entity-detailed.model.mjs +7 -7
  22. package/esm2022/lib/models/rev-entity.model.mjs +6 -6
  23. package/esm2022/lib/models/revEntityWithId.model.mjs +8 -8
  24. package/esm2022/lib/service/module-config.token.mjs +2 -2
  25. package/esm2022/lib/utils/audit.util.mjs +66 -117
  26. package/fesm2022/mediusinc-mng-commons-audit.mjs +386 -442
  27. package/fesm2022/mediusinc-mng-commons-audit.mjs.map +1 -1
  28. package/lib/api/models/entityChange.d.ts +4 -4
  29. package/lib/api/models/guiEntityModel.d.ts +4 -4
  30. package/lib/api/models/guiPropertyModel.d.ts +6 -6
  31. package/lib/api/models/guiPropertyType.d.ts +1 -1
  32. package/lib/api/models/guiRelationModel.d.ts +2 -2
  33. package/lib/api/models/revEntityWithChangesDto.d.ts +4 -4
  34. package/lib/api/models/revEntityWithStateDto.d.ts +4 -4
  35. package/lib/api/models/revisionType.d.ts +2 -1
  36. package/lib/api/services/audit-revisions-api.service.d.ts +14 -13
  37. package/lib/api/services/audit.service.d.ts +7 -7
  38. package/lib/audit.routes.d.ts +5 -5
  39. package/lib/components/entity-changes-field/entity-changes-field.component.d.ts +6 -6
  40. package/lib/components/pages/audit/audit.page.component.d.ts +3 -3
  41. package/lib/components/pages/entity-revisions/audit-entity-revisions.page.component.d.ts +24 -23
  42. package/lib/components/pages/revisions/audit-revisions.page.component.d.ts +11 -14
  43. package/lib/models/config.model.d.ts +1 -1
  44. package/lib/models/entity-revision-change-state.model.d.ts +3 -3
  45. package/lib/models/entity-revision-changes.model.d.ts +3 -3
  46. package/lib/models/guiEntityModelWithI18n.model.d.ts +2 -2
  47. package/lib/models/rev-entity-detailed.model.d.ts +4 -4
  48. package/lib/models/rev-entity.model.d.ts +2 -2
  49. package/lib/models/revEntityWithId.model.d.ts +2 -2
  50. package/lib/service/module-config.token.d.ts +2 -2
  51. package/lib/utils/audit.util.d.ts +17 -14
  52. package/package.json +3 -2
  53. package/esm2022/lib/models/new-filter-match-type.model.mjs +0 -19
  54. package/lib/models/new-filter-match-type.model.d.ts +0 -17
  55. /package/{assets/i18n → i18n}/en.json +0 -0
  56. /package/{assets/i18n → i18n}/sl.json +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"mediusinc-mng-commons-audit.mjs","sources":["../../src/lib/api/models/revEntityWithStateDto.ts","../../src/lib/models/revEntityWithId.model.ts","../../src/lib/service/module-config.token.ts","../../src/lib/api/models/guiPropertyType.ts","../../src/lib/api/models/revisionType.ts","../../src/lib/models/entity-revision-change-state.model.ts","../../src/lib/models/entity-revision-changes.model.ts","../../src/lib/models/new-filter-match-type.model.ts","../../src/lib/utils/audit.util.ts","../../src/lib/api/services/audit-revisions-api.service.ts","../../src/lib/api/models/guiEntityModel.ts","../../src/lib/api/services/audit.service.ts","../../src/lib/components/pages/audit/audit.page.component.ts","../../src/lib/components/pages/audit/audit.page.component.html","../../src/lib/models/guiEntityModelWithI18n.model.ts","../../src/lib/components/pages/entity-revisions/audit-entity-revisions.page.component.ts","../../src/lib/components/pages/entity-revisions/audit-entity-revisions.page.component.html","../../src/lib/api/models/revEntityWithChangesDto.ts","../../src/lib/models/rev-entity.model.ts","../../src/lib/models/rev-entity-detailed.model.ts","../../src/lib/components/entity-changes-field/entity-changes-field.component.ts","../../src/lib/components/entity-changes-field/entity-changes-field.component.html","../../src/lib/components/pages/revisions/audit-revisions.page.component.ts","../../src/lib/components/pages/revisions/audit-revisions.page.component.html","../../src/lib/audit.routes.ts","../../src/mediusinc-mng-commons-audit.ts"],"sourcesContent":["/**\n * Medius quarkus sampler\n * Sampler OPENAPI definition\n *\n * The version of the OpenAPI document: 1.0.0\n * Contact: info@medius.si\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {ClassAttributeDef, TypeName, TypeRegistry} from '@mediusinc/mng-commons';\n\nimport {MngRevisionTypeDto} from './revisionType';\n\n@TypeName('MngRevEntityWithStateDto')\nexport class MngRevEntityWithStateDto {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n revEntity?: {[key: string]: any};\n revType?: MngRevisionTypeDto;\n entityClassName?: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n entityState?: {[key: string]: any};\n\n public static discriminator?: string;\n\n public static attributeTypeMap: Array<ClassAttributeDef> = [\n {\n name: 'revEntity',\n baseName: 'revEntity',\n type: '{ [key: string]: any; }'\n },\n {\n name: 'revType',\n baseName: 'revType',\n type: 'RevisionType'\n },\n {\n name: 'entityClassName',\n baseName: 'entityClassName',\n type: 'string'\n },\n {\n name: 'entityState',\n baseName: 'entityState',\n type: '{ [key: string]: any; }'\n }\n ];\n\n public static getAttributeTypeMap() {\n return MngRevEntityWithStateDto.attributeTypeMap;\n }\n}\n\nTypeRegistry.get().registerType(MngRevEntityWithStateDto);\n","import {TypeName, TypeRegistry} from '@mediusinc/mng-commons';\n\nimport {MngRevEntityWithStateDto} from '../api/models/revEntityWithStateDto';\n\n@TypeName('MngRevEntityWithId')\nexport class MngRevEntityWithId extends MngRevEntityWithStateDto {\n mergedId?: string;\n}\n\nTypeRegistry.get().registerType(MngRevEntityWithId);\n","import {InjectionToken} from '@angular/core';\n\nimport {MngAuditModuleConfig} from '../models/config.model';\n\nexport const MNG_AUDIT_MODULE_CONFIG_IT = new InjectionToken<MngAuditModuleConfig>('MngAuditModuleConfig');\n","/**\n * Medius quarkus sampler\n * Sampler OPENAPI definition\n *\n * The version of the OpenAPI document: 1.0.0\n * Contact: info@medius.si\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {TypeRegistry} from '@mediusinc/mng-commons';\n\nexport enum MngGuiPropertyTypeDto {\n LocalDate = 'LOCAL_DATE',\n OffsetDateTime = 'OFFSET_DATE_TIME',\n String = 'STRING',\n Number = 'NUMBER',\n Boolean = 'BOOLEAN',\n Enum = 'ENUM',\n Wildcard = 'WILDCARD'\n}\n\nTypeRegistry.get().registerEnum(MngGuiPropertyTypeDto, 'MngGuiPropertyTypeDto');\n","/**\n * Medius quarkus sampler\n * Sampler OPENAPI definition\n *\n * The version of the OpenAPI document: 1.0.0\n * Contact: info@medius.si\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {TypeRegistry} from '@mediusinc/mng-commons';\n\nexport enum MngRevisionTypeDto {\n Add = 'ADD',\n Mod = 'MOD',\n Del = 'DEL'\n}\n\nTypeRegistry.get().registerEnum(MngRevisionTypeDto, 'MngRevisionTypeDto');\n","import {TypeName} from '@mediusinc/mng-commons';\n\nimport {MngRevisionTypeDto} from '../api/models/revisionType';\n\n@TypeName('MngEntityRevisionChangeState')\nexport class MngEntityRevisionChangeState {\n revType?: MngRevisionTypeDto;\n color?: 'green' | 'red';\n [key: string]: unknown;\n}\n","import {TypeName} from '@mediusinc/mng-commons';\n\nimport {MngEntityRevisionChangeState} from './entity-revision-change-state.model';\n\n@TypeName('MngEntityChanges')\nexport class MngEntityRevisionChanges {\n entityType?: string;\n items?: MngEntityRevisionChangeState[];\n}\n","export enum NewMediusFilterMatchType {\n Equals = 'eq',\n NotEquals = 'ne',\n Between = 'bt',\n Contains = 'cn',\n NotContains = 'nc',\n StartsWith = 'sw',\n EndsWith = 'ew',\n In = 'in',\n NotIn = 'ni',\n LessThan = 'lt',\n LessThanOrEqualTo = 'le',\n GreaterThan = 'gt',\n GreaterThanOrEqualTo = 'ge',\n Exists = 'ex',\n DoesNotExist = 'nx'\n}\n","import {of} from 'rxjs';\n\nimport {\n ColumnDescriptor,\n EditorDescriptorInst,\n FilterLookupDescriptor,\n MediusFilterMatchType,\n MediusQueryParam,\n TableDescriptorInst,\n TableviewDescriptorInst,\n TypeRegistry\n} from '@mediusinc/mng-commons';\n\nimport {MngEntityChangeDto} from '../api/models/entityChange';\nimport {MngGuiEntityModelDto} from '../api/models/guiEntityModel';\nimport {MngGuiPropertyModelDto} from '../api/models/guiPropertyModel';\nimport {MngGuiPropertyTypeDto} from '../api/models/guiPropertyType';\nimport {MngRevEntityWithStateDto} from '../api/models/revEntityWithStateDto';\nimport {MngRevisionTypeDto} from '../api/models/revisionType';\nimport {MngEntityRevisionChangeState} from '../models/entity-revision-change-state.model';\nimport {MngEntityRevisionChanges} from '../models/entity-revision-changes.model';\nimport {NewMediusFilterMatchType} from '../models/new-filter-match-type.model';\n\nexport class AuditUtil {\n private static _dateRegex = /\\d{4}-[01]\\d-[0-3]\\d/;\n\n public static addColumnsFromModel<T>(\n descriptor: TableDescriptorInst<T>,\n properties: MngGuiPropertyModelDto[],\n modelType: 'revEntity' | 'entityState' | undefined = undefined,\n addFilters = true,\n addSorts = true\n ): TableDescriptorInst<T> {\n for (const property of properties) {\n if (!property.resolvedPropertyName) {\n continue;\n }\n\n const isEnum = property.propertyType === MngGuiPropertyTypeDto.Enum;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let column: ColumnDescriptor<any, T> | null = null;\n if (isEnum) {\n if (!property.possibleEnumValues) {\n continue;\n }\n\n const enumType = AuditUtil.findEnumType(property);\n if (enumType) {\n column = descriptor.addColumnUnsafe(property.resolvedPropertyName).asEnum(enumType);\n if (addFilters) {\n column.withFilterLookupEnum(property.possibleEnumValues);\n }\n } else {\n column = descriptor.addColumnUnsafe(property.resolvedPropertyName);\n if (addFilters) {\n (column?.withFilterLookup() as FilterLookupDescriptor<string>).withLookup(() => of(property.possibleEnumValues ?? []));\n }\n }\n } else if (property.propertyType === MngGuiPropertyTypeDto.Number) {\n column = descriptor.addColumnUnsafe(property.resolvedPropertyName).asNumber();\n } else if (property.propertyType === MngGuiPropertyTypeDto.Boolean) {\n column = descriptor.addColumnUnsafe(property.resolvedPropertyName).asBoolean();\n } else if (property.propertyType === MngGuiPropertyTypeDto.LocalDate) {\n column = descriptor.addColumnUnsafe(property.resolvedPropertyName).asDate('dd. MM yyyy');\n } else if (property.propertyType === MngGuiPropertyTypeDto.OffsetDateTime) {\n column = descriptor.addColumnUnsafe(property.resolvedPropertyName).asDate('dd. MM yyyy HH:mm');\n } else {\n // string / wildcard\n column = descriptor.addColumnUnsafe(property.resolvedPropertyName).withTitle(AuditUtil.getPropertyTitleKey(property, modelType));\n }\n\n if (modelType) {\n column.withGetter((value, item) => item?.[modelType as keyof object]?.[property.resolvedPropertyName as keyof object]);\n }\n\n column.withTitle(AuditUtil.getPropertyTitleKey(property, modelType));\n\n if (!isEnum && addFilters) {\n column?.withFilter();\n }\n if (addSorts) {\n column?.withSort();\n }\n }\n return descriptor;\n }\n\n public static getPropertyTitleKey(property: MngGuiPropertyModelDto, modelType: 'revEntity' | 'entityState' | undefined = undefined) {\n if (modelType === 'revEntity') {\n return 'MngRevEntity.properties.' + property.resolvedPropertyName;\n }\n return property.resolvedPropertyName ?? '';\n }\n\n public static addFieldsFromModel<T>(\n descriptor: EditorDescriptorInst<T>,\n properties: MngGuiPropertyModelDto[],\n modelType: 'revEntity' | 'entityState' = 'revEntity'\n ): EditorDescriptorInst<T> {\n for (const property of properties) {\n if (!property.resolvedPropertyName) {\n continue;\n }\n\n const fieldPrepend = `${modelType}.`;\n\n if (property.propertyType === MngGuiPropertyTypeDto.Enum) {\n const enumType = AuditUtil.findEnumType(property);\n if (enumType) {\n if (!property.possibleEnumValues) {\n continue;\n }\n\n descriptor.addFieldLookupEnumUnsafe(fieldPrepend + property.resolvedPropertyName, enumType, property.possibleEnumValues).withDisabled();\n } else {\n descriptor.addFieldUnsafe(fieldPrepend + property.resolvedPropertyName).withLabel(AuditUtil.getPropertyTitleKey(property, modelType));\n }\n } else if (property.propertyType === MngGuiPropertyTypeDto.Number) {\n descriptor\n .addFieldUnsafe(fieldPrepend + property.resolvedPropertyName)\n .withLabel(AuditUtil.getPropertyTitleKey(property, modelType))\n .asNumber()\n .withDisabled();\n } else if (property.propertyType === MngGuiPropertyTypeDto.Boolean) {\n descriptor\n .addFieldUnsafe(fieldPrepend + property.resolvedPropertyName)\n .withLabel(AuditUtil.getPropertyTitleKey(property, modelType))\n .withDisabled();\n } else if (property.propertyType === MngGuiPropertyTypeDto.LocalDate) {\n descriptor\n .addFieldUnsafe(fieldPrepend + property.resolvedPropertyName)\n .withLabel(AuditUtil.getPropertyTitleKey(property, modelType))\n .asDatePicker({format: 'dd. MMM yyyy'})\n .withDisabled();\n } else if (property.propertyType === MngGuiPropertyTypeDto.OffsetDateTime) {\n descriptor\n .addFieldUnsafe(fieldPrepend + property.resolvedPropertyName)\n .withLabel(AuditUtil.getPropertyTitleKey(property, modelType))\n .asDatePicker({\n format: 'dd. MM yy',\n showTime: true,\n showSeconds: false\n })\n .withDisabled();\n } else {\n // string / wildcard\n descriptor\n .addFieldUnsafe(fieldPrepend + property.resolvedPropertyName)\n .withLabel(AuditUtil.getPropertyTitleKey(property, modelType))\n .withDisabled();\n }\n }\n return descriptor;\n }\n\n public static buildDescriptorForEntityRevision(\n descriptor: TableviewDescriptorInst<MngRevEntityWithStateDto>,\n revModel: MngGuiEntityModelDto,\n entityModel: MngGuiEntityModelDto\n ): TableviewDescriptorInst<MngRevEntityWithStateDto> {\n descriptor.addColumn('revType').withTitle('MngEntityRevisionChangeState.properties.revType').asEnum(MngRevisionTypeDto).withFilter();\n descriptor.addFieldLookupEnum('revType', MngRevisionTypeDto).withLabel('MngEntityRevisionChangeState.properties.revType');\n\n if (revModel.properties) {\n AuditUtil.addColumnsFromModel(descriptor.table, revModel.properties, 'revEntity');\n AuditUtil.addFieldsFromModel(descriptor.detailsEditor, revModel.properties, 'revEntity');\n }\n if (entityModel.properties) {\n AuditUtil.addColumnsFromModel(descriptor.table, entityModel.properties, 'entityState');\n AuditUtil.addFieldsFromModel(descriptor.detailsEditor, entityModel.properties, 'entityState');\n }\n\n return descriptor;\n }\n\n public static findEnumType(property: MngGuiPropertyModelDto) {\n if (!property.enumClassSimpleName) {\n return undefined;\n }\n\n let enumType = TypeRegistry.get().findEnum(property.enumClassSimpleName);\n if (!enumType) {\n enumType = TypeRegistry.get().findEnum(property.enumClassSimpleName + 'Dto');\n }\n return enumType;\n }\n\n public static extractPropertyName(fullPropertyName: string | undefined): string | undefined {\n if (fullPropertyName?.includes('entityState.')) {\n return fullPropertyName.replace('entityState.', '');\n } else if (fullPropertyName?.includes('revEntity.')) {\n return fullPropertyName?.replace('revEntity.', '');\n }\n return fullPropertyName;\n }\n\n public static appendMediusQueryParamsToUrl(queryParams: MediusQueryParam): string {\n let url = `?offset=${queryParams.itemsOffset}&limit=${queryParams.itemsPerPage}`;\n if (queryParams.sortProperty && queryParams.sortProperty.length > 0) {\n url += '&sort=';\n const sortingQPs = [];\n for (let i = 0; i < queryParams.sortProperty.length; i++) {\n sortingQPs.push(`${queryParams.sortAsc?.[i] ?? true ? 'asc' : 'desc'}:${this.extractPropertyName(queryParams.sortProperty[i])}`);\n }\n url += sortingQPs.join(',');\n }\n\n if (queryParams.filterParams && queryParams.filterParams.length > 0) {\n const filterQPs = [];\n for (const mfp of queryParams.filterParams) {\n switch (mfp.filterMatchType) {\n case MediusFilterMatchType.Equals: {\n filterQPs.push(`${this.extractPropertyName(mfp.property)}=${NewMediusFilterMatchType.Equals}:${mfp.filterValue}`);\n break;\n }\n case MediusFilterMatchType.NotEquals: {\n filterQPs.push(`${this.extractPropertyName(mfp.property)}=${NewMediusFilterMatchType.NotEquals}:${mfp.filterValue}`);\n break;\n }\n case MediusFilterMatchType.FromTo: {\n if (this._dateRegex.test(mfp.filterValue)) {\n filterQPs.push(\n `${this.extractPropertyName(mfp.property)}=${NewMediusFilterMatchType.Between}:${new Date(mfp.filterValue).toISOString()},${new Date(\n mfp.filterValueTo\n ).toISOString()}`\n );\n } else {\n filterQPs.push(`${this.extractPropertyName(mfp.property)}=${NewMediusFilterMatchType.Between}:${mfp.filterValue},${mfp.filterValueTo}`);\n }\n break;\n }\n case MediusFilterMatchType.Contains: {\n filterQPs.push(`${this.extractPropertyName(mfp.property)}=${NewMediusFilterMatchType.Contains}:${mfp.filterValue}`);\n break;\n }\n case MediusFilterMatchType.StartsWith: {\n filterQPs.push(`${this.extractPropertyName(mfp.property)}=${NewMediusFilterMatchType.StartsWith}:${mfp.filterValue}`);\n break;\n }\n case MediusFilterMatchType.EndsWith: {\n filterQPs.push(`${this.extractPropertyName(mfp.property)}=${NewMediusFilterMatchType.EndsWith}:${mfp.filterValue}`);\n break;\n }\n case MediusFilterMatchType.In: {\n filterQPs.push(`${this.extractPropertyName(mfp.property)}=${NewMediusFilterMatchType.In}:${mfp.filterValue}`);\n break;\n }\n case MediusFilterMatchType.NotIn: {\n filterQPs.push(`${this.extractPropertyName(mfp.property)}=${NewMediusFilterMatchType.NotIn}:${mfp.filterValue}`);\n break;\n }\n case MediusFilterMatchType.SmallerThan: {\n if (this._dateRegex.test(mfp.filterValue)) {\n filterQPs.push(`${this.extractPropertyName(mfp.property)}=${NewMediusFilterMatchType.LessThan}:${new Date(mfp.filterValue).toISOString()}`);\n } else {\n filterQPs.push(`${this.extractPropertyName(mfp.property)}=${NewMediusFilterMatchType.LessThan}:${mfp.filterValue}`);\n }\n break;\n }\n case MediusFilterMatchType.GreaterThan: {\n if (this._dateRegex.test(mfp.filterValue)) {\n filterQPs.push(`${this.extractPropertyName(mfp.property)}=${NewMediusFilterMatchType.GreaterThan}:${new Date(mfp.filterValue).toISOString()}`);\n } else {\n filterQPs.push(`${this.extractPropertyName(mfp.property)}=${NewMediusFilterMatchType.GreaterThan}:${mfp.filterValue}`);\n }\n break;\n }\n }\n }\n url += '&';\n url += filterQPs.join('&');\n }\n return url;\n }\n\n public static mapItemsToEntityChangesArray(fieldValue: {[key: string]: Array<MngEntityChangeDto>}): Array<MngEntityRevisionChanges> {\n const entityChanges: MngEntityRevisionChanges[] = [];\n for (const key of Object.keys(fieldValue)) {\n const ec = new MngEntityRevisionChanges();\n ec.entityType = key;\n ec.items = [];\n for (const change of fieldValue[key]) {\n if (change.revType === MngRevisionTypeDto.Add && change.entityNewState) {\n const item = new MngEntityRevisionChangeState();\n item.revType = change.revType;\n item.color = 'green';\n Object.entries(change.entityNewState).forEach(([key, value]) => (item[key] = value));\n ec.items.push(item);\n } else if (change.revType === MngRevisionTypeDto.Del && change.entityOldState) {\n const item = new MngEntityRevisionChangeState();\n item.revType = change.revType;\n item.color = 'red';\n Object.entries(change.entityOldState).forEach(([key, value]) => (item[key] = value));\n ec.items.push(item);\n } else if (change.revType === MngRevisionTypeDto.Mod && change.entityOldState && change.entityNewState) {\n const itemOld = new MngEntityRevisionChangeState();\n itemOld.revType = change.revType;\n itemOld.color = 'red';\n Object.entries(change.entityOldState).forEach(([key, value]) => (itemOld[key] = value));\n\n const itemNew = new MngEntityRevisionChangeState();\n itemNew.revType = change.revType;\n itemNew.color = 'green';\n Object.entries(change.entityNewState).forEach(([key, value]) => (itemNew[key] = value));\n\n ec.items.push(itemOld);\n ec.items.push(itemNew);\n }\n }\n entityChanges.push(ec);\n }\n return entityChanges;\n }\n}\n","import {Injectable, inject} from '@angular/core';\n\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {AMngBaseApiService, IdType, MediusQueryParam, MngConfigurationService, MngInternalError} from '@mediusinc/mng-commons';\n\nimport {MngRevEntityWithId} from '../../models/revEntityWithId.model';\nimport {MNG_AUDIT_MODULE_CONFIG_IT} from '../../service/module-config.token';\nimport {AuditUtil} from '../../utils/audit.util';\nimport {GetAllResponse} from '../models/get-all-response.model';\nimport {MngRevEntityWithChangesDto} from '../models/revEntityWithChangesDto';\nimport {MngRevEntityWithStateDto} from '../models/revEntityWithStateDto';\n\n@Injectable()\nexport class MngAuditRevisionsApiService extends AMngBaseApiService {\n protected readonly configService: MngConfigurationService;\n\n protected readonly moduleConfig = inject(MNG_AUDIT_MODULE_CONFIG_IT);\n\n constructor() {\n super();\n this.configService = MngConfigurationService.get();\n }\n\n protected getServiceBasePath(): string | null {\n return this.moduleConfig.apiServiceBasePath ?? '';\n }\n\n protected getBasePath(): string {\n return `${this.configService.getConfigValue(this.moduleConfig.apiBasePathConfigKey)}`;\n }\n\n public getRevisionList(queryParams: MediusQueryParam): Observable<GetAllResponse<{[key: string]: unknown}>> {\n return this.http.get<GetAllResponse<{[key: string]: unknown}>>(this.getUrl(AuditUtil.appendMediusQueryParamsToUrl(queryParams)));\n }\n\n public getAllChangesForRevision(revId: IdType): Observable<MngRevEntityWithChangesDto> {\n return this.http.get(this.getUrl(`/changes/${revId}`));\n }\n\n public listRevisionsWithStateForEntityType(queryParams: MediusQueryParam, entityType: string): Observable<GetAllResponse<MngRevEntityWithStateDto>> {\n return this.http.get<GetAllResponse<unknown>>(this.getUrl(`/states/${entityType}`, AuditUtil.appendMediusQueryParamsToUrl(queryParams))).pipe(\n map(\n res =>\n <GetAllResponse<MngRevEntityWithStateDto>>{\n data: this.deserializeClassArray(res.data, MngRevEntityWithStateDto),\n totalCount: res.totalCount\n }\n )\n );\n }\n\n public fetchRevisionsWithStateForEntityType(entityType: string, revId: IdType, itemId: IdType): Observable<MngRevEntityWithId> {\n return this.http.get(this.getUrl(`/states/${entityType}?rev=eq:${revId}&id=eq:${itemId}`)).pipe(\n map(response =>\n this.deserializeClassArray(response, MngRevEntityWithId).map(i => {\n i.mergedId = i.revEntity?.['rev'] + '_' + i.entityState?.['id'];\n return i;\n })\n ),\n map(items => {\n if (items.length > 0) {\n return items[0];\n }\n throw new MngInternalError(`Entity revision ${revId} for ${entityType} with id ${itemId} was not found`);\n })\n );\n }\n}\n","/**\n * Medius quarkus sampler\n * Sampler OPENAPI definition\n *\n * The version of the OpenAPI document: 1.0.0\n * Contact: info@medius.si\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {ClassAttributeDef, TypeName, TypeRegistry} from '@mediusinc/mng-commons';\n\nimport {MngGuiPropertyModelDto} from './guiPropertyModel';\n\n@TypeName('MngGuiEntityModelDto')\nexport class MngGuiEntityModelDto {\n entityName?: string;\n properties?: Array<MngGuiPropertyModelDto>;\n\n public static discriminator?: string;\n\n public static attributeTypeMap: Array<ClassAttributeDef> = [\n {\n name: 'entityName',\n baseName: 'entityName',\n type: 'string'\n },\n {\n name: 'properties',\n baseName: 'properties',\n type: 'Array<GuiPropertyModel>'\n }\n ];\n\n public static getAttributeTypeMap() {\n return MngGuiEntityModelDto.attributeTypeMap;\n }\n}\n\nTypeRegistry.get().registerType(MngGuiEntityModelDto);\n","import {Injectable, inject} from '@angular/core';\n\nimport {Observable, shareReplay} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {AMngBaseApiService, MngConfigurationService} from '@mediusinc/mng-commons';\n\nimport {MNG_AUDIT_MODULE_CONFIG_IT} from '../../service/module-config.token';\nimport {MngGuiEntityModelDto} from '../models/guiEntityModel';\n\n@Injectable()\nexport class MngAuditService extends AMngBaseApiService {\n private readonly CACHE_SIZE = 1;\n private readonly configService: MngConfigurationService;\n private readonly moduleConfig = inject(MNG_AUDIT_MODULE_CONFIG_IT);\n\n private revModelObs?: Observable<MngGuiEntityModelDto>;\n private auditModelObs?: Observable<Array<MngGuiEntityModelDto>>;\n\n constructor() {\n super();\n this.configService = MngConfigurationService.get();\n }\n\n protected getServiceBasePath(): string | null {\n return this.moduleConfig.apiServiceBasePath ?? '';\n }\n\n protected getBasePath(): string {\n return `${this.configService.getConfigValue(this.moduleConfig.apiBasePathConfigKey)}`;\n }\n\n public get revModel$() {\n if (!this.revModelObs) {\n this.revModelObs = this.requestRevModel().pipe(shareReplay(this.CACHE_SIZE));\n }\n return this.revModelObs;\n }\n\n public get auditModel$() {\n if (!this.auditModelObs) {\n this.auditModelObs = this.requestAuditModel().pipe(shareReplay(this.CACHE_SIZE));\n }\n return this.auditModelObs;\n }\n\n private requestRevModel(): Observable<MngGuiEntityModelDto> {\n return this.http.get(this.getUrl('/rev-model'));\n }\n\n private requestAuditModel(): Observable<Array<MngGuiEntityModelDto>> {\n return this.http.get(this.getUrl('/audit-models')).pipe(map(response => this.deserializeClassArray(response, MngGuiEntityModelDto)));\n }\n}\n","import {Component} from '@angular/core';\nimport {RouterOutlet} from '@angular/router';\n\n@Component({\n standalone: true,\n selector: 'mng-audit-page',\n imports: [RouterOutlet],\n templateUrl: 'audit.page.component.html'\n})\nexport class MngAuditPageComponent {}\n","<router-outlet></router-outlet>\n","import {TypeName} from '@mediusinc/mng-commons';\n\nimport {MngGuiEntityModelDto} from '../api/models/guiEntityModel';\n\n@TypeName('MngGuiEntityModelWithI18n')\nexport class MngGuiEntityModelWithI18n extends MngGuiEntityModelDto {\n entityNameI18n?: string;\n}\n","import {AsyncPipe} from '@angular/common';\nimport {Component, DestroyRef, OnInit, WritableSignal, inject, signal} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {FormsModule} from '@angular/forms';\nimport {Router} from '@angular/router';\n\nimport {FormlyModule} from '@ngx-formly/core';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {combineLatest, throwError} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {\n AMngTableviewRouteComponent,\n ActionDescriptorInst,\n ActionEditorDetailsDescriptor,\n LookupDataProvider,\n LookupDataProviderInst,\n MediusQueryResult,\n MngDropdownComponent,\n MngInternalError,\n MngTableviewRouteComponent,\n TableviewDataProvider,\n TableviewDescriptor\n} from '@mediusinc/mng-commons';\n\nimport {MngGuiEntityModelDto} from '../../../api/models/guiEntityModel';\nimport {MngAuditRevisionsApiService} from '../../../api/services/audit-revisions-api.service';\nimport {MngAuditService} from '../../../api/services/audit.service';\nimport {MngGuiEntityModelWithI18n} from '../../../models/guiEntityModelWithI18n.model';\nimport {MngRevEntityWithId} from '../../../models/revEntityWithId.model';\nimport {AuditUtil} from '../../../utils/audit.util';\n\n@Component({\n standalone: true,\n selector: 'mng-audit-entity-revisions-page',\n imports: [MngDropdownComponent, MngTableviewRouteComponent, FormsModule, AsyncPipe, TranslateModule, FormlyModule],\n templateUrl: 'audit-entity-revisions.page.component.html'\n})\nexport class MngAuditEntityRevisionsPageComponent extends AMngTableviewRouteComponent<MngRevEntityWithId> implements OnInit {\n private destroyRef = inject(DestroyRef);\n private auditService = inject(MngAuditService);\n private revisionsApiService = inject(MngAuditRevisionsApiService);\n\n public revModel?: MngGuiEntityModelDto;\n public selectedRevisionEntity?: MngGuiEntityModelDto;\n public revisionEntitiesLookupProvider?: LookupDataProviderInst<MngGuiEntityModelWithI18n>;\n\n public showTableview: WritableSignal<boolean> = signal(false);\n\n constructor(private router: Router) {\n super();\n this.revisionEntitiesLookupProvider = LookupDataProvider.fromClass(MngGuiEntityModelWithI18n).withLookup(() =>\n this.auditService.auditModel$.pipe(\n map(model => {\n const modelI18n = model as MngGuiEntityModelWithI18n[];\n modelI18n.sort((m1, m2) => {\n if (m1.entityName && m2.entityName) {\n return m1.entityName.localeCompare(m2.entityName);\n } else if (m1.entityName && !m2.entityName) {\n return 1;\n } else {\n return -1;\n }\n });\n modelI18n.forEach(item => {\n const translatedEntityName = this.translateService.instant('AuditEntities.' + item.entityName);\n item.entityNameI18n = translatedEntityName.includes('AuditEntities.') ? item.entityName : translatedEntityName;\n });\n return modelI18n;\n })\n )\n );\n }\n\n override ngOnInit() {\n this.route.paramMap.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(params => {\n const entityClass = params.get('entityClass');\n if (entityClass) {\n combineLatest([this.auditService.auditModel$, this.auditService.revModel$]).subscribe(([entities, revModel]) => {\n this.revModel = revModel;\n\n for (const e of entities) {\n if (e.entityName === entityClass) {\n this.selectedRevisionEntity = e;\n super.ngOnInit();\n setTimeout(() => this.showTableview.set(true));\n }\n }\n });\n }\n });\n }\n\n public onRevisionEntityChange() {\n this.showTableview.set(false);\n if (this.selectedRevisionEntity) {\n this.router.navigate(['/audit/entity-revisions/' + this.selectedRevisionEntity.entityName]);\n } else {\n this.router.navigate(['/audit/entity-revisions/']);\n }\n }\n\n protected createTableviewDescriptor() {\n if (!this.revModel || !this.selectedRevisionEntity?.entityName) {\n throw new MngInternalError('No revision model or revision entity is provided for tableview.');\n }\n\n const desc = TableviewDescriptor.fromClass(MngRevEntityWithId, 'mergedId', undefined, this.selectedRevisionEntity.entityName);\n\n AuditUtil.buildDescriptorForEntityRevision(desc, this.revModel, this.selectedRevisionEntity);\n\n desc.table.withColumnsResizable();\n desc.table.withCurrentColumnsReorderable();\n desc.table.withCurrentColumnsToggleable();\n\n return desc;\n }\n\n protected createTableviewDataProvider() {\n if (!this.revModel || !this.selectedRevisionEntity?.entityName) {\n throw new MngInternalError('No revision model or revision entity is provided for tableview.');\n }\n\n const entityName = this.selectedRevisionEntity.entityName;\n return TableviewDataProvider.fromClass(MngRevEntityWithId).withGetAll(qp =>\n this.selectedRevisionEntity?.entityName\n ? this.revisionsApiService.listRevisionsWithStateForEntityType(qp, entityName).pipe(\n map(res => {\n const revEntityWithStateAndIdList = [];\n for (const revEntityWithState of res.data) {\n const revEntityWithStateAndId = new MngRevEntityWithId();\n revEntityWithStateAndId.mergedId = revEntityWithState.revEntity?.['rev'] + '_' + revEntityWithState.entityState?.['id'];\n revEntityWithStateAndId.revType = revEntityWithState.revType;\n revEntityWithStateAndId.revEntity = revEntityWithState.revEntity;\n revEntityWithStateAndId.entityState = revEntityWithState.entityState;\n revEntityWithStateAndId.entityClassName = revEntityWithState.entityClassName;\n revEntityWithStateAndIdList.push(revEntityWithStateAndId);\n }\n return MediusQueryResult.fromArray(revEntityWithStateAndIdList, res.totalCount);\n })\n )\n : throwError(() => new MngInternalError('No revision entity is provided for list.'))\n );\n }\n\n public override createActionDescriptors(): Array<ActionDescriptorInst<MngRevEntityWithId>> {\n if (!this.revModel || !this.selectedRevisionEntity?.entityName) {\n throw new MngInternalError('No revision model or revision entity is provided for tableview.');\n }\n\n const entityName = this.selectedRevisionEntity.entityName;\n const detailsAction = ActionEditorDetailsDescriptor.create(this.descriptor.detailsEditor)\n .withFetchFunction(ctx => {\n if (!entityName) {\n return throwError(() => new MngInternalError('No revision entity is provided for details.'));\n }\n if (!ctx.parameters.itemId) {\n return throwError(() => new MngInternalError('No item id for revision entity details is provided.'));\n }\n const revId = ctx.parameters.itemId.toString().split('_')[0];\n const itemId = ctx.parameters.itemId.toString().split('_')[1];\n return this.revisionsApiService.fetchRevisionsWithStateForEntityType(entityName, revId, itemId);\n })\n .withEditorTitle('pages.entityRevisions.actions.details.editor.title');\n return [detailsAction];\n }\n}\n","<div class=\"card\">\n <div class=\"field mb-0\">\n <mng-dropdown\n id=\"revisionEntityDropdown\"\n [placeholder]=\"'pages.entityRevisions.dropdown.placeholder' | translate\"\n optionsLabelProperty=\"entityNameI18n\"\n [(ngModel)]=\"selectedRevisionEntity\"\n (valueChange)=\"onRevisionEntityChange()\"\n [dataProvider]=\"revisionEntitiesLookupProvider\"></mng-dropdown>\n @if (!selectedRevisionEntity) {\n <small class=\"block\">\n {{ 'pages.entityRevisions.dropdown.helpText' | translate }}\n </small>\n }\n </div>\n</div>\n@if (showTableview()) {\n <mng-tableview-route [descriptor]=\"descriptor\" [dataProvider]=\"dataProvider\" [actions]=\"actions\"></mng-tableview-route>\n}\n","/**\n * Medius quarkus sampler\n * Sampler OPENAPI definition\n *\n * The version of the OpenAPI document: 1.0.0\n * Contact: info@medius.si\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {ClassAttributeDef, TypeName, TypeRegistry} from '@mediusinc/mng-commons';\n\nimport {MngEntityChangeDto} from './entityChange';\n\n@TypeName('MngRevEntityWithChangesDto')\nexport class MngRevEntityWithChangesDto {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n revEntity?: {[key: string]: any};\n entityNameChangesMap?: {[key: string]: Array<MngEntityChangeDto>};\n\n public static discriminator?: string;\n\n public static attributeTypeMap: Array<ClassAttributeDef> = [\n {\n name: 'revEntity',\n baseName: 'revEntity',\n type: '{ [key: string]: any; }'\n },\n {\n name: 'entityNameChangesMap',\n baseName: 'entityNameChangesMap',\n type: '{ [key: string]: Array<EntityChange>; }'\n }\n ];\n\n public static getAttributeTypeMap() {\n return MngRevEntityWithChangesDto.attributeTypeMap;\n }\n}\n\nTypeRegistry.get().registerType(MngRevEntityWithChangesDto);\n","import {IdType, TypeName} from '@mediusinc/mng-commons';\n\n@TypeName('MngRevEntity')\nexport class MngRevEntity {\n rev?: IdType; // usually a number\n revUsername?: string;\n timestamp?: Date;\n}\n","import {TypeName} from '@mediusinc/mng-commons';\n\nimport {MngEntityChangeDto} from '../api/models/entityChange';\nimport {MngRevEntity} from './rev-entity.model';\n\n@TypeName('MngRevEntityDetailed')\nexport class MngRevEntityDetailed extends MngRevEntity {\n revEntity?: {[key: string]: unknown};\n entityNameChangesMap?: {[key: string]: Array<MngEntityChangeDto>};\n}\n","import {AsyncPipe} from '@angular/common';\nimport {Component, DestroyRef, Injector, Input, OnInit, inject} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\n\nimport {BehaviorSubject} from 'rxjs';\n\nimport {AMngFormlyCustomFieldComponent, MngInternalError, MngTableComponent, TableDescriptor, TablePaginationModeEnum} from '@mediusinc/mng-commons';\n\nimport {MngEntityChangeDto} from '../../api/models/entityChange';\nimport {MngGuiEntityModelDto} from '../../api/models/guiEntityModel';\nimport {MngRevisionTypeDto} from '../../api/models/revisionType';\nimport {MngAuditService} from '../../api/services/audit.service';\nimport {MngEntityRevisionChangeState} from '../../models/entity-revision-change-state.model';\nimport {MngEntityRevisionChanges} from '../../models/entity-revision-changes.model';\nimport {AuditUtil} from '../../utils/audit.util';\n\n@Component({\n standalone: true,\n selector: 'mng-entity-changes-field',\n imports: [MngTableComponent, AsyncPipe],\n styleUrls: ['entity-changes-field.component.scss'],\n templateUrl: 'entity-changes-field.component.html'\n})\nexport class EntityChangesFieldComponent extends AMngFormlyCustomFieldComponent implements OnInit {\n @Input() public injector?: Injector;\n\n private destroyRef = inject(DestroyRef);\n\n public entityChanges: MngEntityRevisionChanges[] = [];\n public modelFetched = new BehaviorSubject(false);\n\n private auditModel: MngGuiEntityModelDto[] = [];\n private fieldValue?: {[key: string]: Array<MngEntityChangeDto>};\n\n ngOnInit(): void {\n this.fieldValue = this.formControl.value as {[key: string]: Array<MngEntityChangeDto>};\n this.injector\n ?.get(MngAuditService, undefined, {optional: true})\n ?.auditModel$.pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe({\n next: model => {\n this.auditModel = model;\n if (this.fieldValue) {\n this.entityChanges = AuditUtil.mapItemsToEntityChangesArray(this.fieldValue);\n this.modelFetched.next(true);\n }\n },\n error: err => {\n throw new MngInternalError('Error while trying to fetch audit model from audit service', {name: 'EntityChangesFieldComponentError', cause: err});\n }\n });\n }\n\n public createDescriptor(entityChanges: MngEntityRevisionChanges) {\n const changedFields: string[] = [];\n if (entityChanges.items && entityChanges.items[0].revType === MngRevisionTypeDto.Mod) {\n for (const key in entityChanges.items[0]) {\n if (entityChanges.items[0][key] !== entityChanges.items[1][key]) {\n changedFields.push(key);\n }\n }\n }\n\n const guiEntityModel = this.auditModel.filter(m => m.entityName === entityChanges.entityType)[0];\n\n const desc = TableDescriptor.fromClass(MngEntityRevisionChangeState, undefined, undefined, guiEntityModel.entityName).withClassName('py-2');\n if (guiEntityModel.entityName) {\n desc.withTitle(guiEntityModel.entityName);\n }\n\n desc.addColumn('revType').withTitle('MngEntityRevisionChangeState.properties.revType').asEnum(MngRevisionTypeDto);\n\n if (guiEntityModel.properties) {\n AuditUtil.addColumnsFromModel(desc, guiEntityModel.properties, undefined, false, false);\n }\n\n desc.withRowClassName(undefined, (_, item) => (item ? (item.color === 'green' ? 'audit-row-added' : 'audit-row-deleted') : ''));\n desc.columns.forEach(col => {\n if (changedFields.length > 0 && changedFields.some(val => col.property === val)) {\n col.withClassName('audit-cell');\n }\n });\n\n desc.withPaginationMode(TablePaginationModeEnum.Pagination);\n desc.withCurrentColumnsReorderable();\n desc.withCurrentColumnsToggleable();\n desc.withTrackProperty(`EntityChangeField_${entityChanges.entityType ?? 'default'}`);\n\n return desc;\n }\n}\n","@if (modelFetched | async) {\n <div>\n @for (ec of entityChanges; track ec) {\n <mng-table [items]=\"ec.items\" [descriptor]=\"createDescriptor(ec)\"></mng-table>\n }\n </div>\n} @else {\n <div class=\"text-center\">\n <i class=\"pi pi-spin pi-spinner\" style=\"font-size: 2rem\"></i>\n </div>\n}\n","import {AsyncPipe, JsonPipe} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, DestroyRef, Injector, OnInit, WritableSignal, inject, signal} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {RouterOutlet} from '@angular/router';\n\nimport {map} from 'rxjs/operators';\n\nimport {\n AMngTableviewRouteComponent,\n ActionDescriptorInst,\n ActionEditorDetailsDescriptor,\n EditorDescriptor,\n EditorDescriptorInst,\n ITableviewDataProvider,\n MediusQueryResult,\n MngTableviewComponent,\n MngTableviewRouteComponent,\n ModelDescriptor,\n TableFilterDisplayEnum,\n TableviewDataProvider,\n TableviewDescriptor,\n TableviewDescriptorInst,\n TableviewEditorTypeEnum,\n itemIdToDefined\n} from '@mediusinc/mng-commons';\n\nimport {MngGuiEntityModelDto} from '../../../api/models/guiEntityModel';\nimport {MngRevEntityWithChangesDto} from '../../../api/models/revEntityWithChangesDto';\nimport {MngAuditRevisionsApiService} from '../../../api/services/audit-revisions-api.service';\nimport {MngAuditService} from '../../../api/services/audit.service';\nimport {MngRevEntityDetailed} from '../../../models/rev-entity-detailed.model';\nimport {MngRevEntity} from '../../../models/rev-entity.model';\nimport {AuditUtil} from '../../../utils/audit.util';\nimport {EntityChangesFieldComponent} from '../../entity-changes-field/entity-changes-field.component';\n\n@Component({\n standalone: true,\n selector: 'mng-audit-revisions-page',\n templateUrl: './audit-revisions.page.component.html',\n imports: [MngTableviewComponent, AsyncPipe, MngTableviewComponent, RouterOutlet, JsonPipe, MngTableviewRouteComponent],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MngAuditRevisionsPageComponent extends AMngTableviewRouteComponent<MngRevEntity> implements OnInit {\n private destroyRef = inject(DestroyRef);\n private injector = inject(Injector);\n private auditService = inject(MngAuditService);\n private revisisonsApiService = inject(MngAuditRevisionsApiService);\n\n private revModel?: MngGuiEntityModelDto;\n public showTableview: WritableSignal<boolean> = signal(false);\n\n override ngOnInit(): void {\n this.auditService.revModel$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe({\n next: model => {\n this.revModel = model;\n super.ngOnInit();\n setTimeout(() => this.showTableview.set(true));\n }\n });\n }\n\n protected createTableviewDescriptor(): TableviewDescriptorInst<MngRevEntity> {\n if (this.revModel) {\n const idProperty = this.revModel.properties?.filter(prop => prop.isId).map(prop => prop.resolvedPropertyName)[0];\n\n const model = ModelDescriptor.fromClass(MngRevEntity);\n if (this.revModel.entityName) model.withI18nBase(this.revModel.entityName);\n if (idProperty) model.withIdPropertyUnsafe(idProperty);\n\n const desc = TableviewDescriptor.fromModel(model);\n\n const detailsDescriptor = EditorDescriptor.fromClass(MngRevEntityWithChangesDto, undefined, undefined, undefined, TableviewEditorTypeEnum.Details);\n detailsDescriptor.model.withIdPropertyUnsafe('revEntity.' + idProperty);\n\n if (this.revModel.properties) {\n AuditUtil.addColumnsFromModel(desc.table, this.revModel.properties);\n AuditUtil.addFieldsFromModel<MngRevEntityWithChangesDto>(detailsDescriptor, this.revModel.properties);\n }\n\n detailsDescriptor\n .addField('entityNameChangesMap')\n .asCustomComponent(EntityChangesFieldComponent, {\n fieldWrappers: ['field-no-label'],\n inputs: {injector: this.injector}\n })\n .withDisabled();\n\n desc.withDetailsDescriptor(detailsDescriptor as EditorDescriptorInst<MngRevEntity>); // MngRevEntity is extended by MngRevEntityWithChangesDto, so no real harm here\n desc.table.withFilterDisplay(TableFilterDisplayEnum.Row);\n\n return desc;\n }\n return TableviewDescriptor.fromClass(MngRevEntity);\n }\n\n protected createTableviewDataProvider(): ITableviewDataProvider<MngRevEntity> {\n if (this.revModel) {\n return TableviewDataProvider.fromClass(MngRevEntity).withGetAll(qp =>\n this.revisisonsApiService.getRevisionList(qp).pipe(map(res => MediusQueryResult.fromArray(res.data, res.totalCount)))\n );\n }\n return TableviewDataProvider.fromClass(MngRevEntity);\n }\n\n protected override createActionDescriptors(): Array<ActionDescriptorInst<MngRevEntity>> {\n const detailsAction = ActionEditorDetailsDescriptor.create(this.descriptor.detailsEditor).withFetchFunction(ctx =>\n this.revisisonsApiService.getAllChangesForRevision(itemIdToDefined(ctx.parameters.itemId)).pipe(\n map(item => {\n const revEntityWithChanges = new MngRevEntityDetailed();\n revEntityWithChanges.rev = ctx.parameters.itemId;\n revEntityWithChanges.revEntity = item.revEntity;\n revEntityWithChanges.entityNameChangesMap = item.entityNameChangesMap;\n return revEntityWithChanges;\n })\n )\n );\n\n return [detailsAction];\n }\n}\n","@if (showTableview()) {\n <mng-tableview-route [descriptor]=\"descriptor\" [dataProvider]=\"dataProvider\" [actions]=\"actions\"></mng-tableview-route>\n}\n","import {Routes} from '@angular/router';\n\nimport {MngMenuItem, RouteBuilder, RoutesBuilder, TableviewRouteBuilder} from '@mediusinc/mng-commons';\n\nimport {MngAuditRevisionsApiService} from './api/services/audit-revisions-api.service';\nimport {MngAuditService} from './api/services/audit.service';\nimport {MngAuditPageComponent} from './components/pages/audit/audit.page.component';\nimport {MngAuditEntityRevisionsPageComponent} from './components/pages/entity-revisions/audit-entity-revisions.page.component';\nimport {MngAuditRevisionsPageComponent} from './components/pages/revisions/audit-revisions.page.component';\nimport {MngAuditModuleConfig} from './models/config.model';\nimport {MNG_AUDIT_MODULE_CONFIG_IT} from './service/module-config.token';\n\n/**\n * Provides routes for the mng-commons-audit functionalities.\n * @param config Module config for audit section.\n * @param routeConfig Optionally provide route configs.\n */\nexport function provideMngAuditRoutes(\n config: MngAuditModuleConfig,\n routeConfig?: {\n defaultRedirect?: string;\n preRevisionRoutes?: RouteBuilder[];\n postRevisionRoutes?: RouteBuilder[];\n revisionsMenuItem?: MngMenuItem;\n entityRevisionsMenuItem?: MngMenuItem;\n }\n): Routes {\n const routeBuilder = RouteBuilder.create('', config.rootPageComponent ?? MngAuditPageComponent)\n .withProvider(MngAuditService)\n .withProvider(MngAuditService)\n .withProvider(MngAuditRevisionsApiService)\n .withProvider({\n provide: MNG_AUDIT_MODULE_CONFIG_IT,\n useValue: config\n })\n .addChildBuilder(RouteBuilder.createRedirect('', routeConfig?.defaultRedirect ?? 'revisions', 'full'));\n\n if (routeConfig?.preRevisionRoutes?.length) {\n routeConfig.preRevisionRoutes.forEach(r => routeBuilder.addChildBuilder(r));\n }\n\n const revisionsRouteBuilder = TableviewRouteBuilder.fromComponent('revisions', config.revisionsPageComponent ?? MngAuditRevisionsPageComponent)\n .withTitle('pages.revisions.title')\n .withAdd(false)\n .withDelete(false)\n .withEdit(false);\n if (routeConfig?.revisionsMenuItem) {\n revisionsRouteBuilder.withMngMenuItem(routeConfig.revisionsMenuItem);\n } else {\n revisionsRouteBuilder.withMenuItem('pi pi-book', 'pages.revisions.title');\n }\n\n const entityRevisionsRouteBuilder = RouteBuilder.create('entity-revisions', config.entityRevisionsPageComponent ?? MngAuditEntityRevisionsPageComponent).withTitle(\n 'pages.entityRevisions.title'\n );\n if (routeConfig?.entityRevisionsMenuItem) {\n entityRevisionsRouteBuilder.withMngMenuItem(routeConfig.entityRevisionsMenuItem);\n } else {\n entityRevisionsRouteBuilder.withMenuItem('pi pi-building', 'pages.entityRevisions.title');\n }\n\n routeBuilder\n .addChildBuilder(revisionsRouteBuilder)\n .addChildBuilder(entityRevisionsRouteBuilder)\n .addChildBuilder(\n TableviewRouteBuilder.fromComponent('entity-revisions/:entityClass', config.entityRevisionsPageComponent ?? MngAuditEntityRevisionsPageComponent).withTitle(\n 'pages.entityRevisions.title'\n )\n );\n\n if (routeConfig?.postRevisionRoutes?.length) {\n routeConfig.postRevisionRoutes.forEach(r => routeBuilder.addChildBuilder(r));\n }\n\n return RoutesBuilder.create().addRouteBuilder(routeBuilder).build();\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mediusinc-mng-commons-audit.mjs","sources":["../../src/lib/service/module-config.token.ts","../../src/lib/api/models/guiEntityModel.ts","../../src/lib/api/services/audit.service.ts","../../src/lib/components/pages/audit/audit.page.component.ts","../../src/lib/components/pages/audit/audit.page.component.html","../../src/lib/api/models/revEntityWithStateDto.ts","../../src/lib/models/revEntityWithId.model.ts","../../src/lib/api/models/guiPropertyType.ts","../../src/lib/api/models/revisionType.ts","../../src/lib/models/entity-revision-change-state.model.ts","../../src/lib/models/entity-revision-changes.model.ts","../../src/lib/utils/audit.util.ts","../../src/lib/api/services/audit-revisions-api.service.ts","../../src/lib/models/guiEntityModelWithI18n.model.ts","../../src/lib/components/pages/entity-revisions/audit-entity-revisions.page.component.ts","../../src/lib/components/pages/entity-revisions/audit-entity-revisions.page.component.html","../../src/lib/api/models/revEntityWithChangesDto.ts","../../src/lib/models/rev-entity.model.ts","../../src/lib/models/rev-entity-detailed.model.ts","../../src/lib/components/entity-changes-field/entity-changes-field.component.ts","../../src/lib/components/entity-changes-field/entity-changes-field.component.html","../../src/lib/components/pages/revisions/audit-revisions.page.component.ts","../../src/lib/components/pages/revisions/audit-revisions.page.component.html","../../src/lib/audit.routes.ts","../../src/mediusinc-mng-commons-audit.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\n\nimport {CommonsAuditModuleConfig} from '../models/config.model';\n\nexport const COMMONS_AUDIT_MODULE_CONFIG_IT = new InjectionToken<CommonsAuditModuleConfig>('CommonsAuditModuleConfig');\n","/**\n * Medius quarkus sampler\n * Sampler OPENAPI definition\n *\n * The version of the OpenAPI document: 1.0.0\n * Contact: info@medius.si\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {ClassAttributeDef, TypeName, TypeRegistry} from '@mediusinc/mng-commons/core';\n\nimport {GuiPropertyModelDto} from './guiPropertyModel';\n\n@TypeName('MngGuiEntityModelDto')\nexport class GuiEntityModelDto {\n entityName?: string;\n properties?: Array<GuiPropertyModelDto>;\n\n public static discriminator?: string;\n\n public static attributeTypeMap: Array<ClassAttributeDef> = [\n {\n name: 'entityName',\n baseName: 'entityName',\n type: 'string'\n },\n {\n name: 'properties',\n baseName: 'properties',\n type: 'Array<GuiPropertyModel>'\n }\n ];\n\n public static getAttributeTypeMap() {\n return GuiEntityModelDto.attributeTypeMap;\n }\n}\n\nTypeRegistry.get().registerType(GuiEntityModelDto);\n","import {Injectable, inject} from '@angular/core';\n\nimport {Observable, shareReplay} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {ACommonsBaseV1ApiService} from '@mediusinc/mng-commons-data-api-class/v1';\nimport {CommonsConfigurationService} from '@mediusinc/mng-commons/core';\n\nimport {COMMONS_AUDIT_MODULE_CONFIG_IT} from '../../service/module-config.token';\nimport {GuiEntityModelDto} from '../models/guiEntityModel';\n\n@Injectable()\nexport class AuditService extends ACommonsBaseV1ApiService {\n private readonly CACHE_SIZE = 1;\n private readonly configService: CommonsConfigurationService;\n private readonly moduleConfig = inject(COMMONS_AUDIT_MODULE_CONFIG_IT);\n\n private revModelObs?: Observable<GuiEntityModelDto>;\n private auditModelObs?: Observable<Array<GuiEntityModelDto>>;\n\n constructor() {\n super();\n this.configService = CommonsConfigurationService.get();\n }\n\n protected getServiceBasePath(): string | null {\n return this.moduleConfig.apiServiceBasePath ?? '';\n }\n\n protected getBasePath(): string {\n return `${this.configService.getConfigValue(this.moduleConfig.apiBasePathConfigKey)}`;\n }\n\n public get revModel$() {\n if (!this.revModelObs) {\n this.revModelObs = this.requestRevModel().pipe(shareReplay(this.CACHE_SIZE));\n }\n return this.revModelObs;\n }\n\n public get auditModel$() {\n if (!this.auditModelObs) {\n this.auditModelObs = this.requestAuditModel().pipe(shareReplay(this.CACHE_SIZE));\n }\n return this.auditModelObs;\n }\n\n private requestRevModel(): Observable<GuiEntityModelDto> {\n return this.http.get(this.getUrl('/rev-model'));\n }\n\n private requestAuditModel(): Observable<Array<GuiEntityModelDto>> {\n return this.http.get(this.getUrl('/audit-models')).pipe(map(response => this.deserializeClassArray(response, GuiEntityModelDto)));\n }\n}\n","import {ChangeDetectionStrategy, Component} from '@angular/core';\nimport {RouterOutlet} from '@angular/router';\n\n@Component({\n standalone: true,\n selector: 'mng-audit-page',\n imports: [RouterOutlet],\n templateUrl: './audit.page.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AuditPageComponent {}\n","<router-outlet></router-outlet>\n","/**\n * Medius quarkus sampler\n * Sampler OPENAPI definition\n *\n * The version of the OpenAPI document: 1.0.0\n * Contact: info@medius.si\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {ClassAttributeDef, TypeName, TypeRegistry} from '@mediusinc/mng-commons/core';\n\nimport {RevisionTypeDto} from './revisionType';\n\n@TypeName('MngRevEntityWithStateDto')\nexport class RevEntityWithStateDto {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n revEntity?: {[key: string]: any};\n revType?: RevisionTypeDto;\n entityClassName?: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n entityState?: {[key: string]: any};\n\n public static discriminator?: string;\n\n public static attributeTypeMap: Array<ClassAttributeDef> = [\n {\n name: 'revEntity',\n baseName: 'revEntity',\n type: '{ [key: string]: any; }'\n },\n {\n name: 'revType',\n baseName: 'revType',\n type: 'RevisionType'\n },\n {\n name: 'entityClassName',\n baseName: 'entityClassName',\n type: 'string'\n },\n {\n name: 'entityState',\n baseName: 'entityState',\n type: '{ [key: string]: any; }'\n }\n ];\n\n public static getAttributeTypeMap() {\n return RevEntityWithStateDto.attributeTypeMap;\n }\n}\n\nTypeRegistry.get().registerType(RevEntityWithStateDto);\n","import {TypeName, TypeRegistry} from '@mediusinc/mng-commons/core';\n\nimport {RevEntityWithStateDto} from '../api/models/revEntityWithStateDto';\n\n@TypeName('MngRevEntityWithId')\nexport class RevEntityWithId extends RevEntityWithStateDto {\n mergedId?: string;\n}\n\nTypeRegistry.get().registerType(RevEntityWithId);\n","/**\n * Medius quarkus sampler\n * Sampler OPENAPI definition\n *\n * The version of the OpenAPI document: 1.0.0\n * Contact: info@medius.si\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {TypeRegistry} from '@mediusinc/mng-commons/core';\n\nexport enum GuiPropertyTypeDto {\n LocalDate = 'LOCAL_DATE',\n OffsetDateTime = 'OFFSET_DATE_TIME',\n String = 'STRING',\n Number = 'NUMBER',\n Boolean = 'BOOLEAN',\n Enum = 'ENUM',\n Wildcard = 'WILDCARD'\n}\n\nTypeRegistry.get().registerEnum(GuiPropertyTypeDto, 'MngGuiPropertyTypeDto');\n","/**\n * Medius quarkus sampler\n * Sampler OPENAPI definition\n *\n * The version of the OpenAPI document: 1.0.0\n * Contact: info@medius.si\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {TypeRegistry} from '@mediusinc/mng-commons/core';\nimport {enumModel} from '@mediusinc/mng-commons/model';\n\nexport enum RevisionTypeDto {\n Add = 'ADD',\n Mod = 'MOD',\n Del = 'DEL'\n}\n\nTypeRegistry.get().registerEnum(RevisionTypeDto, 'MngRevisionTypeDto');\n\nexport const revisionTypeEnum = enumModel(RevisionTypeDto.Add, RevisionTypeDto, 'MngRevisionTypeDto');\n","import {TypeName} from '@mediusinc/mng-commons/core';\n\nimport {RevisionTypeDto} from '../api/models/revisionType';\n\n@TypeName('MngEntityRevisionChangeState')\nexport class EntityRevisionChangeState {\n revType?: RevisionTypeDto;\n color?: 'green' | 'red';\n [key: string]: unknown;\n}\n","import {TypeName} from '@mediusinc/mng-commons/core';\n\nimport {EntityRevisionChangeState} from './entity-revision-change-state.model';\n\n@TypeName('MngEntityChanges')\nexport class EntityRevisionChanges {\n entityType?: string;\n items?: EntityRevisionChangeState[];\n}\n","import {HttpParams} from '@angular/common/http';\n\nimport {DataListParams, DataListParamsUtil, EnumType, TypeRegistry} from '@mediusinc/mng-commons/core';\nimport {LookupDataProvider} from '@mediusinc/mng-commons/form/api';\nimport {enumModelGeneric} from '@mediusinc/mng-commons/model';\nimport {ColumnDescriptor, TableDescriptorInst} from '@mediusinc/mng-commons/table/api';\nimport {EditorDescriptorInst, TableviewDescriptorInst} from '@mediusinc/mng-commons/tableview/api';\n\nimport {EntityChangeDto} from '../api/models/entityChange';\nimport {GuiEntityModelDto} from '../api/models/guiEntityModel';\nimport {GuiPropertyModelDto} from '../api/models/guiPropertyModel';\nimport {GuiPropertyTypeDto} from '../api/models/guiPropertyType';\nimport {RevEntityWithStateDto} from '../api/models/revEntityWithStateDto';\nimport {RevisionTypeDto, revisionTypeEnum} from '../api/models/revisionType';\nimport {EntityRevisionChangeState} from '../models/entity-revision-change-state.model';\nimport {EntityRevisionChanges} from '../models/entity-revision-changes.model';\n\nexport class AuditUtil {\n private static _dateRegex = /\\d{4}-[01]\\d-[0-3]\\d/;\n\n public static addColumnsFromModel<T>(\n descriptor: TableDescriptorInst<T>,\n properties: GuiPropertyModelDto[],\n modelType: 'revEntity' | 'entityState' | undefined = undefined,\n addFilters = true,\n addSorts = true\n ): TableDescriptorInst<T> {\n for (const property of properties) {\n if (!property.resolvedPropertyName) {\n continue;\n }\n\n const isEnum = property.propertyType === GuiPropertyTypeDto.Enum;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let column: ColumnDescriptor<any, T> | null = null;\n if (isEnum) {\n if (!property.possibleEnumValues) {\n continue;\n }\n\n const enumModel = AuditUtil.findEnum(property);\n if (enumModel) {\n column = descriptor.addColumnEnum(property.resolvedPropertyName as keyof T, enumModel);\n if (addFilters) {\n descriptor.addFilterLookupEnum(column.property as keyof T, enumModel, property.possibleEnumValues);\n }\n } else {\n column = descriptor.addColumnUnsafe(property.resolvedPropertyName);\n if (addFilters) {\n descriptor.addFilterLookupUnsafe(\n column.property,\n LookupDataProvider.create<string>().withLookup(() => property.possibleEnumValues ?? [])\n );\n }\n }\n } else if (property.propertyType === GuiPropertyTypeDto.Number) {\n column = descriptor.addColumnUnsafe(property.resolvedPropertyName).asNumber();\n } else if (property.propertyType === GuiPropertyTypeDto.Boolean) {\n column = descriptor.addColumnUnsafe(property.resolvedPropertyName).asBoolean();\n } else if (property.propertyType === GuiPropertyTypeDto.LocalDate) {\n column = descriptor.addColumnUnsafe(property.resolvedPropertyName).asDate('dd. MM yyyy');\n } else if (property.propertyType === GuiPropertyTypeDto.OffsetDateTime) {\n column = descriptor.addColumnUnsafe(property.resolvedPropertyName).asDate('dd. MM yyyy HH:mm');\n } else {\n // string / wildcard\n column = descriptor.addColumnUnsafe(property.resolvedPropertyName).withTitle(AuditUtil.getPropertyTitleKey(property, modelType));\n }\n\n if (modelType) {\n column.withGetter((value, item) => item?.[modelType as keyof object]?.[property.resolvedPropertyName as keyof object]);\n }\n\n column.withTitle(AuditUtil.getPropertyTitleKey(property, modelType));\n\n if (!isEnum && addFilters) {\n column?.withFilterUnsafe();\n }\n if (addSorts) {\n column?.withSortUnsafe();\n }\n }\n return descriptor;\n }\n\n public static getPropertyTitleKey(property: GuiPropertyModelDto, modelType: 'revEntity' | 'entityState' | undefined = undefined) {\n if (modelType === 'revEntity') {\n return 'MngRevEntity.properties.' + property.resolvedPropertyName;\n }\n return property.resolvedPropertyName ?? '';\n }\n\n public static addFieldsFromModel<T>(\n descriptor: EditorDescriptorInst<T>,\n properties: GuiPropertyModelDto[],\n modelType: 'revEntity' | 'entityState' = 'revEntity'\n ): EditorDescriptorInst<T> {\n for (const property of properties) {\n if (!property.resolvedPropertyName) {\n continue;\n }\n\n const fieldPrepend = `${modelType}.`;\n\n if (property.propertyType === GuiPropertyTypeDto.Enum) {\n const enumModel = AuditUtil.findEnum(property);\n if (enumModel) {\n if (!property.possibleEnumValues) {\n continue;\n }\n\n descriptor.addFieldLookupEnum((fieldPrepend + property.resolvedPropertyName) as keyof T, enumModel, property.possibleEnumValues).withDisabled();\n } else {\n descriptor.addFieldUnsafe(fieldPrepend + property.resolvedPropertyName).withLabel(AuditUtil.getPropertyTitleKey(property, modelType));\n }\n } else if (property.propertyType === GuiPropertyTypeDto.Number) {\n descriptor\n .addFieldUnsafe(fieldPrepend + property.resolvedPropertyName)\n .withLabel(AuditUtil.getPropertyTitleKey(property, modelType))\n .asNumber()\n .withDisabled();\n } else if (property.propertyType === GuiPropertyTypeDto.Boolean) {\n descriptor\n .addFieldUnsafe(fieldPrepend + property.resolvedPropertyName)\n .withLabel(AuditUtil.getPropertyTitleKey(property, modelType))\n .withDisabled();\n } else if (property.propertyType === GuiPropertyTypeDto.LocalDate) {\n descriptor\n .addFieldUnsafe(fieldPrepend + property.resolvedPropertyName)\n .withLabel(AuditUtil.getPropertyTitleKey(property, modelType))\n .asDatePicker({format: 'dd. MMM yyyy'})\n .withDisabled();\n } else if (property.propertyType === GuiPropertyTypeDto.OffsetDateTime) {\n descriptor\n .addFieldUnsafe(fieldPrepend + property.resolvedPropertyName)\n .withLabel(AuditUtil.getPropertyTitleKey(property, modelType))\n .asDatePicker({\n format: 'dd. MM yy',\n showTime: true,\n showSeconds: false\n })\n .withDisabled();\n } else {\n // string / wildcard\n descriptor\n .addFieldUnsafe(fieldPrepend + property.resolvedPropertyName)\n .withLabel(AuditUtil.getPropertyTitleKey(property, modelType))\n .withDisabled();\n }\n }\n return descriptor;\n }\n\n public static buildDescriptorForEntityRevision(\n descriptor: TableviewDescriptorInst<RevEntityWithStateDto>,\n revModel: GuiEntityModelDto,\n entityModel: GuiEntityModelDto\n ): TableviewDescriptorInst<RevEntityWithStateDto> {\n descriptor.addColumnEnum('revType', revisionTypeEnum).withTitle('MngEntityRevisionChangeState.properties.revType').withFilterUnsafe();\n descriptor.addFieldLookupEnum('revType', revisionTypeEnum).withLabel('MngEntityRevisionChangeState.properties.revType');\n\n if (revModel.properties) {\n AuditUtil.addColumnsFromModel(descriptor.table, revModel.properties, 'revEntity');\n AuditUtil.addFieldsFromModel(descriptor.detailsEditor, revModel.properties, 'revEntity');\n }\n if (entityModel.properties) {\n AuditUtil.addColumnsFromModel(descriptor.table, entityModel.properties, 'entityState');\n AuditUtil.addFieldsFromModel(descriptor.detailsEditor, entityModel.properties, 'entityState');\n }\n\n return descriptor;\n }\n\n public static findEnum(property: GuiPropertyModelDto) {\n if (!property.enumClassSimpleName) {\n return undefined;\n }\n\n let i18n: string | null = property.enumClassSimpleName;\n let enumType = TypeRegistry.get().findEnum(i18n);\n if (!enumType) {\n i18n = property.enumClassSimpleName + 'Dto';\n enumType = TypeRegistry.get().findEnum(i18n);\n }\n if (!enumType && Array.isArray(property.possibleEnumValues)) {\n i18n = null;\n enumType = property.possibleEnumValues?.reduce(\n (acc, v) => {\n const constName = v\n .split('_')\n .map(s => (s.length > 1 ? s.substring(0, 1).toUpperCase() + s.substring(1).toLowerCase() : s))\n .join('');\n if (constName !== v) {\n acc[constName] = v;\n }\n acc[v] = constName;\n return acc;\n },\n <EnumType>{}\n );\n }\n return enumModelGeneric(enumType, i18n);\n }\n\n public static extractPropertyName(fullPropertyName: string | undefined): string | undefined {\n if (fullPropertyName?.includes('entityState.')) {\n return fullPropertyName.replace('entityState.', '');\n } else if (fullPropertyName?.includes('revEntity.')) {\n return fullPropertyName?.replace('revEntity.', '');\n }\n return fullPropertyName;\n }\n\n public static paramsToHttpParams(params: DataListParams): HttpParams {\n const routeParams = DataListParamsUtil.toUrlQueryParams(params, null);\n let httpParams = new HttpParams();\n\n Object.entries(routeParams).forEach(([key, value]) => {\n httpParams = httpParams.append(key, value);\n });\n\n return httpParams;\n }\n\n public static mapItemsToEntityChangesArray(fieldValue: {[key: string]: Array<EntityChangeDto>}): Array<EntityRevisionChanges> {\n const entityChanges: EntityRevisionChanges[] = [];\n for (const key of Object.keys(fieldValue)) {\n const ec = new EntityRevisionChanges();\n ec.entityType = key;\n ec.items = [];\n for (const change of fieldValue[key]) {\n if (change.revType === RevisionTypeDto.Add && change.entityNewState) {\n const item = new EntityRevisionChangeState();\n item.revType = change.revType;\n item.color = 'green';\n Object.entries(change.entityNewState).forEach(([key, value]) => (item[key] = value));\n ec.items.push(item);\n } else if (change.revType === RevisionTypeDto.Del && change.entityOldState) {\n const item = new EntityRevisionChangeState();\n item.revType = change.revType;\n item.color = 'red';\n Object.entries(change.entityOldState).forEach(([key, value]) => (item[key] = value));\n ec.items.push(item);\n } else if (change.revType === RevisionTypeDto.Mod && change.entityOldState && change.entityNewState) {\n const itemOld = new EntityRevisionChangeState();\n itemOld.revType = change.revType;\n itemOld.color = 'red';\n Object.entries(change.entityOldState).forEach(([key, value]) => (itemOld[key] = value));\n\n const itemNew = new EntityRevisionChangeState();\n itemNew.revType = change.revType;\n itemNew.color = 'green';\n Object.entries(change.entityNewState).forEach(([key, value]) => (itemNew[key] = value));\n\n ec.items.push(itemOld);\n ec.items.push(itemNew);\n }\n }\n entityChanges.push(ec);\n }\n return entityChanges;\n }\n}\n","import {Injectable, inject} from '@angular/core';\n\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {ACommonsBaseV1ApiService} from '@mediusinc/mng-commons-data-api-class/v1';\nimport {CommonsConfigurationService, CommonsInternalError, DataListParams, IdType} from '@mediusinc/mng-commons/core';\n\nimport {RevEntityWithId} from '../../models/revEntityWithId.model';\nimport {COMMONS_AUDIT_MODULE_CONFIG_IT} from '../../service/module-config.token';\nimport {AuditUtil} from '../../utils/audit.util';\nimport {GetAllResponse} from '../models/get-all-response.model';\nimport {RevEntityWithChangesDto} from '../models/revEntityWithChangesDto';\nimport {RevEntityWithStateDto} from '../models/revEntityWithStateDto';\n\n@Injectable()\nexport class AuditRevisionsApiService extends ACommonsBaseV1ApiService {\n protected readonly configService: CommonsConfigurationService;\n\n protected readonly moduleConfig = inject(COMMONS_AUDIT_MODULE_CONFIG_IT);\n\n constructor() {\n super();\n this.configService = CommonsConfigurationService.get();\n }\n\n protected getServiceBasePath(): string | null {\n return this.moduleConfig.apiServiceBasePath ?? '';\n }\n\n protected getBasePath(): string {\n return `${this.configService.getConfigValue(this.moduleConfig.apiBasePathConfigKey)}`;\n }\n\n public getRevisionList(params: DataListParams): Observable<GetAllResponse<{[key: string]: unknown}>> {\n return this.http.get<GetAllResponse<{[key: string]: unknown}>>(this.getUrl(''), {\n params: AuditUtil.paramsToHttpParams(params)\n });\n }\n\n public getAllChangesForRevision(revId: IdType): Observable<RevEntityWithChangesDto> {\n return this.http.get(this.getUrl(`/changes/${revId}`));\n }\n\n public listRevisionsWithStateForEntityType(params: DataListParams, entityType: string): Observable<GetAllResponse<RevEntityWithStateDto>> {\n return this.http\n .get<GetAllResponse<unknown>>(this.getUrl(`/states/${entityType}`), {\n params: AuditUtil.paramsToHttpParams(params)\n })\n .pipe(\n map(res => {\n return <GetAllResponse<RevEntityWithStateDto>>{\n data: this.deserializeClassArray(res.data, RevEntityWithStateDto),\n totalCount: res.totalCount\n };\n })\n );\n }\n\n public fetchRevisionsWithStateForEntityType(entityType: string, revId: IdType, itemId: IdType): Observable<RevEntityWithId> {\n return this.http.get<GetAllResponse<unknown>>(this.getUrl(`/states/${entityType}?rev=eq:${revId}&id=eq:${itemId}`)).pipe(\n map(res =>\n this.deserializeClassArray(res.data, RevEntityWithId).map(i => {\n i.mergedId = i.revEntity?.['rev'] + '_' + i.entityState?.['id'];\n return i;\n })\n ),\n map(items => {\n if (items.length > 0) {\n return items[0];\n }\n throw new CommonsInternalError(`Entity revision ${revId} for ${entityType} with id ${itemId} was not found`);\n })\n );\n }\n}\n","import {TypeName} from '@mediusinc/mng-commons/core';\n\nimport {GuiEntityModelDto} from '../api/models/guiEntityModel';\n\n@TypeName('MngGuiEntityModelWithI18n')\nexport class GuiEntityModelWithI18n extends GuiEntityModelDto {\n entityNameI18n?: string;\n}\n","import {AsyncPipe} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, computed, effect, inject, signal} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {FormsModule} from '@angular/forms';\nimport {ActivatedRoute, Router} from '@angular/router';\n\nimport {FormlyModule} from '@ngx-formly/core';\nimport {TranslateModule, TranslateService} from '@ngx-translate/core';\nimport {throwError} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {CommonsInternalError, Nullable} from '@mediusinc/mng-commons/core';\nimport {DropdownComponent} from '@mediusinc/mng-commons/form';\nimport {LookupDataProvider} from '@mediusinc/mng-commons/form/api';\nimport {TableviewComponent} from '@mediusinc/mng-commons/tableview';\nimport {ActionDescriptorInst, ActionEditorDetailsDescriptor, TableviewDataProvider, TableviewDescriptor} from '@mediusinc/mng-commons/tableview/api';\n\nimport {GuiEntityModelDto} from '../../../api/models/guiEntityModel';\nimport {AuditRevisionsApiService} from '../../../api/services/audit-revisions-api.service';\nimport {AuditService} from '../../../api/services/audit.service';\nimport {GuiEntityModelWithI18n} from '../../../models/guiEntityModelWithI18n.model';\nimport {RevEntityWithId} from '../../../models/revEntityWithId.model';\nimport {AuditUtil} from '../../../utils/audit.util';\n\n@Component({\n standalone: true,\n selector: 'mng-audit-entity-revisions-page',\n templateUrl: './audit-entity-revisions.page.component.html',\n imports: [DropdownComponent, FormsModule, AsyncPipe, TranslateModule, FormlyModule, TableviewComponent],\n providers: [AuditRevisionsApiService],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AuditEntityRevisionsPageComponent {\n private readonly router = inject(Router);\n private readonly route = inject(ActivatedRoute);\n private readonly translate = inject(TranslateService);\n private readonly auditService = inject(AuditService);\n\n private readonly revModel = toSignal(this.auditService.revModel$);\n private readonly auditModel = toSignal(this.auditService.auditModel$);\n private readonly entityClass = toSignal(this.route.paramMap.pipe(map(pm => pm.get('entityClass') ?? undefined)));\n\n public readonly selectedRevisionEntity = computed(() => {\n const entities = this.auditModel();\n const entityClass = this.entityClass();\n if (entityClass && entities) {\n for (const e of entities) {\n if (e.entityName === entityClass) {\n return e;\n }\n }\n }\n return undefined;\n });\n public readonly descriptor = computed(() => {\n const revModel = this.revModel();\n const selectedRevisionEntity = this.selectedRevisionEntity();\n if (!revModel || !selectedRevisionEntity?.entityName) {\n return undefined;\n }\n\n const desc = TableviewDescriptor.fromClass(RevEntityWithId, 'mergedId', undefined, selectedRevisionEntity.entityName);\n AuditUtil.buildDescriptorForEntityRevision(desc, revModel, selectedRevisionEntity);\n\n desc.table.withColumnsResizable();\n desc.table.withCurrentColumnsReorderable();\n desc.table.withCurrentColumnsToggleable();\n\n return desc;\n });\n public readonly dataProvider = computed(() => {\n const revModel = this.revModel();\n const selectedRevisionEntity = this.selectedRevisionEntity();\n if (!revModel || !selectedRevisionEntity?.entityName) {\n return undefined;\n }\n\n const entityName = selectedRevisionEntity.entityName;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return TableviewDataProvider.fromClassWithService<RevEntityWithId, AuditRevisionsApiService, any>(RevEntityWithId, AuditRevisionsApiService).withGetAll(\n (params, service) =>\n selectedRevisionEntity.entityName\n ? service.listRevisionsWithStateForEntityType(params, entityName).pipe(\n map(res => {\n const revEntityWithStateAndIdList = [];\n for (const revEntityWithState of res.data) {\n const revEntityWithStateAndId = new RevEntityWithId();\n revEntityWithStateAndId.mergedId = revEntityWithState.revEntity?.['rev'] + '_' + revEntityWithState.entityState?.['id'];\n revEntityWithStateAndId.revType = revEntityWithState.revType;\n revEntityWithStateAndId.revEntity = revEntityWithState.revEntity;\n revEntityWithStateAndId.entityState = revEntityWithState.entityState;\n revEntityWithStateAndId.entityClassName = revEntityWithState.entityClassName;\n revEntityWithStateAndIdList.push(revEntityWithStateAndId);\n }\n return {data: revEntityWithStateAndIdList, totalCount: res.totalCount};\n })\n )\n : throwError(() => new CommonsInternalError('No revision entity is provided for list.'))\n );\n });\n public readonly actions = computed(() => {\n const selectedRevisionEntity = this.selectedRevisionEntity();\n const descriptor = this.descriptor();\n if (!selectedRevisionEntity?.entityName || !descriptor) {\n return [];\n }\n\n const entityName = selectedRevisionEntity.entityName;\n const detailsAction = ActionEditorDetailsDescriptor.createWithProvider(descriptor.detailsEditor, AuditRevisionsApiService)\n .withFetchFunction(ctx => {\n if (!entityName) {\n return throwError(() => new CommonsInternalError('No revision entity is provided for details.'));\n }\n if (!ctx.parameters.itemId) {\n return throwError(() => new CommonsInternalError('No item id for revision entity details is provided.'));\n }\n const revId = ctx.parameters.itemId.toString().split('_')[0];\n const itemId = ctx.parameters.itemId.toString().split('_')[1];\n return ctx.serviceInstance.fetchRevisionsWithStateForEntityType(entityName, revId, itemId);\n })\n .withEditorTitle('pages.entityRevisions.actions.details.editor.title');\n return [detailsAction] as ActionDescriptorInst<RevEntityWithId>[];\n });\n\n public revisionEntitiesLookupProvider = LookupDataProvider.fromClass(GuiEntityModelWithI18n).withLookup(() =>\n this.auditService.auditModel$.pipe(\n map(model => {\n const modelI18n = model as GuiEntityModelWithI18n[];\n modelI18n.sort((m1, m2) => {\n if (m1.entityName && m2.entityName) {\n return m1.entityName.localeCompare(m2.entityName);\n } else if (m1.entityName && !m2.entityName) {\n return 1;\n } else {\n return -1;\n }\n });\n modelI18n.forEach(item => {\n const translatedEntityName = this.translate.instant('AuditEntities.' + item.entityName);\n item.entityNameI18n = translatedEntityName.includes('AuditEntities.') ? item.entityName : translatedEntityName;\n });\n return modelI18n;\n })\n )\n );\n public showTableview = signal(false);\n\n constructor() {\n effect(\n () => {\n const descriptor = this.descriptor();\n if (descriptor) {\n setTimeout(() => {\n this.showTableview.set(true);\n });\n }\n },\n {allowSignalWrites: true}\n );\n }\n\n public onRevisionEntityChange(value: Nullable<GuiEntityModelDto>) {\n this.showTableview.set(false);\n if (value) {\n this.router.navigate(['/audit/entity-revisions/' + value.entityName]);\n } else {\n this.router.navigate(['/audit/entity-revisions/']);\n }\n }\n}\n","<div class=\"card\">\n <div class=\"field mb-0\">\n <mng-dropdown\n id=\"revisionEntityDropdown\"\n [placeholder]=\"'pages.entityRevisions.dropdown.placeholder' | translate\"\n optionsLabelProperty=\"entityNameI18n\"\n [ngModel]=\"selectedRevisionEntity()\"\n (valueChange)=\"onRevisionEntityChange($event)\"\n [dataProvider]=\"revisionEntitiesLookupProvider\"\n [showClear]=\"true\"></mng-dropdown>\n @if (!selectedRevisionEntity()) {\n <small class=\"block\">\n {{ 'pages.entityRevisions.dropdown.helpText' | translate }}\n </small>\n }\n </div>\n</div>\n@if (showTableview() && descriptor()) {\n <mng-tableview [descriptor]=\"descriptor()!\" [dataProvider]=\"dataProvider()\" [actions]=\"actions()\"></mng-tableview>\n}\n","/**\n * Medius quarkus sampler\n * Sampler OPENAPI definition\n *\n * The version of the OpenAPI document: 1.0.0\n * Contact: info@medius.si\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport {ClassAttributeDef, TypeName, TypeRegistry} from '@mediusinc/mng-commons/core';\n\nimport {EntityChangeDto} from './entityChange';\n\n@TypeName('MngRevEntityWithChangesDto')\nexport class RevEntityWithChangesDto {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n revEntity?: {[key: string]: any};\n entityNameChangesMap?: {[key: string]: Array<EntityChangeDto>};\n\n public static discriminator?: string;\n\n public static attributeTypeMap: Array<ClassAttributeDef> = [\n {\n name: 'revEntity',\n baseName: 'revEntity',\n type: '{ [key: string]: any; }'\n },\n {\n name: 'entityNameChangesMap',\n baseName: 'entityNameChangesMap',\n type: '{ [key: string]: Array<EntityChange>; }'\n }\n ];\n\n public static getAttributeTypeMap() {\n return RevEntityWithChangesDto.attributeTypeMap;\n }\n}\n\nTypeRegistry.get().registerType(RevEntityWithChangesDto);\n","import {IdType, TypeName} from '@mediusinc/mng-commons/core';\n\n@TypeName('MngRevEntity')\nexport class RevEntity {\n rev?: IdType; // usually a number\n revUsername?: string;\n timestamp?: Date;\n}\n","import {TypeName} from '@mediusinc/mng-commons/core';\n\nimport {EntityChangeDto} from '../api/models/entityChange';\nimport {RevEntity} from './rev-entity.model';\n\n@TypeName('MngRevEntityDetailed')\nexport class RevEntityDetailed extends RevEntity {\n revEntity?: {[key: string]: unknown};\n entityNameChangesMap?: {[key: string]: Array<EntityChangeDto>};\n}\n","import {AsyncPipe} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, DestroyRef, Injector, Input, OnInit, inject} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\n\nimport {BehaviorSubject} from 'rxjs';\n\nimport {CommonsInternalError} from '@mediusinc/mng-commons/core';\nimport {TableComponent} from '@mediusinc/mng-commons/table';\nimport {TableDescriptor, TablePaginationModeEnum} from '@mediusinc/mng-commons/table/api';\nimport {AFormlyCustomFieldComponent} from '@mediusinc/mng-commons/tableview/api';\n\nimport {EntityChangeDto} from '../../api/models/entityChange';\nimport {GuiEntityModelDto} from '../../api/models/guiEntityModel';\nimport {RevisionTypeDto, revisionTypeEnum} from '../../api/models/revisionType';\nimport {AuditService} from '../../api/services/audit.service';\nimport {EntityRevisionChangeState} from '../../models/entity-revision-change-state.model';\nimport {EntityRevisionChanges} from '../../models/entity-revision-changes.model';\nimport {AuditUtil} from '../../utils/audit.util';\n\n@Component({\n standalone: true,\n selector: 'mng-entity-changes-field',\n imports: [TableComponent, AsyncPipe],\n styleUrls: ['entity-changes-field.component.scss'],\n templateUrl: 'entity-changes-field.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class EntityChangesFieldComponent extends AFormlyCustomFieldComponent implements OnInit {\n @Input() public injector?: Injector;\n\n private destroyRef = inject(DestroyRef);\n\n public entityChanges: EntityRevisionChanges[] = [];\n public modelFetched = new BehaviorSubject(false);\n\n private auditModel: GuiEntityModelDto[] = [];\n private fieldValue?: {[key: string]: Array<EntityChangeDto>};\n\n ngOnInit(): void {\n this.fieldValue = this.formControl.value as {[key: string]: Array<EntityChangeDto>};\n this.injector\n ?.get(AuditService, undefined, {optional: true})\n ?.auditModel$.pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe({\n next: model => {\n this.auditModel = model;\n if (this.fieldValue) {\n this.entityChanges = AuditUtil.mapItemsToEntityChangesArray(this.fieldValue);\n this.modelFetched.next(true);\n }\n },\n error: err => {\n throw new CommonsInternalError('Error while trying to fetch audit model from audit service', {name: 'EntityChangesFieldComponentError', cause: err});\n }\n });\n }\n\n public createDescriptor(entityChanges: EntityRevisionChanges) {\n const changedFields: string[] = [];\n if (entityChanges.items && entityChanges.items[0].revType === RevisionTypeDto.Mod) {\n for (const key in entityChanges.items[0]) {\n if (entityChanges.items[0][key] !== entityChanges.items[1][key]) {\n changedFields.push(key);\n }\n }\n }\n\n const guiEntityModel = this.auditModel.filter(m => m.entityName === entityChanges.entityType)[0];\n\n const desc = TableDescriptor.fromClass(EntityRevisionChangeState, undefined, undefined, guiEntityModel.entityName).withClassName('py-2');\n if (guiEntityModel.entityName) {\n desc.withTitle(guiEntityModel.entityName);\n }\n\n desc.addColumnEnum('revType', revisionTypeEnum).withTitle('MngEntityRevisionChangeState.properties.revType');\n\n if (guiEntityModel.properties) {\n AuditUtil.addColumnsFromModel(desc, guiEntityModel.properties, undefined, false, false);\n }\n\n desc.withRowClassName(undefined, (_, item) => (item ? (item.color === 'green' ? 'audit-row-added' : 'audit-row-deleted') : ''));\n desc.columns.forEach(col => {\n if (changedFields.length > 0 && changedFields.some(val => col.property === val)) {\n col.withClassName('audit-cell');\n }\n });\n\n desc.withPaginationMode(TablePaginationModeEnum.Pagination);\n desc.withCurrentColumnsReorderable();\n desc.withCurrentColumnsToggleable();\n desc.withTrackProperty(`EntityChangeField_${entityChanges.entityType ?? 'default'}`);\n\n return desc;\n }\n}\n","@if (modelFetched | async) {\n <div>\n @for (ec of entityChanges; track ec) {\n <mng-table [items]=\"ec.items\" [descriptor]=\"createDescriptor(ec)\"></mng-table>\n }\n </div>\n} @else {\n <div class=\"text-center\">\n <i class=\"pi pi-spin pi-spinner\" style=\"font-size: 2rem\"></i>\n </div>\n}\n","import {AsyncPipe, JsonPipe} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, Injector, computed, inject, signal} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {RouterOutlet} from '@angular/router';\n\nimport {map} from 'rxjs/operators';\n\nimport {itemIdToDefined} from '@mediusinc/mng-commons/core';\nimport {ModelDescriptor} from '@mediusinc/mng-commons/model';\nimport {TableviewComponent} from '@mediusinc/mng-commons/tableview';\nimport {\n ActionDescriptorInst,\n ActionEditorDetailsDescriptor,\n EditorDescriptor,\n EditorDescriptorInst,\n TableviewDataProvider,\n TableviewDescriptor,\n TableviewEditorTypeEnum\n} from '@mediusinc/mng-commons/tableview/api';\n\nimport {RevEntityWithChangesDto} from '../../../api/models/revEntityWithChangesDto';\nimport {AuditRevisionsApiService} from '../../../api/services/audit-revisions-api.service';\nimport {AuditService} from '../../../api/services/audit.service';\nimport {RevEntityDetailed} from '../../../models/rev-entity-detailed.model';\nimport {RevEntity} from '../../../models/rev-entity.model';\nimport {AuditUtil} from '../../../utils/audit.util';\nimport {EntityChangesFieldComponent} from '../../entity-changes-field/entity-changes-field.component';\n\n@Component({\n standalone: true,\n selector: 'mng-audit-revisions-page',\n templateUrl: './audit-revisions.page.component.html',\n imports: [TableviewComponent, AsyncPipe, RouterOutlet, JsonPipe],\n providers: [AuditRevisionsApiService],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AuditRevisionsPageComponent {\n private injector = inject(Injector);\n private auditService = inject(AuditService);\n\n private revModel = toSignal(this.auditService.revModel$);\n public showTableview = computed(() => this.revModel() != null);\n\n public descriptor = computed(() => {\n const revModel = this.revModel();\n if (revModel) {\n const idProperty = revModel.properties?.filter(prop => prop.isId).map(prop => prop.resolvedPropertyName)[0];\n\n const model = ModelDescriptor.fromClass(RevEntity);\n if (revModel.entityName) model.withI18nBase(revModel.entityName);\n if (idProperty) model.withIdPropertyUnsafe(idProperty);\n\n const desc = TableviewDescriptor.fromModel(model);\n\n const detailsDescriptor = EditorDescriptor.fromClass(RevEntityWithChangesDto, undefined, undefined, undefined, TableviewEditorTypeEnum.Details);\n detailsDescriptor.model.withIdPropertyUnsafe('revEntity.' + idProperty);\n\n if (revModel.properties) {\n AuditUtil.addColumnsFromModel(desc.table, revModel.properties);\n AuditUtil.addFieldsFromModel<RevEntityWithChangesDto>(detailsDescriptor, revModel.properties);\n }\n\n detailsDescriptor\n .addField('entityNameChangesMap')\n .asCustomComponent(EntityChangesFieldComponent, {\n fieldWrappers: ['field-no-label'],\n inputs: {injector: this.injector}\n })\n .withDisabled();\n\n desc.withDetailsDescriptor(detailsDescriptor as EditorDescriptorInst<RevEntity>); // MngRevEntity is extended by MngRevEntityWithChangesDto, so no real harm here\n\n return desc;\n }\n return TableviewDescriptor.fromClass(RevEntity);\n });\n public dataProvider = signal(\n TableviewDataProvider.fromClassWithService(RevEntity, AuditRevisionsApiService).withGetAll((params, service) =>\n service.getRevisionList(params).pipe(map(res => ({data: res.data, totalCount: res.totalCount})))\n )\n );\n public actions = computed(() => {\n console.log(this.descriptor());\n const detailsAction = ActionEditorDetailsDescriptor.createWithProvider(this.descriptor().detailsEditor, AuditRevisionsApiService).withFetchFunction(ctx => {\n console.log(ctx);\n return ctx.serviceInstance.getAllChangesForRevision(itemIdToDefined(ctx.parameters.itemId)).pipe(\n map(item => {\n const revEntityWithChanges = new RevEntityDetailed();\n revEntityWithChanges.rev = ctx.parameters.itemId;\n revEntityWithChanges.revEntity = item.revEntity;\n revEntityWithChanges.entityNameChangesMap = item.entityNameChangesMap;\n return revEntityWithChanges;\n })\n );\n });\n\n return [detailsAction] as ActionDescriptorInst<RevEntity>[];\n });\n}\n","@if (showTableview()) {\n <mng-tableview [descriptor]=\"descriptor()\" [dataProvider]=\"dataProvider()\" [actions]=\"actions()\"></mng-tableview>\n}\n","import {Routes} from '@angular/router';\n\nimport {CommonsMenuItem, RouteBuilder, RoutesBuilder} from '@mediusinc/mng-commons/core';\nimport {TableviewRouteBuilder} from '@mediusinc/mng-commons/tableview';\n\nimport {AuditService} from './api/services/audit.service';\nimport {AuditPageComponent} from './components/pages/audit/audit.page.component';\nimport {AuditEntityRevisionsPageComponent} from './components/pages/entity-revisions/audit-entity-revisions.page.component';\nimport {AuditRevisionsPageComponent} from './components/pages/revisions/audit-revisions.page.component';\nimport {CommonsAuditModuleConfig} from './models/config.model';\nimport {COMMONS_AUDIT_MODULE_CONFIG_IT} from './service/module-config.token';\n\n/**\n * Provides routes for the mng-commons-audit functionalities.\n * @param config Module config for audit section.\n * @param routeConfig Optionally provide route configs.\n */\nexport function provideAuditRoutes(\n config: CommonsAuditModuleConfig,\n routeConfig?: {\n defaultRedirect?: string;\n preRevisionRoutes?: RouteBuilder[];\n postRevisionRoutes?: RouteBuilder[];\n revisionsMenuItem?: CommonsMenuItem;\n entityRevisionsMenuItem?: CommonsMenuItem;\n }\n): Routes {\n const routeBuilder = RouteBuilder.create('', config.rootPageComponent ?? AuditPageComponent)\n .withProvider(AuditService)\n .withProvider({\n provide: COMMONS_AUDIT_MODULE_CONFIG_IT,\n useValue: config\n })\n .addChildBuilder(RouteBuilder.createRedirect('', routeConfig?.defaultRedirect ?? 'revisions', 'full'));\n\n if (routeConfig?.preRevisionRoutes?.length) {\n routeConfig.preRevisionRoutes.forEach(r => routeBuilder.addChildBuilder(r));\n }\n\n const revisionsRouteBuilder = TableviewRouteBuilder.fromComponent('revisions', config.revisionsPageComponent ?? AuditRevisionsPageComponent)\n .withTitle('pages.revisions.title')\n .withAdd(false)\n .withDelete(false)\n .withEdit(false);\n if (routeConfig?.revisionsMenuItem) {\n revisionsRouteBuilder.withCommonsMenuItem(routeConfig.revisionsMenuItem);\n } else {\n revisionsRouteBuilder.withMenuItem('pi pi-book', 'pages.revisions.title');\n }\n\n const entityRevisionsRouteBuilder = RouteBuilder.create('entity-revisions', config.entityRevisionsPageComponent ?? AuditEntityRevisionsPageComponent).withTitle(\n 'pages.entityRevisions.title'\n );\n if (routeConfig?.entityRevisionsMenuItem) {\n entityRevisionsRouteBuilder.withCommonsMenuItem(routeConfig.entityRevisionsMenuItem);\n } else {\n entityRevisionsRouteBuilder.withMenuItem('pi pi-building', 'pages.entityRevisions.title');\n }\n\n routeBuilder\n .addChildBuilder(revisionsRouteBuilder)\n .addChildBuilder(entityRevisionsRouteBuilder)\n .addChildBuilder(\n TableviewRouteBuilder.fromComponent('entity-revisions/:entityClass', config.entityRevisionsPageComponent ?? AuditEntityRevisionsPageComponent).withTitle(\n 'pages.entityRevisions.title'\n )\n );\n\n if (routeConfig?.postRevisionRoutes?.length) {\n routeConfig.postRevisionRoutes.forEach(r => routeBuilder.addChildBuilder(r));\n }\n\n return RoutesBuilder.create().addRouteBuilder(routeBuilder).build();\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -9,10 +9,10 @@
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
- import { ClassAttributeDef } from '@mediusinc/mng-commons';
13
- import { MngRevisionTypeDto } from './revisionType';
14
- export declare class MngEntityChangeDto {
15
- revType?: MngRevisionTypeDto;
12
+ import { ClassAttributeDef } from '@mediusinc/mng-commons/core';
13
+ import { RevisionTypeDto } from './revisionType';
14
+ export declare class EntityChangeDto {
15
+ revType?: RevisionTypeDto;
16
16
  entityOldState?: {
17
17
  [key: string]: any;
18
18
  };
@@ -9,11 +9,11 @@
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
- import { ClassAttributeDef } from '@mediusinc/mng-commons';
13
- import { MngGuiPropertyModelDto } from './guiPropertyModel';
14
- export declare class MngGuiEntityModelDto {
12
+ import { ClassAttributeDef } from '@mediusinc/mng-commons/core';
13
+ import { GuiPropertyModelDto } from './guiPropertyModel';
14
+ export declare class GuiEntityModelDto {
15
15
  entityName?: string;
16
- properties?: Array<MngGuiPropertyModelDto>;
16
+ properties?: Array<GuiPropertyModelDto>;
17
17
  static discriminator?: string;
18
18
  static attributeTypeMap: Array<ClassAttributeDef>;
19
19
  static getAttributeTypeMap(): ClassAttributeDef[];
@@ -9,17 +9,17 @@
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
- import { ClassAttributeDef } from '@mediusinc/mng-commons';
13
- import { MngGuiPropertyTypeDto } from './guiPropertyType';
14
- import { MngGuiRelationModelDto } from './guiRelationModel';
15
- export declare class MngGuiPropertyModelDto {
12
+ import { ClassAttributeDef } from '@mediusinc/mng-commons/core';
13
+ import { GuiPropertyTypeDto } from './guiPropertyType';
14
+ import { GuiRelationModelDto } from './guiRelationModel';
15
+ export declare class GuiPropertyModelDto {
16
16
  propertyName?: string;
17
17
  resolvedPropertyName?: string;
18
18
  enumClassSimpleName?: string;
19
19
  possibleEnumValues?: Array<string>;
20
20
  isId?: boolean;
21
- propertyType?: MngGuiPropertyTypeDto;
22
- relationModel?: MngGuiRelationModelDto;
21
+ propertyType?: GuiPropertyTypeDto;
22
+ relationModel?: GuiRelationModelDto;
23
23
  id?: boolean;
24
24
  static discriminator?: string;
25
25
  static attributeTypeMap: Array<ClassAttributeDef>;
@@ -1,4 +1,4 @@
1
- export declare enum MngGuiPropertyTypeDto {
1
+ export declare enum GuiPropertyTypeDto {
2
2
  LocalDate = "LOCAL_DATE",
3
3
  OffsetDateTime = "OFFSET_DATE_TIME",
4
4
  String = "STRING",
@@ -9,8 +9,8 @@
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
- import { ClassAttributeDef } from '@mediusinc/mng-commons';
13
- export declare class MngGuiRelationModelDto {
12
+ import { ClassAttributeDef } from '@mediusinc/mng-commons/core';
13
+ export declare class GuiRelationModelDto {
14
14
  idPropertyName?: string;
15
15
  isAudited?: boolean;
16
16
  audited?: boolean;
@@ -9,14 +9,14 @@
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
- import { ClassAttributeDef } from '@mediusinc/mng-commons';
13
- import { MngEntityChangeDto } from './entityChange';
14
- export declare class MngRevEntityWithChangesDto {
12
+ import { ClassAttributeDef } from '@mediusinc/mng-commons/core';
13
+ import { EntityChangeDto } from './entityChange';
14
+ export declare class RevEntityWithChangesDto {
15
15
  revEntity?: {
16
16
  [key: string]: any;
17
17
  };
18
18
  entityNameChangesMap?: {
19
- [key: string]: Array<MngEntityChangeDto>;
19
+ [key: string]: Array<EntityChangeDto>;
20
20
  };
21
21
  static discriminator?: string;
22
22
  static attributeTypeMap: Array<ClassAttributeDef>;
@@ -9,13 +9,13 @@
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
- import { ClassAttributeDef } from '@mediusinc/mng-commons';
13
- import { MngRevisionTypeDto } from './revisionType';
14
- export declare class MngRevEntityWithStateDto {
12
+ import { ClassAttributeDef } from '@mediusinc/mng-commons/core';
13
+ import { RevisionTypeDto } from './revisionType';
14
+ export declare class RevEntityWithStateDto {
15
15
  revEntity?: {
16
16
  [key: string]: any;
17
17
  };
18
- revType?: MngRevisionTypeDto;
18
+ revType?: RevisionTypeDto;
19
19
  entityClassName?: string;
20
20
  entityState?: {
21
21
  [key: string]: any;
@@ -1,5 +1,6 @@
1
- export declare enum MngRevisionTypeDto {
1
+ export declare enum RevisionTypeDto {
2
2
  Add = "ADD",
3
3
  Mod = "MOD",
4
4
  Del = "DEL"
5
5
  }
6
+ export declare const revisionTypeEnum: import("@mediusinc/mng-commons/model").EnumDescriptor<RevisionTypeDto>;
@@ -1,22 +1,23 @@
1
1
  import { Observable } from 'rxjs';
2
- import { AMngBaseApiService, IdType, MediusQueryParam, MngConfigurationService } from '@mediusinc/mng-commons';
3
- import { MngRevEntityWithId } from '../../models/revEntityWithId.model';
2
+ import { ACommonsBaseV1ApiService } from '@mediusinc/mng-commons-data-api-class/v1';
3
+ import { CommonsConfigurationService, DataListParams, IdType } from '@mediusinc/mng-commons/core';
4
+ import { RevEntityWithId } from '../../models/revEntityWithId.model';
4
5
  import { GetAllResponse } from '../models/get-all-response.model';
5
- import { MngRevEntityWithChangesDto } from '../models/revEntityWithChangesDto';
6
- import { MngRevEntityWithStateDto } from '../models/revEntityWithStateDto';
6
+ import { RevEntityWithChangesDto } from '../models/revEntityWithChangesDto';
7
+ import { RevEntityWithStateDto } from '../models/revEntityWithStateDto';
7
8
  import * as i0 from "@angular/core";
8
- export declare class MngAuditRevisionsApiService extends AMngBaseApiService {
9
- protected readonly configService: MngConfigurationService;
10
- protected readonly moduleConfig: import("../../models/config.model").MngAuditModuleConfig;
9
+ export declare class AuditRevisionsApiService extends ACommonsBaseV1ApiService {
10
+ protected readonly configService: CommonsConfigurationService;
11
+ protected readonly moduleConfig: import("../../models/config.model").CommonsAuditModuleConfig;
11
12
  constructor();
12
13
  protected getServiceBasePath(): string | null;
13
14
  protected getBasePath(): string;
14
- getRevisionList(queryParams: MediusQueryParam): Observable<GetAllResponse<{
15
+ getRevisionList(params: DataListParams): Observable<GetAllResponse<{
15
16
  [key: string]: unknown;
16
17
  }>>;
17
- getAllChangesForRevision(revId: IdType): Observable<MngRevEntityWithChangesDto>;
18
- listRevisionsWithStateForEntityType(queryParams: MediusQueryParam, entityType: string): Observable<GetAllResponse<MngRevEntityWithStateDto>>;
19
- fetchRevisionsWithStateForEntityType(entityType: string, revId: IdType, itemId: IdType): Observable<MngRevEntityWithId>;
20
- static ɵfac: i0.ɵɵFactoryDeclaration<MngAuditRevisionsApiService, never>;
21
- static ɵprov: i0.ɵɵInjectableDeclaration<MngAuditRevisionsApiService>;
18
+ getAllChangesForRevision(revId: IdType): Observable<RevEntityWithChangesDto>;
19
+ listRevisionsWithStateForEntityType(params: DataListParams, entityType: string): Observable<GetAllResponse<RevEntityWithStateDto>>;
20
+ fetchRevisionsWithStateForEntityType(entityType: string, revId: IdType, itemId: IdType): Observable<RevEntityWithId>;
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<AuditRevisionsApiService, never>;
22
+ static ɵprov: i0.ɵɵInjectableDeclaration<AuditRevisionsApiService>;
22
23
  }