@mediusinc/mng-commons-data-api-class 6.0.0-rc.5 → 6.0.0-rc.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/fesm2022/mediusinc-mng-commons-data-api-class-v1.mjs +5 -7
  2. package/fesm2022/mediusinc-mng-commons-data-api-class-v1.mjs.map +1 -1
  3. package/openapi/model.mustache +1 -1
  4. package/package.json +4 -10
  5. package/version-info.json +3 -3
  6. package/esm2022/index.mjs +0 -9
  7. package/esm2022/lib/models/query-result.model.mjs +0 -24
  8. package/esm2022/lib/serder/object-serializer.mjs +0 -184
  9. package/esm2022/lib/services/api.abstract.service.mjs +0 -55
  10. package/esm2022/lib/services/crud-api.abstract.service.mjs +0 -82
  11. package/esm2022/lib/services/get-all-api.abstract.service.mjs +0 -49
  12. package/esm2022/mediusinc-mng-commons-data-api-class.mjs +0 -5
  13. package/esm2022/tableview/index.mjs +0 -3
  14. package/esm2022/tableview/mediusinc-mng-commons-data-api-class-tableview.mjs +0 -5
  15. package/esm2022/tableview/tableview-crud-create.mjs +0 -25
  16. package/esm2022/tableview/tableview-crud.data-provider.mjs +0 -50
  17. package/esm2022/v1/helpers/query-param-convert.mjs +0 -103
  18. package/esm2022/v1/helpers/tableview-crud-create.mjs +0 -22
  19. package/esm2022/v1/index.mjs +0 -22
  20. package/esm2022/v1/mediusinc-mng-commons-data-api-class-v1.mjs +0 -5
  21. package/esm2022/v1/models/builders/query-param.builder.mjs +0 -83
  22. package/esm2022/v1/models/filter-match-type.model.mjs +0 -27
  23. package/esm2022/v1/models/filter-param.model.mjs +0 -33
  24. package/esm2022/v1/models/query-mode.model.mjs +0 -18
  25. package/esm2022/v1/models/query-param.model.mjs +0 -68
  26. package/esm2022/v1/models/query-result.model.mjs +0 -24
  27. package/esm2022/v1/provide.mjs +0 -56
  28. package/esm2022/v1/services/api.abstract.service.mjs +0 -72
  29. package/esm2022/v1/services/crud-api.abstract.service.mjs +0 -83
  30. package/esm2022/v1/services/get-all-api.abstract.service.mjs +0 -38
  31. package/esm2022/v1/services/tokens/data-api-class.token.mjs +0 -6
  32. package/esm2022/v1/tableview/tableview-crud.data-provider.mjs +0 -50
  33. package/esm2022/v1/utils/query-param-map.util.mjs +0 -57
@@ -1,184 +0,0 @@
1
- import { TypeRegistry, dateToIsoString, findReflectTypeName } from '@mediusinc/mng-commons/core';
2
- export class ObjectSerializer {
3
- constructor() {
4
- this._logCategory = 'ObjectSerializer';
5
- this._primitives = ['string', 'boolean', 'double', 'integer', 'long', 'float', 'number', 'any'];
6
- this.dateTimeInUtc = false;
7
- this.dateTimeWithTimezone = true;
8
- this.dateTimeWithMillis = true;
9
- }
10
- static { this._instance = new ObjectSerializer(); }
11
- get primitives() {
12
- return this._primitives;
13
- }
14
- /**
15
- * Only use one instance of object (out of Angular context)
16
- */
17
- static get() {
18
- return ObjectSerializer._instance;
19
- }
20
- configure(config) {
21
- if (config.dateTimeInUtc !== undefined) {
22
- this.dateTimeInUtc = config.dateTimeInUtc;
23
- }
24
- if (config.dateTimeWithTimezone !== undefined) {
25
- this.dateTimeWithTimezone = config.dateTimeWithTimezone;
26
- }
27
- if (config.dateTimeWithMillis !== undefined) {
28
- this.dateTimeWithMillis = config.dateTimeWithMillis;
29
- }
30
- }
31
- findCorrectType(data, expectedTypeName) {
32
- if (data == undefined) {
33
- return expectedTypeName;
34
- }
35
- else if (this._primitives.indexOf(expectedTypeName.toLowerCase()) !== -1) {
36
- return expectedTypeName;
37
- }
38
- else if (expectedTypeName === 'Date') {
39
- return expectedTypeName;
40
- }
41
- else {
42
- const enumType = TypeRegistry.get().findEnum(expectedTypeName);
43
- if (enumType) {
44
- return expectedTypeName;
45
- }
46
- const type = TypeRegistry.get().findType(expectedTypeName);
47
- if (!type) {
48
- return expectedTypeName; // w/e we don't know the type
49
- }
50
- // Check the discriminator
51
- const discriminatorProperty = type.discriminator;
52
- if (discriminatorProperty == null) {
53
- return expectedTypeName; // the type does not have a discriminator. use it.
54
- }
55
- else {
56
- if (data[discriminatorProperty]) {
57
- const discriminatorType = data[discriminatorProperty];
58
- const type = TypeRegistry.get().findType(expectedTypeName);
59
- if (type) {
60
- return discriminatorType; // use the type given in the discriminator
61
- }
62
- else {
63
- return expectedTypeName; // discriminator did not map to a type
64
- }
65
- }
66
- else {
67
- return expectedTypeName; // discriminator was not present (or an empty string)
68
- }
69
- }
70
- }
71
- }
72
- serializeClass(data, type) {
73
- return this.serialize(data, findReflectTypeName(type) ?? undefined);
74
- }
75
- serializeClassArray(data, type) {
76
- return this.serialize(data, `Array<${findReflectTypeName(type)}>`);
77
- }
78
- serialize(data, typeName, subtype) {
79
- if (data == undefined) {
80
- return data;
81
- }
82
- else if (typeName && this._primitives.indexOf(typeName.toLowerCase()) !== -1) {
83
- return data;
84
- }
85
- else if (typeName && typeName.lastIndexOf('Array<', 0) === 0) {
86
- // string.startsWith pre es6
87
- let subType = typeName.replace('Array<', ''); // Array<Type> => Type>
88
- subType = subType.substring(0, subType.length - 1); // Type> => Type
89
- const transformedData = [];
90
- // tslint:disable-next-line:prefer-for-of
91
- for (let index = 0; index < data.length; index++) {
92
- const datum = data[index];
93
- transformedData.push(this.serialize(datum, subType));
94
- }
95
- return transformedData;
96
- }
97
- else if (typeName === 'Date') {
98
- const dateOnly = subtype?.toLowerCase() === 'date';
99
- return dateToIsoString(data, dateOnly ? 'date' : 'date-time', {
100
- utc: this.dateTimeInUtc,
101
- noTimezone: !this.dateTimeWithTimezone,
102
- noMillis: !this.dateTimeWithMillis
103
- });
104
- }
105
- else if (typeName) {
106
- const enumType = TypeRegistry.get().findEnum(typeName);
107
- if (enumType) {
108
- return data;
109
- }
110
- const type = TypeRegistry.get().findType(typeName);
111
- if (!type) {
112
- // in case we dont know the type
113
- return data;
114
- }
115
- // Get the actual type of this object
116
- const correctedTypeName = this.findCorrectType(data, typeName);
117
- const correctedType = TypeRegistry.get().findType(correctedTypeName);
118
- // get the map for the correct type.
119
- const attributeTypes = correctedType.getAttributeTypeMap();
120
- const instance = {};
121
- // tslint:disable-next-line:prefer-for-of
122
- for (let index = 0; index < attributeTypes.length; index++) {
123
- const attributeType = attributeTypes[index];
124
- instance[attributeType.baseName] = this.serialize(data[attributeType.name], attributeType.type, attributeType.subtype);
125
- }
126
- return instance;
127
- }
128
- else {
129
- return data;
130
- }
131
- }
132
- deserializeClass(data, type) {
133
- return this.deserialize(data, findReflectTypeName(type) ?? undefined);
134
- }
135
- deserializeClassArray(data, type) {
136
- return this.deserialize(data, `Array<${findReflectTypeName(type)}>`);
137
- }
138
- deserialize(data, type) {
139
- // polymorphism may change the actual type.
140
- if (data == undefined || !type) {
141
- return data;
142
- }
143
- const correctedTypeName = this.findCorrectType(data, type);
144
- if (this._primitives.indexOf(correctedTypeName.toLowerCase()) !== -1) {
145
- return data;
146
- }
147
- else if (correctedTypeName.lastIndexOf('Array<', 0) === 0) {
148
- // string.startsWith pre es6
149
- let subType = correctedTypeName.replace('Array<', ''); // Array<Type> => Type>
150
- subType = subType.substring(0, subType.length - 1); // Type> => Type
151
- const transformedData = [];
152
- // tslint:disable-next-line:prefer-for-of
153
- for (let index = 0; index < data.length; index++) {
154
- const datum = data[index];
155
- transformedData.push(this.deserialize(datum, subType));
156
- }
157
- return transformedData;
158
- }
159
- else if (correctedTypeName === 'Date') {
160
- return new Date(data);
161
- }
162
- else {
163
- const enumType = TypeRegistry.get().findEnum(correctedTypeName);
164
- if (enumType) {
165
- // is Enum
166
- return data;
167
- }
168
- const correctedType = TypeRegistry.get().findType(correctedTypeName);
169
- if (!correctedType) {
170
- // dont know the type
171
- return data;
172
- }
173
- const instance = new correctedType();
174
- const attributeTypes = correctedType.getAttributeTypeMap();
175
- // tslint:disable-next-line:prefer-for-of
176
- for (let index = 0; index < attributeTypes.length; index++) {
177
- const attributeType = attributeTypes[index];
178
- instance[attributeType.name] = this.deserialize(data[attributeType.baseName], attributeType.type);
179
- }
180
- return instance;
181
- }
182
- }
183
- }
184
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXNlcmlhbGl6ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3NlcmRlci9vYmplY3Qtc2VyaWFsaXplci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQStCLFlBQVksRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUU3SCxNQUFNLE9BQU8sZ0JBQWdCO0lBQTdCO1FBRXFCLGlCQUFZLEdBQUcsa0JBQWtCLENBQUM7UUFDbEMsZ0JBQVcsR0FBYSxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUU5RyxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUN0Qix5QkFBb0IsR0FBRyxJQUFJLENBQUM7UUFDNUIsdUJBQWtCLEdBQUcsSUFBSSxDQUFDO0lBaUx0QyxDQUFDO2FBdkxrQixjQUFTLEdBQXFCLElBQUksZ0JBQWdCLEVBQUUsQUFBM0MsQ0FBNEM7SUFRcEUsSUFBVyxVQUFVO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsR0FBRztRQUNiLE9BQU8sZ0JBQWdCLENBQUMsU0FBUyxDQUFDO0lBQ3RDLENBQUM7SUFFTSxTQUFTLENBQUMsTUFBK0Y7UUFDNUcsSUFBSSxNQUFNLENBQUMsYUFBYSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQztRQUM5QyxDQUFDO1FBQ0QsSUFBSSxNQUFNLENBQUMsb0JBQW9CLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQztRQUM1RCxDQUFDO1FBQ0QsSUFBSSxNQUFNLENBQUMsa0JBQWtCLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQztRQUN4RCxDQUFDO0lBQ0wsQ0FBQztJQUVNLGVBQWUsQ0FBQyxJQUFTLEVBQUUsZ0JBQXdCO1FBQ3RELElBQUksSUFBSSxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sZ0JBQWdCLENBQUM7UUFDNUIsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3pFLE9BQU8sZ0JBQWdCLENBQUM7UUFDNUIsQ0FBQzthQUFNLElBQUksZ0JBQWdCLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDckMsT0FBTyxnQkFBZ0IsQ0FBQztRQUM1QixDQUFDO2FBQU0sQ0FBQztZQUNKLE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUMvRCxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNYLE9BQU8sZ0JBQWdCLENBQUM7WUFDNUIsQ0FBQztZQUVELE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUMzRCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ1IsT0FBTyxnQkFBZ0IsQ0FBQyxDQUFDLDZCQUE2QjtZQUMxRCxDQUFDO1lBRUQsMEJBQTBCO1lBQzFCLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUNqRCxJQUFJLHFCQUFxQixJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNoQyxPQUFPLGdCQUFnQixDQUFDLENBQUMsa0RBQWtEO1lBQy9FLENBQUM7aUJBQU0sQ0FBQztnQkFDSixJQUFJLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUM7b0JBQzlCLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7b0JBQ3RELE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztvQkFDM0QsSUFBSSxJQUFJLEVBQUUsQ0FBQzt3QkFDUCxPQUFPLGlCQUFpQixDQUFDLENBQUMsMENBQTBDO29CQUN4RSxDQUFDO3lCQUFNLENBQUM7d0JBQ0osT0FBTyxnQkFBZ0IsQ0FBQyxDQUFDLHNDQUFzQztvQkFDbkUsQ0FBQztnQkFDTCxDQUFDO3FCQUFNLENBQUM7b0JBQ0osT0FBTyxnQkFBZ0IsQ0FBQyxDQUFDLHFEQUFxRDtnQkFDbEYsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVNLGNBQWMsQ0FBSSxJQUFPLEVBQUUsSUFBa0I7UUFDaEQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxTQUFTLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRU0sbUJBQW1CLENBQUksSUFBYyxFQUFFLElBQWtCO1FBQzVELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVNLFNBQVMsQ0FBQyxJQUFTLEVBQUUsUUFBaUIsRUFBRSxPQUFnQjtRQUMzRCxJQUFJLElBQUksSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNwQixPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO2FBQU0sSUFBSSxRQUFRLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUM3RSxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO2FBQU0sSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDN0QsNEJBQTRCO1lBQzVCLElBQUksT0FBTyxHQUFXLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsdUJBQXVCO1lBQzdFLE9BQU8sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCO1lBQ3BFLE1BQU0sZUFBZSxHQUFVLEVBQUUsQ0FBQztZQUNsQyx5Q0FBeUM7WUFDekMsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztnQkFDL0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMxQixlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDekQsQ0FBQztZQUNELE9BQU8sZUFBZSxDQUFDO1FBQzNCLENBQUM7YUFBTSxJQUFJLFFBQVEsS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUM3QixNQUFNLFFBQVEsR0FBRyxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssTUFBTSxDQUFDO1lBQ25ELE9BQU8sZUFBZSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFO2dCQUMxRCxHQUFHLEVBQUUsSUFBSSxDQUFDLGFBQWE7Z0JBQ3ZCLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0I7Z0JBQ3RDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0I7YUFDckMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQzthQUFNLElBQUksUUFBUSxFQUFFLENBQUM7WUFDbEIsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN2RCxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNYLE9BQU8sSUFBSSxDQUFDO1lBQ2hCLENBQUM7WUFFRCxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ25ELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDUixnQ0FBZ0M7Z0JBQ2hDLE9BQU8sSUFBSSxDQUFDO1lBQ2hCLENBQUM7WUFFRCxxQ0FBcUM7WUFDckMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztZQUMvRCxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFFckUsb0NBQW9DO1lBQ3BDLE1BQU0sY0FBYyxHQUFHLGFBQWEsQ0FBQyxtQkFBbUIsRUFBOEIsQ0FBQztZQUN2RixNQUFNLFFBQVEsR0FBMkIsRUFBRSxDQUFDO1lBQzVDLHlDQUF5QztZQUN6QyxLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsY0FBYyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO2dCQUN6RCxNQUFNLGFBQWEsR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzVDLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLGFBQWEsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzNILENBQUM7WUFDRCxPQUFPLFFBQVEsQ0FBQztRQUNwQixDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7SUFDTCxDQUFDO0lBRU0sZ0JBQWdCLENBQUksSUFBUyxFQUFFLElBQWtCO1FBQ3BELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksU0FBUyxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVNLHFCQUFxQixDQUFJLElBQVMsRUFBRSxJQUFrQjtRQUN6RCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLFNBQVMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFTSxXQUFXLENBQUMsSUFBUyxFQUFFLElBQWE7UUFDdkMsMkNBQTJDO1FBQzNDLElBQUksSUFBSSxJQUFJLFNBQVMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzdCLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7UUFFRCxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTNELElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ25FLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7YUFBTSxJQUFJLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDMUQsNEJBQTRCO1lBQzVCLElBQUksT0FBTyxHQUFXLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyx1QkFBdUI7WUFDdEYsT0FBTyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0I7WUFDcEUsTUFBTSxlQUFlLEdBQVUsRUFBRSxDQUFDO1lBQ2xDLHlDQUF5QztZQUN6QyxLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO2dCQUMvQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzFCLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUMzRCxDQUFDO1lBQ0QsT0FBTyxlQUFlLENBQUM7UUFDM0IsQ0FBQzthQUFNLElBQUksaUJBQWlCLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDdEMsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixDQUFDO2FBQU0sQ0FBQztZQUNKLE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUNoRSxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNYLFVBQVU7Z0JBQ1YsT0FBTyxJQUFJLENBQUM7WUFDaEIsQ0FBQztZQUVELE1BQU0sYUFBYSxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUNyRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ2pCLHFCQUFxQjtnQkFDckIsT0FBTyxJQUFJLENBQUM7WUFDaEIsQ0FBQztZQUNELE1BQU0sUUFBUSxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7WUFDckMsTUFBTSxjQUFjLEdBQUcsYUFBYSxDQUFDLG1CQUFtQixFQUE4QixDQUFDO1lBQ3ZGLHlDQUF5QztZQUN6QyxLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsY0FBYyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO2dCQUN6RCxNQUFNLGFBQWEsR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzVDLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN0RyxDQUFDO1lBQ0QsT0FBTyxRQUFRLENBQUM7UUFDcEIsQ0FBQztJQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NsYXNzQXR0cmlidXRlRGVmLCBDbGFzc1R5cGUsIFR5cGVSZWdpc3RyeSwgZGF0ZVRvSXNvU3RyaW5nLCBmaW5kUmVmbGVjdFR5cGVOYW1lfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgT2JqZWN0U2VyaWFsaXplciB7XG4gICAgcHJpdmF0ZSBzdGF0aWMgX2luc3RhbmNlOiBPYmplY3RTZXJpYWxpemVyID0gbmV3IE9iamVjdFNlcmlhbGl6ZXIoKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9sb2dDYXRlZ29yeSA9ICdPYmplY3RTZXJpYWxpemVyJztcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9wcmltaXRpdmVzOiBzdHJpbmdbXSA9IFsnc3RyaW5nJywgJ2Jvb2xlYW4nLCAnZG91YmxlJywgJ2ludGVnZXInLCAnbG9uZycsICdmbG9hdCcsICdudW1iZXInLCAnYW55J107XG5cbiAgICBwcml2YXRlIGRhdGVUaW1lSW5VdGMgPSBmYWxzZTtcbiAgICBwcml2YXRlIGRhdGVUaW1lV2l0aFRpbWV6b25lID0gdHJ1ZTtcbiAgICBwcml2YXRlIGRhdGVUaW1lV2l0aE1pbGxpcyA9IHRydWU7XG5cbiAgICBwdWJsaWMgZ2V0IHByaW1pdGl2ZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wcmltaXRpdmVzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9ubHkgdXNlIG9uZSBpbnN0YW5jZSBvZiBvYmplY3QgKG91dCBvZiBBbmd1bGFyIGNvbnRleHQpXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZXQoKTogT2JqZWN0U2VyaWFsaXplciB7XG4gICAgICAgIHJldHVybiBPYmplY3RTZXJpYWxpemVyLl9pbnN0YW5jZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY29uZmlndXJlKGNvbmZpZzoge2RhdGVUaW1lSW5VdGM/OiBib29sZWFuOyBkYXRlVGltZVdpdGhUaW1lem9uZT86IGJvb2xlYW47IGRhdGVUaW1lV2l0aE1pbGxpcz86IGJvb2xlYW59KTogdm9pZCB7XG4gICAgICAgIGlmIChjb25maWcuZGF0ZVRpbWVJblV0YyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGVUaW1lSW5VdGMgPSBjb25maWcuZGF0ZVRpbWVJblV0YztcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29uZmlnLmRhdGVUaW1lV2l0aFRpbWV6b25lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0ZVRpbWVXaXRoVGltZXpvbmUgPSBjb25maWcuZGF0ZVRpbWVXaXRoVGltZXpvbmU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvbmZpZy5kYXRlVGltZVdpdGhNaWxsaXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5kYXRlVGltZVdpdGhNaWxsaXMgPSBjb25maWcuZGF0ZVRpbWVXaXRoTWlsbGlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGZpbmRDb3JyZWN0VHlwZShkYXRhOiBhbnksIGV4cGVjdGVkVHlwZU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGlmIChkYXRhID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIGV4cGVjdGVkVHlwZU5hbWU7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5fcHJpbWl0aXZlcy5pbmRleE9mKGV4cGVjdGVkVHlwZU5hbWUudG9Mb3dlckNhc2UoKSkgIT09IC0xKSB7XG4gICAgICAgICAgICByZXR1cm4gZXhwZWN0ZWRUeXBlTmFtZTtcbiAgICAgICAgfSBlbHNlIGlmIChleHBlY3RlZFR5cGVOYW1lID09PSAnRGF0ZScpIHtcbiAgICAgICAgICAgIHJldHVybiBleHBlY3RlZFR5cGVOYW1lO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZW51bVR5cGUgPSBUeXBlUmVnaXN0cnkuZ2V0KCkuZmluZEVudW0oZXhwZWN0ZWRUeXBlTmFtZSk7XG4gICAgICAgICAgICBpZiAoZW51bVR5cGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZXhwZWN0ZWRUeXBlTmFtZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgdHlwZSA9IFR5cGVSZWdpc3RyeS5nZXQoKS5maW5kVHlwZShleHBlY3RlZFR5cGVOYW1lKTtcbiAgICAgICAgICAgIGlmICghdHlwZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBleHBlY3RlZFR5cGVOYW1lOyAvLyB3L2Ugd2UgZG9uJ3Qga25vdyB0aGUgdHlwZVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBDaGVjayB0aGUgZGlzY3JpbWluYXRvclxuICAgICAgICAgICAgY29uc3QgZGlzY3JpbWluYXRvclByb3BlcnR5ID0gdHlwZS5kaXNjcmltaW5hdG9yO1xuICAgICAgICAgICAgaWYgKGRpc2NyaW1pbmF0b3JQcm9wZXJ0eSA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGV4cGVjdGVkVHlwZU5hbWU7IC8vIHRoZSB0eXBlIGRvZXMgbm90IGhhdmUgYSBkaXNjcmltaW5hdG9yLiB1c2UgaXQuXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChkYXRhW2Rpc2NyaW1pbmF0b3JQcm9wZXJ0eV0pIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGlzY3JpbWluYXRvclR5cGUgPSBkYXRhW2Rpc2NyaW1pbmF0b3JQcm9wZXJ0eV07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHR5cGUgPSBUeXBlUmVnaXN0cnkuZ2V0KCkuZmluZFR5cGUoZXhwZWN0ZWRUeXBlTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGlzY3JpbWluYXRvclR5cGU7IC8vIHVzZSB0aGUgdHlwZSBnaXZlbiBpbiB0aGUgZGlzY3JpbWluYXRvclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGV4cGVjdGVkVHlwZU5hbWU7IC8vIGRpc2NyaW1pbmF0b3IgZGlkIG5vdCBtYXAgdG8gYSB0eXBlXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXhwZWN0ZWRUeXBlTmFtZTsgLy8gZGlzY3JpbWluYXRvciB3YXMgbm90IHByZXNlbnQgKG9yIGFuIGVtcHR5IHN0cmluZylcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc2VyaWFsaXplQ2xhc3M8VD4oZGF0YTogVCwgdHlwZTogQ2xhc3NUeXBlPFQ+KSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcmlhbGl6ZShkYXRhLCBmaW5kUmVmbGVjdFR5cGVOYW1lKHR5cGUpID8/IHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNlcmlhbGl6ZUNsYXNzQXJyYXk8VD4oZGF0YTogQXJyYXk8VD4sIHR5cGU6IENsYXNzVHlwZTxUPikge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJpYWxpemUoZGF0YSwgYEFycmF5PCR7ZmluZFJlZmxlY3RUeXBlTmFtZSh0eXBlKX0+YCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNlcmlhbGl6ZShkYXRhOiBhbnksIHR5cGVOYW1lPzogc3RyaW5nLCBzdWJ0eXBlPzogc3RyaW5nKSB7XG4gICAgICAgIGlmIChkYXRhID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZU5hbWUgJiYgdGhpcy5fcHJpbWl0aXZlcy5pbmRleE9mKHR5cGVOYW1lLnRvTG93ZXJDYXNlKCkpICE9PSAtMSkge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZU5hbWUgJiYgdHlwZU5hbWUubGFzdEluZGV4T2YoJ0FycmF5PCcsIDApID09PSAwKSB7XG4gICAgICAgICAgICAvLyBzdHJpbmcuc3RhcnRzV2l0aCBwcmUgZXM2XG4gICAgICAgICAgICBsZXQgc3ViVHlwZTogc3RyaW5nID0gdHlwZU5hbWUucmVwbGFjZSgnQXJyYXk8JywgJycpOyAvLyBBcnJheTxUeXBlPiA9PiBUeXBlPlxuICAgICAgICAgICAgc3ViVHlwZSA9IHN1YlR5cGUuc3Vic3RyaW5nKDAsIHN1YlR5cGUubGVuZ3RoIC0gMSk7IC8vIFR5cGU+ID0+IFR5cGVcbiAgICAgICAgICAgIGNvbnN0IHRyYW5zZm9ybWVkRGF0YTogYW55W10gPSBbXTtcbiAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpwcmVmZXItZm9yLW9mXG4gICAgICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgZGF0YS5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCBkYXR1bSA9IGRhdGFbaW5kZXhdO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybWVkRGF0YS5wdXNoKHRoaXMuc2VyaWFsaXplKGRhdHVtLCBzdWJUeXBlKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdHJhbnNmb3JtZWREYXRhO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVOYW1lID09PSAnRGF0ZScpIHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGVPbmx5ID0gc3VidHlwZT8udG9Mb3dlckNhc2UoKSA9PT0gJ2RhdGUnO1xuICAgICAgICAgICAgcmV0dXJuIGRhdGVUb0lzb1N0cmluZyhkYXRhLCBkYXRlT25seSA/ICdkYXRlJyA6ICdkYXRlLXRpbWUnLCB7XG4gICAgICAgICAgICAgICAgdXRjOiB0aGlzLmRhdGVUaW1lSW5VdGMsXG4gICAgICAgICAgICAgICAgbm9UaW1lem9uZTogIXRoaXMuZGF0ZVRpbWVXaXRoVGltZXpvbmUsXG4gICAgICAgICAgICAgICAgbm9NaWxsaXM6ICF0aGlzLmRhdGVUaW1lV2l0aE1pbGxpc1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZU5hbWUpIHtcbiAgICAgICAgICAgIGNvbnN0IGVudW1UeXBlID0gVHlwZVJlZ2lzdHJ5LmdldCgpLmZpbmRFbnVtKHR5cGVOYW1lKTtcbiAgICAgICAgICAgIGlmIChlbnVtVHlwZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB0eXBlID0gVHlwZVJlZ2lzdHJ5LmdldCgpLmZpbmRUeXBlKHR5cGVOYW1lKTtcbiAgICAgICAgICAgIGlmICghdHlwZSkge1xuICAgICAgICAgICAgICAgIC8vIGluIGNhc2Ugd2UgZG9udCBrbm93IHRoZSB0eXBlXG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEdldCB0aGUgYWN0dWFsIHR5cGUgb2YgdGhpcyBvYmplY3RcbiAgICAgICAgICAgIGNvbnN0IGNvcnJlY3RlZFR5cGVOYW1lID0gdGhpcy5maW5kQ29ycmVjdFR5cGUoZGF0YSwgdHlwZU5hbWUpO1xuICAgICAgICAgICAgY29uc3QgY29ycmVjdGVkVHlwZSA9IFR5cGVSZWdpc3RyeS5nZXQoKS5maW5kVHlwZShjb3JyZWN0ZWRUeXBlTmFtZSk7XG5cbiAgICAgICAgICAgIC8vIGdldCB0aGUgbWFwIGZvciB0aGUgY29ycmVjdCB0eXBlLlxuICAgICAgICAgICAgY29uc3QgYXR0cmlidXRlVHlwZXMgPSBjb3JyZWN0ZWRUeXBlLmdldEF0dHJpYnV0ZVR5cGVNYXAoKSBhcyBBcnJheTxDbGFzc0F0dHJpYnV0ZURlZj47XG4gICAgICAgICAgICBjb25zdCBpbnN0YW5jZToge1tpbmRleDogc3RyaW5nXTogYW55fSA9IHt9O1xuICAgICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnByZWZlci1mb3Itb2ZcbiAgICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBhdHRyaWJ1dGVUeXBlcy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCBhdHRyaWJ1dGVUeXBlID0gYXR0cmlidXRlVHlwZXNbaW5kZXhdO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlW2F0dHJpYnV0ZVR5cGUuYmFzZU5hbWVdID0gdGhpcy5zZXJpYWxpemUoZGF0YVthdHRyaWJ1dGVUeXBlLm5hbWVdLCBhdHRyaWJ1dGVUeXBlLnR5cGUsIGF0dHJpYnV0ZVR5cGUuc3VidHlwZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gaW5zdGFuY2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBkZXNlcmlhbGl6ZUNsYXNzPFQ+KGRhdGE6IGFueSwgdHlwZTogQ2xhc3NUeXBlPFQ+KTogVCB7XG4gICAgICAgIHJldHVybiB0aGlzLmRlc2VyaWFsaXplKGRhdGEsIGZpbmRSZWZsZWN0VHlwZU5hbWUodHlwZSkgPz8gdW5kZWZpbmVkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGVzZXJpYWxpemVDbGFzc0FycmF5PFQ+KGRhdGE6IGFueSwgdHlwZTogQ2xhc3NUeXBlPFQ+KTogQXJyYXk8VD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kZXNlcmlhbGl6ZShkYXRhLCBgQXJyYXk8JHtmaW5kUmVmbGVjdFR5cGVOYW1lKHR5cGUpfT5gKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGVzZXJpYWxpemUoZGF0YTogYW55LCB0eXBlPzogc3RyaW5nKSB7XG4gICAgICAgIC8vIHBvbHltb3JwaGlzbSBtYXkgY2hhbmdlIHRoZSBhY3R1YWwgdHlwZS5cbiAgICAgICAgaWYgKGRhdGEgPT0gdW5kZWZpbmVkIHx8ICF0eXBlKSB7XG4gICAgICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNvcnJlY3RlZFR5cGVOYW1lID0gdGhpcy5maW5kQ29ycmVjdFR5cGUoZGF0YSwgdHlwZSk7XG5cbiAgICAgICAgaWYgKHRoaXMuX3ByaW1pdGl2ZXMuaW5kZXhPZihjb3JyZWN0ZWRUeXBlTmFtZS50b0xvd2VyQ2FzZSgpKSAhPT0gLTEpIHtcbiAgICAgICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgICB9IGVsc2UgaWYgKGNvcnJlY3RlZFR5cGVOYW1lLmxhc3RJbmRleE9mKCdBcnJheTwnLCAwKSA9PT0gMCkge1xuICAgICAgICAgICAgLy8gc3RyaW5nLnN0YXJ0c1dpdGggcHJlIGVzNlxuICAgICAgICAgICAgbGV0IHN1YlR5cGU6IHN0cmluZyA9IGNvcnJlY3RlZFR5cGVOYW1lLnJlcGxhY2UoJ0FycmF5PCcsICcnKTsgLy8gQXJyYXk8VHlwZT4gPT4gVHlwZT5cbiAgICAgICAgICAgIHN1YlR5cGUgPSBzdWJUeXBlLnN1YnN0cmluZygwLCBzdWJUeXBlLmxlbmd0aCAtIDEpOyAvLyBUeXBlPiA9PiBUeXBlXG4gICAgICAgICAgICBjb25zdCB0cmFuc2Zvcm1lZERhdGE6IGFueVtdID0gW107XG4gICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6cHJlZmVyLWZvci1vZlxuICAgICAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGRhdGEubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGF0dW0gPSBkYXRhW2luZGV4XTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm1lZERhdGEucHVzaCh0aGlzLmRlc2VyaWFsaXplKGRhdHVtLCBzdWJUeXBlKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdHJhbnNmb3JtZWREYXRhO1xuICAgICAgICB9IGVsc2UgaWYgKGNvcnJlY3RlZFR5cGVOYW1lID09PSAnRGF0ZScpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZShkYXRhKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGVudW1UeXBlID0gVHlwZVJlZ2lzdHJ5LmdldCgpLmZpbmRFbnVtKGNvcnJlY3RlZFR5cGVOYW1lKTtcbiAgICAgICAgICAgIGlmIChlbnVtVHlwZSkge1xuICAgICAgICAgICAgICAgIC8vIGlzIEVudW1cbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgY29ycmVjdGVkVHlwZSA9IFR5cGVSZWdpc3RyeS5nZXQoKS5maW5kVHlwZShjb3JyZWN0ZWRUeXBlTmFtZSk7XG4gICAgICAgICAgICBpZiAoIWNvcnJlY3RlZFR5cGUpIHtcbiAgICAgICAgICAgICAgICAvLyBkb250IGtub3cgdGhlIHR5cGVcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGluc3RhbmNlID0gbmV3IGNvcnJlY3RlZFR5cGUoKTtcbiAgICAgICAgICAgIGNvbnN0IGF0dHJpYnV0ZVR5cGVzID0gY29ycmVjdGVkVHlwZS5nZXRBdHRyaWJ1dGVUeXBlTWFwKCkgYXMgQXJyYXk8Q2xhc3NBdHRyaWJ1dGVEZWY+O1xuICAgICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnByZWZlci1mb3Itb2ZcbiAgICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBhdHRyaWJ1dGVUeXBlcy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCBhdHRyaWJ1dGVUeXBlID0gYXR0cmlidXRlVHlwZXNbaW5kZXhdO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlW2F0dHJpYnV0ZVR5cGUubmFtZV0gPSB0aGlzLmRlc2VyaWFsaXplKGRhdGFbYXR0cmlidXRlVHlwZS5iYXNlTmFtZV0sIGF0dHJpYnV0ZVR5cGUudHlwZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gaW5zdGFuY2U7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -1,55 +0,0 @@
1
- import { HttpClient } from '@angular/common/http';
2
- import { inject } from '@angular/core';
3
- import { ObjectSerializer } from '../serder/object-serializer';
4
- export class ACommonsBaseApiService {
5
- constructor() {
6
- this.objectSerializer = ObjectSerializer.get();
7
- this.http = inject(HttpClient);
8
- }
9
- getUrl(...pathSegments) {
10
- let baseUrl = this.getBasePath();
11
- if (baseUrl.endsWith('/')) {
12
- baseUrl = baseUrl.substring(0, baseUrl.length - 1);
13
- }
14
- const serviceBasePath = this.getServiceBasePath();
15
- let path = [serviceBasePath, ...pathSegments].filter(s => s && s.length).join('/');
16
- // omit first and last '/'
17
- if (path.startsWith('/')) {
18
- path = path.substring(1);
19
- }
20
- if (path.endsWith('/')) {
21
- path = path.substring(0, path.length - 1);
22
- }
23
- // replace any double '//' from path that could come from joining paths
24
- path = path.replace('//', '/');
25
- return `${baseUrl}/${path}`;
26
- }
27
- deserializeQueryResult(item, qrType) {
28
- return this.deserializeClass(item, qrType);
29
- }
30
- deserializeClass(item, type) {
31
- return this.objectSerializer.deserializeClass(item, type);
32
- }
33
- deserializeClassArray(item, type) {
34
- return this.objectSerializer.deserializeClassArray(item, type);
35
- }
36
- serializeClass(item, type) {
37
- return this.objectSerializer.serializeClass(item, type);
38
- }
39
- serializeClassArray(item, type) {
40
- return this.objectSerializer.serializeClassArray(item, type);
41
- }
42
- }
43
- export class ACommonsApiService extends ACommonsBaseApiService {
44
- constructor(type) {
45
- super();
46
- this.type = type;
47
- }
48
- deserialize(item) {
49
- return this.deserializeClass(item, this.type);
50
- }
51
- serialize(item) {
52
- return this.serializeClass(item, this.type);
53
- }
54
- }
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmFic3RyYWN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2FwaS5hYnN0cmFjdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBSXJDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBRTdELE1BQU0sT0FBZ0Isc0JBQXNCO0lBQTVDO1FBQ3VCLHFCQUFnQixHQUFHLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQzFDLFNBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUE0Q2pELENBQUM7SUF0Q2EsTUFBTSxDQUFDLEdBQUcsWUFBMkI7UUFDM0MsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2pDLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFDRCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUNsRCxJQUFJLElBQUksR0FBRyxDQUFDLGVBQWUsRUFBRSxHQUFHLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25GLDBCQUEwQjtRQUMxQixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN2QixJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3QixDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDckIsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDOUMsQ0FBQztRQUNELHVFQUF1RTtRQUN2RSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDL0IsT0FBTyxHQUFHLE9BQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRVMsc0JBQXNCLENBQUssSUFBUyxFQUFFLE1BQXFCO1FBQ2pFLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRVMsZ0JBQWdCLENBQUksSUFBUyxFQUFFLElBQWtCO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRVMscUJBQXFCLENBQUksSUFBUyxFQUFFLElBQWtCO1FBQzVELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRVMsY0FBYyxDQUFJLElBQU8sRUFBRSxJQUFrQjtRQUNuRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFUyxtQkFBbUIsQ0FBSSxJQUFjLEVBQUUsSUFBa0I7UUFDL0QsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2pFLENBQUM7Q0FDSjtBQUVELE1BQU0sT0FBZ0Isa0JBQXNCLFNBQVEsc0JBQXNCO0lBQ3RFLFlBQWdDLElBQWtCO1FBQzlDLEtBQUssRUFBRSxDQUFDO1FBRG9CLFNBQUksR0FBSixJQUFJLENBQWM7SUFFbEQsQ0FBQztJQUVTLFdBQVcsQ0FBQyxJQUFTO1FBQzNCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVTLFNBQVMsQ0FBQyxJQUFPO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hELENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SHR0cENsaWVudH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge0NsYXNzVHlwZX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcblxuaW1wb3J0IHtPYmplY3RTZXJpYWxpemVyfSBmcm9tICcuLi9zZXJkZXIvb2JqZWN0LXNlcmlhbGl6ZXInO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQUNvbW1vbnNCYXNlQXBpU2VydmljZSB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG9iamVjdFNlcmlhbGl6ZXIgPSBPYmplY3RTZXJpYWxpemVyLmdldCgpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldEJhc2VQYXRoKCk6IHN0cmluZztcblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRTZXJ2aWNlQmFzZVBhdGgoKTogc3RyaW5nIHwgbnVsbDtcblxuICAgIHByb3RlY3RlZCBnZXRVcmwoLi4ucGF0aFNlZ21lbnRzOiBBcnJheTxzdHJpbmc+KTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGJhc2VVcmwgPSB0aGlzLmdldEJhc2VQYXRoKCk7XG4gICAgICAgIGlmIChiYXNlVXJsLmVuZHNXaXRoKCcvJykpIHtcbiAgICAgICAgICAgIGJhc2VVcmwgPSBiYXNlVXJsLnN1YnN0cmluZygwLCBiYXNlVXJsLmxlbmd0aCAtIDEpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNlcnZpY2VCYXNlUGF0aCA9IHRoaXMuZ2V0U2VydmljZUJhc2VQYXRoKCk7XG4gICAgICAgIGxldCBwYXRoID0gW3NlcnZpY2VCYXNlUGF0aCwgLi4ucGF0aFNlZ21lbnRzXS5maWx0ZXIocyA9PiBzICYmIHMubGVuZ3RoKS5qb2luKCcvJyk7XG4gICAgICAgIC8vIG9taXQgZmlyc3QgYW5kIGxhc3QgJy8nXG4gICAgICAgIGlmIChwYXRoLnN0YXJ0c1dpdGgoJy8nKSkge1xuICAgICAgICAgICAgcGF0aCA9IHBhdGguc3Vic3RyaW5nKDEpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwYXRoLmVuZHNXaXRoKCcvJykpIHtcbiAgICAgICAgICAgIHBhdGggPSBwYXRoLnN1YnN0cmluZygwLCBwYXRoLmxlbmd0aCAtIDEpO1xuICAgICAgICB9XG4gICAgICAgIC8vIHJlcGxhY2UgYW55IGRvdWJsZSAnLy8nIGZyb20gcGF0aCB0aGF0IGNvdWxkIGNvbWUgZnJvbSBqb2luaW5nIHBhdGhzXG4gICAgICAgIHBhdGggPSBwYXRoLnJlcGxhY2UoJy8vJywgJy8nKTtcbiAgICAgICAgcmV0dXJuIGAke2Jhc2VVcmx9LyR7cGF0aH1gO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBkZXNlcmlhbGl6ZVF1ZXJ5UmVzdWx0PFFSPihpdGVtOiBhbnksIHFyVHlwZTogQ2xhc3NUeXBlPFFSPik6IFFSIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGVzZXJpYWxpemVDbGFzcyhpdGVtLCBxclR5cGUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBkZXNlcmlhbGl6ZUNsYXNzPEM+KGl0ZW06IGFueSwgdHlwZTogQ2xhc3NUeXBlPEM+KTogQyB7XG4gICAgICAgIHJldHVybiB0aGlzLm9iamVjdFNlcmlhbGl6ZXIuZGVzZXJpYWxpemVDbGFzcyhpdGVtLCB0eXBlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZGVzZXJpYWxpemVDbGFzc0FycmF5PEM+KGl0ZW06IGFueSwgdHlwZTogQ2xhc3NUeXBlPEM+KTogQXJyYXk8Qz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vYmplY3RTZXJpYWxpemVyLmRlc2VyaWFsaXplQ2xhc3NBcnJheShpdGVtLCB0eXBlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2VyaWFsaXplQ2xhc3M8Qz4oaXRlbTogQywgdHlwZTogQ2xhc3NUeXBlPEM+KTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMub2JqZWN0U2VyaWFsaXplci5zZXJpYWxpemVDbGFzcyhpdGVtLCB0eXBlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2VyaWFsaXplQ2xhc3NBcnJheTxDPihpdGVtOiBBcnJheTxDPiwgdHlwZTogQ2xhc3NUeXBlPEM+KTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMub2JqZWN0U2VyaWFsaXplci5zZXJpYWxpemVDbGFzc0FycmF5KGl0ZW0sIHR5cGUpO1xuICAgIH1cbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFDb21tb25zQXBpU2VydmljZTxUPiBleHRlbmRzIEFDb21tb25zQmFzZUFwaVNlcnZpY2Uge1xuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgdHlwZTogQ2xhc3NUeXBlPFQ+KSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGRlc2VyaWFsaXplKGl0ZW06IGFueSk6IFQge1xuICAgICAgICByZXR1cm4gdGhpcy5kZXNlcmlhbGl6ZUNsYXNzKGl0ZW0sIHRoaXMudHlwZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNlcmlhbGl6ZShpdGVtOiBUKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VyaWFsaXplQ2xhc3MoaXRlbSwgdGhpcy50eXBlKTtcbiAgICB9XG59XG4iXX0=
@@ -1,82 +0,0 @@
1
- import { HttpParams } from '@angular/common/http';
2
- import { map } from 'rxjs/operators';
3
- import { ACommonsGetAllApiService } from './get-all-api.abstract.service';
4
- export class ACommonsCrudApiService extends ACommonsGetAllApiService {
5
- constructor(fetchType, requestType, queryResultType) {
6
- super(fetchType, queryResultType);
7
- this.requestType = requestType;
8
- }
9
- createPost(item, params) {
10
- const url = this.getUrl(this.getCreatePostPath(item));
11
- return this.http
12
- .post(url, this.serializeRequest(item), {
13
- withCredentials: true,
14
- observe: 'body',
15
- reportProgress: false,
16
- params: params
17
- })
18
- .pipe(map(res => this.deserialize(res)));
19
- }
20
- getByIdGet(id, params, locale) {
21
- const url = this.getUrl(this.getGetByIdGetPath(id));
22
- if (params && locale) {
23
- params = params.set('lang', locale);
24
- }
25
- else if (locale) {
26
- params = new HttpParams().set('lang', locale);
27
- }
28
- return this.http
29
- .get(url, {
30
- withCredentials: true,
31
- observe: 'body',
32
- reportProgress: false,
33
- params: params
34
- })
35
- .pipe(map(res => this.deserialize(res)));
36
- }
37
- updatePut(id, item, params) {
38
- const url = this.getUrl(this.getUpdatePutPath(id, item));
39
- return this.http
40
- .put(url, this.serializeRequest(item), {
41
- withCredentials: true,
42
- observe: 'body',
43
- reportProgress: false,
44
- params: params
45
- })
46
- .pipe(map(res => this.deserialize(res)));
47
- }
48
- removeDelete(id, item, params) {
49
- const url = this.getUrl(this.getRemoveDeletePath(id, item));
50
- return this.http
51
- .request('delete', url, {
52
- withCredentials: true,
53
- observe: 'body',
54
- reportProgress: false,
55
- body: item ? this.serialize(item) : undefined,
56
- params: params
57
- })
58
- .pipe(map(res => (res ? this.deserialize(res) : undefined)));
59
- }
60
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
61
- getCreatePostPath(item) {
62
- return '';
63
- }
64
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
65
- getUpdatePutPath(id, item) {
66
- return ``;
67
- }
68
- getGetByIdGetPath(id) {
69
- return `/${id}`;
70
- }
71
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
72
- getRemoveDeletePath(id, item) {
73
- return `/${id}`;
74
- }
75
- deserializeRequest(item) {
76
- return this.deserializeClass(item, this.requestType);
77
- }
78
- serializeRequest(item) {
79
- return this.serializeClass(item, this.requestType);
80
- }
81
- }
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1ZC1hcGkuYWJzdHJhY3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvY3J1ZC1hcGkuYWJzdHJhY3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFHaEQsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBS25DLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBWXhFLE1BQU0sT0FBZ0Isc0JBQ2xCLFNBQVEsd0JBQW9EO0lBRzVELFlBQ0ksU0FBK0IsRUFDckIsV0FBbUMsRUFDN0MsZUFBMkM7UUFFM0MsS0FBSyxDQUFDLFNBQVMsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUh4QixnQkFBVyxHQUFYLFdBQVcsQ0FBd0I7SUFJakQsQ0FBQztJQUVNLFVBQVUsQ0FBQyxJQUFpQixFQUFFLE1BQW1CO1FBQ3BELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdEQsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNYLElBQUksQ0FBVSxHQUFHLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzdDLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLE9BQU8sRUFBRSxNQUFNO1lBQ2YsY0FBYyxFQUFFLEtBQUs7WUFDckIsTUFBTSxFQUFFLE1BQU07U0FDakIsQ0FBQzthQUNELElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRU0sVUFBVSxDQUFDLEVBQVUsRUFBRSxNQUFtQixFQUFFLE1BQWU7UUFDOUQsTUFBTSxH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QUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFUyxnQkFBZ0IsQ0FBQyxJQUFpQjtRQUN4QyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN2RCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0h0dHBQYXJhbXN9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7Q2xhc3NUeXBlLCBJZFR5cGV9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5cbmltcG9ydCB7UXVlcnlSZXN1bHR9IGZyb20gJy4uL21vZGVscy9xdWVyeS1yZXN1bHQubW9kZWwnO1xuaW1wb3J0IHtBQ29tbW9uc0dldEFsbEFwaVNlcnZpY2V9IGZyb20gJy4vZ2V0LWFsbC1hcGkuYWJzdHJhY3Quc2VydmljZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbW1vbnNDcnVkQXBpU2VydmljZTxGZXRjaFR5cGUsIFJlcXVlc3RUeXBlPiB7XG4gICAgY3JlYXRlUG9zdD8oaXRlbTogUmVxdWVzdFR5cGUsIHBhcmFtcz86IEh0dHBQYXJhbXMpOiBPYnNlcnZhYmxlPEZldGNoVHlwZT47XG5cbiAgICBnZXRCeUlkR2V0PyhpZDogSWRUeXBlLCBwYXJhbXM/OiBIdHRwUGFyYW1zLCBsb2NhbGU/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPEZldGNoVHlwZT47XG5cbiAgICB1cGRhdGVQdXQ/KGlkOiBJZFR5cGUsIGl0ZW06IFJlcXVlc3RUeXBlLCBwYXJhbXM/OiBIdHRwUGFyYW1zKTogT2JzZXJ2YWJsZTxGZXRjaFR5cGU+O1xuXG4gICAgcmVtb3ZlRGVsZXRlPyhpZDogSWRUeXBlLCBpdGVtPzogRmV0Y2hUeXBlLCBwYXJhbXM/OiBIdHRwUGFyYW1zKTogT2JzZXJ2YWJsZTxGZXRjaFR5cGUgfCB1bmRlZmluZWQ+O1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQUNvbW1vbnNDcnVkQXBpU2VydmljZTxGZXRjaFR5cGUsIFJlcXVlc3RUeXBlLCBRdWVyeVJlc3VsdFR5cGUgZXh0ZW5kcyBRdWVyeVJlc3VsdDxhbnk+PlxuICAgIGV4dGVuZHMgQUNvbW1vbnNHZXRBbGxBcGlTZXJ2aWNlPEZldGNoVHlwZSwgUXVlcnlSZXN1bHRUeXBlPlxuICAgIGltcGxlbWVudHMgSUNvbW1vbnNDcnVkQXBpU2VydmljZTxGZXRjaFR5cGUsIFJlcXVlc3RUeXBlPlxue1xuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICAgICAgZmV0Y2hUeXBlOiBDbGFzc1R5cGU8RmV0Y2hUeXBlPixcbiAgICAgICAgcHJvdGVjdGVkIHJlcXVlc3RUeXBlOiBDbGFzc1R5cGU8UmVxdWVzdFR5cGU+LFxuICAgICAgICBxdWVyeVJlc3VsdFR5cGU6IENsYXNzVHlwZTxRdWVyeVJlc3VsdFR5cGU+XG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGZldGNoVHlwZSwgcXVlcnlSZXN1bHRUeXBlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY3JlYXRlUG9zdChpdGVtOiBSZXF1ZXN0VHlwZSwgcGFyYW1zPzogSHR0cFBhcmFtcyk6IE9ic2VydmFibGU8RmV0Y2hUeXBlPiB7XG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuZ2V0VXJsKHRoaXMuZ2V0Q3JlYXRlUG9zdFBhdGgoaXRlbSkpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAucG9zdDx1bmtub3duPih1cmwsIHRoaXMuc2VyaWFsaXplUmVxdWVzdChpdGVtKSwge1xuICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keScsXG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHBhcmFtczogcGFyYW1zXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnBpcGUobWFwKHJlcyA9PiB0aGlzLmRlc2VyaWFsaXplKHJlcykpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QnlJZEdldChpZDogSWRUeXBlLCBwYXJhbXM/OiBIdHRwUGFyYW1zLCBsb2NhbGU/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPEZldGNoVHlwZT4ge1xuICAgICAgICBjb25zdCB1cmwgPSB0aGlzLmdldFVybCh0aGlzLmdldEdldEJ5SWRHZXRQYXRoKGlkKSk7XG4gICAgICAgIGlmIChwYXJhbXMgJiYgbG9jYWxlKSB7XG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdsYW5nJywgbG9jYWxlKTtcbiAgICAgICAgfSBlbHNlIGlmIChsb2NhbGUpIHtcbiAgICAgICAgICAgIHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdsYW5nJywgbG9jYWxlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAuZ2V0PHVua25vd24+KHVybCwge1xuICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keScsXG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHBhcmFtczogcGFyYW1zXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnBpcGUobWFwKHJlcyA9PiB0aGlzLmRlc2VyaWFsaXplKHJlcykpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlUHV0KGlkOiBJZFR5cGUsIGl0ZW06IFJlcXVlc3RUeXBlLCBwYXJhbXM/OiBIdHRwUGFyYW1zKTogT2JzZXJ2YWJsZTxGZXRjaFR5cGU+IHtcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5nZXRVcmwodGhpcy5nZXRVcGRhdGVQdXRQYXRoKGlkLCBpdGVtKSk7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5wdXQ8dW5rbm93bj4odXJsLCB0aGlzLnNlcmlhbGl6ZVJlcXVlc3QoaXRlbSksIHtcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBwYXJhbXM6IHBhcmFtc1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5waXBlKG1hcChyZXMgPT4gdGhpcy5kZXNlcmlhbGl6ZShyZXMpKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlbW92ZURlbGV0ZShpZDogSWRUeXBlLCBpdGVtPzogRmV0Y2hUeXBlLCBwYXJhbXM/OiBIdHRwUGFyYW1zKTogT2JzZXJ2YWJsZTxGZXRjaFR5cGUgfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5nZXRVcmwodGhpcy5nZXRSZW1vdmVEZWxldGVQYXRoKGlkLCBpdGVtKSk7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5yZXF1ZXN0PHVua25vd24+KCdkZWxldGUnLCB1cmwsIHtcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBib2R5OiBpdGVtID8gdGhpcy5zZXJpYWxpemUoaXRlbSkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgcGFyYW1zOiBwYXJhbXNcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAucGlwZShtYXAocmVzID0+IChyZXMgPyB0aGlzLmRlc2VyaWFsaXplKHJlcykgOiB1bmRlZmluZWQpKSk7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIHByb3RlY3RlZCBnZXRDcmVhdGVQb3N0UGF0aChpdGVtOiBSZXF1ZXN0VHlwZSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgcHJvdGVjdGVkIGdldFVwZGF0ZVB1dFBhdGgoaWQ6IElkVHlwZSwgaXRlbTogUmVxdWVzdFR5cGUpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYGA7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEdldEJ5SWRHZXRQYXRoKGlkOiBJZFR5cGUpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYC8ke2lkfWA7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIHByb3RlY3RlZCBnZXRSZW1vdmVEZWxldGVQYXRoKGlkOiBJZFR5cGUsIGl0ZW0/OiBGZXRjaFR5cGUpIHtcbiAgICAgICAgcmV0dXJuIGAvJHtpZH1gO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBkZXNlcmlhbGl6ZVJlcXVlc3QoaXRlbTogYW55KTogUmVxdWVzdFR5cGUge1xuICAgICAgICByZXR1cm4gdGhpcy5kZXNlcmlhbGl6ZUNsYXNzKGl0ZW0sIHRoaXMucmVxdWVzdFR5cGUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzZXJpYWxpemVSZXF1ZXN0KGl0ZW06IFJlcXVlc3RUeXBlKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VyaWFsaXplQ2xhc3MoaXRlbSwgdGhpcy5yZXF1ZXN0VHlwZSk7XG4gICAgfVxufVxuIl19
@@ -1,49 +0,0 @@
1
- import { HttpParams } from '@angular/common/http';
2
- import { map } from 'rxjs/operators';
3
- import { dataListParamsFiltersToUrlQuery, dataListParamsSortToUrlQuery } from '@mediusinc/mng-commons/core';
4
- import { ACommonsApiService } from './api.abstract.service';
5
- export class ACommonsGetAllApiService extends ACommonsApiService {
6
- constructor(fetchType, queryResultType) {
7
- super(fetchType);
8
- this.queryResultType = queryResultType;
9
- }
10
- getAllGet(requestParams, params, locale) {
11
- const url = this.getUrl(this.getGetAllGetPath());
12
- if (!params) {
13
- params = new HttpParams();
14
- }
15
- if (locale) {
16
- params = params.set('lang', locale);
17
- }
18
- if (requestParams?.limit) {
19
- params = params.set('limit', requestParams.limit);
20
- }
21
- if (requestParams?.offset) {
22
- params = params.set('offset', requestParams.offset);
23
- }
24
- const sort = dataListParamsSortToUrlQuery(requestParams);
25
- if (sort) {
26
- params = params.set('sort', sort);
27
- }
28
- if (requestParams?.filters) {
29
- Object.keys(requestParams.filters).forEach(key => {
30
- const value = dataListParamsFiltersToUrlQuery(requestParams, key);
31
- if (value) {
32
- params = params.set(key, value);
33
- }
34
- });
35
- }
36
- return this.http
37
- .get(url, {
38
- withCredentials: true,
39
- observe: 'body',
40
- reportProgress: false,
41
- params: params
42
- })
43
- .pipe(map(res => this.deserializeQueryResult(res, this.queryResultType)));
44
- }
45
- getGetAllGetPath() {
46
- return '/get-all';
47
- }
48
- }
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWFsbC1hcGkuYWJzdHJhY3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvZ2V0LWFsbC1hcGkuYWJzdHJhY3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFHaEQsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5DLE9BQU8sRUFBNEIsK0JBQStCLEVBQUUsNEJBQTRCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUdySSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQU0xRCxNQUFNLE9BQWdCLHdCQUNsQixTQUFRLGtCQUE2QjtJQUdyQyxZQUNJLFNBQStCLEVBQ3JCLGVBQTJDO1FBRXJELEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUZQLG9CQUFlLEdBQWYsZUFBZSxDQUE0QjtJQUd6RCxDQUFDO0lBRU0sU0FBUyxDQUFDLGFBQThCLEVBQUUsTUFBbUIsRUFBRSxNQUFlO1FBQ2pGLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDVixNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUM5QixDQUFDO1FBQ0QsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNULE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN4QyxDQUFDO1FBRUQsSUFBSSxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDdkIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBQ0QsSUFBSSxhQUFhLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDeEIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4RCxDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQUcsNEJBQTRCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDekQsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNQLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBRUQsSUFBSSxhQUFhLEVBQUUsT0FBTyxFQUFFLENBQUM7WUFDekIsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUM3QyxNQUFNLEtBQUssR0FBRywrQkFBK0IsQ0FBQyxhQUFhLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQ2xFLElBQUksS0FBSyxFQUFFLENBQUM7b0JBQ1IsTUFBTSxHQUFHLE1BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUNyQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNYLEdBQUcsQ0FBVSxHQUFHLEVBQUU7WUFDZixlQUFlLEVBQUUsSUFBSTtZQUNyQixPQUFPLEVBQUUsTUFBTTtZQUNmLGNBQWMsRUFBRSxLQUFLO1lBQ3JCLE1BQU0sRUFBRSxNQUFNO1NBQ2pCLENBQUM7YUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFUyxnQkFBZ0I7UUFDdEIsT0FBTyxVQUFVLENBQUM7SUFDdEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtIdHRwUGFyYW1zfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge0NsYXNzVHlwZSwgRGF0YUxpc3RQYXJhbXMsIGRhdGFMaXN0UGFyYW1zRmlsdGVyc1RvVXJsUXVlcnksIGRhdGFMaXN0UGFyYW1zU29ydFRvVXJsUXVlcnl9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5cbmltcG9ydCB7UXVlcnlSZXN1bHR9IGZyb20gJy4uL21vZGVscy9xdWVyeS1yZXN1bHQubW9kZWwnO1xuaW1wb3J0IHtBQ29tbW9uc0FwaVNlcnZpY2V9IGZyb20gJy4vYXBpLmFic3RyYWN0LnNlcnZpY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElDb21tb25zR2V0QWxsQXBpU2VydmljZTxRUlQgZXh0ZW5kcyBRdWVyeVJlc3VsdDxhbnk+PiB7XG4gICAgZ2V0QWxsR2V0KHJlcXVlc3RQYXJhbXM/OiBEYXRhTGlzdFBhcmFtczxhbnksIGFueT4sIHBhcmFtcz86IEh0dHBQYXJhbXMsIGxvY2FsZT86IHN0cmluZyk6IE9ic2VydmFibGU8UVJUPjtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFDb21tb25zR2V0QWxsQXBpU2VydmljZTxGZXRjaFR5cGUsIFF1ZXJ5UmVzdWx0VHlwZSBleHRlbmRzIFF1ZXJ5UmVzdWx0PGFueT4+XG4gICAgZXh0ZW5kcyBBQ29tbW9uc0FwaVNlcnZpY2U8RmV0Y2hUeXBlPlxuICAgIGltcGxlbWVudHMgSUNvbW1vbnNHZXRBbGxBcGlTZXJ2aWNlPFF1ZXJ5UmVzdWx0VHlwZT5cbntcbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXG4gICAgICAgIGZldGNoVHlwZTogQ2xhc3NUeXBlPEZldGNoVHlwZT4sXG4gICAgICAgIHByb3RlY3RlZCBxdWVyeVJlc3VsdFR5cGU6IENsYXNzVHlwZTxRdWVyeVJlc3VsdFR5cGU+XG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGZldGNoVHlwZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEFsbEdldChyZXF1ZXN0UGFyYW1zPzogRGF0YUxpc3RQYXJhbXMsIHBhcmFtcz86IEh0dHBQYXJhbXMsIGxvY2FsZT86IHN0cmluZyk6IE9ic2VydmFibGU8UXVlcnlSZXN1bHRUeXBlPiB7XG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuZ2V0VXJsKHRoaXMuZ2V0R2V0QWxsR2V0UGF0aCgpKTtcbiAgICAgICAgaWYgKCFwYXJhbXMpIHtcbiAgICAgICAgICAgIHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGxvY2FsZSkge1xuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnbGFuZycsIGxvY2FsZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocmVxdWVzdFBhcmFtcz8ubGltaXQpIHtcbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2xpbWl0JywgcmVxdWVzdFBhcmFtcy5saW1pdCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJlcXVlc3RQYXJhbXM/Lm9mZnNldCkge1xuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnb2Zmc2V0JywgcmVxdWVzdFBhcmFtcy5vZmZzZXQpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc29ydCA9IGRhdGFMaXN0UGFyYW1zU29ydFRvVXJsUXVlcnkocmVxdWVzdFBhcmFtcyk7XG4gICAgICAgIGlmIChzb3J0KSB7XG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdzb3J0Jywgc29ydCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocmVxdWVzdFBhcmFtcz8uZmlsdGVycykge1xuICAgICAgICAgICAgT2JqZWN0LmtleXMocmVxdWVzdFBhcmFtcy5maWx0ZXJzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBkYXRhTGlzdFBhcmFtc0ZpbHRlcnNUb1VybFF1ZXJ5KHJlcXVlc3RQYXJhbXMsIGtleSk7XG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcyEuc2V0KGtleSwgdmFsdWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmdldDx1bmtub3duPih1cmwsIHtcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBwYXJhbXM6IHBhcmFtc1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5waXBlKG1hcChyZXMgPT4gdGhpcy5kZXNlcmlhbGl6ZVF1ZXJ5UmVzdWx0KHJlcywgdGhpcy5xdWVyeVJlc3VsdFR5cGUpKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEdldEFsbEdldFBhdGgoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICcvZ2V0LWFsbCc7XG4gICAgfVxufVxuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaXVzaW5jLW1uZy1jb21tb25zLWRhdGEtYXBpLWNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21lZGl1c2luYy1tbmctY29tbW9ucy1kYXRhLWFwaS1jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -1,3 +0,0 @@
1
- export * from './tableview-crud.data-provider';
2
- export * from './tableview-crud-create';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90YWJsZXZpZXcvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdGFibGV2aWV3LWNydWQuZGF0YS1wcm92aWRlcic7XG5leHBvcnQgKiBmcm9tICcuL3RhYmxldmlldy1jcnVkLWNyZWF0ZSc7XG4iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaXVzaW5jLW1uZy1jb21tb25zLWRhdGEtYXBpLWNsYXNzLXRhYmxldmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RhYmxldmlldy9zcmMvbWVkaXVzaW5jLW1uZy1jb21tb25zLWRhdGEtYXBpLWNsYXNzLXRhYmxldmlldy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -1,25 +0,0 @@
1
- import { Injector, inject } from '@angular/core';
2
- import { modelClass } from '@mediusinc/mng-commons/model/class';
3
- import { TableviewInputBuilder, tableviewDescriptor } from '@mediusinc/mng-commons/tableview/api';
4
- import { TableviewCrudDataProvider } from './tableview-crud.data-provider';
5
- function prepareBuilder(type, requestType, service, modelConfig, buildFn) {
6
- const builder = new TableviewInputBuilder(tableviewDescriptor(modelClass(type, { id: modelConfig?.idProperty, title: modelConfig?.titleProperty, i18nBase: modelConfig?.i18nBaseKey })), TableviewCrudDataProvider.create(type, requestType, service, modelConfig?.idProperty), inject(Injector));
7
- buildFn?.(builder);
8
- return builder.build();
9
- }
10
- /**
11
- * Creates a tableview with the given class, request class, service based on data API v2, sort, filters and optional class/model configuration.
12
- * Sorts and filters are expected to be keys of class.
13
- *
14
- * @param {ClassType<Model>} type - The class representing the model.
15
- * @param {ClassType<RequestModel>} requestType - The class representing the model for create and update operations.
16
- * @param {ServiceClassType<Service>} service - The class type of the service implementing `IMngCrudApiService` and `IMngGetAllApiService`.
17
- * @param {{ idProperty?: keyof Model; titleProperty?: keyof Model; i18nBaseKey?: ClassType<any> | string; }} [modelConfig] - Additional optional model configuration.
18
- * @param {(builder: TableviewBuilder) => void} [buildFn] - The optional callback function to customize the tableview using the prepared builder.
19
- *
20
- * @returns A tableview instance with descriptor, data provider and actions.
21
- */
22
- export function tableviewCrud(type, requestType, service, modelConfig, buildFn) {
23
- return prepareBuilder(type, requestType, service, modelConfig, buildFn);
24
- }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LWNydWQtY3JlYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGFibGV2aWV3L3NyYy90YWJsZXZpZXctY3J1ZC1jcmVhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFLL0MsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQzlELE9BQU8sRUFBMEIscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUV6SCxPQUFPLEVBQUMseUJBQXlCLEVBQWdDLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEcsU0FBUyxjQUFjLENBT25CLElBQXNCLEVBQ3RCLFdBQW9DLEVBQ3BDLE9BQWtDLEVBQ2xDLFdBSUMsRUFDRCxPQVNTO0lBRVQsTUFBTSxPQUFPLEdBQUcsSUFBSSxxQkFBcUIsQ0FRckMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxFQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFDLENBQUMsQ0FBQyxFQUMzSSx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxFQUNyRixNQUFNLENBQUMsUUFBUSxDQUFDLENBQ25CLENBQUM7SUFDRixPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuQixPQUFPLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztBQUMzQixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQU96QixJQUFzQixFQUN0QixXQUFvQyxFQUNwQyxPQUFrQyxFQUNsQyxXQU1DLEVBQ0QsT0FTUztJQUVULE9BQU8sY0FBYyxDQUErQyxJQUFJLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDMUgsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0b3IsIGluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7SUNvbW1vbnNDcnVkQXBpU2VydmljZSwgSUNvbW1vbnNHZXRBbGxBcGlTZXJ2aWNlLCBRdWVyeVJlc3VsdH0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy1kYXRhLWFwaS1jbGFzcyc7XG5pbXBvcnQge0NsYXNzVHlwZSwgU2VydmljZUNsYXNzVHlwZX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcbmltcG9ydCB7TW9kZWxEZXNjcmlwdG9yLCBUeXBlRGVzY3JpcHRvcn0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9tb2RlbCc7XG5pbXBvcnQge21vZGVsQ2xhc3N9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvbW9kZWwvY2xhc3MnO1xuaW1wb3J0IHtUYWJsZXZpZXdEZXNjcmlwdG9ySW5zdCwgVGFibGV2aWV3SW5wdXRCdWlsZGVyLCB0YWJsZXZpZXdEZXNjcmlwdG9yfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL3RhYmxldmlldy9hcGknO1xuXG5pbXBvcnQge1RhYmxldmlld0NydWREYXRhUHJvdmlkZXIsIFRhYmxldmlld0NydWREYXRhUHJvdmlkZXJJbnN0fSBmcm9tICcuL3RhYmxldmlldy1jcnVkLmRhdGEtcHJvdmlkZXInO1xuXG5mdW5jdGlvbiBwcmVwYXJlQnVpbGRlcjxcbiAgICBNb2RlbCxcbiAgICBSZXF1ZXN0TW9kZWwsXG4gICAgU2VydmljZSBleHRlbmRzIElDb21tb25zQ3J1ZEFwaVNlcnZpY2U8TW9kZWwsIFJlcXVlc3RNb2RlbD4gJiBJQ29tbW9uc0dldEFsbEFwaVNlcnZpY2U8UXVlcnlSZXN1bHQ8TW9kZWw+PixcbiAgICBTb3J0cyxcbiAgICBGaWx0ZXJzIGV4dGVuZHMga2V5b2YgYW55XG4+KFxuICAgIHR5cGU6IENsYXNzVHlwZTxNb2RlbD4sXG4gICAgcmVxdWVzdFR5cGU6IENsYXNzVHlwZTxSZXF1ZXN0TW9kZWw+LFxuICAgIHNlcnZpY2U6IFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4sXG4gICAgbW9kZWxDb25maWc/OiB7XG4gICAgICAgIGlkUHJvcGVydHk/OiBrZXlvZiBNb2RlbDtcbiAgICAgICAgdGl0bGVQcm9wZXJ0eT86IGtleW9mIE1vZGVsO1xuICAgICAgICBpMThuQmFzZUtleT86IHN0cmluZztcbiAgICB9LFxuICAgIGJ1aWxkRm4/OiAoXG4gICAgICAgIGJ1aWxkZXI6IFRhYmxldmlld0lucHV0QnVpbGRlcjxcbiAgICAgICAgICAgIE1vZGVsLFxuICAgICAgICAgICAgU2VydmljZSxcbiAgICAgICAgICAgIFRhYmxldmlld0Rlc2NyaXB0b3JJbnN0PE1vZGVsLCBTb3J0cywgRmlsdGVycz4sXG4gICAgICAgICAgICBUYWJsZXZpZXdDcnVkRGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgUmVxdWVzdE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycz4sXG4gICAgICAgICAgICBTb3J0cyxcbiAgICAgICAgICAgIEZpbHRlcnNcbiAgICAgICAgPlxuICAgICkgPT4gdm9pZFxuKSB7XG4gICAgY29uc3QgYnVpbGRlciA9IG5ldyBUYWJsZXZpZXdJbnB1dEJ1aWxkZXI8XG4gICAgICAgIE1vZGVsLFxuICAgICAgICBTZXJ2aWNlLFxuICAgICAgICBUYWJsZXZpZXdEZXNjcmlwdG9ySW5zdDxNb2RlbCwgU29ydHMsIEZpbHRlcnM+LFxuICAgICAgICBUYWJsZXZpZXdDcnVkRGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgUmVxdWVzdE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycz4sXG4gICAgICAgIFNvcnRzLFxuICAgICAgICBGaWx0ZXJzXG4gICAgPihcbiAgICAgICAgdGFibGV2aWV3RGVzY3JpcHRvcihtb2RlbENsYXNzKHR5cGUsIHtpZDogbW9kZWxDb25maWc/LmlkUHJvcGVydHksIHRpdGxlOiBtb2RlbENvbmZpZz8udGl0bGVQcm9wZXJ0eSwgaTE4bkJhc2U6IG1vZGVsQ29uZmlnPy5pMThuQmFzZUtleX0pKSxcbiAgICAgICAgVGFibGV2aWV3Q3J1ZERhdGFQcm92aWRlci5jcmVhdGUodHlwZSwgcmVxdWVzdFR5cGUsIHNlcnZpY2UsIG1vZGVsQ29uZmlnPy5pZFByb3BlcnR5KSxcbiAgICAgICAgaW5qZWN0KEluamVjdG9yKVxuICAgICk7XG4gICAgYnVpbGRGbj8uKGJ1aWxkZXIpO1xuICAgIHJldHVybiBidWlsZGVyLmJ1aWxkKCk7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIHRhYmxldmlldyB3aXRoIHRoZSBnaXZlbiBjbGFzcywgcmVxdWVzdCBjbGFzcywgc2VydmljZSBiYXNlZCBvbiBkYXRhIEFQSSB2Miwgc29ydCwgZmlsdGVycyBhbmQgb3B0aW9uYWwgY2xhc3MvbW9kZWwgY29uZmlndXJhdGlvbi5cbiAqIFNvcnRzIGFuZCBmaWx0ZXJzIGFyZSBleHBlY3RlZCB0byBiZSBrZXlzIG9mIGNsYXNzLlxuICpcbiAqIEBwYXJhbSB7Q2xhc3NUeXBlPE1vZGVsPn0gdHlwZSAtIFRoZSBjbGFzcyByZXByZXNlbnRpbmcgdGhlIG1vZGVsLlxuICogQHBhcmFtIHtDbGFzc1R5cGU8UmVxdWVzdE1vZGVsPn0gcmVxdWVzdFR5cGUgLSBUaGUgY2xhc3MgcmVwcmVzZW50aW5nIHRoZSBtb2RlbCBmb3IgY3JlYXRlIGFuZCB1cGRhdGUgb3BlcmF0aW9ucy5cbiAqIEBwYXJhbSB7U2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPn0gc2VydmljZSAtIFRoZSBjbGFzcyB0eXBlIG9mIHRoZSBzZXJ2aWNlIGltcGxlbWVudGluZyBgSU1uZ0NydWRBcGlTZXJ2aWNlYCBhbmQgYElNbmdHZXRBbGxBcGlTZXJ2aWNlYC5cbiAqIEBwYXJhbSB7eyBpZFByb3BlcnR5Pzoga2V5b2YgTW9kZWw7IHRpdGxlUHJvcGVydHk/OiBrZXlvZiBNb2RlbDsgaTE4bkJhc2VLZXk/OiBDbGFzc1R5cGU8YW55PiB8IHN0cmluZzsgfX0gW21vZGVsQ29uZmlnXSAtIEFkZGl0aW9uYWwgb3B0aW9uYWwgbW9kZWwgY29uZmlndXJhdGlvbi5cbiAqIEBwYXJhbSB7KGJ1aWxkZXI6IFRhYmxldmlld0J1aWxkZXIpID0+IHZvaWR9IFtidWlsZEZuXSAtIFRoZSBvcHRpb25hbCBjYWxsYmFjayBmdW5jdGlvbiB0byBjdXN0b21pemUgdGhlIHRhYmxldmlldyB1c2luZyB0aGUgcHJlcGFyZWQgYnVpbGRlci5cbiAqXG4gKiBAcmV0dXJucyBBIHRhYmxldmlldyBpbnN0YW5jZSB3aXRoIGRlc2NyaXB0b3IsIGRhdGEgcHJvdmlkZXIgYW5kIGFjdGlvbnMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0YWJsZXZpZXdDcnVkPFxuICAgIE1vZGVsLFxuICAgIFJlcXVlc3RNb2RlbCxcbiAgICBTZXJ2aWNlIGV4dGVuZHMgSUNvbW1vbnNDcnVkQXBpU2VydmljZTxNb2RlbCwgUmVxdWVzdE1vZGVsPiAmIElDb21tb25zR2V0QWxsQXBpU2VydmljZTxRdWVyeVJlc3VsdDxNb2RlbD4+LFxuICAgIFNvcnRzID0ga2V5b2YgTW9kZWwsXG4gICAgRmlsdGVycyBleHRlbmRzIGtleW9mIGFueSA9IGtleW9mIE1vZGVsXG4+KFxuICAgIHR5cGU6IENsYXNzVHlwZTxNb2RlbD4sXG4gICAgcmVxdWVzdFR5cGU6IENsYXNzVHlwZTxSZXF1ZXN0TW9kZWw+LFxuICAgIHNlcnZpY2U6IFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4sXG4gICAgbW9kZWxDb25maWc/OiB7XG4gICAgICAgIGlkUHJvcGVydHk/OiBrZXlvZiBNb2RlbDtcbiAgICAgICAgdGl0bGVQcm9wZXJ0eT86IGtleW9mIE1vZGVsO1xuICAgICAgICBpMThuQmFzZUtleT86IHN0cmluZztcbiAgICAgICAgc29ydHNUeXBlPzogVHlwZURlc2NyaXB0b3I8U29ydHM+IHwgTW9kZWxEZXNjcmlwdG9yPFNvcnRzPjtcbiAgICAgICAgZmlsdGVyc1R5cGU/OiBUeXBlRGVzY3JpcHRvcjxGaWx0ZXJzPiB8IE1vZGVsRGVzY3JpcHRvcjxGaWx0ZXJzPjtcbiAgICB9LFxuICAgIGJ1aWxkRm4/OiAoXG4gICAgICAgIGJ1aWxkZXI6IFRhYmxldmlld0lucHV0QnVpbGRlcjxcbiAgICAgICAgICAgIE1vZGVsLFxuICAgICAgICAgICAgU2VydmljZSxcbiAgICAgICAgICAgIFRhYmxldmlld0Rlc2NyaXB0b3JJbnN0PE1vZGVsLCBTb3J0cywgRmlsdGVycz4sXG4gICAgICAgICAgICBUYWJsZXZpZXdDcnVkRGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgUmVxdWVzdE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycz4sXG4gICAgICAgICAgICBTb3J0cyxcbiAgICAgICAgICAgIEZpbHRlcnNcbiAgICAgICAgPlxuICAgICkgPT4gdm9pZFxuKSB7XG4gICAgcmV0dXJuIHByZXBhcmVCdWlsZGVyPE1vZGVsLCBSZXF1ZXN0TW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzPih0eXBlLCByZXF1ZXN0VHlwZSwgc2VydmljZSwgbW9kZWxDb25maWcsIGJ1aWxkRm4pO1xufVxuIl19
@@ -1,50 +0,0 @@
1
- import { map } from 'rxjs/operators';
2
- import { FilterMatchMode, mapToDataList, valueToDefined } from '@mediusinc/mng-commons/core';
3
- import { findClassIdAttribute } from '@mediusinc/mng-commons/model/class';
4
- import { TableviewDataProviderInst } from '@mediusinc/mng-commons/tableview/api';
5
- export class TableviewCrudDataProviderInst extends TableviewDataProviderInst {
6
- constructor(type, requestType, serviceType, idPropertyName, useGetAllForFetch = false) {
7
- super(serviceType);
8
- this.requestType = requestType;
9
- this._toRequestMap = item => item;
10
- this.withGetAll((params, service, locale) => service.getAllGet(params, undefined, locale).pipe(mapToDataList()));
11
- if (useGetAllForFetch) {
12
- const selectedIdPropertyName = idPropertyName ?? findClassIdAttribute(type) ?? 'id';
13
- this.withFetch((id, service) => {
14
- return service
15
- .getAllGet({
16
- limit: 1,
17
- filters: {
18
- [selectedIdPropertyName]: {
19
- value: id,
20
- matchMode: FilterMatchMode.Equals
21
- }
22
- }
23
- })
24
- .pipe(map(res => res.data[0]));
25
- });
26
- }
27
- else {
28
- this.withFetch((id, service, locale) => service.getByIdGet(id, undefined, locale));
29
- }
30
- this.withCreate((item, service) => service.createPost(this.toRequestMap(valueToDefined(item))));
31
- this.withUpdate((id, item, service) => service.updatePut(id, this.toRequestMap(valueToDefined(item))));
32
- this.withDelete((id, service, item) => service.removeDelete(id, item));
33
- }
34
- get toRequestMap() {
35
- return this._toRequestMap;
36
- }
37
- withToRequestMap(fn) {
38
- this._toRequestMap = fn;
39
- return this;
40
- }
41
- }
42
- export class TableviewCrudDataProvider extends TableviewCrudDataProviderInst {
43
- static create(type, requestType, serviceType, idProperty, useGetAllForFetch = false) {
44
- return TableviewCrudDataProvider.createUnsafe(type, requestType, serviceType, idProperty, useGetAllForFetch);
45
- }
46
- static createUnsafe(type, requestType, serviceType, idProperty, useGetAllForFetch = false) {
47
- return new TableviewCrudDataProviderInst(type, requestType, serviceType, idProperty, useGetAllForFetch);
48
- }
49
- }
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LWNydWQuZGF0YS1wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RhYmxldmlldy9zcmMvdGFibGV2aWV3LWNydWQuZGF0YS1wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHbkMsT0FBTyxFQUFZLGVBQWUsRUFBb0IsYUFBYSxFQUFFLGNBQWMsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3hILE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBSS9FLE1BQU0sT0FBTyw2QkFNWCxTQUFRLHlCQUFvRjtJQUcxRixZQUNJLElBQXNCLEVBQ1osV0FBb0MsRUFDOUMsV0FBMEIsRUFDMUIsY0FBdUIsRUFDdkIsaUJBQWlCLEdBQUcsS0FBSztRQUV6QixLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFMVCxnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFKMUMsa0JBQWEsR0FBNEMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFvQixDQUFDO1FBVTFGLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFakgsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sc0JBQXNCLEdBQUcsY0FBYyxJQUFJLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQztZQUNwRixJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFO2dCQUMzQixPQUFPLE9BQVE7cUJBQ1YsU0FBUyxDQUFDO29CQUNQLEtBQUssRUFBRSxDQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDTCxDQUFDLHNCQUFzQixDQUFDLEVBQUU7NEJBQ3RCLEtBQUssRUFBRSxFQUFFOzRCQUNULFNBQVMsRUFBRSxlQUFlLENBQUMsTUFBTTt5QkFDcEM7cUJBQ0o7aUJBQ0osQ0FBQztxQkFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEMsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsT0FBUSxDQUFDLFVBQVcsQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDekYsQ0FBQztRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVUsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsWUFBYSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDbkIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzlCLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxFQUEyQztRQUMvRCxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUN4QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsNkJBQTRDO0lBQ2hGLE1BQU0sQ0FBQyxNQUFNLENBT2hCLElBQXNCLEVBQ3RCLFdBQW9DLEVBQ3BDLFdBQTBCLEVBQzFCLFVBQXdCLEVBQ3hCLGlCQUFpQixHQUFHLEtBQUs7UUFFekIsT0FBTyx5QkFBeUIsQ0FBQyxZQUFZLENBQStDLElBQUksRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFVBQW9CLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUN6SyxDQUFDO0lBRU0sTUFBTSxDQUFDLFlBQVksQ0FPdEIsSUFBc0IsRUFDdEIsV0FBb0MsRUFDcEMsV0FBMEIsRUFDMUIsVUFBbUIsRUFDbkIsaUJBQWlCLEdBQUcsS0FBSztRQUV6QixPQUFPLElBQUksNkJBQTZCLENBQStDLElBQUksRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQzFKLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VHlwZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7SUNvbW1vbnNDcnVkQXBpU2VydmljZSwgSUNvbW1vbnNHZXRBbGxBcGlTZXJ2aWNlLCBRdWVyeVJlc3VsdH0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy1kYXRhLWFwaS1jbGFzcyc7XG5pbXBvcnQge0NsYXNzVHlwZSwgRmlsdGVyTWF0Y2hNb2RlLCBTZXJ2aWNlQ2xhc3NUeXBlLCBtYXBUb0RhdGFMaXN0LCB2YWx1ZVRvRGVmaW5lZH0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcbmltcG9ydCB7ZmluZENsYXNzSWRBdHRyaWJ1dGV9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvbW9kZWwvY2xhc3MnO1xuaW1wb3J0IHtUYWJsZXZpZXdEYXRhUHJvdmlkZXJJbnN0fSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL3RhYmxldmlldy9hcGknO1xuXG5leHBvcnQgdHlwZSBUb1JlcXVlc3RNYXBGblR5cGU8TW9kZWwsIFJlcXVlc3RNb2RlbD4gPSAoaXRlbT86IE1vZGVsKSA9PiBSZXF1ZXN0TW9kZWw7XG5cbmV4cG9ydCBjbGFzcyBUYWJsZXZpZXdDcnVkRGF0YVByb3ZpZGVySW5zdDxcbiAgICBNb2RlbCxcbiAgICBSZXF1ZXN0TW9kZWwsXG4gICAgU2VydmljZSBleHRlbmRzIElDb21tb25zQ3J1ZEFwaVNlcnZpY2U8TW9kZWwsIFJlcXVlc3RNb2RlbD4gJiBJQ29tbW9uc0dldEFsbEFwaVNlcnZpY2U8UXVlcnlSZXN1bHQ8TW9kZWw+PixcbiAgICBTb3J0cyA9IGtleW9mIE1vZGVsLFxuICAgIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBrZXlvZiBNb2RlbFxuPiBleHRlbmRzIFRhYmxldmlld0RhdGFQcm92aWRlckluc3Q8TW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzLCBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+PiB7XG4gICAgcHJpdmF0ZSBfdG9SZXF1ZXN0TWFwOiBUb1JlcXVlc3RNYXBGblR5cGU8TW9kZWwsIFJlcXVlc3RNb2RlbD4gPSBpdGVtID0+IGl0ZW0gYXMgUmVxdWVzdE1vZGVsO1xuXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgICAgICB0eXBlOiBDbGFzc1R5cGU8TW9kZWw+LFxuICAgICAgICBwcm90ZWN0ZWQgcmVxdWVzdFR5cGU6IENsYXNzVHlwZTxSZXF1ZXN0TW9kZWw+LFxuICAgICAgICBzZXJ2aWNlVHlwZTogVHlwZTxTZXJ2aWNlPixcbiAgICAgICAgaWRQcm9wZXJ0eU5hbWU/OiBzdHJpbmcsXG4gICAgICAgIHVzZUdldEFsbEZvckZldGNoID0gZmFsc2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoc2VydmljZVR5cGUpO1xuICAgICAgICB0aGlzLndpdGhHZXRBbGwoKHBhcmFtcywgc2VydmljZSwgbG9jYWxlKSA9PiBzZXJ2aWNlLmdldEFsbEdldChwYXJhbXMsIHVuZGVmaW5lZCwgbG9jYWxlKS5waXBlKG1hcFRvRGF0YUxpc3QoKSkpO1xuXG4gICAgICAgIGlmICh1c2VHZXRBbGxGb3JGZXRjaCkge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRJZFByb3BlcnR5TmFtZSA9IGlkUHJvcGVydHlOYW1lID8/IGZpbmRDbGFzc0lkQXR0cmlidXRlKHR5cGUpID8/ICdpZCc7XG4gICAgICAgICAgICB0aGlzLndpdGhGZXRjaCgoaWQsIHNlcnZpY2UpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2VydmljZSFcbiAgICAgICAgICAgICAgICAgICAgLmdldEFsbEdldCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW1pdDogMSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRJZFByb3BlcnR5TmFtZV06IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRjaE1vZGU6IEZpbHRlck1hdGNoTW9kZS5FcXVhbHNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIC5waXBlKG1hcChyZXMgPT4gcmVzLmRhdGEhWzBdKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMud2l0aEZldGNoKChpZCwgc2VydmljZSwgbG9jYWxlKSA9PiBzZXJ2aWNlIS5nZXRCeUlkR2V0IShpZCwgdW5kZWZpbmVkLCBsb2NhbGUpKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLndpdGhDcmVhdGUoKGl0ZW0sIHNlcnZpY2UpID0+IHNlcnZpY2UuY3JlYXRlUG9zdCEodGhpcy50b1JlcXVlc3RNYXAodmFsdWVUb0RlZmluZWQoaXRlbSkpKSk7XG4gICAgICAgIHRoaXMud2l0aFVwZGF0ZSgoaWQsIGl0ZW0sIHNlcnZpY2UpID0+IHNlcnZpY2UudXBkYXRlUHV0IShpZCwgdGhpcy50b1JlcXVlc3RNYXAodmFsdWVUb0RlZmluZWQoaXRlbSkpKSk7XG4gICAgICAgIHRoaXMud2l0aERlbGV0ZSgoaWQsIHNlcnZpY2UsIGl0ZW0pID0+IHNlcnZpY2UucmVtb3ZlRGVsZXRlIShpZCwgaXRlbSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgdG9SZXF1ZXN0TWFwKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdG9SZXF1ZXN0TWFwO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoVG9SZXF1ZXN0TWFwKGZuOiBUb1JlcXVlc3RNYXBGblR5cGU8TW9kZWwsIFJlcXVlc3RNb2RlbD4pIHtcbiAgICAgICAgdGhpcy5fdG9SZXF1ZXN0TWFwID0gZm47XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFRhYmxldmlld0NydWREYXRhUHJvdmlkZXIgZXh0ZW5kcyBUYWJsZXZpZXdDcnVkRGF0YVByb3ZpZGVySW5zdDxhbnksIGFueSwgYW55PiB7XG4gICAgcHVibGljIHN0YXRpYyBjcmVhdGU8XG4gICAgICAgIE1vZGVsLFxuICAgICAgICBSZXF1ZXN0TW9kZWwsXG4gICAgICAgIFNlcnZpY2UgZXh0ZW5kcyBJQ29tbW9uc0NydWRBcGlTZXJ2aWNlPE1vZGVsLCBSZXF1ZXN0TW9kZWw+ICYgSUNvbW1vbnNHZXRBbGxBcGlTZXJ2aWNlPFF1ZXJ5UmVzdWx0PE1vZGVsPj4sXG4gICAgICAgIFNvcnRzID0ga2V5b2YgTW9kZWwsXG4gICAgICAgIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBrZXlvZiBNb2RlbFxuICAgID4oXG4gICAgICAgIHR5cGU6IENsYXNzVHlwZTxNb2RlbD4sXG4gICAgICAgIHJlcXVlc3RUeXBlOiBDbGFzc1R5cGU8UmVxdWVzdE1vZGVsPixcbiAgICAgICAgc2VydmljZVR5cGU6IFR5cGU8U2VydmljZT4sXG4gICAgICAgIGlkUHJvcGVydHk/OiBrZXlvZiBNb2RlbCxcbiAgICAgICAgdXNlR2V0QWxsRm9yRmV0Y2ggPSBmYWxzZVxuICAgICk6IFRhYmxldmlld0NydWREYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBSZXF1ZXN0TW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzPiB7XG4gICAgICAgIHJldHVybiBUYWJsZXZpZXdDcnVkRGF0YVByb3ZpZGVyLmNyZWF0ZVVuc2FmZTxNb2RlbCwgUmVxdWVzdE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycz4odHlwZSwgcmVxdWVzdFR5cGUsIHNlcnZpY2VUeXBlLCBpZFByb3BlcnR5IGFzIHN0cmluZywgdXNlR2V0QWxsRm9yRmV0Y2gpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgY3JlYXRlVW5zYWZlPFxuICAgICAgICBNb2RlbCxcbiAgICAgICAgUmVxdWVzdE1vZGVsLFxuICAgICAgICBTZXJ2aWNlIGV4dGVuZHMgSUNvbW1vbnNDcnVkQXBpU2VydmljZTxNb2RlbCwgUmVxdWVzdE1vZGVsPiAmIElDb21tb25zR2V0QWxsQXBpU2VydmljZTxRdWVyeVJlc3VsdDxNb2RlbD4+LFxuICAgICAgICBTb3J0cyA9IGtleW9mIE1vZGVsLFxuICAgICAgICBGaWx0ZXJzIGV4dGVuZHMga2V5b2YgYW55ID0ga2V5b2YgTW9kZWxcbiAgICA+KFxuICAgICAgICB0eXBlOiBDbGFzc1R5cGU8TW9kZWw+LFxuICAgICAgICByZXF1ZXN0VHlwZTogQ2xhc3NUeXBlPFJlcXVlc3RNb2RlbD4sXG4gICAgICAgIHNlcnZpY2VUeXBlOiBUeXBlPFNlcnZpY2U+LFxuICAgICAgICBpZFByb3BlcnR5Pzogc3RyaW5nLFxuICAgICAgICB1c2VHZXRBbGxGb3JGZXRjaCA9IGZhbHNlXG4gICAgKTogVGFibGV2aWV3Q3J1ZERhdGFQcm92aWRlckluc3Q8TW9kZWwsIFJlcXVlc3RNb2RlbCwgU2VydmljZSwgU29ydHMsIEZpbHRlcnM+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBUYWJsZXZpZXdDcnVkRGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgUmVxdWVzdE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycz4odHlwZSwgcmVxdWVzdFR5cGUsIHNlcnZpY2VUeXBlLCBpZFByb3BlcnR5LCB1c2VHZXRBbGxGb3JGZXRjaCk7XG4gICAgfVxufVxuIl19