prostgles-server 2.0.295 → 2.0.297
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/dist/DBSchemaBuilder.d.ts.map +1 -1
- package/dist/DBSchemaBuilder.js +3 -2
- package/dist/DBSchemaBuilder.js.map +1 -1
- package/dist/DboBuilder.d.ts.map +1 -1
- package/dist/DboBuilder.js +52 -48
- package/dist/DboBuilder.js.map +1 -1
- package/dist/PublishParser.d.ts +1 -1
- package/dist/PublishParser.d.ts.map +1 -1
- package/dist/TableConfig.d.ts +1 -1
- package/dist/TableConfig.d.ts.map +1 -1
- package/dist/TableConfig.js +12 -9
- package/dist/TableConfig.js.map +1 -1
- package/lib/DBSchemaBuilder.d.ts.map +1 -1
- package/lib/DBSchemaBuilder.js +3 -2
- package/lib/DBSchemaBuilder.ts +3 -3
- package/lib/DboBuilder.d.ts.map +1 -1
- package/lib/DboBuilder.js +52 -48
- package/lib/DboBuilder.ts +61 -53
- package/lib/PublishParser.d.ts +1 -1
- package/lib/PublishParser.d.ts.map +1 -1
- package/lib/PublishParser.ts +1 -1
- package/lib/TableConfig.d.ts +1 -1
- package/lib/TableConfig.d.ts.map +1 -1
- package/lib/TableConfig.js +12 -9
- package/lib/TableConfig.ts +14 -11
- package/package.json +1 -1
- package/tests/client/PID.txt +1 -1
- package/tests/server/package-lock.json +1 -1
package/lib/PublishParser.ts
CHANGED
|
@@ -214,7 +214,7 @@ export type UpdateRule<Cols extends AnyObject = AnyObject, S = void> = {
|
|
|
214
214
|
* Specify in decreasing order of specificity otherwise a more general filter will match first
|
|
215
215
|
*/
|
|
216
216
|
dynamicFields?: {
|
|
217
|
-
filter:
|
|
217
|
+
filter: FullFilter<Cols, S>;
|
|
218
218
|
fields: SelectRule<Cols>["fields"]
|
|
219
219
|
}[];
|
|
220
220
|
|
package/lib/TableConfig.d.ts
CHANGED
|
@@ -143,7 +143,7 @@ declare type OneOf = {
|
|
|
143
143
|
};
|
|
144
144
|
declare type ColumnConfig<LANG_IDS = {
|
|
145
145
|
en: 1;
|
|
146
|
-
}> = StrictUnion<NamedJoinColumn | MediaColumn | (BaseColumn<LANG_IDS> & (SQLDefColumn | ReferencedColumn | TextColumn | JSONBColumnDef | OneOf))>;
|
|
146
|
+
}> = string | StrictUnion<NamedJoinColumn | MediaColumn | (BaseColumn<LANG_IDS> & (SQLDefColumn | ReferencedColumn | TextColumn | JSONBColumnDef | OneOf))>;
|
|
147
147
|
declare type UnionKeys<T> = T extends T ? keyof T : never;
|
|
148
148
|
declare type StrictUnionHelper<T, TAll> = T extends any ? T & Partial<Record<Exclude<UnionKeys<TAll>, keyof T>, never>> : never;
|
|
149
149
|
declare type StrictUnion<T> = StrictUnionHelper<T, T>;
|
package/lib/TableConfig.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableConfig.d.ts","sourceRoot":"","sources":["TableConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,SAAS,EAAE,SAAS,EAAG,iBAAiB,EAAE,oBAAoB,
|
|
1
|
+
{"version":3,"file":"TableConfig.d.ts","sourceRoot":"","sources":["TableConfig.ts"],"names":[],"mappings":"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"}
|
package/lib/TableConfig.js
CHANGED
|
@@ -41,7 +41,7 @@ class TableConfigurator {
|
|
|
41
41
|
const colConf = this.getColumnConfig(params.table, params.col);
|
|
42
42
|
let result = undefined;
|
|
43
43
|
if (colConf) {
|
|
44
|
-
if ("info" in colConf) {
|
|
44
|
+
if ((0, prostgles_types_1.isObject)(colConf) && "info" in colConf) {
|
|
45
45
|
result = {
|
|
46
46
|
...(result ?? {}),
|
|
47
47
|
...colConf?.info
|
|
@@ -50,7 +50,7 @@ class TableConfigurator {
|
|
|
50
50
|
/**
|
|
51
51
|
* Get labels from TableConfig if specified
|
|
52
52
|
*/
|
|
53
|
-
if (colConf.label) {
|
|
53
|
+
if ((0, prostgles_types_1.isObject)(colConf) && colConf.label) {
|
|
54
54
|
const { lang } = params;
|
|
55
55
|
const lbl = colConf?.label;
|
|
56
56
|
if (["string", "object"].includes(typeof lbl)) {
|
|
@@ -86,7 +86,7 @@ class TableConfigurator {
|
|
|
86
86
|
const td = this.config[sourceTable];
|
|
87
87
|
if ("columns" in td && td.columns?.[targetTable]) {
|
|
88
88
|
const cd = td.columns[targetTable];
|
|
89
|
-
if ("joinDef" in cd) {
|
|
89
|
+
if ((0, prostgles_types_1.isObject)(cd) && "joinDef" in cd) {
|
|
90
90
|
if (!cd.joinDef)
|
|
91
91
|
throw "cd.joinDef missing";
|
|
92
92
|
const { joinDef } = cd;
|
|
@@ -169,14 +169,14 @@ class TableConfigurator {
|
|
|
169
169
|
const { nullable, defaultValue } = colConf;
|
|
170
170
|
return `${pgType} ${!nullable ? " NOT NULL " : ""} ${defaultValue ? ` DEFAULT ${(0, PubSubManager_1.asValue)(defaultValue)} ` : ""}`;
|
|
171
171
|
};
|
|
172
|
-
if ("references" in colConf && colConf.references) {
|
|
172
|
+
if ((0, prostgles_types_1.isObject)(colConf) && "references" in colConf && colConf.references) {
|
|
173
173
|
const { tableName: lookupTable, columnName: lookupCol = "id" } = colConf.references;
|
|
174
174
|
return ` ${colNameEsc} ${getColTypeDef(colConf.references, "TEXT")} REFERENCES ${lookupTable} (${lookupCol}) `;
|
|
175
175
|
}
|
|
176
|
-
else if ("sqlDefinition" in colConf && colConf.sqlDefinition) {
|
|
177
|
-
return ` ${colNameEsc} ${colConf.sqlDefinition} `;
|
|
176
|
+
else if (typeof colConf === "string" || "sqlDefinition" in colConf && colConf.sqlDefinition) {
|
|
177
|
+
return ` ${colNameEsc} ${typeof colConf === "string" ? colConf : colConf.sqlDefinition} `;
|
|
178
178
|
}
|
|
179
|
-
else if ("isText" in colConf && colConf.isText) {
|
|
179
|
+
else if ((0, prostgles_types_1.isObject)(colConf) && "isText" in colConf && colConf.isText) {
|
|
180
180
|
let checks = "", cArr = [];
|
|
181
181
|
if (colConf.lowerCased) {
|
|
182
182
|
cArr.push(`${colNameEsc} = LOWER(${colNameEsc})`);
|
|
@@ -218,7 +218,10 @@ class TableConfigurator {
|
|
|
218
218
|
const colCreateLines = [];
|
|
219
219
|
const tableHandler = this.dbo[tableName];
|
|
220
220
|
if (tableConf.columns) {
|
|
221
|
-
(0, prostgles_types_1.getKeys)(tableConf.columns).filter(c =>
|
|
221
|
+
(0, prostgles_types_1.getKeys)(tableConf.columns).filter(c => {
|
|
222
|
+
const colDef = tableConf.columns[c];
|
|
223
|
+
return typeof colDef === "string" || !("joinDef" in colDef);
|
|
224
|
+
}).map(colName => {
|
|
222
225
|
const colConf = tableConf.columns[colName];
|
|
223
226
|
/* Add columns to create statement */
|
|
224
227
|
if (!tableHandler) {
|
|
@@ -229,7 +232,7 @@ class TableConfigurator {
|
|
|
229
232
|
ALTER TABLE ${(0, prostgles_types_1.asName)(tableName)}
|
|
230
233
|
ADD COLUMN ${getColDef(colName, colConf)};
|
|
231
234
|
`);
|
|
232
|
-
if ("references" in colConf && colConf.references) {
|
|
235
|
+
if ((0, prostgles_types_1.isObject)(colConf) && "references" in colConf && colConf.references) {
|
|
233
236
|
const { tableName: lookupTable, } = colConf.references;
|
|
234
237
|
console.log(`TableConfigurator: ${tableName}(${colName})` + " referenced lookup table " + lookupTable);
|
|
235
238
|
}
|
package/lib/TableConfig.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getKeys, asName, AnyObject, TableInfo, ALLOWED_EXTENSION, ALLOWED_CONTENT_TYPE } from "prostgles-types";
|
|
1
|
+
import { getKeys, asName, AnyObject, TableInfo, ALLOWED_EXTENSION, ALLOWED_CONTENT_TYPE, isObject } from "prostgles-types";
|
|
2
2
|
import { isPlainObject, JoinInfo } from "./DboBuilder";
|
|
3
3
|
import { DB, DBHandlerServer, Joins, Prostgles } from "./Prostgles";
|
|
4
4
|
import { asValue } from "./PubSubManager";
|
|
@@ -185,7 +185,7 @@ type OneOf = {
|
|
|
185
185
|
defaultValue?: OneOf["oneOf"][number];
|
|
186
186
|
};
|
|
187
187
|
|
|
188
|
-
type ColumnConfig<LANG_IDS = { en: 1 }> = StrictUnion<NamedJoinColumn | MediaColumn | (BaseColumn<LANG_IDS> & (SQLDefColumn | ReferencedColumn | TextColumn | JSONBColumnDef | OneOf))>
|
|
188
|
+
type ColumnConfig<LANG_IDS = { en: 1 }> = string | StrictUnion<NamedJoinColumn | MediaColumn | (BaseColumn<LANG_IDS> & (SQLDefColumn | ReferencedColumn | TextColumn | JSONBColumnDef | OneOf))>
|
|
189
189
|
|
|
190
190
|
type UnionKeys<T> = T extends T ? keyof T : never;
|
|
191
191
|
type StrictUnionHelper<T, TAll> = T extends any ? T & Partial<Record<Exclude<UnionKeys<TAll>, keyof T>, never>> : never;
|
|
@@ -293,7 +293,7 @@ export default class TableConfigurator<LANG_IDS = { en: 1 }> {
|
|
|
293
293
|
let result: (ColExtraInfo & { label?: string }) | undefined = undefined;
|
|
294
294
|
if (colConf) {
|
|
295
295
|
|
|
296
|
-
if ("info" in colConf) {
|
|
296
|
+
if (isObject(colConf) && "info" in colConf) {
|
|
297
297
|
result = {
|
|
298
298
|
...(result ?? {}),
|
|
299
299
|
...colConf?.info
|
|
@@ -303,7 +303,7 @@ export default class TableConfigurator<LANG_IDS = { en: 1 }> {
|
|
|
303
303
|
/**
|
|
304
304
|
* Get labels from TableConfig if specified
|
|
305
305
|
*/
|
|
306
|
-
if (colConf.label) {
|
|
306
|
+
if (isObject(colConf) && colConf.label) {
|
|
307
307
|
const { lang } = params;
|
|
308
308
|
const lbl = colConf?.label;
|
|
309
309
|
if (["string", "object"].includes(typeof lbl)) {
|
|
@@ -343,7 +343,7 @@ export default class TableConfigurator<LANG_IDS = { en: 1 }> {
|
|
|
343
343
|
const td = this.config[sourceTable];
|
|
344
344
|
if ("columns" in td && td.columns?.[targetTable]) {
|
|
345
345
|
const cd = td.columns[targetTable];
|
|
346
|
-
if ("joinDef" in cd) {
|
|
346
|
+
if (isObject(cd) && "joinDef" in cd) {
|
|
347
347
|
if(!cd.joinDef) throw "cd.joinDef missing"
|
|
348
348
|
const { joinDef } = cd;
|
|
349
349
|
const res: JoinInfo = {
|
|
@@ -416,16 +416,16 @@ export default class TableConfigurator<LANG_IDS = { en: 1 }> {
|
|
|
416
416
|
const { nullable, defaultValue } = colConf;
|
|
417
417
|
return `${pgType} ${!nullable ? " NOT NULL " : ""} ${defaultValue ? ` DEFAULT ${asValue(defaultValue)} ` : ""}`
|
|
418
418
|
}
|
|
419
|
-
if ("references" in colConf && colConf.references) {
|
|
419
|
+
if (isObject(colConf) && "references" in colConf && colConf.references) {
|
|
420
420
|
|
|
421
421
|
const { tableName: lookupTable, columnName: lookupCol = "id" } = colConf.references;
|
|
422
422
|
return ` ${colNameEsc} ${getColTypeDef(colConf.references, "TEXT")} REFERENCES ${lookupTable} (${lookupCol}) `;
|
|
423
423
|
|
|
424
|
-
} else if ("sqlDefinition" in colConf && colConf.sqlDefinition) {
|
|
424
|
+
} else if (typeof colConf === "string" || "sqlDefinition" in colConf && colConf.sqlDefinition) {
|
|
425
425
|
|
|
426
|
-
return ` ${colNameEsc} ${colConf.sqlDefinition} `;
|
|
426
|
+
return ` ${colNameEsc} ${typeof colConf === "string"? colConf : colConf.sqlDefinition} `;
|
|
427
427
|
|
|
428
|
-
} else if ("isText" in colConf && colConf.isText) {
|
|
428
|
+
} else if (isObject(colConf) && "isText" in colConf && colConf.isText) {
|
|
429
429
|
let checks = "", cArr = [];
|
|
430
430
|
if (colConf.lowerCased) {
|
|
431
431
|
cArr.push(`${colNameEsc} = LOWER(${colNameEsc})`)
|
|
@@ -468,7 +468,10 @@ export default class TableConfigurator<LANG_IDS = { en: 1 }> {
|
|
|
468
468
|
const colCreateLines: string[] = [];
|
|
469
469
|
const tableHandler = this.dbo[tableName];
|
|
470
470
|
if (tableConf.columns) {
|
|
471
|
-
getKeys(tableConf.columns).filter(c =>
|
|
471
|
+
getKeys(tableConf.columns).filter(c => {
|
|
472
|
+
const colDef = tableConf.columns![c];
|
|
473
|
+
return typeof colDef === "string" || !("joinDef" in colDef)
|
|
474
|
+
}).map(colName => {
|
|
472
475
|
const colConf = tableConf.columns![colName];
|
|
473
476
|
|
|
474
477
|
/* Add columns to create statement */
|
|
@@ -482,7 +485,7 @@ export default class TableConfigurator<LANG_IDS = { en: 1 }> {
|
|
|
482
485
|
ALTER TABLE ${asName(tableName)}
|
|
483
486
|
ADD COLUMN ${getColDef(colName, colConf)};
|
|
484
487
|
`)
|
|
485
|
-
if ("references" in colConf && colConf.references) {
|
|
488
|
+
if (isObject(colConf) && "references" in colConf && colConf.references) {
|
|
486
489
|
|
|
487
490
|
const { tableName: lookupTable, } = colConf.references;
|
|
488
491
|
console.log(`TableConfigurator: ${tableName}(${colName})` + " referenced lookup table " + lookupTable);
|
package/package.json
CHANGED
package/tests/client/PID.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
16804
|