@chilibase/backend 0.1.1 → 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/auth.module.d.ts +2 -0
- package/lib/auth/auth.module.js +22 -7
- package/lib/auth/auth.module.js.map +1 -1
- package/lib/auth/jwt.strategy.js +13 -0
- package/lib/auth/jwt.strategy.js.map +1 -1
- package/lib/auth/local-auth.guard.d.ts +4 -0
- package/lib/auth/local-auth.guard.js +15 -0
- package/lib/auth/local-auth.guard.js.map +1 -0
- package/lib/auth/local-auth.service.d.ts +17 -0
- package/lib/auth/local-auth.service.js +65 -0
- package/lib/auth/local-auth.service.js.map +1 -0
- package/lib/auth/local.strategy.d.ts +11 -0
- package/lib/auth/local.strategy.js +33 -0
- package/lib/auth/local.strategy.js.map +1 -0
- 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/XEnvVars.d.ts +1 -0
- package/lib/services/XEnvVars.js +1 -0
- package/lib/services/XEnvVars.js.map +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 -4
- package/lib/services/XUtils.js +7 -1
- 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 +23 -15
- package/lib/services/x-lib.controller.js +43 -4
- package/lib/services/x-lib.controller.js.map +1 -1
- package/lib/services/x-lib.module.js +2 -1
- package/lib/services/x-lib.module.js.map +1 -1
- package/lib/services/x-lib.service.d.ts +16 -8
- package/lib/services/x-lib.service.js +69 -7
- 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 +15 -16
- 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/XPostLoginIfc.d.ts +0 -7
- package/lib/serverApi/XPostLoginIfc.js +0 -2
- package/lib/serverApi/XPostLoginIfc.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/XUserAuthenticationIfc.d.ts +0 -9
- package/lib/serverApi/XUserAuthenticationIfc.js +0 -2
- package/lib/serverApi/XUserAuthenticationIfc.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-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,16 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { AsUIType, convertValue, dateAsYYYY_MM_DD, dateFormat, datetimeFormat } from "./
|
|
3
|
-
export class
|
|
1
|
+
import { UtilsMetadataCommon } from "./UtilsMetadataCommon.js";
|
|
2
|
+
import { AsUIType, convertValue, dateAsYYYY_MM_DD, dateFormat, datetimeFormat } from "./UtilsConversions.js";
|
|
3
|
+
export class UtilsCommon {
|
|
4
4
|
static newLine = '\n';
|
|
5
5
|
static getValueByPath(object, path) {
|
|
6
|
-
const [field, restPath] =
|
|
6
|
+
const [field, restPath] = UtilsCommon.getFieldAndRestPath(path);
|
|
7
7
|
if (restPath === null) {
|
|
8
8
|
return object[field];
|
|
9
9
|
}
|
|
10
10
|
else {
|
|
11
11
|
const assocObject = object[field];
|
|
12
12
|
if (assocObject !== null && assocObject !== undefined) {
|
|
13
|
-
return
|
|
13
|
+
return UtilsCommon.getValueByPath(assocObject, restPath);
|
|
14
14
|
}
|
|
15
15
|
else {
|
|
16
16
|
return null;
|
|
@@ -18,7 +18,7 @@ export class XUtilsCommon {
|
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
static getValueOrValueListByPath(object, path) {
|
|
21
|
-
const [field, restPath] =
|
|
21
|
+
const [field, restPath] = UtilsCommon.getFieldAndRestPath(path);
|
|
22
22
|
if (restPath === null) {
|
|
23
23
|
return object[field];
|
|
24
24
|
}
|
|
@@ -28,7 +28,7 @@ export class XUtilsCommon {
|
|
|
28
28
|
const resultValueList = [];
|
|
29
29
|
for (const assocObjectItem of assocObject) {
|
|
30
30
|
if (assocObjectItem !== null && assocObjectItem !== undefined) {
|
|
31
|
-
const itemValue =
|
|
31
|
+
const itemValue = UtilsCommon.getValueOrValueListByPath(assocObjectItem, restPath);
|
|
32
32
|
if (Array.isArray(itemValue)) {
|
|
33
33
|
resultValueList.push(...itemValue);
|
|
34
34
|
}
|
|
@@ -44,7 +44,7 @@ export class XUtilsCommon {
|
|
|
44
44
|
}
|
|
45
45
|
else {
|
|
46
46
|
if (assocObject !== null && assocObject !== undefined) {
|
|
47
|
-
return
|
|
47
|
+
return UtilsCommon.getValueOrValueListByPath(assocObject, restPath);
|
|
48
48
|
}
|
|
49
49
|
else {
|
|
50
50
|
return null;
|
|
@@ -53,11 +53,11 @@ export class XUtilsCommon {
|
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
static setValueByPath(object, path, value) {
|
|
56
|
-
const [pathToAssoc, field] =
|
|
56
|
+
const [pathToAssoc, field] = UtilsCommon.getPathToAssocAndField(path);
|
|
57
57
|
if (pathToAssoc !== null) {
|
|
58
|
-
const assocObject =
|
|
58
|
+
const assocObject = UtilsCommon.getValueByPath(object, pathToAssoc);
|
|
59
59
|
if (assocObject === null || assocObject === undefined || typeof assocObject !== 'object') {
|
|
60
|
-
console.log(`
|
|
60
|
+
console.log(`UtilsCommon.setValueByPath: could not set value ${value} into object property ${path}. Assoc object not found (found value: ${assocObject}). Main object:`);
|
|
61
61
|
console.log(object);
|
|
62
62
|
throw `setValueByPath: could not set value ${value} into object property ${path}. Assoc object not found. The main object can be seen in log.`;
|
|
63
63
|
}
|
|
@@ -114,7 +114,7 @@ export class XUtilsCommon {
|
|
|
114
114
|
static createDisplayValue(object, xEntity, fields) {
|
|
115
115
|
let displayValue = "";
|
|
116
116
|
for (const field of fields) {
|
|
117
|
-
const valueStr =
|
|
117
|
+
const valueStr = UtilsCommon.createDisplayValueForField(object, xEntity, field);
|
|
118
118
|
if (valueStr !== "") {
|
|
119
119
|
if (displayValue !== "") {
|
|
120
120
|
displayValue += " ";
|
|
@@ -125,17 +125,17 @@ export class XUtilsCommon {
|
|
|
125
125
|
return displayValue;
|
|
126
126
|
}
|
|
127
127
|
static createDisplayValueForField(object, xEntity, field) {
|
|
128
|
-
const [prefix, fieldOnly] =
|
|
128
|
+
const [prefix, fieldOnly] = UtilsCommon.getPrefixAndField(field);
|
|
129
129
|
let xField = undefined;
|
|
130
130
|
if (xEntity) {
|
|
131
|
-
xField =
|
|
131
|
+
xField = UtilsMetadataCommon.getFieldByPath(xEntity, fieldOnly);
|
|
132
132
|
}
|
|
133
133
|
let displayValue;
|
|
134
|
-
const valueOrValueList =
|
|
134
|
+
const valueOrValueList = UtilsCommon.getValueOrValueListByPath(object, fieldOnly);
|
|
135
135
|
if (Array.isArray(valueOrValueList)) {
|
|
136
136
|
displayValue = "";
|
|
137
137
|
for (const value of valueOrValueList) {
|
|
138
|
-
const valueAsUI =
|
|
138
|
+
const valueAsUI = UtilsCommon.displayValueAsUI(prefix, value, xField);
|
|
139
139
|
if (valueAsUI !== "") {
|
|
140
140
|
if (displayValue !== "") {
|
|
141
141
|
displayValue += " ";
|
|
@@ -145,7 +145,7 @@ export class XUtilsCommon {
|
|
|
145
145
|
}
|
|
146
146
|
}
|
|
147
147
|
else {
|
|
148
|
-
displayValue =
|
|
148
|
+
displayValue = UtilsCommon.displayValueAsUI(prefix, valueOrValueList, xField);
|
|
149
149
|
}
|
|
150
150
|
return displayValue;
|
|
151
151
|
}
|
|
@@ -237,6 +237,25 @@ export class XUtilsCommon {
|
|
|
237
237
|
}
|
|
238
238
|
return array1.filter((item) => item && array2IdSet.has(item[idField]));
|
|
239
239
|
}
|
|
240
|
+
static numberArraySymmetricDiff(idListA, idListB) {
|
|
241
|
+
const setA = new Set(idListA);
|
|
242
|
+
const setB = new Set(idListB);
|
|
243
|
+
const result = [];
|
|
244
|
+
for (const id of setA) {
|
|
245
|
+
if (!setB.has(id)) {
|
|
246
|
+
result.push(id);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
for (const id of setB) {
|
|
250
|
+
if (!setA.has(id)) {
|
|
251
|
+
result.push(id);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
return result;
|
|
255
|
+
}
|
|
256
|
+
static numberArrayUnion(idListA, idListB) {
|
|
257
|
+
return Array.from(new Set([...idListA, ...idListB]));
|
|
258
|
+
}
|
|
240
259
|
static createCustomFilter(filter) {
|
|
241
260
|
let customFilterItem = undefined;
|
|
242
261
|
if (filter) {
|
|
@@ -281,7 +300,7 @@ export class XUtilsCommon {
|
|
|
281
300
|
if (filters.length > 0) {
|
|
282
301
|
customFilterItemsResult = [];
|
|
283
302
|
for (const filter of filters) {
|
|
284
|
-
const customFilterItems =
|
|
303
|
+
const customFilterItems = UtilsCommon.createCustomFilterItems(filter);
|
|
285
304
|
if (customFilterItems) {
|
|
286
305
|
customFilterItemsResult.push(...customFilterItems);
|
|
287
306
|
}
|
|
@@ -293,7 +312,7 @@ export class XUtilsCommon {
|
|
|
293
312
|
return { where: `[${idField}] IN (:...idList)`, params: { "idList": idList.length > 0 ? idList : [0] } };
|
|
294
313
|
}
|
|
295
314
|
static createPathFieldExp(pathFieldOrPathFieldExp) {
|
|
296
|
-
if (
|
|
315
|
+
if (UtilsCommon.isPathField(pathFieldOrPathFieldExp)) {
|
|
297
316
|
pathFieldOrPathFieldExp = `[${pathFieldOrPathFieldExp}]`;
|
|
298
317
|
}
|
|
299
318
|
return pathFieldOrPathFieldExp;
|
|
@@ -327,12 +346,12 @@ export class XUtilsCommon {
|
|
|
327
346
|
result = true;
|
|
328
347
|
}
|
|
329
348
|
else if (date1 !== null && date2 !== null) {
|
|
330
|
-
result = (
|
|
349
|
+
result = (UtilsCommon.dateCompare(date1, date2) === 0);
|
|
331
350
|
}
|
|
332
351
|
return result;
|
|
333
352
|
}
|
|
334
353
|
static dateIntersect(date1From, date1To, date2From, date2To) {
|
|
335
|
-
return
|
|
354
|
+
return UtilsCommon.dateCompare(date1From, date2To) <= 0 && UtilsCommon.dateCompare(date2From, date1To) <= 0;
|
|
336
355
|
}
|
|
337
356
|
static dateCompare(date1, date2) {
|
|
338
357
|
const dateOnly1 = new Date(date1.getFullYear(), date1.getMonth(), date1.getDate());
|
|
@@ -392,7 +411,7 @@ export class XUtilsCommon {
|
|
|
392
411
|
return new Date(dateAsYYYY_MM_DD(new Date()));
|
|
393
412
|
}
|
|
394
413
|
static currentMonth() {
|
|
395
|
-
return
|
|
414
|
+
return UtilsCommon.dateAsMonth(UtilsCommon.today());
|
|
396
415
|
}
|
|
397
416
|
static dateAsMonth(date) {
|
|
398
417
|
let month = null;
|
|
@@ -406,4 +425,4 @@ export class XUtilsCommon {
|
|
|
406
425
|
return /^[-+]?\d+$/.test(stringValue);
|
|
407
426
|
}
|
|
408
427
|
}
|
|
409
|
-
//# sourceMappingURL=
|
|
428
|
+
//# sourceMappingURL=UtilsCommon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UtilsCommon.js","sourceRoot":"","sources":["../../src/common/UtilsCommon.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Field } from "./EntityMetadata.js";
|
|
2
2
|
import { IPostgresInterval } from "postgres-interval";
|
|
3
3
|
export declare function stringFromUI(stringValue: string): string | null;
|
|
4
4
|
export declare function stringAsUI(value: string | null): string;
|
|
@@ -7,22 +7,22 @@ export declare function intFromUI(stringValue: string): number | null | undefine
|
|
|
7
7
|
export declare function numberAsUI(value: number | null, fractionDigits?: number): string;
|
|
8
8
|
export declare function numberFromModel(value: any): number | null;
|
|
9
9
|
export declare function numberFromString(valueString: string): number | null;
|
|
10
|
-
export declare enum
|
|
10
|
+
export declare enum DateScale {
|
|
11
11
|
Date = 1,
|
|
12
12
|
Month = 2,
|
|
13
13
|
Year = 3
|
|
14
14
|
}
|
|
15
15
|
export declare function dateFromModel(value: any): Date | null;
|
|
16
|
-
export declare function dateFromUI(valueString: string, dateScale?:
|
|
17
|
-
export declare function dateAsUI(value: Date | null, dateScale?:
|
|
16
|
+
export declare function dateFromUI(valueString: string, dateScale?: DateScale): Date | null | undefined;
|
|
17
|
+
export declare function dateAsUI(value: Date | null, dateScale?: DateScale): string;
|
|
18
18
|
export declare function dateAsYYYY_MM_DD(date: Date): string;
|
|
19
19
|
export declare function dateAsDB(date: Date | null): string;
|
|
20
20
|
export declare function dateFormat(date: Date, format: string): string;
|
|
21
21
|
export declare function datetimeAsUI(value: Date | null): string;
|
|
22
22
|
export declare function datetimeFormat(date: Date, format: string): string;
|
|
23
23
|
export declare function timeFromModel(value: any): Date | null;
|
|
24
|
-
export declare function dateFormatUI(dateScale?:
|
|
25
|
-
export declare function dateFormatCalendar(dateScale?:
|
|
24
|
+
export declare function dateFormatUI(dateScale?: DateScale): string;
|
|
25
|
+
export declare function dateFormatCalendar(dateScale?: DateScale): string;
|
|
26
26
|
export declare function datetimeFormatUI(): string;
|
|
27
27
|
export declare function intervalFromUI(valueString: string): IPostgresInterval | null | undefined;
|
|
28
28
|
export declare function intervalAsUI(valueInterval: IPostgresInterval | null): string;
|
|
@@ -33,5 +33,5 @@ export declare enum AsUIType {
|
|
|
33
33
|
Excel = 3
|
|
34
34
|
}
|
|
35
35
|
export declare function convertObject(entity: string, object: any, fromModel: boolean, asUI: AsUIType | undefined): void;
|
|
36
|
-
export declare function convertValue(xField:
|
|
36
|
+
export declare function convertValue(xField: Field, value: any, fromModel: boolean, asUI: AsUIType | undefined): any;
|
|
37
37
|
export declare function convertValueBase(fieldType: string, scale: number | undefined, value: any, fromModel: boolean, asUI: AsUIType | undefined): any;
|
|
@@ -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
|
+
}
|