@mediusinc/mng-commons 4.1.0-rc.0 → 5.0.0-rc.0-c31d5206
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.
- package/assets/i18n/en.json +13 -66
- package/assets/i18n/sl.json +12 -67
- package/data-api/README.md +3 -0
- package/data-api/class-dto/README.md +3 -0
- package/data-api/class-dto/helpers/tableview-crud-create.d.ts +40 -0
- package/data-api/class-dto/index.d.ts +7 -0
- package/data-api/class-dto/models/query-result.model.d.ts +13 -0
- package/data-api/class-dto/obsolete/README.md +3 -0
- package/data-api/class-dto/obsolete/helpers/query-param-convert.d.ts +23 -0
- package/data-api/class-dto/obsolete/helpers/tableview-crud-create.d.ts +22 -0
- package/data-api/class-dto/obsolete/index.d.ts +14 -0
- package/data-api/class-dto/obsolete/models/builders/query-param.builder.d.ts +36 -0
- package/{lib/api → data-api/class-dto/obsolete}/models/filter-param.model.d.ts +1 -1
- package/{lib/api → data-api/class-dto/obsolete}/models/query-param.model.d.ts +1 -1
- package/{lib/api → data-api/class-dto/obsolete}/models/query-result.model.d.ts +1 -1
- package/data-api/class-dto/obsolete/provide.d.ts +9 -0
- package/data-api/class-dto/obsolete/services/api.abstract.service.d.ts +36 -0
- package/{lib/api → data-api/class-dto/obsolete}/services/crud-api.abstract.service.d.ts +20 -5
- package/data-api/class-dto/obsolete/services/get-all-api.abstract.service.d.ts +30 -0
- package/data-api/class-dto/obsolete/tableview/tableview-crud.data-provider.d.ts +28 -0
- package/data-api/class-dto/obsolete/utils/query-param-map.util.d.ts +22 -0
- package/{lib/api/utils/object-serializer.util.d.ts → data-api/class-dto/serder/object-serializer.d.ts} +1 -1
- package/{lib/api → data-api/class-dto}/services/api.abstract.service.d.ts +2 -4
- package/data-api/class-dto/services/crud-api.abstract.service.d.ts +25 -0
- package/data-api/class-dto/services/get-all-api.abstract.service.d.ts +14 -0
- package/data-api/class-dto/tableview/tableview-crud.data-provider.d.ts +17 -0
- package/data-api/helpers/get-all-params.d.ts +69 -0
- package/data-api/helpers/tableview-get-all-params-create.d.ts +14 -0
- package/data-api/index.d.ts +5 -0
- package/data-api/models/request-params.model.d.ts +61 -0
- package/data-api/rxjs/map-to-data-list.operator.d.ts +9 -0
- package/data-api/types/extract-get-all-params.type.d.ts +14 -0
- package/esm2022/data-api/class-dto/helpers/tableview-crud-create.mjs +40 -0
- package/esm2022/data-api/class-dto/index.mjs +13 -0
- package/esm2022/data-api/class-dto/mediusinc-mng-commons-data-api-class-dto.mjs +5 -0
- package/esm2022/data-api/class-dto/models/query-result.model.mjs +24 -0
- package/esm2022/data-api/class-dto/obsolete/helpers/query-param-convert.mjs +103 -0
- package/esm2022/data-api/class-dto/obsolete/helpers/tableview-crud-create.mjs +21 -0
- package/esm2022/data-api/class-dto/obsolete/index.mjs +21 -0
- package/esm2022/data-api/class-dto/obsolete/mediusinc-mng-commons-data-api-class-dto-obsolete.mjs +5 -0
- package/esm2022/data-api/class-dto/obsolete/models/builders/query-param.builder.mjs +83 -0
- package/esm2022/data-api/class-dto/obsolete/models/filter-match-type.model.mjs +27 -0
- package/esm2022/data-api/class-dto/obsolete/models/filter-param.model.mjs +33 -0
- package/esm2022/data-api/class-dto/obsolete/models/query-mode.model.mjs +18 -0
- package/esm2022/data-api/class-dto/obsolete/models/query-param.model.mjs +68 -0
- package/esm2022/data-api/class-dto/obsolete/models/query-result.model.mjs +24 -0
- package/esm2022/data-api/class-dto/obsolete/provide.mjs +40 -0
- package/esm2022/data-api/class-dto/obsolete/services/api.abstract.service.mjs +70 -0
- package/esm2022/data-api/class-dto/obsolete/services/crud-api.abstract.service.mjs +83 -0
- package/esm2022/data-api/class-dto/obsolete/services/get-all-api.abstract.service.mjs +38 -0
- package/esm2022/data-api/class-dto/obsolete/tableview/tableview-crud.data-provider.mjs +51 -0
- package/esm2022/data-api/class-dto/obsolete/utils/query-param-map.util.mjs +57 -0
- package/esm2022/data-api/class-dto/serder/object-serializer.mjs +184 -0
- package/esm2022/data-api/class-dto/services/api.abstract.service.mjs +55 -0
- package/esm2022/data-api/class-dto/services/crud-api.abstract.service.mjs +82 -0
- package/esm2022/data-api/class-dto/services/get-all-api.abstract.service.mjs +49 -0
- package/esm2022/data-api/class-dto/tableview/tableview-crud.data-provider.mjs +49 -0
- package/esm2022/data-api/helpers/get-all-params.mjs +180 -0
- package/esm2022/data-api/helpers/tableview-get-all-params-create.mjs +18 -0
- package/esm2022/data-api/index.mjs +10 -0
- package/esm2022/data-api/mediusinc-mng-commons-data-api.mjs +5 -0
- package/esm2022/data-api/models/request-params.model.mjs +2 -0
- package/esm2022/data-api/rxjs/map-to-data-list.operator.mjs +19 -0
- package/esm2022/data-api/types/extract-get-all-params.type.mjs +2 -0
- package/esm2022/index.mjs +3 -6
- package/esm2022/lib/components/action/action.component.mjs +4 -5
- package/esm2022/lib/components/action/editor/injector-context/action-editor-injector-context.component.mjs +2 -2
- package/esm2022/lib/components/action/models/action-execution.model.mjs +5 -4
- package/esm2022/lib/components/action/route/action-route.component.mjs +1 -2
- package/esm2022/lib/components/action/table/action-table.component.mjs +4 -6
- package/esm2022/lib/components/form/autocomplete/autocomplete.component.mjs +29 -17
- package/esm2022/lib/components/form/dropdown/dropdown.component.mjs +3 -7
- package/esm2022/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +20 -18
- package/esm2022/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +2 -2
- package/esm2022/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +23 -12
- package/esm2022/lib/components/table/column-filter-full/column-filter-full.component.mjs +162 -33
- package/esm2022/lib/components/table/column-value/column-value.component.mjs +3 -3
- package/esm2022/lib/components/table/models/table.event.mjs +1 -1
- package/esm2022/lib/components/table/models/table.interface.mjs +1 -1
- package/esm2022/lib/components/table/table-column-filter-class/table-column-filter-class.pipe.mjs +4 -4
- package/esm2022/lib/components/table/table.component.mjs +117 -191
- package/esm2022/lib/components/tableview/actions/tableview-default-actions.mjs +215 -0
- package/esm2022/lib/components/tableview/builders/tableview-builder.mjs +162 -0
- package/esm2022/lib/components/tableview/helpers/tableview-create.mjs +24 -0
- package/esm2022/lib/components/tableview/index.mjs +5 -2
- package/esm2022/lib/components/tableview/models/tableview.model.mjs +2 -0
- package/esm2022/lib/components/tableview/route/tableview-route.component.mjs +7 -39
- package/esm2022/lib/components/tableview/tableview.component.mjs +4 -4
- package/esm2022/lib/data-providers/editor.data-provider.mjs +13 -13
- package/esm2022/lib/data-providers/index.mjs +1 -2
- package/esm2022/lib/data-providers/lookup.data-provider.mjs +1 -1
- package/esm2022/lib/data-providers/table.data-provider.mjs +4 -5
- package/esm2022/lib/data-providers/tableview.data-provider.mjs +1 -1
- package/esm2022/lib/descriptors/action/action-confirmation.descriptor.mjs +1 -1
- package/esm2022/lib/descriptors/action/action-editor.descriptor.mjs +10 -6
- package/esm2022/lib/descriptors/action/action.descriptor.mjs +2 -3
- package/esm2022/lib/descriptors/editor/editor.descriptor.mjs +13 -17
- package/esm2022/lib/descriptors/editor/field-lookup.descriptor.mjs +12 -17
- package/esm2022/lib/descriptors/editor/field.descriptor.mjs +5 -8
- package/esm2022/lib/descriptors/editor/internal/editor-fields.model.mjs +1 -1
- package/esm2022/lib/descriptors/filter/filter-lookup.descriptor.mjs +28 -52
- package/esm2022/lib/descriptors/filter/filter.descriptor.mjs +40 -23
- package/esm2022/lib/descriptors/model/enum.descriptor.mjs +31 -0
- package/esm2022/lib/descriptors/model/index.mjs +3 -1
- package/esm2022/lib/descriptors/model/model.descriptor.mjs +10 -1
- package/esm2022/lib/descriptors/model/type.descriptor.mjs +11 -0
- package/esm2022/lib/descriptors/table/column.descriptor.mjs +12 -107
- package/esm2022/lib/descriptors/table/index.mjs +2 -1
- package/esm2022/lib/descriptors/table/internal/table-columns.model.mjs +1 -1
- package/esm2022/lib/descriptors/table/internal/table.model.mjs +1 -1
- package/esm2022/lib/descriptors/table/sort.descriptor.mjs +45 -0
- package/esm2022/lib/descriptors/table/table.descriptor.mjs +208 -57
- package/esm2022/lib/descriptors/tableview/internal/tableview.model.mjs +1 -1
- package/esm2022/lib/descriptors/tableview/tableview.descriptor.mjs +114 -17
- package/esm2022/lib/descriptors/types/filter.type.mjs +1 -19
- package/esm2022/lib/descriptors/types/table.type.mjs +1 -5
- package/esm2022/lib/error/error.handler.mjs +1 -1
- package/esm2022/lib/helpers/data-provider-executors.mjs +80 -0
- package/esm2022/lib/models/data-list.model.mjs +2 -0
- package/esm2022/lib/models/filter-match.model.mjs +105 -0
- package/esm2022/lib/models/index.mjs +3 -1
- package/esm2022/lib/models/view-container.model.mjs +1 -1
- package/esm2022/lib/pipes/enum.pipe.mjs +6 -6
- package/esm2022/lib/provide.mjs +101 -0
- package/esm2022/lib/registry/type.registry.mjs +3 -10
- package/esm2022/lib/router/models/router.model.mjs +1 -1
- package/esm2022/lib/router/tableview-route-builder.mjs +1 -1
- package/esm2022/lib/services/action/action-executor.service.mjs +54 -32
- package/esm2022/lib/services/commons.service.mjs +1 -37
- package/esm2022/lib/services/data-provider-executor.service.mjs +52 -0
- package/esm2022/lib/services/index.mjs +2 -1
- package/esm2022/lib/services/view/view-container.service.mjs +1 -1
- package/esm2022/lib/types/action-descriptor.types.mjs +1 -1
- package/esm2022/lib/types/type.model.mjs +1 -1
- package/esm2022/lib/utils/data-list-params.util.mjs +416 -0
- package/esm2022/lib/utils/date.util.mjs +8 -2
- package/esm2022/lib/utils/enum.util.mjs +2 -1
- package/esm2022/lib/utils/error.util.mjs +3 -3
- package/esm2022/lib/utils/export.util.mjs +1 -1
- package/esm2022/lib/utils/index.mjs +2 -2
- package/esm2022/lib/utils/route.util.mjs +1 -2
- package/fesm2022/mediusinc-mng-commons-data-api-class-dto-obsolete.mjs +698 -0
- package/fesm2022/mediusinc-mng-commons-data-api-class-dto-obsolete.mjs.map +1 -0
- package/fesm2022/mediusinc-mng-commons-data-api-class-dto.mjs +480 -0
- package/fesm2022/mediusinc-mng-commons-data-api-class-dto.mjs.map +1 -0
- package/fesm2022/mediusinc-mng-commons-data-api.mjs +224 -0
- package/fesm2022/mediusinc-mng-commons-data-api.mjs.map +1 -0
- package/fesm2022/mediusinc-mng-commons.mjs +2634 -2549
- package/fesm2022/mediusinc-mng-commons.mjs.map +1 -1
- package/index.d.ts +2 -4
- package/lib/components/action/action.component.d.ts +13 -13
- package/lib/components/action/models/action-execution.model.d.ts +47 -46
- package/lib/components/action/table/action-table.component.d.ts +15 -16
- package/lib/components/form/autocomplete/autocomplete.component.d.ts +1 -1
- package/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.d.ts +3 -5
- package/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.d.ts +10 -10
- package/lib/components/table/column-filter-full/column-filter-full.component.d.ts +25 -9
- package/lib/components/table/models/table.event.d.ts +2 -2
- package/lib/components/table/models/table.interface.d.ts +4 -1
- package/lib/components/table/table-column-filter-class/table-column-filter-class.pipe.d.ts +2 -2
- package/lib/components/table/table.component.d.ts +19 -18
- package/lib/components/tableview/actions/tableview-default-actions.d.ts +36 -0
- package/lib/components/tableview/builders/tableview-builder.d.ts +115 -0
- package/lib/components/tableview/helpers/tableview-create.d.ts +16 -0
- package/lib/components/tableview/index.d.ts +4 -1
- package/lib/components/tableview/models/tableview.model.d.ts +8 -0
- package/lib/components/tableview/route/tableview-route.component.d.ts +5 -14
- package/lib/components/tableview/tableview.component.d.ts +12 -12
- package/lib/data-providers/editor.data-provider.d.ts +12 -12
- package/lib/data-providers/index.d.ts +0 -1
- package/lib/data-providers/lookup.data-provider.d.ts +2 -2
- package/lib/data-providers/table.data-provider.d.ts +25 -25
- package/lib/data-providers/tableview.data-provider.d.ts +18 -18
- package/lib/descriptors/action/action-confirmation.descriptor.d.ts +1 -1
- package/lib/descriptors/action/action-editor.descriptor.d.ts +20 -17
- package/lib/descriptors/editor/editor.descriptor.d.ts +8 -12
- package/lib/descriptors/editor/field-base.descriptor.d.ts +3 -3
- package/lib/descriptors/editor/field-lookup.descriptor.d.ts +11 -11
- package/lib/descriptors/editor/field-many.descriptor.d.ts +4 -4
- package/lib/descriptors/editor/field.descriptor.d.ts +2 -2
- package/lib/descriptors/editor/internal/editor-fields.model.d.ts +6 -5
- package/lib/descriptors/filter/filter-lookup.descriptor.d.ts +15 -14
- package/lib/descriptors/filter/filter.descriptor.d.ts +17 -18
- package/lib/descriptors/model/enum.descriptor.d.ts +14 -0
- package/lib/descriptors/model/index.d.ts +2 -0
- package/lib/descriptors/model/model.descriptor.d.ts +9 -0
- package/lib/descriptors/model/type.descriptor.d.ts +5 -0
- package/lib/descriptors/table/column.descriptor.d.ts +10 -24
- package/lib/descriptors/table/index.d.ts +1 -0
- package/lib/descriptors/table/internal/table-columns.model.d.ts +36 -5
- package/lib/descriptors/table/internal/table.model.d.ts +5 -2
- package/lib/descriptors/table/sort.descriptor.d.ts +17 -0
- package/lib/descriptors/table/table.descriptor.d.ts +57 -33
- package/lib/descriptors/tableview/internal/tableview.model.d.ts +3 -3
- package/lib/descriptors/tableview/tableview.descriptor.d.ts +49 -19
- package/lib/descriptors/types/filter.type.d.ts +0 -17
- package/lib/descriptors/types/table.type.d.ts +0 -3
- package/lib/error/error.handler.d.ts +1 -1
- package/lib/helpers/data-provider-executors.d.ts +19 -0
- package/lib/models/data-list.model.d.ts +27 -0
- package/lib/models/filter-match.model.d.ts +36 -0
- package/lib/models/index.d.ts +2 -0
- package/lib/models/view-container.model.d.ts +2 -2
- package/lib/pipes/enum.pipe.d.ts +2 -2
- package/lib/provide.d.ts +10 -0
- package/lib/router/models/router.model.d.ts +1 -1
- package/lib/router/tableview-route-builder.d.ts +1 -2
- package/lib/services/action/action-executor.service.d.ts +18 -16
- package/lib/services/data-provider-executor.service.d.ts +60 -0
- package/lib/services/index.d.ts +1 -0
- package/lib/services/view/view-container.service.d.ts +11 -11
- package/lib/types/action-descriptor.types.d.ts +2 -2
- package/lib/types/type.model.d.ts +1 -3
- package/lib/utils/data-list-params.util.d.ts +84 -0
- package/lib/utils/date.util.d.ts +3 -1
- package/lib/utils/enum.util.d.ts +4 -3
- package/lib/utils/export.util.d.ts +1 -1
- package/lib/utils/index.d.ts +1 -1
- package/openapi/angular/modelEnum.mustache +0 -3
- package/package.json +20 -2
- package/esm2022/lib/api/models/builders/query-param.builder.mjs +0 -59
- package/esm2022/lib/api/models/filter-match-type.model.mjs +0 -27
- package/esm2022/lib/api/models/filter-param.model.mjs +0 -33
- package/esm2022/lib/api/models/index.mjs +0 -7
- package/esm2022/lib/api/models/query-mode.model.mjs +0 -18
- package/esm2022/lib/api/models/query-param.model.mjs +0 -68
- package/esm2022/lib/api/models/query-result.model.mjs +0 -35
- package/esm2022/lib/api/services/api.abstract.service.mjs +0 -58
- package/esm2022/lib/api/services/crud-api.abstract.service.mjs +0 -75
- package/esm2022/lib/api/services/get-all-api.abstract.service.mjs +0 -30
- package/esm2022/lib/api/services/index.mjs +0 -4
- package/esm2022/lib/api/utils/index.mjs +0 -3
- package/esm2022/lib/api/utils/medius-rest.util.mjs +0 -293
- package/esm2022/lib/api/utils/object-serializer.util.mjs +0 -185
- package/esm2022/lib/components/tableview/route/tableview-route.abstract.component.mjs +0 -158
- package/esm2022/lib/data-providers/tableview-crud.data-provider.mjs +0 -32
- package/esm2022/lib/provide-commons.mjs +0 -88
- package/esm2022/lib/utils/action-data-provider.util.mjs +0 -171
- package/lib/api/models/builders/query-param.builder.d.ts +0 -13
- package/lib/api/models/index.d.ts +0 -6
- package/lib/api/services/get-all-api.abstract.service.d.ts +0 -14
- package/lib/api/services/index.d.ts +0 -3
- package/lib/api/utils/index.d.ts +0 -2
- package/lib/api/utils/medius-rest.util.d.ts +0 -32
- package/lib/components/tableview/route/tableview-route.abstract.component.d.ts +0 -35
- package/lib/data-providers/tableview-crud.data-provider.d.ts +0 -12
- package/lib/provide-commons.d.ts +0 -3
- package/lib/utils/action-data-provider.util.d.ts +0 -35
- package/templates/tableview-route.component.html +0 -5
- /package/{lib/api → data-api/class-dto/obsolete}/models/filter-match-type.model.d.ts +0 -0
- /package/{lib/api → data-api/class-dto/obsolete}/models/query-mode.model.d.ts +0 -0
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { DateUtil, DecoratorMetadataUtil, TypeRegistry } from '@mediusinc/mng-commons';
|
|
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, DecoratorMetadataUtil.findTypeName(type) ?? undefined);
|
|
74
|
+
}
|
|
75
|
+
serializeClassArray(data, type) {
|
|
76
|
+
return this.serialize(data, `Array<${DecoratorMetadataUtil.findTypeName(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 DateUtil.toIsoString(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, DecoratorMetadataUtil.findTypeName(type) ?? undefined);
|
|
134
|
+
}
|
|
135
|
+
deserializeClassArray(data, type) {
|
|
136
|
+
return this.deserialize(data, `Array<${DecoratorMetadataUtil.findTypeName(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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXNlcmlhbGl6ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9kYXRhLWFwaS9jbGFzcy1kdG8vc3JjL3NlcmRlci9vYmplY3Qtc2VyaWFsaXplci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQStCLFFBQVEsRUFBRSxxQkFBcUIsRUFBRSxZQUFZLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUVuSCxNQUFNLE9BQU8sZ0JBQWdCO0lBQTdCO1FBRXFCLGlCQUFZLEdBQUcsa0JBQWtCLENBQUM7UUFDbEMsZ0JBQVcsR0FBYSxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUU5RyxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUN0Qix5QkFBb0IsR0FBRyxJQUFJLENBQUM7UUFDNUIsdUJBQWtCLEdBQUcsSUFBSSxDQUFDO0lBaUx0QyxDQUFDO2FBdkxrQixjQUFTLEdBQXFCLElBQUksZ0JBQWdCLEVBQUUsQUFBM0MsQ0FBNEM7SUFRcEUsSUFBVyxVQUFVO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsR0FBRztRQUNiLE9BQU8sZ0JBQWdCLENBQUMsU0FBUyxDQUFDO0lBQ3RDLENBQUM7SUFFTSxTQUFTLENBQUMsTUFBK0Y7UUFDNUcsSUFBSSxNQUFNLENBQUMsYUFBYSxLQUFLLFNBQVMsRUFBRTtZQUNwQyxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUM7U0FDN0M7UUFDRCxJQUFJLE1BQU0sQ0FBQyxvQkFBb0IsS0FBSyxTQUFTLEVBQUU7WUFDM0MsSUFBSSxDQUFDLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQztTQUMzRDtRQUNELElBQUksTUFBTSxDQUFDLGtC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QUN6QjthQUFNO1lBQ0gsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQ2hFLElBQUksUUFBUSxFQUFFO2dCQUNWLFVBQVU7Z0JBQ1YsT0FBTyxJQUFJLENBQUM7YUFDZjtZQUVELE1BQU0sYUFBYSxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUNyRSxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUNoQixxQkFBcUI7Z0JBQ3JCLE9BQU8sSUFBSSxDQUFDO2FBQ2Y7WUFDRCxNQUFNLFFBQVEsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ3JDLE1BQU0sY0FBYyxHQUFHLGFBQWEsQ0FBQyxtQkFBbUIsRUFBOEIsQ0FBQztZQUN2Rix5Q0FBeUM7WUFDekMsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLGNBQWMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQ3hELE1BQU0sYUFBYSxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDNUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ3JHO1lBQ0QsT0FBTyxRQUFRLENBQUM7U0FDbkI7SUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDbGFzc0F0dHJpYnV0ZURlZiwgQ2xhc3NUeXBlLCBEYXRlVXRpbCwgRGVjb3JhdG9yTWV0YWRhdGFVdGlsLCBUeXBlUmVnaXN0cnl9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMnO1xuXG5leHBvcnQgY2xhc3MgT2JqZWN0U2VyaWFsaXplciB7XG4gICAgcHJpdmF0ZSBzdGF0aWMgX2luc3RhbmNlOiBPYmplY3RTZXJpYWxpemVyID0gbmV3IE9iamVjdFNlcmlhbGl6ZXIoKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9sb2dDYXRlZ29yeSA9ICdPYmplY3RTZXJpYWxpemVyJztcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9wcmltaXRpdmVzOiBzdHJpbmdbXSA9IFsnc3RyaW5nJywgJ2Jvb2xlYW4nLCAnZG91YmxlJywgJ2ludGVnZXInLCAnbG9uZycsICdmbG9hdCcsICdudW1iZXInLCAnYW55J107XG5cbiAgICBwcml2YXRlIGRhdGVUaW1lSW5VdGMgPSBmYWxzZTtcbiAgICBwcml2YXRlIGRhdGVUaW1lV2l0aFRpbWV6b25lID0gdHJ1ZTtcbiAgICBwcml2YXRlIGRhdGVUaW1lV2l0aE1pbGxpcyA9IHRydWU7XG5cbiAgICBwdWJsaWMgZ2V0IHByaW1pdGl2ZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wcmltaXRpdmVzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9ubHkgdXNlIG9uZSBpbnN0YW5jZSBvZiBvYmplY3QgKG91dCBvZiBBbmd1bGFyIGNvbnRleHQpXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZXQoKTogT2JqZWN0U2VyaWFsaXplciB7XG4gICAgICAgIHJldHVybiBPYmplY3RTZXJpYWxpemVyLl9pbnN0YW5jZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY29uZmlndXJlKGNvbmZpZzoge2RhdGVUaW1lSW5VdGM/OiBib29sZWFuOyBkYXRlVGltZVdpdGhUaW1lem9uZT86IGJvb2xlYW47IGRhdGVUaW1lV2l0aE1pbGxpcz86IGJvb2xlYW59KTogdm9pZCB7XG4gICAgICAgIGlmIChjb25maWcuZGF0ZVRpbWVJblV0YyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGVUaW1lSW5VdGMgPSBjb25maWcuZGF0ZVRpbWVJblV0YztcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29uZmlnLmRhdGVUaW1lV2l0aFRpbWV6b25lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0ZVRpbWVXaXRoVGltZXpvbmUgPSBjb25maWcuZGF0ZVRpbWVXaXRoVGltZXpvbmU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvbmZpZy5kYXRlVGltZVdpdGhNaWxsaXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5kYXRlVGltZVdpdGhNaWxsaXMgPSBjb25maWcuZGF0ZVRpbWVXaXRoTWlsbGlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGZpbmRDb3JyZWN0VHlwZShkYXRhOiBhbnksIGV4cGVjdGVkVHlwZU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGlmIChkYXRhID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIGV4cGVjdGVkVHlwZU5hbWU7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5fcHJpbWl0aXZlcy5pbmRleE9mKGV4cGVjdGVkVHlwZU5hbWUudG9Mb3dlckNhc2UoKSkgIT09IC0xKSB7XG4gICAgICAgICAgICByZXR1cm4gZXhwZWN0ZWRUeXBlTmFtZTtcbiAgICAgICAgfSBlbHNlIGlmIChleHBlY3RlZFR5cGVOYW1lID09PSAnRGF0ZScpIHtcbiAgICAgICAgICAgIHJldHVybiBleHBlY3RlZFR5cGVOYW1lO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZW51bVR5cGUgPSBUeXBlUmVnaXN0cnkuZ2V0KCkuZmluZEVudW0oZXhwZWN0ZWRUeXBlTmFtZSk7XG4gICAgICAgICAgICBpZiAoZW51bVR5cGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZXhwZWN0ZWRUeXBlTmFtZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgdHlwZSA9IFR5cGVSZWdpc3RyeS5nZXQoKS5maW5kVHlwZShleHBlY3RlZFR5cGVOYW1lKTtcbiAgICAgICAgICAgIGlmICghdHlwZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBleHBlY3RlZFR5cGVOYW1lOyAvLyB3L2Ugd2UgZG9uJ3Qga25vdyB0aGUgdHlwZVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBDaGVjayB0aGUgZGlzY3JpbWluYXRvclxuICAgICAgICAgICAgY29uc3QgZGlzY3JpbWluYXRvclByb3BlcnR5ID0gdHlwZS5kaXNjcmltaW5hdG9yO1xuICAgICAgICAgICAgaWYgKGRpc2NyaW1pbmF0b3JQcm9wZXJ0eSA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGV4cGVjdGVkVHlwZU5hbWU7IC8vIHRoZSB0eXBlIGRvZXMgbm90IGhhdmUgYSBkaXNjcmltaW5hdG9yLiB1c2UgaXQuXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChkYXRhW2Rpc2NyaW1pbmF0b3JQcm9wZXJ0eV0pIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGlzY3JpbWluYXRvclR5cGUgPSBkYXRhW2Rpc2NyaW1pbmF0b3JQcm9wZXJ0eV07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHR5cGUgPSBUeXBlUmVnaXN0cnkuZ2V0KCkuZmluZFR5cGUoZXhwZWN0ZWRUeXBlTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGlzY3JpbWluYXRvclR5cGU7IC8vIHVzZSB0aGUgdHlwZSBnaXZlbiBpbiB0aGUgZGlzY3JpbWluYXRvclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGV4cGVjdGVkVHlwZU5hbWU7IC8vIGRpc2NyaW1pbmF0b3IgZGlkIG5vdCBtYXAgdG8gYSB0eXBlXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXhwZWN0ZWRUeXBlTmFtZTsgLy8gZGlzY3JpbWluYXRvciB3YXMgbm90IHByZXNlbnQgKG9yIGFuIGVtcHR5IHN0cmluZylcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc2VyaWFsaXplQ2xhc3M8VD4oZGF0YTogVCwgdHlwZTogQ2xhc3NUeXBlPFQ+KSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcmlhbGl6ZShkYXRhLCBEZWNvcmF0b3JNZXRhZGF0YVV0aWwuZmluZFR5cGVOYW1lKHR5cGUpID8/IHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNlcmlhbGl6ZUNsYXNzQXJyYXk8VD4oZGF0YTogQXJyYXk8VD4sIHR5cGU6IENsYXNzVHlwZTxUPikge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJpYWxpemUoZGF0YSwgYEFycmF5PCR7RGVjb3JhdG9yTWV0YWRhdGFVdGlsLmZpbmRUeXBlTmFtZSh0eXBlKX0+YCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNlcmlhbGl6ZShkYXRhOiBhbnksIHR5cGVOYW1lPzogc3RyaW5nLCBzdWJ0eXBlPzogc3RyaW5nKSB7XG4gICAgICAgIGlmIChkYXRhID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZU5hbWUgJiYgdGhpcy5fcHJpbWl0aXZlcy5pbmRleE9mKHR5cGVOYW1lLnRvTG93ZXJDYXNlKCkpICE9PSAtMSkge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZU5hbWUgJiYgdHlwZU5hbWUubGFzdEluZGV4T2YoJ0FycmF5PCcsIDApID09PSAwKSB7XG4gICAgICAgICAgICAvLyBzdHJpbmcuc3RhcnRzV2l0aCBwcmUgZXM2XG4gICAgICAgICAgICBsZXQgc3ViVHlwZTogc3RyaW5nID0gdHlwZU5hbWUucmVwbGFjZSgnQXJyYXk8JywgJycpOyAvLyBBcnJheTxUeXBlPiA9PiBUeXBlPlxuICAgICAgICAgICAgc3ViVHlwZSA9IHN1YlR5cGUuc3Vic3RyaW5nKDAsIHN1YlR5cGUubGVuZ3RoIC0gMSk7IC8vIFR5cGU+ID0+IFR5cGVcbiAgICAgICAgICAgIGNvbnN0IHRyYW5zZm9ybWVkRGF0YTogYW55W10gPSBbXTtcbiAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpwcmVmZXItZm9yLW9mXG4gICAgICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgZGF0YS5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCBkYXR1bSA9IGRhdGFbaW5kZXhdO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybWVkRGF0YS5wdXNoKHRoaXMuc2VyaWFsaXplKGRhdHVtLCBzdWJUeXBlKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdHJhbnNmb3JtZWREYXRhO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVOYW1lID09PSAnRGF0ZScpIHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGVPbmx5ID0gc3VidHlwZT8udG9Mb3dlckNhc2UoKSA9PT0gJ2RhdGUnO1xuICAgICAgICAgICAgcmV0dXJuIERhdGVVdGlsLnRvSXNvU3RyaW5nKGRhdGEsIGRhdGVPbmx5ID8gJ2RhdGUnIDogJ2RhdGUtdGltZScsIHtcbiAgICAgICAgICAgICAgICB1dGM6IHRoaXMuZGF0ZVRpbWVJblV0YyxcbiAgICAgICAgICAgICAgICBub1RpbWV6b25lOiAhdGhpcy5kYXRlVGltZVdpdGhUaW1lem9uZSxcbiAgICAgICAgICAgICAgICBub01pbGxpczogIXRoaXMuZGF0ZVRpbWVXaXRoTWlsbGlzXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlTmFtZSkge1xuICAgICAgICAgICAgY29uc3QgZW51bVR5cGUgPSBUeXBlUmVnaXN0cnkuZ2V0KCkuZmluZEVudW0odHlwZU5hbWUpO1xuICAgICAgICAgICAgaWYgKGVudW1UeXBlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHR5cGUgPSBUeXBlUmVnaXN0cnkuZ2V0KCkuZmluZFR5cGUodHlwZU5hbWUpO1xuICAgICAgICAgICAgaWYgKCF0eXBlKSB7XG4gICAgICAgICAgICAgICAgLy8gaW4gY2FzZSB3ZSBkb250IGtub3cgdGhlIHR5cGVcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gR2V0IHRoZSBhY3R1YWwgdHlwZSBvZiB0aGlzIG9iamVjdFxuICAgICAgICAgICAgY29uc3QgY29ycmVjdGVkVHlwZU5hbWUgPSB0aGlzLmZpbmRDb3JyZWN0VHlwZShkYXRhLCB0eXBlTmFtZSk7XG4gICAgICAgICAgICBjb25zdCBjb3JyZWN0ZWRUeXBlID0gVHlwZVJlZ2lzdHJ5LmdldCgpLmZpbmRUeXBlKGNvcnJlY3RlZFR5cGVOYW1lKTtcblxuICAgICAgICAgICAgLy8gZ2V0IHRoZSBtYXAgZm9yIHRoZSBjb3JyZWN0IHR5cGUuXG4gICAgICAgICAgICBjb25zdCBhdHRyaWJ1dGVUeXBlcyA9IGNvcnJlY3RlZFR5cGUuZ2V0QXR0cmlidXRlVHlwZU1hcCgpIGFzIEFycmF5PENsYXNzQXR0cmlidXRlRGVmPjtcbiAgICAgICAgICAgIGNvbnN0IGluc3RhbmNlOiB7W2luZGV4OiBzdHJpbmddOiBhbnl9ID0ge307XG4gICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6cHJlZmVyLWZvci1vZlxuICAgICAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGF0dHJpYnV0ZVR5cGVzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGF0dHJpYnV0ZVR5cGUgPSBhdHRyaWJ1dGVUeXBlc1tpbmRleF07XG4gICAgICAgICAgICAgICAgaW5zdGFuY2VbYXR0cmlidXRlVHlwZS5iYXNlTmFtZV0gPSB0aGlzLnNlcmlhbGl6ZShkYXRhW2F0dHJpYnV0ZVR5cGUubmFtZV0sIGF0dHJpYnV0ZVR5cGUudHlwZSwgYXR0cmlidXRlVHlwZS5zdWJ0eXBlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBpbnN0YW5jZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGRlc2VyaWFsaXplQ2xhc3M8VD4oZGF0YTogYW55LCB0eXBlOiBDbGFzc1R5cGU8VD4pOiBUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGVzZXJpYWxpemUoZGF0YSwgRGVjb3JhdG9yTWV0YWRhdGFVdGlsLmZpbmRUeXBlTmFtZSh0eXBlKSA/PyB1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBkZXNlcmlhbGl6ZUNsYXNzQXJyYXk8VD4oZGF0YTogYW55LCB0eXBlOiBDbGFzc1R5cGU8VD4pOiBBcnJheTxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRlc2VyaWFsaXplKGRhdGEsIGBBcnJheTwke0RlY29yYXRvck1ldGFkYXRhVXRpbC5maW5kVHlwZU5hbWUodHlwZSl9PmApO1xuICAgIH1cblxuICAgIHB1YmxpYyBkZXNlcmlhbGl6ZShkYXRhOiBhbnksIHR5cGU/OiBzdHJpbmcpIHtcbiAgICAgICAgLy8gcG9seW1vcnBoaXNtIG1heSBjaGFuZ2UgdGhlIGFjdHVhbCB0eXBlLlxuICAgICAgICBpZiAoZGF0YSA9PSB1bmRlZmluZWQgfHwgIXR5cGUpIHtcbiAgICAgICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY29ycmVjdGVkVHlwZU5hbWUgPSB0aGlzLmZpbmRDb3JyZWN0VHlwZShkYXRhLCB0eXBlKTtcblxuICAgICAgICBpZiAodGhpcy5fcHJpbWl0aXZlcy5pbmRleE9mKGNvcnJlY3RlZFR5cGVOYW1lLnRvTG93ZXJDYXNlKCkpICE9PSAtMSkge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgIH0gZWxzZSBpZiAoY29ycmVjdGVkVHlwZU5hbWUubGFzdEluZGV4T2YoJ0FycmF5PCcsIDApID09PSAwKSB7XG4gICAgICAgICAgICAvLyBzdHJpbmcuc3RhcnRzV2l0aCBwcmUgZXM2XG4gICAgICAgICAgICBsZXQgc3ViVHlwZTogc3RyaW5nID0gY29ycmVjdGVkVHlwZU5hbWUucmVwbGFjZSgnQXJyYXk8JywgJycpOyAvLyBBcnJheTxUeXBlPiA9PiBUeXBlPlxuICAgICAgICAgICAgc3ViVHlwZSA9IHN1YlR5cGUuc3Vic3RyaW5nKDAsIHN1YlR5cGUubGVuZ3RoIC0gMSk7IC8vIFR5cGU+ID0+IFR5cGVcbiAgICAgICAgICAgIGNvbnN0IHRyYW5zZm9ybWVkRGF0YTogYW55W10gPSBbXTtcbiAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpwcmVmZXItZm9yLW9mXG4gICAgICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgZGF0YS5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCBkYXR1bSA9IGRhdGFbaW5kZXhdO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybWVkRGF0YS5wdXNoKHRoaXMuZGVzZXJpYWxpemUoZGF0dW0sIHN1YlR5cGUpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0cmFuc2Zvcm1lZERhdGE7XG4gICAgICAgIH0gZWxzZSBpZiAoY29ycmVjdGVkVHlwZU5hbWUgPT09ICdEYXRlJykge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBEYXRlKGRhdGEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZW51bVR5cGUgPSBUeXBlUmVnaXN0cnkuZ2V0KCkuZmluZEVudW0oY29ycmVjdGVkVHlwZU5hbWUpO1xuICAgICAgICAgICAgaWYgKGVudW1UeXBlKSB7XG4gICAgICAgICAgICAgICAgLy8gaXMgRW51bVxuICAgICAgICAgICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBjb3JyZWN0ZWRUeXBlID0gVHlwZVJlZ2lzdHJ5LmdldCgpLmZpbmRUeXBlKGNvcnJlY3RlZFR5cGVOYW1lKTtcbiAgICAgICAgICAgIGlmICghY29ycmVjdGVkVHlwZSkge1xuICAgICAgICAgICAgICAgIC8vIGRvbnQga25vdyB0aGUgdHlwZVxuICAgICAgICAgICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgaW5zdGFuY2UgPSBuZXcgY29ycmVjdGVkVHlwZSgpO1xuICAgICAgICAgICAgY29uc3QgYXR0cmlidXRlVHlwZXMgPSBjb3JyZWN0ZWRUeXBlLmdldEF0dHJpYnV0ZVR5cGVNYXAoKSBhcyBBcnJheTxDbGFzc0F0dHJpYnV0ZURlZj47XG4gICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6cHJlZmVyLWZvci1vZlxuICAgICAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGF0dHJpYnV0ZVR5cGVzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGF0dHJpYnV0ZVR5cGUgPSBhdHRyaWJ1dGVUeXBlc1tpbmRleF07XG4gICAgICAgICAgICAgICAgaW5zdGFuY2VbYXR0cmlidXRlVHlwZS5uYW1lXSA9IHRoaXMuZGVzZXJpYWxpemUoZGF0YVthdHRyaWJ1dGVUeXBlLmJhc2VOYW1lXSwgYXR0cmlidXRlVHlwZS50eXBlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBpbnN0YW5jZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { HttpClient } from '@angular/common/http';
|
|
2
|
+
import { inject } from '@angular/core';
|
|
3
|
+
import { ObjectSerializer } from '../serder/object-serializer';
|
|
4
|
+
export class AMngBaseApiService {
|
|
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 AMngApiService extends AMngBaseApiService {
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmFic3RyYWN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9kYXRhLWFwaS9jbGFzcy1kdG8vc3JjL3NlcnZpY2VzL2FwaS5hYnN0cmFjdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBSXJDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBRTdELE1BQU0sT0FBZ0Isa0JBQWtCO0lBSXBDO1FBSG1CLHFCQUFnQixHQUFxQixnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUkzRSxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBTVMsTUFBTSxDQUFDLEdBQUcsWUFBMkI7UUFDM0MsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2pDLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN2QixPQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztTQUN0RDtRQUNELE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ2xELElBQUksSUFBSSxHQUFHLENBQUMsZUFBZSxFQUFFLEdBQUcsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkYsMEJBQTBCO1FBQzFCLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN0QixJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM1QjtRQUNELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNwQixJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztTQUM3QztRQUNELHVFQUF1RTtRQUN2RSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDL0IsT0FBTyxHQUFHLE9BQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRVMsc0JBQXNCLENBQUssSUFBUyxFQUFFLE1BQXFCO1FBQ2pFLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRVMsZ0JBQWdCLENBQUksSUFBUyxFQUFFLElBQWtCO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRVMscUJBQXFCLENBQUksSUFBUyxFQUFFLElBQWtCO1FBQzVELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRVMsY0FBYyxDQUFJLElBQU8sRUFBRSxJQUFrQjtRQUNuRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFUyxtQkFBbUIsQ0FBSSxJQUFjLEVBQUUsSUFBa0I7UUFDL0QsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2pFLENBQUM7Q0FDSjtBQUVELE1BQU0sT0FBZ0IsY0FBa0IsU0FBUSxrQkFBa0I7SUFDOUQsWUFBZ0MsSUFBa0I7UUFDOUMsS0FBSyxFQUFFLENBQUM7UUFEb0IsU0FBSSxHQUFKLElBQUksQ0FBYztJQUVsRCxDQUFDO0lBRVMsV0FBVyxDQUFDLElBQVM7UUFDM0IsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRVMsU0FBUyxDQUFDLElBQU87UUFDdkIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtIdHRwQ2xpZW50fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge2luamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7Q2xhc3NUeXBlfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zJztcblxuaW1wb3J0IHtPYmplY3RTZXJpYWxpemVyfSBmcm9tICcuLi9zZXJkZXIvb2JqZWN0LXNlcmlhbGl6ZXInO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQU1uZ0Jhc2VBcGlTZXJ2aWNlIHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb2JqZWN0U2VyaWFsaXplcjogT2JqZWN0U2VyaWFsaXplciA9IE9iamVjdFNlcmlhbGl6ZXIuZ2V0KCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQ7XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0QmFzZVBhdGgoKTogc3RyaW5nO1xuXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldFNlcnZpY2VCYXNlUGF0aCgpOiBzdHJpbmcgfCBudWxsO1xuXG4gICAgcHJvdGVjdGVkIGdldFVybCguLi5wYXRoU2VnbWVudHM6IEFycmF5PHN0cmluZz4pOiBzdHJpbmcge1xuICAgICAgICBsZXQgYmFzZVVybCA9IHRoaXMuZ2V0QmFzZVBhdGgoKTtcbiAgICAgICAgaWYgKGJhc2VVcmwuZW5kc1dpdGgoJy8nKSkge1xuICAgICAgICAgICAgYmFzZVVybCA9IGJhc2VVcmwuc3Vic3RyaW5nKDAsIGJhc2VVcmwubGVuZ3RoIC0gMSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2VydmljZUJhc2VQYXRoID0gdGhpcy5nZXRTZXJ2aWNlQmFzZVBhdGgoKTtcbiAgICAgICAgbGV0IHBhdGggPSBbc2VydmljZUJhc2VQYXRoLCAuLi5wYXRoU2VnbWVudHNdLmZpbHRlcihzID0+IHMgJiYgcy5sZW5ndGgpLmpvaW4oJy8nKTtcbiAgICAgICAgLy8gb21pdCBmaXJzdCBhbmQgbGFzdCAnLydcbiAgICAgICAgaWYgKHBhdGguc3RhcnRzV2l0aCgnLycpKSB7XG4gICAgICAgICAgICBwYXRoID0gcGF0aC5zdWJzdHJpbmcoMSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBhdGguZW5kc1dpdGgoJy8nKSkge1xuICAgICAgICAgICAgcGF0aCA9IHBhdGguc3Vic3RyaW5nKDAsIHBhdGgubGVuZ3RoIC0gMSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gcmVwbGFjZSBhbnkgZG91YmxlICcvLycgZnJvbSBwYXRoIHRoYXQgY291bGQgY29tZSBmcm9tIGpvaW5pbmcgcGF0aHNcbiAgICAgICAgcGF0aCA9IHBhdGgucmVwbGFjZSgnLy8nLCAnLycpO1xuICAgICAgICByZXR1cm4gYCR7YmFzZVVybH0vJHtwYXRofWA7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGRlc2VyaWFsaXplUXVlcnlSZXN1bHQ8UVI+KGl0ZW06IGFueSwgcXJUeXBlOiBDbGFzc1R5cGU8UVI+KTogUVIge1xuICAgICAgICByZXR1cm4gdGhpcy5kZXNlcmlhbGl6ZUNsYXNzKGl0ZW0sIHFyVHlwZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGRlc2VyaWFsaXplQ2xhc3M8Qz4oaXRlbTogYW55LCB0eXBlOiBDbGFzc1R5cGU8Qz4pOiBDIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub2JqZWN0U2VyaWFsaXplci5kZXNlcmlhbGl6ZUNsYXNzKGl0ZW0sIHR5cGUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBkZXNlcmlhbGl6ZUNsYXNzQXJyYXk8Qz4oaXRlbTogYW55LCB0eXBlOiBDbGFzc1R5cGU8Qz4pOiBBcnJheTxDPiB7XG4gICAgICAgIHJldHVybiB0aGlzLm9iamVjdFNlcmlhbGl6ZXIuZGVzZXJpYWxpemVDbGFzc0FycmF5KGl0ZW0sIHR5cGUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzZXJpYWxpemVDbGFzczxDPihpdGVtOiBDLCB0eXBlOiBDbGFzc1R5cGU8Qz4pOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy5vYmplY3RTZXJpYWxpemVyLnNlcmlhbGl6ZUNsYXNzKGl0ZW0sIHR5cGUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzZXJpYWxpemVDbGFzc0FycmF5PEM+KGl0ZW06IEFycmF5PEM+LCB0eXBlOiBDbGFzc1R5cGU8Qz4pOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy5vYmplY3RTZXJpYWxpemVyLnNlcmlhbGl6ZUNsYXNzQXJyYXkoaXRlbSwgdHlwZSk7XG4gICAgfVxufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQU1uZ0FwaVNlcnZpY2U8VD4gZXh0ZW5kcyBBTW5nQmFzZUFwaVNlcnZpY2Uge1xuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgdHlwZTogQ2xhc3NUeXBlPFQ+KSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGRlc2VyaWFsaXplKGl0ZW06IGFueSk6IFQge1xuICAgICAgICByZXR1cm4gdGhpcy5kZXNlcmlhbGl6ZUNsYXNzKGl0ZW0sIHRoaXMudHlwZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNlcmlhbGl6ZShpdGVtOiBUKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VyaWFsaXplQ2xhc3MoaXRlbSwgdGhpcy50eXBlKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { HttpParams } from '@angular/common/http';
|
|
2
|
+
import { map } from 'rxjs/operators';
|
|
3
|
+
import { AMngGetAllApiService } from './get-all-api.abstract.service';
|
|
4
|
+
export class AMngCrudApiService extends AMngGetAllApiService {
|
|
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) : null)));
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1ZC1hcGkuYWJzdHJhY3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2RhdGEtYXBpL2NsYXNzLWR0by9zcmMvc2VydmljZXMvY3J1ZC1hcGkuYWJzdHJhY3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFHaEQsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBS25DLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBWXBFLE1BQU0sT0FBZ0Isa0JBQ2xCLFNBQVEsb0JBQWdEO0lBR3hELFlBQ0ksU0FBK0IsRUFDckIsV0FBbUMsRUFDN0MsZUFBMkM7UUFFM0MsS0FBSyxDQUFDLFNBQVMsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUh4QixnQkFBVyxHQUFYLFdBQVcsQ0FBd0I7SUFJakQsQ0FBQztJQUVNLFVBQVUsQ0FBQyxJQUFpQixFQUFFLE1BQW1CO1FBQ3BELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdEQsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNYLElBQUksQ0FBVSxHQUFHLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzdDLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLE9BQU8sRUFBRSxNQUFNO1lBQ2YsY0FBYyxFQUFFLEtBQUs7WUFDckIsTUFBTSxFQUFFLE1BQU07U0FDakIsQ0FBQzthQUNELElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRU0sVUFBVSxDQUFDLEVBQVUsRUFBRSxNQUFtQixFQUFF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LElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFUyxnQkFBZ0IsQ0FBQyxJQUFpQjtRQUN4QyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN2RCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0h0dHBQYXJhbXN9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7Q2xhc3NUeXBlLCBJZFR5cGV9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMnO1xuXG5pbXBvcnQge1F1ZXJ5UmVzdWx0fSBmcm9tICcuLi9tb2RlbHMvcXVlcnktcmVzdWx0Lm1vZGVsJztcbmltcG9ydCB7QU1uZ0dldEFsbEFwaVNlcnZpY2V9IGZyb20gJy4vZ2V0LWFsbC1hcGkuYWJzdHJhY3Quc2VydmljZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU1uZ0NydWRBcGlTZXJ2aWNlPEZldGNoVHlwZSwgUmVxdWVzdFR5cGU+IHtcbiAgICBjcmVhdGVQb3N0PyhpdGVtOiBSZXF1ZXN0VHlwZSwgcGFyYW1zPzogSHR0cFBhcmFtcyk6IE9ic2VydmFibGU8RmV0Y2hUeXBlPjtcblxuICAgIGdldEJ5SWRHZXQ/KGlkOiBJZFR5cGUsIHBhcmFtcz86IEh0dHBQYXJhbXMsIGxvY2FsZT86IHN0cmluZyk6IE9ic2VydmFibGU8RmV0Y2hUeXBlPjtcblxuICAgIHVwZGF0ZVB1dD8oaWQ6IElkVHlwZSwgaXRlbTogUmVxdWVzdFR5cGUsIHBhcmFtcz86IEh0dHBQYXJhbXMpOiBPYnNlcnZhYmxlPEZldGNoVHlwZT47XG5cbiAgICByZW1vdmVEZWxldGU/KGlkOiBJZFR5cGUsIGl0ZW0/OiBGZXRjaFR5cGUsIHBhcmFtcz86IEh0dHBQYXJhbXMpOiBPYnNlcnZhYmxlPEZldGNoVHlwZSB8IG51bGw+O1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQU1uZ0NydWRBcGlTZXJ2aWNlPEZldGNoVHlwZSwgUmVxdWVzdFR5cGUsIFF1ZXJ5UmVzdWx0VHlwZSBleHRlbmRzIFF1ZXJ5UmVzdWx0PGFueT4+XG4gICAgZXh0ZW5kcyBBTW5nR2V0QWxsQXBpU2VydmljZTxGZXRjaFR5cGUsIFF1ZXJ5UmVzdWx0VHlwZT5cbiAgICBpbXBsZW1lbnRzIElNbmdDcnVkQXBpU2VydmljZTxGZXRjaFR5cGUsIFJlcXVlc3RUeXBlPlxue1xuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICAgICAgZmV0Y2hUeXBlOiBDbGFzc1R5cGU8RmV0Y2hUeXBlPixcbiAgICAgICAgcHJvdGVjdGVkIHJlcXVlc3RUeXBlOiBDbGFzc1R5cGU8UmVxdWVzdFR5cGU+LFxuICAgICAgICBxdWVyeVJlc3VsdFR5cGU6IENsYXNzVHlwZTxRdWVyeVJlc3VsdFR5cGU+XG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGZldGNoVHlwZSwgcXVlcnlSZXN1bHRUeXBlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY3JlYXRlUG9zdChpdGVtOiBSZXF1ZXN0VHlwZSwgcGFyYW1zPzogSHR0cFBhcmFtcyk6IE9ic2VydmFibGU8RmV0Y2hUeXBlPiB7XG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuZ2V0VXJsKHRoaXMuZ2V0Q3JlYXRlUG9zdFBhdGgoaXRlbSkpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAucG9zdDx1bmtub3duPih1cmwsIHRoaXMuc2VyaWFsaXplUmVxdWVzdChpdGVtKSwge1xuICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keScsXG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHBhcmFtczogcGFyYW1zXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnBpcGUobWFwKHJlcyA9PiB0aGlzLmRlc2VyaWFsaXplKHJlcykpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QnlJZEdldChpZDogSWRUeXBlLCBwYXJhbXM/OiBIdHRwUGFyYW1zLCBsb2NhbGU/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPEZldGNoVHlwZT4ge1xuICAgICAgICBjb25zdCB1cmwgPSB0aGlzLmdldFVybCh0aGlzLmdldEdldEJ5SWRHZXRQYXRoKGlkKSk7XG4gICAgICAgIGlmIChwYXJhbXMgJiYgbG9jYWxlKSB7XG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdsYW5nJywgbG9jYWxlKTtcbiAgICAgICAgfSBlbHNlIGlmIChsb2NhbGUpIHtcbiAgICAgICAgICAgIHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdsYW5nJywgbG9jYWxlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAuZ2V0PHVua25vd24+KHVybCwge1xuICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keScsXG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHBhcmFtczogcGFyYW1zXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnBpcGUobWFwKHJlcyA9PiB0aGlzLmRlc2VyaWFsaXplKHJlcykpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlUHV0KGlkOiBJZFR5cGUsIGl0ZW06IFJlcXVlc3RUeXBlLCBwYXJhbXM/OiBIdHRwUGFyYW1zKTogT2JzZXJ2YWJsZTxGZXRjaFR5cGU+IHtcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5nZXRVcmwodGhpcy5nZXRVcGRhdGVQdXRQYXRoKGlkLCBpdGVtKSk7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5wdXQ8dW5rbm93bj4odXJsLCB0aGlzLnNlcmlhbGl6ZVJlcXVlc3QoaXRlbSksIHtcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBwYXJhbXM6IHBhcmFtc1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5waXBlKG1hcChyZXMgPT4gdGhpcy5kZXNlcmlhbGl6ZShyZXMpKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlbW92ZURlbGV0ZShpZDogSWRUeXBlLCBpdGVtPzogRmV0Y2hUeXBlLCBwYXJhbXM/OiBIdHRwUGFyYW1zKTogT2JzZXJ2YWJsZTxGZXRjaFR5cGUgfCBudWxsPiB7XG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuZ2V0VXJsKHRoaXMuZ2V0UmVtb3ZlRGVsZXRlUGF0aChpZCwgaXRlbSkpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAucmVxdWVzdDx1bmtub3duPignZGVsZXRlJywgdXJsLCB7XG4gICAgICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6ICdib2R5JyxcbiAgICAgICAgICAgICAgICByZXBvcnRQcm9ncmVzczogZmFsc2UsXG4gICAgICAgICAgICAgICAgYm9keTogaXRlbSA/IHRoaXMuc2VyaWFsaXplKGl0ZW0pIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIHBhcmFtczogcGFyYW1zXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnBpcGUobWFwKHJlcyA9PiAocmVzID8gdGhpcy5kZXNlcmlhbGl6ZShyZXMpIDogbnVsbCkpKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgcHJvdGVjdGVkIGdldENyZWF0ZVBvc3RQYXRoKGl0ZW06IFJlcXVlc3RUeXBlKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICBwcm90ZWN0ZWQgZ2V0VXBkYXRlUHV0UGF0aChpZDogSWRUeXBlLCBpdGVtOiBSZXF1ZXN0VHlwZSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgYDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0R2V0QnlJZEdldFBhdGgoaWQ6IElkVHlwZSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgLyR7aWR9YDtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgcHJvdGVjdGVkIGdldFJlbW92ZURlbGV0ZVBhdGgoaWQ6IElkVHlwZSwgaXRlbT86IEZldGNoVHlwZSkge1xuICAgICAgICByZXR1cm4gYC8ke2lkfWA7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGRlc2VyaWFsaXplUmVxdWVzdChpdGVtOiBhbnkpOiBSZXF1ZXN0VHlwZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRlc2VyaWFsaXplQ2xhc3MoaXRlbSwgdGhpcy5yZXF1ZXN0VHlwZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNlcmlhbGl6ZVJlcXVlc3QoaXRlbTogUmVxdWVzdFR5cGUpOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJpYWxpemVDbGFzcyhpdGVtLCB0aGlzLnJlcXVlc3RUeXBlKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { HttpParams } from '@angular/common/http';
|
|
2
|
+
import { map } from 'rxjs/operators';
|
|
3
|
+
import { DataListParamsUtil } from '@mediusinc/mng-commons';
|
|
4
|
+
import { AMngApiService } from './api.abstract.service';
|
|
5
|
+
export class AMngGetAllApiService extends AMngApiService {
|
|
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 = DataListParamsUtil.sortToUrlQuery(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 = DataListParamsUtil.paramsFilterToUrlQuery(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 '/';
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWFsbC1hcGkuYWJzdHJhY3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2RhdGEtYXBpL2NsYXNzLWR0by9zcmMvc2VydmljZXMvZ2V0LWFsbC1hcGkuYWJzdHJhY3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFHaEQsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5DLE9BQU8sRUFBNEIsa0JBQWtCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUdyRixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFNdEQsTUFBTSxPQUFnQixvQkFBMEUsU0FBUSxjQUF5QjtJQUM3SCxZQUNJLFNBQStCLEVBQ3JCLGVBQTJDO1FBRXJELEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUZQLG9CQUFlLEdBQWYsZUFBZSxDQUE0QjtJQUd6RCxDQUFDO0lBRU0sU0FBUyxDQUFDLGFBQThCLEVBQUUsTUFBbUIsRUFBRSxNQUFlO1FBQ2pGLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7U0FDN0I7UUFDRCxJQUFJLE1BQU0sRUFBRTtZQUNSLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztTQUN2QztRQUVELElBQUksYUFBYSxFQUFFLEtBQUssRUFBRTtZQUN0QixNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3JEO1FBQ0QsSUFBSSxhQUFhLEVBQUUsTUFBTSxFQUFFO1lBQ3ZCLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDdkQ7UUFFRCxNQUFNLElBQUksR0FBRyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDOUQsSUFBSSxJQUFJLEVBQUU7WUFDTixNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDckM7UUFFRCxJQUFJLGFBQWEsRUFBRSxPQUFPLEVBQUU7WUFDeEIsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUM3QyxNQUFNLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQzVFLElBQUksS0FBSyxFQUFFO29CQUNQLE1BQU0sR0FBRyxNQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztpQkFDcEM7WUFDTCxDQUFDLENBQUMsQ0FBQztTQUNOO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNYLEdBQUcsQ0FBVSxHQUFHLEVBQUU7WUFDZixlQUFlLEVBQUUsSUFBSTtZQUNyQixPQUFPLEVBQUUsTUFBTTtZQUNmLGNBQWMsRUFBRSxLQUFLO1lBQ3JCLE1BQU0sRUFBRSxNQUFNO1NBQ2pCLENBQUM7YUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFUyxnQkFBZ0I7UUFDdEIsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0h0dHBQYXJhbXN9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7Q2xhc3NUeXBlLCBEYXRhTGlzdFBhcmFtcywgRGF0YUxpc3RQYXJhbXNVdGlsfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zJztcblxuaW1wb3J0IHtRdWVyeVJlc3VsdH0gZnJvbSAnLi4vbW9kZWxzL3F1ZXJ5LXJlc3VsdC5tb2RlbCc7XG5pbXBvcnQge0FNbmdBcGlTZXJ2aWNlfSBmcm9tICcuL2FwaS5hYnN0cmFjdC5zZXJ2aWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBJTW5nR2V0QWxsQXBpU2VydmljZTxRUlQgZXh0ZW5kcyBRdWVyeVJlc3VsdDxhbnk+PiB7XG4gICAgZ2V0QWxsR2V0KHJlcXVlc3RQYXJhbXM/OiBEYXRhTGlzdFBhcmFtczxhbnksIGFueT4sIHBhcmFtcz86IEh0dHBQYXJhbXMsIGxvY2FsZT86IHN0cmluZyk6IE9ic2VydmFibGU8UVJUPjtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFNbmdHZXRBbGxBcGlTZXJ2aWNlPEZldGNoVHlwZSwgUXVlcnlSZXN1bHRUeXBlIGV4dGVuZHMgUXVlcnlSZXN1bHQ8YW55Pj4gZXh0ZW5kcyBBTW5nQXBpU2VydmljZTxGZXRjaFR5cGU+IGltcGxlbWVudHMgSU1uZ0dldEFsbEFwaVNlcnZpY2U8UXVlcnlSZXN1bHRUeXBlPiB7XG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgICAgICBmZXRjaFR5cGU6IENsYXNzVHlwZTxGZXRjaFR5cGU+LFxuICAgICAgICBwcm90ZWN0ZWQgcXVlcnlSZXN1bHRUeXBlOiBDbGFzc1R5cGU8UXVlcnlSZXN1bHRUeXBlPlxuICAgICkge1xuICAgICAgICBzdXBlcihmZXRjaFR5cGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBbGxHZXQocmVxdWVzdFBhcmFtcz86IERhdGFMaXN0UGFyYW1zLCBwYXJhbXM/OiBIdHRwUGFyYW1zLCBsb2NhbGU/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFF1ZXJ5UmVzdWx0VHlwZT4ge1xuICAgICAgICBjb25zdCB1cmwgPSB0aGlzLmdldFVybCh0aGlzLmdldEdldEFsbEdldFBhdGgoKSk7XG4gICAgICAgIGlmICghcGFyYW1zKSB7XG4gICAgICAgICAgICBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChsb2NhbGUpIHtcbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2xhbmcnLCBsb2NhbGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJlcXVlc3RQYXJhbXM/LmxpbWl0KSB7XG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdsaW1pdCcsIHJlcXVlc3RQYXJhbXMubGltaXQpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChyZXF1ZXN0UGFyYW1zPy5vZmZzZXQpIHtcbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ29mZnNldCcsIHJlcXVlc3RQYXJhbXMub2Zmc2V0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNvcnQgPSBEYXRhTGlzdFBhcmFtc1V0aWwuc29ydFRvVXJsUXVlcnkocmVxdWVzdFBhcmFtcyk7XG4gICAgICAgIGlmIChzb3J0KSB7XG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdzb3J0Jywgc29ydCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocmVxdWVzdFBhcmFtcz8uZmlsdGVycykge1xuICAgICAgICAgICAgT2JqZWN0LmtleXMocmVxdWVzdFBhcmFtcy5maWx0ZXJzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBEYXRhTGlzdFBhcmFtc1V0aWwucGFyYW1zRmlsdGVyVG9VcmxRdWVyeShyZXF1ZXN0UGFyYW1zLCBrZXkpO1xuICAgICAgICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMhLnNldChrZXksIHZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5nZXQ8dW5rbm93bj4odXJsLCB7XG4gICAgICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6ICdib2R5JyxcbiAgICAgICAgICAgICAgICByZXBvcnRQcm9ncmVzczogZmFsc2UsXG4gICAgICAgICAgICAgICAgcGFyYW1zOiBwYXJhbXNcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAucGlwZShtYXAocmVzID0+IHRoaXMuZGVzZXJpYWxpemVRdWVyeVJlc3VsdChyZXMsIHRoaXMucXVlcnlSZXN1bHRUeXBlKSkpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRHZXRBbGxHZXRQYXRoKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnLyc7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { map } from 'rxjs/operators';
|
|
2
|
+
import { FilterMatchMode, ModelUtil, TableviewDataProviderInst } from '@mediusinc/mng-commons';
|
|
3
|
+
import { mapToDataList } from '@mediusinc/mng-commons/data-api';
|
|
4
|
+
export class TableviewCrudDataProviderInst extends TableviewDataProviderInst {
|
|
5
|
+
constructor(type, requestType, serviceType, idPropertyName, useGetAllForFetch = false) {
|
|
6
|
+
super(type, serviceType);
|
|
7
|
+
this.requestType = requestType;
|
|
8
|
+
this._toRequestMap = item => item;
|
|
9
|
+
this.withGetAll((params, service, locale) => service.getAllGet(params, undefined, locale).pipe(mapToDataList()));
|
|
10
|
+
if (useGetAllForFetch) {
|
|
11
|
+
const selectedIdPropertyName = idPropertyName ?? ModelUtil.findIdAttribute(type) ?? 'id';
|
|
12
|
+
this.withFetch((id, service) => {
|
|
13
|
+
return service
|
|
14
|
+
.getAllGet({
|
|
15
|
+
limit: 1,
|
|
16
|
+
filters: {
|
|
17
|
+
[selectedIdPropertyName]: {
|
|
18
|
+
value: id,
|
|
19
|
+
matchMode: FilterMatchMode.Equals
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
})
|
|
23
|
+
.pipe(map(res => res.data[0]));
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
this.withFetch((id, service, locale) => service.getByIdGet(id, undefined, locale));
|
|
28
|
+
}
|
|
29
|
+
this.withCreate((item, service) => service.createPost(this.toRequestMap(item)));
|
|
30
|
+
this.withUpdate((id, item, service) => service.updatePut(id, this.toRequestMap(item)));
|
|
31
|
+
this.withDelete((id, item, service) => service.removeDelete(id, item));
|
|
32
|
+
}
|
|
33
|
+
get toRequestMap() {
|
|
34
|
+
return this._toRequestMap;
|
|
35
|
+
}
|
|
36
|
+
withToRequestMap(fn) {
|
|
37
|
+
this._toRequestMap = fn;
|
|
38
|
+
return this;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
export class TableviewCrudDataProvider extends TableviewCrudDataProviderInst {
|
|
42
|
+
static create(type, requestType, serviceType, idProperty, useGetAllForFetch = false) {
|
|
43
|
+
return TableviewCrudDataProvider.createUnsafe(type, requestType, serviceType, idProperty, useGetAllForFetch);
|
|
44
|
+
}
|
|
45
|
+
static createUnsafe(type, requestType, serviceType, idProperty, useGetAllForFetch = false) {
|
|
46
|
+
return new TableviewCrudDataProviderInst(type, requestType, serviceType, idProperty, useGetAllForFetch);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LWNydWQuZGF0YS1wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2RhdGEtYXBpL2NsYXNzLWR0by9zcmMvdGFibGV2aWV3L3RhYmxldmlldy1jcnVkLmRhdGEtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5DLE9BQU8sRUFBWSxlQUFlLEVBQUUsU0FBUyxFQUFvQix5QkFBeUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzFILE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQVE5RCxNQUFNLE9BQU8sNkJBTVgsU0FBUSx5QkFBc0c7SUFHNUcsWUFDSSxJQUFzQixFQUNaLFdBQW9DLEVBQzlDLFdBQTBCLEVBQzFCLGNBQXVCLEVBQ3ZCLGlCQUFpQixHQUFHLEtBQUs7UUFFekIsS0FBSyxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztRQUxmLGdCQUFXLEdBQVgsV0FBVyxDQUF5QjtRQUoxQyxrQkFBYSxHQUE0QyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQW9CLENBQUM7UUFVMUYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVqSCxJQUFJLGlCQUFpQixFQUFFO1lBQ25CLE1BQU0sc0JBQXNCLEdBQUcsY0FBYyxJQUFJLFNBQVMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDO1lBQ3pGLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUU7Z0JBQzNCLE9BQU8sT0FBUTtxQkFDVixTQUFTLENBQUM7b0JBQ1AsS0FBSyxFQUFFLENBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNMLENBQUMsc0JBQXNCLENBQUMsRUFBRTs0QkFDdEIsS0FBSyxFQUFFLEVBQUU7NEJBQ1QsU0FBUyxFQUFFLGVBQWUsQ0FBQyxNQUFNO3lCQUNwQztxQkFDSjtpQkFDSixDQUFDO3FCQUNELElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN4QyxDQUFDLENBQUMsQ0FBQztTQUNOO2FBQU07WUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLE9BQVEsQ0FBQyxVQUFXLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1NBQ3hGO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBVSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4RixJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxZQUFhLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNuQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQUVNLGdCQUFnQixDQUFDLEVBQTJDO1FBQy9ELElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Q0FDSjtBQUVELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSw2QkFBNEM7SUFDaEYsTUFBTSxDQUFDLE1BQU0sQ0FPaEIsSUFBc0IsRUFDdEIsV0FBb0MsRUFDcEMsV0FBMEIsRUFDMUIsVUFBd0IsRUFDeEIsaUJBQWlCLEdBQUcsS0FBSztRQUV6QixPQUFPLHlCQUF5QixDQUFDLFlBQVksQ0FBK0MsSUFBSSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsVUFBb0IsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3pLLENBQUM7SUFFTSxNQUFNLENBQUMsWUFBWSxDQU90QixJQUFzQixFQUN0QixXQUFvQyxFQUNwQyxXQUEwQixFQUMxQixVQUFtQixFQUNuQixpQkFBaUIsR0FBRyxLQUFLO1FBRXpCLE9BQU8sSUFBSSw2QkFBNkIsQ0FBK0MsSUFBSSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDMUosQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUeXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtDbGFzc1R5cGUsIEZpbHRlck1hdGNoTW9kZSwgTW9kZWxVdGlsLCBTZXJ2aWNlQ2xhc3NUeXBlLCBUYWJsZXZpZXdEYXRhUHJvdmlkZXJJbnN0fSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zJztcbmltcG9ydCB7bWFwVG9EYXRhTGlzdH0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9kYXRhLWFwaSc7XG5cbmltcG9ydCB7UXVlcnlSZXN1bHR9IGZyb20gJy4uL21vZGVscy9xdWVyeS1yZXN1bHQubW9kZWwnO1xuaW1wb3J0IHtJTW5nQ3J1ZEFwaVNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2VzL2NydWQtYXBpLmFic3RyYWN0LnNlcnZpY2UnO1xuaW1wb3J0IHtJTW5nR2V0QWxsQXBpU2VydmljZX0gZnJvbSAnLi4vc2VydmljZXMvZ2V0LWFsbC1hcGkuYWJzdHJhY3Quc2VydmljZSc7XG5cbmV4cG9ydCB0eXBlIFRvUmVxdWVzdE1hcEZuVHlwZTxNb2RlbCwgUmVxdWVzdE1vZGVsPiA9IChpdGVtPzogTW9kZWwpID0+IFJlcXVlc3RNb2RlbDtcblxuZXhwb3J0IGNsYXNzIFRhYmxldmlld0NydWREYXRhUHJvdmlkZXJJbnN0PFxuICAgIE1vZGVsLFxuICAgIFJlcXVlc3RNb2RlbCxcbiAgICBTZXJ2aWNlIGV4dGVuZHMgSU1uZ0NydWRBcGlTZXJ2aWNlPE1vZGVsLCBSZXF1ZXN0TW9kZWw+ICYgSU1uZ0dldEFsbEFwaVNlcnZpY2U8UXVlcnlSZXN1bHQ8TW9kZWw+PixcbiAgICBTb3J0cyA9IGtleW9mIE1vZGVsLFxuICAgIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBrZXlvZiBNb2RlbFxuPiBleHRlbmRzIFRhYmxldmlld0RhdGFQcm92aWRlckluc3Q8TW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzLCBDbGFzc1R5cGU8TW9kZWw+LCBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+PiB7XG4gICAgcHJpdmF0ZSBfdG9SZXF1ZXN0TWFwOiBUb1JlcXVlc3RNYXBGblR5cGU8TW9kZWwsIFJlcXVlc3RNb2RlbD4gPSBpdGVtID0+IGl0ZW0gYXMgUmVxdWVzdE1vZGVsO1xuXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgICAgICB0eXBlOiBDbGFzc1R5cGU8TW9kZWw+LFxuICAgICAgICBwcm90ZWN0ZWQgcmVxdWVzdFR5cGU6IENsYXNzVHlwZTxSZXF1ZXN0TW9kZWw+LFxuICAgICAgICBzZXJ2aWNlVHlwZTogVHlwZTxTZXJ2aWNlPixcbiAgICAgICAgaWRQcm9wZXJ0eU5hbWU/OiBzdHJpbmcsXG4gICAgICAgIHVzZUdldEFsbEZvckZldGNoID0gZmFsc2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIodHlwZSwgc2VydmljZVR5cGUpO1xuICAgICAgICB0aGlzLndpdGhHZXRBbGwoKHBhcmFtcywgc2VydmljZSwgbG9jYWxlKSA9PiBzZXJ2aWNlLmdldEFsbEdldChwYXJhbXMsIHVuZGVmaW5lZCwgbG9jYWxlKS5waXBlKG1hcFRvRGF0YUxpc3QoKSkpO1xuXG4gICAgICAgIGlmICh1c2VHZXRBbGxGb3JGZXRjaCkge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRJZFByb3BlcnR5TmFtZSA9IGlkUHJvcGVydHlOYW1lID8/IE1vZGVsVXRpbC5maW5kSWRBdHRyaWJ1dGUodHlwZSkgPz8gJ2lkJztcbiAgICAgICAgICAgIHRoaXMud2l0aEZldGNoKChpZCwgc2VydmljZSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBzZXJ2aWNlIVxuICAgICAgICAgICAgICAgICAgICAuZ2V0QWxsR2V0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0OiAxLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZElkUHJvcGVydHlOYW1lXToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoTW9kZTogRmlsdGVyTWF0Y2hNb2RlLkVxdWFsc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLnBpcGUobWFwKHJlcyA9PiByZXMuZGF0YSFbMF0pKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy53aXRoRmV0Y2goKGlkLCBzZXJ2aWNlLCBsb2NhbGUpID0+IHNlcnZpY2UhLmdldEJ5SWRHZXQhKGlkLCB1bmRlZmluZWQsIGxvY2FsZSkpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMud2l0aENyZWF0ZSgoaXRlbSwgc2VydmljZSkgPT4gc2VydmljZS5jcmVhdGVQb3N0ISh0aGlzLnRvUmVxdWVzdE1hcChpdGVtKSkpO1xuICAgICAgICB0aGlzLndpdGhVcGRhdGUoKGlkLCBpdGVtLCBzZXJ2aWNlKSA9PiBzZXJ2aWNlLnVwZGF0ZVB1dCEoaWQsIHRoaXMudG9SZXF1ZXN0TWFwKGl0ZW0pKSk7XG4gICAgICAgIHRoaXMud2l0aERlbGV0ZSgoaWQsIGl0ZW0sIHNlcnZpY2UpID0+IHNlcnZpY2UucmVtb3ZlRGVsZXRlIShpZCwgaXRlbSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgdG9SZXF1ZXN0TWFwKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdG9SZXF1ZXN0TWFwO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoVG9SZXF1ZXN0TWFwKGZuOiBUb1JlcXVlc3RNYXBGblR5cGU8TW9kZWwsIFJlcXVlc3RNb2RlbD4pIHtcbiAgICAgICAgdGhpcy5fdG9SZXF1ZXN0TWFwID0gZm47XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFRhYmxldmlld0NydWREYXRhUHJvdmlkZXIgZXh0ZW5kcyBUYWJsZXZpZXdDcnVkRGF0YVByb3ZpZGVySW5zdDxhbnksIGFueSwgYW55PiB7XG4gICAgcHVibGljIHN0YXRpYyBjcmVhdGU8XG4gICAgICAgIE1vZGVsLFxuICAgICAgICBSZXF1ZXN0TW9kZWwsXG4gICAgICAgIFNlcnZpY2UgZXh0ZW5kcyBJTW5nQ3J1ZEFwaVNlcnZpY2U8TW9kZWwsIFJlcXVlc3RNb2RlbD4gJiBJTW5nR2V0QWxsQXBpU2VydmljZTxRdWVyeVJlc3VsdDxNb2RlbD4+LFxuICAgICAgICBTb3J0cyA9IGtleW9mIE1vZGVsLFxuICAgICAgICBGaWx0ZXJzIGV4dGVuZHMga2V5b2YgYW55ID0ga2V5b2YgTW9kZWxcbiAgICA+KFxuICAgICAgICB0eXBlOiBDbGFzc1R5cGU8TW9kZWw+LFxuICAgICAgICByZXF1ZXN0VHlwZTogQ2xhc3NUeXBlPFJlcXVlc3RNb2RlbD4sXG4gICAgICAgIHNlcnZpY2VUeXBlOiBUeXBlPFNlcnZpY2U+LFxuICAgICAgICBpZFByb3BlcnR5Pzoga2V5b2YgTW9kZWwsXG4gICAgICAgIHVzZUdldEFsbEZvckZldGNoID0gZmFsc2VcbiAgICApOiBUYWJsZXZpZXdDcnVkRGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgUmVxdWVzdE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycz4ge1xuICAgICAgICByZXR1cm4gVGFibGV2aWV3Q3J1ZERhdGFQcm92aWRlci5jcmVhdGVVbnNhZmU8TW9kZWwsIFJlcXVlc3RNb2RlbCwgU2VydmljZSwgU29ydHMsIEZpbHRlcnM+KHR5cGUsIHJlcXVlc3RUeXBlLCBzZXJ2aWNlVHlwZSwgaWRQcm9wZXJ0eSBhcyBzdHJpbmcsIHVzZUdldEFsbEZvckZldGNoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGNyZWF0ZVVuc2FmZTxcbiAgICAgICAgTW9kZWwsXG4gICAgICAgIFJlcXVlc3RNb2RlbCxcbiAgICAgICAgU2VydmljZSBleHRlbmRzIElNbmdDcnVkQXBpU2VydmljZTxNb2RlbCwgUmVxdWVzdE1vZGVsPiAmIElNbmdHZXRBbGxBcGlTZXJ2aWNlPFF1ZXJ5UmVzdWx0PE1vZGVsPj4sXG4gICAgICAgIFNvcnRzID0ga2V5b2YgTW9kZWwsXG4gICAgICAgIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBrZXlvZiBNb2RlbFxuICAgID4oXG4gICAgICAgIHR5cGU6IENsYXNzVHlwZTxNb2RlbD4sXG4gICAgICAgIHJlcXVlc3RUeXBlOiBDbGFzc1R5cGU8UmVxdWVzdE1vZGVsPixcbiAgICAgICAgc2VydmljZVR5cGU6IFR5cGU8U2VydmljZT4sXG4gICAgICAgIGlkUHJvcGVydHk/OiBzdHJpbmcsXG4gICAgICAgIHVzZUdldEFsbEZvckZldGNoID0gZmFsc2VcbiAgICApOiBUYWJsZXZpZXdDcnVkRGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgUmVxdWVzdE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycz4ge1xuICAgICAgICByZXR1cm4gbmV3IFRhYmxldmlld0NydWREYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBSZXF1ZXN0TW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzPih0eXBlLCByZXF1ZXN0VHlwZSwgc2VydmljZVR5cGUsIGlkUHJvcGVydHksIHVzZUdldEFsbEZvckZldGNoKTtcbiAgICB9XG59XG4iXX0=
|