@chilibase/backend 0.1.2 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -8
- package/lib/auth/local-auth.service.d.ts +5 -5
- package/lib/auth/local-auth.service.js +3 -3
- package/lib/auth/local-auth.service.js.map +1 -1
- package/lib/common/EntityMetadata.d.ts +35 -0
- package/lib/common/EntityMetadata.js +2 -0
- package/lib/common/EntityMetadata.js.map +1 -0
- package/lib/{serverApi → common}/ExportImportParam.d.ts +7 -7
- package/lib/{serverApi → common}/ExportImportParam.js +6 -6
- package/lib/common/ExportImportParam.js.map +1 -0
- package/lib/common/FindParam.d.ts +61 -0
- package/lib/common/FindParam.js +22 -0
- package/lib/common/FindParam.js.map +1 -0
- package/lib/{serverApi → common}/FindResult.d.ts +2 -2
- package/lib/{serverApi → common}/FindResult.js.map +1 -1
- package/lib/common/PrimeFilterSortMeta.js.map +1 -0
- package/lib/{serverApi/XUtilsCommon.d.ts → common/UtilsCommon.d.ts} +13 -11
- package/lib/{serverApi/XUtilsCommon.js → common/UtilsCommon.js} +42 -23
- package/lib/common/UtilsCommon.js.map +1 -0
- package/lib/{serverApi/XUtilsConversions.d.ts → common/UtilsConversions.d.ts} +7 -7
- package/lib/{serverApi/XUtilsConversions.js → common/UtilsConversions.js} +33 -35
- package/lib/common/UtilsConversions.js.map +1 -0
- package/lib/common/UtilsMetadataCommon.d.ts +29 -0
- package/lib/common/UtilsMetadataCommon.js +170 -0
- package/lib/common/UtilsMetadataCommon.js.map +1 -0
- package/lib/common/auth-api.d.ts +14 -0
- package/lib/common/auth-api.js +2 -0
- package/lib/common/auth-api.js.map +1 -0
- package/lib/common/index.d.ts +21 -0
- package/lib/common/index.js +14 -0
- package/lib/common/index.js.map +1 -0
- package/lib/common/lib-api.d.ts +36 -0
- package/lib/common/lib-api.js +2 -0
- package/lib/common/lib-api.js.map +1 -0
- package/lib/common/types.d.ts +5 -0
- package/lib/common/types.js +2 -0
- package/lib/common/types.js.map +1 -0
- package/lib/locale/x-en.d.ts +4 -0
- package/lib/locale/x-en.js +7 -0
- package/lib/locale/x-en.js.map +1 -0
- package/lib/modules/administration/browse-meta.entity.d.ts +8 -0
- package/lib/{administration/x-browse-meta.entity.js → modules/administration/browse-meta.entity.js} +11 -11
- package/lib/modules/administration/browse-meta.entity.js.map +1 -0
- package/lib/{administration/x-column-meta.entity.d.ts → modules/administration/column-meta.entity.d.ts} +3 -3
- package/lib/{administration/x-column-meta.entity.js → modules/administration/column-meta.entity.js} +16 -16
- package/lib/modules/administration/column-meta.entity.js.map +1 -0
- package/lib/modules/administration/index.d.ts +8 -0
- package/lib/modules/administration/index.js +8 -0
- package/lib/modules/administration/index.js.map +1 -0
- package/lib/{administration/x-user.entity.d.ts → modules/administration/user.entity.d.ts} +2 -2
- package/lib/{administration/x-user.entity.js → modules/administration/user.entity.js} +17 -17
- package/lib/modules/administration/user.entity.js.map +1 -0
- package/lib/{administration → modules/administration}/x-enum-enum.entity.d.ts +2 -2
- package/lib/{administration → modules/administration}/x-enum-enum.entity.js +5 -5
- package/lib/modules/administration/x-enum-enum.entity.js.map +1 -0
- package/lib/modules/administration/x-enum.entity.js.map +1 -0
- package/lib/{administration → modules/administration}/x-file.entity.d.ts +1 -1
- package/lib/{administration → modules/administration}/x-file.entity.js +2 -2
- package/lib/modules/administration/x-file.entity.js.map +1 -0
- package/lib/{administration → modules/administration}/x-param.entity.d.ts +2 -2
- package/lib/{administration → modules/administration}/x-param.entity.js +5 -5
- package/lib/modules/administration/x-param.entity.js.map +1 -0
- package/lib/services/FindParamRows.d.ts +1 -1
- package/lib/services/XLocale.d.ts +5 -0
- package/lib/services/XLocale.js +19 -0
- package/lib/services/XLocale.js.map +1 -0
- package/lib/services/XUtils.d.ts +4 -0
- package/lib/services/XUtils.js +7 -0
- package/lib/services/XUtils.js.map +1 -1
- package/lib/services/x-browse-form-metadata.service.d.ts +2 -2
- package/lib/services/x-browse-form-metadata.service.js +2 -2
- package/lib/services/x-browse-form-metadata.service.js.map +1 -1
- package/lib/services/x-entity-metadata.service.d.ts +7 -7
- package/lib/services/x-entity-metadata.service.js +8 -8
- package/lib/services/x-entity-metadata.service.js.map +1 -1
- package/lib/services/x-export-csv.service.d.ts +2 -2
- package/lib/services/x-export-csv.service.js +8 -8
- package/lib/services/x-export-csv.service.js.map +1 -1
- package/lib/services/x-export-excel.service.d.ts +2 -2
- package/lib/services/x-export-excel.service.js +4 -4
- package/lib/services/x-export-excel.service.js.map +1 -1
- package/lib/services/x-export-json.service.js +5 -5
- package/lib/services/x-export-json.service.js.map +1 -1
- package/lib/services/x-export.service.d.ts +3 -3
- package/lib/services/x-export.service.js +7 -7
- package/lib/services/x-export.service.js.map +1 -1
- package/lib/services/x-file.controller.d.ts +1 -1
- package/lib/services/x-file.controller.js +2 -2
- package/lib/services/x-file.controller.js.map +1 -1
- package/lib/services/x-file.service.d.ts +1 -1
- package/lib/services/x-file.service.js +1 -1
- package/lib/services/x-file.service.js.map +1 -1
- package/lib/services/x-lazy-data-table.service.d.ts +17 -13
- package/lib/services/x-lazy-data-table.service.js +41 -19
- package/lib/services/x-lazy-data-table.service.js.map +1 -1
- package/lib/services/x-lib.controller.d.ts +16 -16
- package/lib/services/x-lib.controller.js +11 -1
- package/lib/services/x-lib.controller.js.map +1 -1
- package/lib/services/x-lib.service.d.ts +13 -7
- package/lib/services/x-lib.service.js +55 -5
- package/lib/services/x-lib.service.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/x-query-data/XMainQueryData.d.ts +8 -8
- package/lib/x-query-data/XMainQueryData.js +5 -5
- package/lib/x-query-data/XMainQueryData.js.map +1 -1
- package/lib/x-query-data/XQueryData.d.ts +3 -3
- package/lib/x-query-data/XQueryData.js +27 -11
- package/lib/x-query-data/XQueryData.js.map +1 -1
- package/package.json +9 -13
- package/lib/administration/x-browse-meta.entity.d.ts +0 -8
- package/lib/administration/x-browse-meta.entity.js.map +0 -1
- package/lib/administration/x-column-meta.entity.js.map +0 -1
- package/lib/administration/x-enum-enum.entity.js.map +0 -1
- package/lib/administration/x-enum.entity.js.map +0 -1
- package/lib/administration/x-file.entity.js.map +0 -1
- package/lib/administration/x-param.entity.js.map +0 -1
- package/lib/administration/x-user.entity.js.map +0 -1
- package/lib/serverApi/ExportImportParam.js.map +0 -1
- package/lib/serverApi/FindParam.d.ts +0 -59
- package/lib/serverApi/FindParam.js +0 -20
- package/lib/serverApi/FindParam.js.map +0 -1
- package/lib/serverApi/PrimeFilterSortMeta.js.map +0 -1
- package/lib/serverApi/XBrowseMetadata.d.ts +0 -4
- package/lib/serverApi/XBrowseMetadata.js +0 -2
- package/lib/serverApi/XBrowseMetadata.js.map +0 -1
- package/lib/serverApi/XEntityMetadata.d.ts +0 -35
- package/lib/serverApi/XEntityMetadata.js +0 -2
- package/lib/serverApi/XEntityMetadata.js.map +0 -1
- package/lib/serverApi/XFileJsonField.d.ts +0 -6
- package/lib/serverApi/XFileJsonField.js +0 -2
- package/lib/serverApi/XFileJsonField.js.map +0 -1
- package/lib/serverApi/XUser.d.ts +0 -8
- package/lib/serverApi/XUser.js +0 -2
- package/lib/serverApi/XUser.js.map +0 -1
- package/lib/serverApi/XUtilsCommon.js.map +0 -1
- package/lib/serverApi/XUtilsConversions.js.map +0 -1
- package/lib/serverApi/XUtilsMetadataCommon.d.ts +0 -29
- package/lib/serverApi/XUtilsMetadataCommon.js +0 -170
- package/lib/serverApi/XUtilsMetadataCommon.js.map +0 -1
- package/lib/serverApi/index.d.ts +0 -2
- package/lib/serverApi/index.js +0 -3
- package/lib/serverApi/index.js.map +0 -1
- package/lib/serverApi/x-auth-api.d.ts +0 -14
- package/lib/serverApi/x-auth-api.js +0 -2
- package/lib/serverApi/x-auth-api.js.map +0 -1
- package/lib/serverApi/x-lib-api.d.ts +0 -12
- package/lib/serverApi/x-lib-api.js +0 -2
- package/lib/serverApi/x-lib-api.js.map +0 -1
- package/lib/services/FindRowByIdParam.d.ts +0 -5
- package/lib/services/FindRowByIdParam.js +0 -2
- package/lib/services/FindRowByIdParam.js.map +0 -1
- /package/lib/{serverApi → common}/FindResult.js +0 -0
- /package/lib/{serverApi → common}/PrimeFilterSortMeta.d.ts +0 -0
- /package/lib/{serverApi → common}/PrimeFilterSortMeta.js +0 -0
- /package/lib/{administration → modules/administration}/x-enum.entity.d.ts +0 -0
- /package/lib/{administration → modules/administration}/x-enum.entity.js +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { UtilsCommon } from "./UtilsCommon.js";
|
|
2
|
+
import { UtilsMetadataCommon } from "./UtilsMetadataCommon.js";
|
|
3
3
|
export function stringFromUI(stringValue) {
|
|
4
4
|
let value;
|
|
5
5
|
if (stringValue === '') {
|
|
@@ -22,7 +22,7 @@ export function intFromUI(stringValue) {
|
|
|
22
22
|
value = null;
|
|
23
23
|
}
|
|
24
24
|
else {
|
|
25
|
-
if (
|
|
25
|
+
if (UtilsCommon.isInt(stringValue)) {
|
|
26
26
|
value = parseInt(stringValue, 10);
|
|
27
27
|
if (isNaN(value)) {
|
|
28
28
|
value = undefined;
|
|
@@ -59,12 +59,12 @@ export function numberFromString(valueString) {
|
|
|
59
59
|
}
|
|
60
60
|
return numberValue;
|
|
61
61
|
}
|
|
62
|
-
export var
|
|
63
|
-
(function (
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
})(
|
|
62
|
+
export var DateScale;
|
|
63
|
+
(function (DateScale) {
|
|
64
|
+
DateScale[DateScale["Date"] = 1] = "Date";
|
|
65
|
+
DateScale[DateScale["Month"] = 2] = "Month";
|
|
66
|
+
DateScale[DateScale["Year"] = 3] = "Year";
|
|
67
|
+
})(DateScale || (DateScale = {}));
|
|
68
68
|
export function dateFromModel(value) {
|
|
69
69
|
let dateValue = null;
|
|
70
70
|
if (typeof value === 'string') {
|
|
@@ -75,7 +75,7 @@ export function dateFromModel(value) {
|
|
|
75
75
|
}
|
|
76
76
|
return dateValue;
|
|
77
77
|
}
|
|
78
|
-
export function dateFromUI(valueString, dateScale =
|
|
78
|
+
export function dateFromUI(valueString, dateScale = DateScale.Date) {
|
|
79
79
|
let valueDate = undefined;
|
|
80
80
|
if (valueString === '') {
|
|
81
81
|
valueDate = null;
|
|
@@ -84,7 +84,7 @@ export function dateFromUI(valueString, dateScale = XDateScale.Date) {
|
|
|
84
84
|
let day;
|
|
85
85
|
let month = null;
|
|
86
86
|
let year = null;
|
|
87
|
-
if (dateScale ===
|
|
87
|
+
if (dateScale === DateScale.Date) {
|
|
88
88
|
const posDot = valueString.indexOf('.');
|
|
89
89
|
if (posDot === -1) {
|
|
90
90
|
day = intFromUI(valueString);
|
|
@@ -102,7 +102,7 @@ export function dateFromUI(valueString, dateScale = XDateScale.Date) {
|
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
|
-
else if (dateScale ===
|
|
105
|
+
else if (dateScale === DateScale.Month) {
|
|
106
106
|
day = 1;
|
|
107
107
|
const posDot = valueString.indexOf('.');
|
|
108
108
|
if (posDot === -1) {
|
|
@@ -113,7 +113,7 @@ export function dateFromUI(valueString, dateScale = XDateScale.Date) {
|
|
|
113
113
|
year = intFromUI(valueString.substring(posDot + 1));
|
|
114
114
|
}
|
|
115
115
|
}
|
|
116
|
-
else if (dateScale ===
|
|
116
|
+
else if (dateScale === DateScale.Year) {
|
|
117
117
|
day = 1;
|
|
118
118
|
month = 1;
|
|
119
119
|
year = intFromUI(valueString);
|
|
@@ -122,10 +122,10 @@ export function dateFromUI(valueString, dateScale = XDateScale.Date) {
|
|
|
122
122
|
throw "Unimplemented dateScale = " + dateScale;
|
|
123
123
|
}
|
|
124
124
|
if (month === null) {
|
|
125
|
-
month =
|
|
125
|
+
month = UtilsCommon.today().getMonth() + 1;
|
|
126
126
|
}
|
|
127
127
|
if (year === null) {
|
|
128
|
-
year =
|
|
128
|
+
year = UtilsCommon.today().getFullYear();
|
|
129
129
|
}
|
|
130
130
|
if (day && month && year) {
|
|
131
131
|
let monthStr = month.toString();
|
|
@@ -144,7 +144,7 @@ export function dateFromUI(valueString, dateScale = XDateScale.Date) {
|
|
|
144
144
|
}
|
|
145
145
|
return valueDate;
|
|
146
146
|
}
|
|
147
|
-
export function dateAsUI(value, dateScale =
|
|
147
|
+
export function dateAsUI(value, dateScale = DateScale.Date) {
|
|
148
148
|
if (value !== null) {
|
|
149
149
|
return dateFormat(value, dateFormatUI(dateScale));
|
|
150
150
|
}
|
|
@@ -212,15 +212,15 @@ export function timeFromModel(value) {
|
|
|
212
212
|
}
|
|
213
213
|
return timeValue;
|
|
214
214
|
}
|
|
215
|
-
export function dateFormatUI(dateScale =
|
|
215
|
+
export function dateFormatUI(dateScale = DateScale.Date) {
|
|
216
216
|
let format;
|
|
217
|
-
if (dateScale ===
|
|
217
|
+
if (dateScale === DateScale.Date) {
|
|
218
218
|
format = "dd.MM.yyyy";
|
|
219
219
|
}
|
|
220
|
-
else if (dateScale ===
|
|
220
|
+
else if (dateScale === DateScale.Month) {
|
|
221
221
|
format = "MM.yyyy";
|
|
222
222
|
}
|
|
223
|
-
else if (dateScale ===
|
|
223
|
+
else if (dateScale === DateScale.Year) {
|
|
224
224
|
format = "yyyy";
|
|
225
225
|
}
|
|
226
226
|
else {
|
|
@@ -228,15 +228,15 @@ export function dateFormatUI(dateScale = XDateScale.Date) {
|
|
|
228
228
|
}
|
|
229
229
|
return format;
|
|
230
230
|
}
|
|
231
|
-
export function dateFormatCalendar(dateScale =
|
|
231
|
+
export function dateFormatCalendar(dateScale = DateScale.Date) {
|
|
232
232
|
let format;
|
|
233
|
-
if (dateScale ===
|
|
233
|
+
if (dateScale === DateScale.Date) {
|
|
234
234
|
format = "dd.mm.yy";
|
|
235
235
|
}
|
|
236
|
-
else if (dateScale ===
|
|
236
|
+
else if (dateScale === DateScale.Month) {
|
|
237
237
|
format = "mm.yy";
|
|
238
238
|
}
|
|
239
|
-
else if (dateScale ===
|
|
239
|
+
else if (dateScale === DateScale.Year) {
|
|
240
240
|
format = "yy";
|
|
241
241
|
}
|
|
242
242
|
else {
|
|
@@ -255,11 +255,9 @@ export function intervalFromUI(valueString) {
|
|
|
255
255
|
else {
|
|
256
256
|
const posColon = valueString.indexOf(':');
|
|
257
257
|
if (posColon === -1) {
|
|
258
|
-
let
|
|
259
|
-
if (!isNaN(
|
|
260
|
-
|
|
261
|
-
minutes = minutes - (hours * 60);
|
|
262
|
-
valueInterval = { hours: hours, minutes: minutes };
|
|
258
|
+
let hours = parseInt(valueString);
|
|
259
|
+
if (!isNaN(hours)) {
|
|
260
|
+
valueInterval = { hours: hours, minutes: 0 };
|
|
263
261
|
}
|
|
264
262
|
}
|
|
265
263
|
else {
|
|
@@ -307,14 +305,14 @@ export var AsUIType;
|
|
|
307
305
|
AsUIType[AsUIType["Excel"] = 3] = "Excel";
|
|
308
306
|
})(AsUIType || (AsUIType = {}));
|
|
309
307
|
export function convertObject(entity, object, fromModel, asUI) {
|
|
310
|
-
const xEntity =
|
|
308
|
+
const xEntity = UtilsMetadataCommon.getEntity(entity);
|
|
311
309
|
for (const [field, value] of Object.entries(object)) {
|
|
312
|
-
const xField =
|
|
310
|
+
const xField = UtilsMetadataCommon.getFieldBase(xEntity, field);
|
|
313
311
|
if (xField) {
|
|
314
312
|
object[field] = convertValue(xField, value, fromModel, asUI);
|
|
315
313
|
}
|
|
316
314
|
else {
|
|
317
|
-
const xAssoc =
|
|
315
|
+
const xAssoc = UtilsMetadataCommon.getAssocBase(xEntity, field);
|
|
318
316
|
if (xAssoc) {
|
|
319
317
|
if (value) {
|
|
320
318
|
if (xAssoc.relationType === "many-to-one" || xAssoc.relationType === "one-to-one") {
|
|
@@ -349,7 +347,7 @@ export function convertValueBase(fieldType, scale, value, fromModel, asUI) {
|
|
|
349
347
|
if (fromModel) {
|
|
350
348
|
value = dateFromModel(value);
|
|
351
349
|
}
|
|
352
|
-
if (asUI && (asUI !== AsUIType.Excel || scale ===
|
|
350
|
+
if (asUI && (asUI !== AsUIType.Excel || scale === DateScale.Month || scale === DateScale.Year)) {
|
|
353
351
|
value = dateAsUI(value, scale);
|
|
354
352
|
}
|
|
355
353
|
}
|
|
@@ -373,7 +371,7 @@ export function convertValueBase(fieldType, scale, value, fromModel, asUI) {
|
|
|
373
371
|
}
|
|
374
372
|
else if (fieldType === "jsonb") {
|
|
375
373
|
if (asUI) {
|
|
376
|
-
value =
|
|
374
|
+
value = UtilsCommon.objectAsJSON(value);
|
|
377
375
|
}
|
|
378
376
|
}
|
|
379
377
|
else {
|
|
@@ -383,4 +381,4 @@ export function convertValueBase(fieldType, scale, value, fromModel, asUI) {
|
|
|
383
381
|
}
|
|
384
382
|
return value;
|
|
385
383
|
}
|
|
386
|
-
//# sourceMappingURL=
|
|
384
|
+
//# sourceMappingURL=UtilsConversions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UtilsConversions.js","sourceRoot":"","sources":["../../src/common/UtilsConversions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Assoc, Entity, EntityMap, Field, RelationType } from "./EntityMetadata.js";
|
|
2
|
+
export declare class UtilsMetadataCommon {
|
|
3
|
+
private static entityMap;
|
|
4
|
+
static getEntityMap(): EntityMap | undefined;
|
|
5
|
+
static setEntityMap(entityMap: EntityMap): void;
|
|
6
|
+
static getEntity(entity: string): Entity;
|
|
7
|
+
static getFieldBase(xEntity: Entity, field: string): Field | undefined;
|
|
8
|
+
static getField(xEntity: Entity, field: string): Field;
|
|
9
|
+
static getFieldByPathBase(xEntity: Entity, path: string): Field | undefined;
|
|
10
|
+
static getFieldByPath(xEntity: Entity, path: string): Field;
|
|
11
|
+
static hasPathToManyAssoc(xEntity: Entity, path: string): boolean;
|
|
12
|
+
static getFieldByPathStr(entity: string, path: string): Field;
|
|
13
|
+
static getAssocBase(xEntity: Entity, assocField: string): Assoc | undefined;
|
|
14
|
+
static getAssocToOneByPath(xEntity: Entity, path: string): Assoc;
|
|
15
|
+
static getAssocToManyByPath(xEntity: Entity, path: string): Assoc;
|
|
16
|
+
static getAssocByPath(xEntity: Entity, path: string, relationTypeList?: RelationType[]): Assoc;
|
|
17
|
+
static getLastAssocByPath(xEntity: Entity, path: string): Assoc;
|
|
18
|
+
static getAssocToOne(xEntity: Entity, assocField: string): Assoc;
|
|
19
|
+
static getAssocToMany(xEntity: Entity, assocField: string): Assoc;
|
|
20
|
+
static getAssocToOneByAssocEntity(xEntity: Entity, assocEntityName: string): Assoc;
|
|
21
|
+
static getAssocToManyByAssocEntity(xEntity: Entity, assocEntityName: string): Assoc;
|
|
22
|
+
static getEntityForAssocToOne(xEntity: Entity, assocField: string): Entity;
|
|
23
|
+
static getEntityForAssocToMany(xEntity: Entity, assocField: string): Entity;
|
|
24
|
+
static getFieldList(xEntity: Entity): Field[];
|
|
25
|
+
static getAssocList(xEntity: Entity, relationTypeList?: RelationType[]): Assoc[];
|
|
26
|
+
static getAssoc(xEntity: Entity, assocField: string, relationTypeList?: RelationType[]): Assoc;
|
|
27
|
+
private static getAssocByAssocEntity;
|
|
28
|
+
private static getEntityForAssoc;
|
|
29
|
+
}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import { UtilsCommon } from "./UtilsCommon.js";
|
|
2
|
+
export class UtilsMetadataCommon {
|
|
3
|
+
static entityMap;
|
|
4
|
+
static getEntityMap() {
|
|
5
|
+
return UtilsMetadataCommon.entityMap;
|
|
6
|
+
}
|
|
7
|
+
static setEntityMap(entityMap) {
|
|
8
|
+
UtilsMetadataCommon.entityMap = entityMap;
|
|
9
|
+
}
|
|
10
|
+
static getEntity(entity) {
|
|
11
|
+
if (!UtilsMetadataCommon.entityMap) {
|
|
12
|
+
throw `Unexpected error: UtilsMetadataCommon.entityMap not initialised. Call UtilsMetadataCommon.setEntityMap first.`;
|
|
13
|
+
}
|
|
14
|
+
const xEntity = UtilsMetadataCommon.entityMap[entity];
|
|
15
|
+
if (xEntity === undefined) {
|
|
16
|
+
throw `Entity ${entity} was not found in entity metadata`;
|
|
17
|
+
}
|
|
18
|
+
return xEntity;
|
|
19
|
+
}
|
|
20
|
+
static getFieldBase(xEntity, field) {
|
|
21
|
+
return xEntity.fieldMap[field];
|
|
22
|
+
}
|
|
23
|
+
static getField(xEntity, field) {
|
|
24
|
+
const xField = UtilsMetadataCommon.getFieldBase(xEntity, field);
|
|
25
|
+
if (xField === undefined) {
|
|
26
|
+
throw `Field ${field} was not found in entity ${xEntity.name}`;
|
|
27
|
+
}
|
|
28
|
+
return xField;
|
|
29
|
+
}
|
|
30
|
+
static getFieldByPathBase(xEntity, path) {
|
|
31
|
+
const [field, restPath] = UtilsCommon.getFieldAndRestPath(path);
|
|
32
|
+
if (restPath === null) {
|
|
33
|
+
return UtilsMetadataCommon.getFieldBase(xEntity, field);
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
const xAssoc = UtilsMetadataCommon.getAssocBase(xEntity, field);
|
|
37
|
+
if (xAssoc) {
|
|
38
|
+
const xAssocEntity = UtilsMetadataCommon.getEntity(xAssoc.entityName);
|
|
39
|
+
return UtilsMetadataCommon.getFieldByPathBase(xAssocEntity, restPath);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
static getFieldByPath(xEntity, path) {
|
|
47
|
+
const [field, restPath] = UtilsCommon.getFieldAndRestPath(path);
|
|
48
|
+
if (restPath === null) {
|
|
49
|
+
return UtilsMetadataCommon.getField(xEntity, field);
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
const xAssoc = UtilsMetadataCommon.getAssoc(xEntity, field);
|
|
53
|
+
const xAssocEntity = UtilsMetadataCommon.getEntity(xAssoc.entityName);
|
|
54
|
+
return UtilsMetadataCommon.getFieldByPath(xAssocEntity, restPath);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
static hasPathToManyAssoc(xEntity, path) {
|
|
58
|
+
const [field, restPath] = UtilsCommon.getFieldAndRestPath(path);
|
|
59
|
+
if (restPath === null) {
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
const xAssoc = UtilsMetadataCommon.getAssoc(xEntity, field);
|
|
64
|
+
if (xAssoc.relationType === "one-to-many" || xAssoc.relationType === "many-to-many") {
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
const xAssocEntity = UtilsMetadataCommon.getEntity(xAssoc.entityName);
|
|
69
|
+
return UtilsMetadataCommon.hasPathToManyAssoc(xAssocEntity, restPath);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
static getFieldByPathStr(entity, path) {
|
|
74
|
+
return UtilsMetadataCommon.getFieldByPath(UtilsMetadataCommon.getEntity(entity), path);
|
|
75
|
+
}
|
|
76
|
+
static getAssocBase(xEntity, assocField) {
|
|
77
|
+
return xEntity.assocMap[assocField];
|
|
78
|
+
}
|
|
79
|
+
static getAssocToOneByPath(xEntity, path) {
|
|
80
|
+
return UtilsMetadataCommon.getAssocByPath(xEntity, path, ["many-to-one", "one-to-one"]);
|
|
81
|
+
}
|
|
82
|
+
static getAssocToManyByPath(xEntity, path) {
|
|
83
|
+
return UtilsMetadataCommon.getAssocByPath(xEntity, path, ["one-to-many", "many-to-many"]);
|
|
84
|
+
}
|
|
85
|
+
static getAssocByPath(xEntity, path, relationTypeList) {
|
|
86
|
+
const [field, restPath] = UtilsCommon.getFieldAndRestPath(path);
|
|
87
|
+
if (restPath === null) {
|
|
88
|
+
return UtilsMetadataCommon.getAssoc(xEntity, field);
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
const xAssoc = UtilsMetadataCommon.getAssoc(xEntity, field, relationTypeList);
|
|
92
|
+
const xAssocEntity = UtilsMetadataCommon.getEntity(xAssoc.entityName);
|
|
93
|
+
return UtilsMetadataCommon.getAssocByPath(xAssocEntity, restPath, relationTypeList);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
static getLastAssocByPath(xEntity, path) {
|
|
97
|
+
const pathToAssoc = UtilsCommon.getPathToAssoc(path);
|
|
98
|
+
return UtilsMetadataCommon.getAssocByPath(xEntity, pathToAssoc);
|
|
99
|
+
}
|
|
100
|
+
static getAssocToOne(xEntity, assocField) {
|
|
101
|
+
return UtilsMetadataCommon.getAssoc(xEntity, assocField, ["many-to-one", "one-to-one"]);
|
|
102
|
+
}
|
|
103
|
+
static getAssocToMany(xEntity, assocField) {
|
|
104
|
+
return UtilsMetadataCommon.getAssoc(xEntity, assocField, ["one-to-many", "many-to-many"]);
|
|
105
|
+
}
|
|
106
|
+
static getAssocToOneByAssocEntity(xEntity, assocEntityName) {
|
|
107
|
+
return UtilsMetadataCommon.getAssocByAssocEntity(xEntity, assocEntityName, ["many-to-one", "one-to-one"]);
|
|
108
|
+
}
|
|
109
|
+
static getAssocToManyByAssocEntity(xEntity, assocEntityName) {
|
|
110
|
+
return UtilsMetadataCommon.getAssocByAssocEntity(xEntity, assocEntityName, ["one-to-many", "many-to-many"]);
|
|
111
|
+
}
|
|
112
|
+
static getEntityForAssocToOne(xEntity, assocField) {
|
|
113
|
+
return UtilsMetadataCommon.getEntityForAssoc(UtilsMetadataCommon.getAssocToOne(xEntity, assocField));
|
|
114
|
+
}
|
|
115
|
+
static getEntityForAssocToMany(xEntity, assocField) {
|
|
116
|
+
return UtilsMetadataCommon.getEntityForAssoc(UtilsMetadataCommon.getAssocToMany(xEntity, assocField));
|
|
117
|
+
}
|
|
118
|
+
static getFieldList(xEntity) {
|
|
119
|
+
const xFieldList = [];
|
|
120
|
+
for (const [key, xField] of Object.entries(xEntity.fieldMap)) {
|
|
121
|
+
if (xEntity.assocMap[xField.name] === undefined) {
|
|
122
|
+
xFieldList.push(xField);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return xFieldList;
|
|
126
|
+
}
|
|
127
|
+
static getAssocList(xEntity, relationTypeList) {
|
|
128
|
+
const xAssocList = [];
|
|
129
|
+
for (const [key, xAssoc] of Object.entries(xEntity.assocMap)) {
|
|
130
|
+
if (relationTypeList === undefined || relationTypeList.includes(xAssoc.relationType)) {
|
|
131
|
+
xAssocList.push(xAssoc);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return xAssocList;
|
|
135
|
+
}
|
|
136
|
+
static getAssoc(xEntity, assocField, relationTypeList) {
|
|
137
|
+
const xAssoc = UtilsMetadataCommon.getAssocBase(xEntity, assocField);
|
|
138
|
+
if (xAssoc === undefined) {
|
|
139
|
+
throw `Assoc ${assocField} was not found in entity = ${xEntity.name}`;
|
|
140
|
+
}
|
|
141
|
+
if (relationTypeList !== undefined && !relationTypeList.includes(xAssoc.relationType)) {
|
|
142
|
+
throw `Assoc ${assocField} in entity ${xEntity.name} is of type ${xAssoc.relationType} and required type is ${JSON.stringify(relationTypeList)}`;
|
|
143
|
+
}
|
|
144
|
+
return xAssoc;
|
|
145
|
+
}
|
|
146
|
+
static getAssocByAssocEntity(xEntity, assocEntityName, relationTypeList) {
|
|
147
|
+
let xAssocFound = undefined;
|
|
148
|
+
for (const [key, xAssoc] of Object.entries(xEntity.assocMap)) {
|
|
149
|
+
if (xAssoc.entityName === assocEntityName) {
|
|
150
|
+
if (xAssocFound === undefined) {
|
|
151
|
+
xAssocFound = xAssoc;
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
throw `In entity ${xEntity.name} found more then 1 assoc for assocEntityName = ${assocEntityName}`;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
if (xAssocFound === undefined) {
|
|
159
|
+
throw `Assoc for assocEntityName = ${assocEntityName} not found in entity ${xEntity.name}`;
|
|
160
|
+
}
|
|
161
|
+
if (relationTypeList !== undefined && !relationTypeList.includes(xAssocFound.relationType)) {
|
|
162
|
+
throw `Assoc for assocEntityName = ${assocEntityName} in entity ${xEntity.name} is of type ${xAssocFound.relationType} and required type is ${JSON.stringify(relationTypeList)}`;
|
|
163
|
+
}
|
|
164
|
+
return xAssocFound;
|
|
165
|
+
}
|
|
166
|
+
static getEntityForAssoc(xAssoc) {
|
|
167
|
+
return UtilsMetadataCommon.getEntity(xAssoc.entityName);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
//# sourceMappingURL=UtilsMetadataCommon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UtilsMetadataCommon.js","sourceRoot":"","sources":["../../src/common/UtilsMetadataCommon.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { User } from "../modules/administration/user.entity.js";
|
|
2
|
+
export interface LocalAuthLoginRequest {
|
|
3
|
+
username: string;
|
|
4
|
+
password: string;
|
|
5
|
+
}
|
|
6
|
+
export interface LocalAuthLoginResponse {
|
|
7
|
+
accessToken: string;
|
|
8
|
+
}
|
|
9
|
+
export interface PostLoginRequest {
|
|
10
|
+
username?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface PostLoginResponse {
|
|
13
|
+
user?: User;
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-api.js","sourceRoot":"","sources":["../../src/common/auth-api.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export * from "./auth-api.js";
|
|
2
|
+
export * from "./EntityMetadata.js";
|
|
3
|
+
export * from "./ExportImportParam.js";
|
|
4
|
+
export * from "./FindParam.js";
|
|
5
|
+
export * from "./FindResult.js";
|
|
6
|
+
export * from "./lib-api.js";
|
|
7
|
+
export * from "./types.js";
|
|
8
|
+
export * from "./UtilsCommon.js";
|
|
9
|
+
export * from "./UtilsConversions.js";
|
|
10
|
+
export * from "./UtilsMetadataCommon.js";
|
|
11
|
+
export * from "./PrimeFilterSortMeta.js";
|
|
12
|
+
export type { Params as XParams } from "./UtilsCommon.js";
|
|
13
|
+
export { UtilsCommon as XUtilsCommon } from "./UtilsCommon.js";
|
|
14
|
+
export { UtilsMetadataCommon as XUtilsMetadataCommon } from "./UtilsMetadataCommon.js";
|
|
15
|
+
export type { DateScale as XDateScale, AsUIType as XAsUIType } from "./UtilsConversions.js";
|
|
16
|
+
export type { ResultType as XResultType, CustomFilterItem as XCustomFilterItem, CustomFilter as XCustomFilter, ExtendedFilterMatchMode as XFilterMatchMode, ExtendedDataTableFilterMetaData as XDataTableFilterMetaData, ExtendedDataTableFilterMeta as XDataTableFilterMeta, FullTextSearch as XFullTextSearch, AggregateFunction as XAggregateFunction, SimpleAggregateItem as XSimpleAggregateItem, FindParam as XFindParam, LazyAutoCompleteSuggestionsRequest as XLazyAutoCompleteSuggestionsRequest } from "./FindParam.js";
|
|
17
|
+
export type { AggregateValues as XAggregateValues, FindResult as XFindResult } from "./FindResult.js";
|
|
18
|
+
export type { ExportType as XExportType, ExportExcelParam as XExportExcelParam, ExportCsvParam as XExportCsvParam, ExportJsonParam as XExportJsonParam, LazyDataTableQueryParam as XLazyDataTableQueryParam, ExcelCsvParam as XExcelCsvParam, MultilineExportType as XMultilineExportType, CsvParam as XCsvParam, CsvSeparator as XCsvSeparator, CsvDecimalFormat as XCsvDecimalFormat, CsvEncoding as XCsvEncoding, ImportType as XImportType, ImportParam as XImportParam, ImportResponse as XImportResponse } from "./ExportImportParam.js";
|
|
19
|
+
export type { GetSequenceValueRequest as XGetSequenceValueRequest, GetSequenceValueResponse as XGetSequenceValueResponse, FindRowByIdRequest as XFindRowByIdRequest, FindRowByIdResponse as XFindRowByIdResponse, UnlockRowRequest as XUnlockRowRequest, RunDocTemplateRequest as XtRunDocTemplateRequest, FileJsonField as XFileJsonField } from "./lib-api.js";
|
|
20
|
+
export type { LocalAuthLoginRequest as XLocalAuthLoginRequest, LocalAuthLoginResponse as XLocalAuthLoginResponse, PostLoginRequest as XPostLoginRequest, PostLoginResponse as XPostLoginResponse } from "./auth-api.js";
|
|
21
|
+
export type { EntityRow as XObject } from "./types.js";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export * from "./auth-api.js";
|
|
2
|
+
export * from "./EntityMetadata.js";
|
|
3
|
+
export * from "./ExportImportParam.js";
|
|
4
|
+
export * from "./FindParam.js";
|
|
5
|
+
export * from "./FindResult.js";
|
|
6
|
+
export * from "./lib-api.js";
|
|
7
|
+
export * from "./types.js";
|
|
8
|
+
export * from "./UtilsCommon.js";
|
|
9
|
+
export * from "./UtilsConversions.js";
|
|
10
|
+
export * from "./UtilsMetadataCommon.js";
|
|
11
|
+
export * from "./PrimeFilterSortMeta.js";
|
|
12
|
+
export { UtilsCommon as XUtilsCommon } from "./UtilsCommon.js";
|
|
13
|
+
export { UtilsMetadataCommon as XUtilsMetadataCommon } from "./UtilsMetadataCommon.js";
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AACA,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AAOzC,OAAO,EACH,WAAW,IAAI,YAAY,EAC9B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACH,mBAAmB,IAAI,oBAAoB,EAC9C,MAAM,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { User } from "../modules/administration/user.entity.js";
|
|
2
|
+
export interface GetSequenceValueRequest {
|
|
3
|
+
name: string;
|
|
4
|
+
}
|
|
5
|
+
export interface GetSequenceValueResponse {
|
|
6
|
+
value: number;
|
|
7
|
+
}
|
|
8
|
+
export interface FindRowByIdRequest {
|
|
9
|
+
entity: string;
|
|
10
|
+
fields: string[];
|
|
11
|
+
id: number;
|
|
12
|
+
lockDate?: Date;
|
|
13
|
+
lockUser?: User;
|
|
14
|
+
overwriteLock?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface FindRowByIdResponse {
|
|
17
|
+
row: any;
|
|
18
|
+
lockAcquired?: boolean;
|
|
19
|
+
}
|
|
20
|
+
export interface UnlockRowRequest {
|
|
21
|
+
entity: string;
|
|
22
|
+
id: number;
|
|
23
|
+
lockDate: Date;
|
|
24
|
+
lockUser: User;
|
|
25
|
+
}
|
|
26
|
+
export interface RunDocTemplateRequest {
|
|
27
|
+
docTemplateId: number;
|
|
28
|
+
rowId: number;
|
|
29
|
+
user?: User;
|
|
30
|
+
}
|
|
31
|
+
export interface FileJsonField {
|
|
32
|
+
filename: string;
|
|
33
|
+
subdir?: string;
|
|
34
|
+
modifDate: Date;
|
|
35
|
+
modifUser: number;
|
|
36
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lib-api.js","sourceRoot":"","sources":["../../src/common/lib-api.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/common/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export const localeEn = {
|
|
2
|
+
"en": {
|
|
3
|
+
"pessimisticLockFailedLockPresent": "The pessimistic lock failed - (probably) user {lockUser} took over the lock (from {lockDate}) and is editing the row right now. Sorry, you have to cancel the editation and start the editation again.",
|
|
4
|
+
"pessimisticLockFailedLockFinished": "The pessimistic lock failed - someone took over the lock and saved the row. The row was last modified by user {modifUser} at {modifDate}. Sorry, you have to cancel the editation and start the editation again.",
|
|
5
|
+
}
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=x-en.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"x-en.js","sourceRoot":"","sources":["../../src/locale/x-en.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,QAAQ,GACrB;IACE,IAAI,EAAE;QACJ,kCAAkC,EAAE,wMAAwM;QAC5O,mCAAmC,EAAE,kNAAkN;KACxP;CACF,CAAA"}
|
package/lib/{administration/x-browse-meta.entity.js → modules/administration/browse-meta.entity.js}
RENAMED
|
@@ -8,7 +8,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
10
|
import { Column, Entity, OneToMany, PrimaryGeneratedColumn } from "typeorm";
|
|
11
|
-
let
|
|
11
|
+
let BrowseMeta = class BrowseMeta {
|
|
12
12
|
id;
|
|
13
13
|
entity;
|
|
14
14
|
browseId;
|
|
@@ -18,25 +18,25 @@ let XBrowseMeta = class XBrowseMeta {
|
|
|
18
18
|
__decorate([
|
|
19
19
|
PrimaryGeneratedColumn(),
|
|
20
20
|
__metadata("design:type", Number)
|
|
21
|
-
],
|
|
21
|
+
], BrowseMeta.prototype, "id", void 0);
|
|
22
22
|
__decorate([
|
|
23
23
|
Column({ length: 64, nullable: false }),
|
|
24
24
|
__metadata("design:type", String)
|
|
25
|
-
],
|
|
25
|
+
], BrowseMeta.prototype, "entity", void 0);
|
|
26
26
|
__decorate([
|
|
27
27
|
Column({ name: 'browse_id', length: 64, nullable: true }),
|
|
28
28
|
__metadata("design:type", String)
|
|
29
|
-
],
|
|
29
|
+
], BrowseMeta.prototype, "browseId", void 0);
|
|
30
30
|
__decorate([
|
|
31
31
|
Column({ width: 6, nullable: true }),
|
|
32
32
|
__metadata("design:type", Number)
|
|
33
|
-
],
|
|
33
|
+
], BrowseMeta.prototype, "rows", void 0);
|
|
34
34
|
__decorate([
|
|
35
|
-
OneToMany('
|
|
35
|
+
OneToMany('ColumnMeta', 'browseMeta', { cascade: ["insert", "update", "remove"] }),
|
|
36
36
|
__metadata("design:type", Array)
|
|
37
|
-
],
|
|
38
|
-
|
|
37
|
+
], BrowseMeta.prototype, "columnMetaList", void 0);
|
|
38
|
+
BrowseMeta = __decorate([
|
|
39
39
|
Entity('x_browse_meta')
|
|
40
|
-
],
|
|
41
|
-
export {
|
|
42
|
-
//# sourceMappingURL=
|
|
40
|
+
], BrowseMeta);
|
|
41
|
+
export { BrowseMeta };
|
|
42
|
+
//# sourceMappingURL=browse-meta.entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browse-meta.entity.js","sourceRoot":"","sources":["../../../src/modules/administration/browse-meta.entity.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,sBAAsB,EAAC,MAAM,SAAS,CAAC;AAInE,IAAM,UAAU,GAAhB,MAAM,UAAU;IAGnB,EAAE,CAAS;IAGX,MAAM,CAAS;IAGf,QAAQ,CAAgB;IAGxB,IAAI,CAAgB;IAGpB,cAAc,CAAe;CAChC,CAAA;AAbG;IADC,sBAAsB,EAAE;;sCACd;AAGX;IADC,MAAM,CAAC,EAAC,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAC,CAAC;;0CACvB;AAGf;IADC,MAAM,CAAC,EAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;;4CAChC;AAGxB;IADC,MAAM,CAAC,EAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;;wCACf;AAGpB;IADC,SAAS,CAAC,YAAY,EAAE,YAAY,EAAE,EAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAC,CAAC;;kDACpD;AAfpB,UAAU;IADtB,MAAM,CAAC,eAAe,CAAC;GACX,UAAU,CAgBtB"}
|