prostgles-server 4.2.311 → 4.2.313
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/JSONBValidation/JSONBValidation.d.ts.map +1 -1
- package/dist/JSONBValidation/JSONBValidation.js +14 -0
- package/dist/JSONBValidation/JSONBValidation.js.map +1 -1
- package/dist/JSONBValidation/getJSONBSchemaTSTypes.d.ts.map +1 -1
- package/dist/JSONBValidation/getJSONBSchemaTSTypes.js +43 -40
- package/dist/JSONBValidation/getJSONBSchemaTSTypes.js.map +1 -1
- package/dist/WebsocketAPI/getClientHandlers.d.ts.map +1 -1
- package/dist/WebsocketAPI/getClientHandlers.js +6 -0
- package/dist/WebsocketAPI/getClientHandlers.js.map +1 -1
- package/lib/JSONBValidation/JSONBValidation.ts +17 -1
- package/lib/JSONBValidation/getJSONBSchemaTSTypes.ts +45 -42
- package/lib/WebsocketAPI/getClientHandlers.ts +7 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JSONBValidation.d.ts","sourceRoot":"","sources":["../../lib/JSONBValidation/JSONBValidation.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"JSONBValidation.d.ts","sourceRoot":"","sources":["../../lib/JSONBValidation/JSONBValidation.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2D,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAEjG,eAAO,MAAM,eAAe,iBAAkB,MAAM,SAAS,KAAG,MAAM,YAIrE,CAAC;AAyMF,eAAO,MAAM,mCAAmC;;mBAEzC,GAAG,WACC,MAAM;WAEL,MAAM;WAAS,SAAS;;YAAe,SAAS;;CAY3D,CAAC;AACF,eAAO,MAAM,gCAAgC;;mBAEtC,GAAG,WACC,MAAM,sDAKhB,CAAC;AACF,eAAO,MAAM,8BAA8B;;mBAEpC,GAAG,WACC,MAAM,8DAOhB,CAAC"}
|
|
@@ -88,6 +88,20 @@ const getPropertyValidationError = (value, rawFieldType, path = []) => {
|
|
|
88
88
|
return err;
|
|
89
89
|
return;
|
|
90
90
|
}
|
|
91
|
+
const arrayOf = fieldType.arrayOf ?? (fieldType.arrayOfType ? { type: fieldType.arrayOfType } : undefined);
|
|
92
|
+
if (arrayOf) {
|
|
93
|
+
if (!Array.isArray(value)) {
|
|
94
|
+
return err + " to be an array";
|
|
95
|
+
}
|
|
96
|
+
const error = value
|
|
97
|
+
.map((element, i) => {
|
|
98
|
+
return getPropertyValidationError(element, arrayOf, [...path, `${i}`]);
|
|
99
|
+
})
|
|
100
|
+
.filter(prostgles_types_1.isDefined)[0];
|
|
101
|
+
if (error !== undefined) {
|
|
102
|
+
return `${err}. Error at index ${path.length > 0 ? path.join(".") + "." : ""}\n\n${error}`;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
91
105
|
const oneOf = fieldType.oneOf ?? fieldType.oneOfType?.map((type) => ({ type }));
|
|
92
106
|
if (oneOf) {
|
|
93
107
|
if (!oneOf.length) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JSONBValidation.js","sourceRoot":"","sources":["../../lib/JSONBValidation/JSONBValidation.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"JSONBValidation.js","sourceRoot":"","sources":["../../lib/JSONBValidation/JSONBValidation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getJSONBSchemaTSTypes.d.ts","sourceRoot":"","sources":["../../lib/JSONBValidation/getJSONBSchemaTSTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,KAAK,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAKlF,KAAK,OAAO,GAAG;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEtC,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,KAAK,CAAC,WAAW,EACzB,OAAO,EAAE,OAAO,EAChB,YAAY,oBAAK,EACjB,MAAM,EAAE,WAAW,EAAE,GACpB,MAAM,CAOR;AAED,eAAO,MAAM,eAAe,WAClB,WAAW,EAAE,gBACP,MAAM,SAAS,+DAI5B,
|
|
1
|
+
{"version":3,"file":"getJSONBSchemaTSTypes.d.ts","sourceRoot":"","sources":["../../lib/JSONBValidation/getJSONBSchemaTSTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,KAAK,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAKlF,KAAK,OAAO,GAAG;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEtC,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,KAAK,CAAC,WAAW,EACzB,OAAO,EAAE,OAAO,EAChB,YAAY,oBAAK,EACjB,MAAM,EAAE,WAAW,EAAE,GACpB,MAAM,CAOR;AAED,eAAO,MAAM,eAAe,WAClB,WAAW,EAAE,gBACP,MAAM,SAAS,+DAI5B,MA0GF,CAAC"}
|
|
@@ -12,8 +12,49 @@ exports.getJSONBSchemaTSTypes = getJSONBSchemaTSTypes;
|
|
|
12
12
|
const getJSONBTSTypes = (tables, rawFieldType, isOneOf = false, innerLeading = "", depth = 0) => {
|
|
13
13
|
const fieldType = (0, JSONBValidation_1.getFieldTypeObj)(rawFieldType);
|
|
14
14
|
const nullType = fieldType.nullable ? `null | ` : "";
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
if (fieldType.lookup) {
|
|
16
|
+
const l = fieldType.lookup;
|
|
17
|
+
if (l.type === "data-def") {
|
|
18
|
+
return `${fieldType.nullable ? `null |` : ""} ${(0, exports.getJSONBTSTypes)(tables, {
|
|
19
|
+
type: {
|
|
20
|
+
table: "string",
|
|
21
|
+
column: "string",
|
|
22
|
+
filter: { record: {}, optional: true },
|
|
23
|
+
isArray: { type: "boolean", optional: true },
|
|
24
|
+
searchColumns: { type: "string[]", optional: true },
|
|
25
|
+
isFullRow: {
|
|
26
|
+
optional: true,
|
|
27
|
+
type: {
|
|
28
|
+
displayColumns: { type: "string[]", optional: true },
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
showInRowCard: { optional: true, record: {} },
|
|
32
|
+
},
|
|
33
|
+
})}`;
|
|
34
|
+
}
|
|
35
|
+
const isSChema = l.type === "schema";
|
|
36
|
+
let type = isSChema ?
|
|
37
|
+
l.object === "table" ?
|
|
38
|
+
"string"
|
|
39
|
+
: `{ "table": string; "column": string; }`
|
|
40
|
+
: "";
|
|
41
|
+
if (!isSChema) {
|
|
42
|
+
const cols = tables.find((t) => t.name === l.table)?.columns;
|
|
43
|
+
if (!l.isFullRow) {
|
|
44
|
+
type = (0, DboBuilder_1.postgresToTsType)(cols?.find((c) => c.name === l.column)?.udt_name ?? "text");
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
type =
|
|
48
|
+
!cols ? "any" : (`{ ${cols.map((c) => `${JSON.stringify(c.name)}: ${c.is_nullable ? "null | " : ""} ${(0, DboBuilder_1.postgresToTsType)(c.udt_name)}; `).join(" ")} }`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return `${fieldType.nullable ? `null | ` : ""}${type}${l.isArray ? "[]" : ""}`;
|
|
52
|
+
}
|
|
53
|
+
else if (typeof fieldType.type === "string") {
|
|
54
|
+
if (fieldType.type.toLowerCase().includes("lookup")) {
|
|
55
|
+
throw new Error(`getJSONBTSTypes: Lookup type not handled correctly`);
|
|
56
|
+
}
|
|
57
|
+
/** Primitives */
|
|
17
58
|
const correctType = fieldType.type
|
|
18
59
|
.replace("integer", "number")
|
|
19
60
|
.replace("time", "string")
|
|
@@ -68,44 +109,6 @@ const getJSONBTSTypes = (tables, rawFieldType, isOneOf = false, innerLeading = "
|
|
|
68
109
|
const getRecord = (v) => (partial ? `Partial<Record<${v}>>` : `Record<${v}>`);
|
|
69
110
|
return `${fieldType.nullable ? `null |` : ""} ${getRecord(`${keysEnum?.map((v) => (0, PubSubManagerUtils_1.asValue)(v)).join(" | ") ?? "string"}, ${!values ? "any" : (0, exports.getJSONBTSTypes)(tables, values, true, undefined, depth + 1)}`)}`;
|
|
70
111
|
}
|
|
71
|
-
else if (fieldType.lookup) {
|
|
72
|
-
const l = fieldType.lookup;
|
|
73
|
-
if (l.type === "data-def") {
|
|
74
|
-
return `${fieldType.nullable ? `null |` : ""} ${(0, exports.getJSONBTSTypes)(tables, {
|
|
75
|
-
type: {
|
|
76
|
-
table: "string",
|
|
77
|
-
column: "string",
|
|
78
|
-
filter: { record: {}, optional: true },
|
|
79
|
-
isArray: { type: "boolean", optional: true },
|
|
80
|
-
searchColumns: { type: "string[]", optional: true },
|
|
81
|
-
isFullRow: {
|
|
82
|
-
optional: true,
|
|
83
|
-
type: {
|
|
84
|
-
displayColumns: { type: "string[]", optional: true },
|
|
85
|
-
},
|
|
86
|
-
},
|
|
87
|
-
showInRowCard: { optional: true, record: {} },
|
|
88
|
-
},
|
|
89
|
-
})}`;
|
|
90
|
-
}
|
|
91
|
-
const isSChema = l.type === "schema";
|
|
92
|
-
let type = isSChema ?
|
|
93
|
-
l.object === "table" ?
|
|
94
|
-
"string"
|
|
95
|
-
: `{ "table": string; "column": string; }`
|
|
96
|
-
: "";
|
|
97
|
-
if (!isSChema) {
|
|
98
|
-
const cols = tables.find((t) => t.name === l.table)?.columns;
|
|
99
|
-
if (!l.isFullRow) {
|
|
100
|
-
type = (0, DboBuilder_1.postgresToTsType)(cols?.find((c) => c.name === l.column)?.udt_name ?? "text");
|
|
101
|
-
}
|
|
102
|
-
else {
|
|
103
|
-
type =
|
|
104
|
-
!cols ? "any" : (`{ ${cols.map((c) => `${JSON.stringify(c.name)}: ${c.is_nullable ? "null | " : ""} ${(0, DboBuilder_1.postgresToTsType)(c.udt_name)}; `).join(" ")} }`);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
return `${fieldType.nullable ? `null | ` : ""}${type}${l.isArray ? "[]" : ""}`;
|
|
108
|
-
}
|
|
109
112
|
else
|
|
110
113
|
throw "Unexpected getSchemaTSTypes: " + JSON.stringify({ fieldType }, null, 2);
|
|
111
114
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getJSONBSchemaTSTypes.js","sourceRoot":"","sources":["../../lib/JSONBValidation/getJSONBSchemaTSTypes.ts"],"names":[],"mappings":";;;AAAA,qDAAkF;AAClF,yDAA4D;AAC5D,4EAA8D;AAC9D,uDAAoD;AAIpD,SAAgB,qBAAqB,CACnC,MAAyB,EACzB,OAAgB,EAChB,YAAY,GAAG,EAAE,EACjB,MAAqB;IAErB,OAAO,IAAA,uBAAe,EACpB,MAAM,EACN,EAAE,GAAI,MAA6B,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,EACjE,SAAS,EACT,YAAY,CACb,CAAC;AACJ,CAAC;AAZD,sDAYC;AAEM,MAAM,eAAe,GAAG,CAC7B,MAAqB,EACrB,YAA6B,EAC7B,OAAO,GAAG,KAAK,EACf,YAAY,GAAG,EAAE,EACjB,KAAK,GAAG,CAAC,EACD,EAAE;IACV,MAAM,SAAS,GAAG,IAAA,iCAAe,EAAC,YAAY,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"getJSONBSchemaTSTypes.js","sourceRoot":"","sources":["../../lib/JSONBValidation/getJSONBSchemaTSTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getClientHandlers.d.ts","sourceRoot":"","sources":["../../lib/WebsocketAPI/getClientHandlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,MAAM,EAKZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAI9C,eAAO,MAAM,iBAAiB,wBACjB,SAAS,aACT,iBAAiB;;mBAGb,OAAO,MAAM,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"getClientHandlers.d.ts","sourceRoot":"","sources":["../../lib/WebsocketAPI/getClientHandlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,MAAM,EAKZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAI9C,eAAO,MAAM,iBAAiB,wBACjB,SAAS,aACT,iBAAiB;;mBAGb,OAAO,MAAM,EAAE,MAAM,CAAC;EA8CtC,CAAC;AACF,MAAM,MAAM,cAAc,CAAC,CAAC,GAAG,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -15,8 +15,14 @@ const getClientHandlers = async (prostgles, clientReq) => {
|
|
|
15
15
|
}));
|
|
16
16
|
return [table.name, handlers];
|
|
17
17
|
}));
|
|
18
|
+
const txNotAllowed = {
|
|
19
|
+
tx: () => {
|
|
20
|
+
throw new Error("Transactions are not allowed in client handlers");
|
|
21
|
+
},
|
|
22
|
+
};
|
|
18
23
|
const clientDb = {
|
|
19
24
|
...tableHandlers,
|
|
25
|
+
...txNotAllowed,
|
|
20
26
|
sql,
|
|
21
27
|
};
|
|
22
28
|
const clientMethods = Object.fromEntries(clientSchema.methods.map((method) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getClientHandlers.js","sourceRoot":"","sources":["../../lib/WebsocketAPI/getClientHandlers.ts"],"names":[],"mappings":";;;AAAA,qDAOyB;AAIzB,0DAA6F;AAC7F,uDAAoD;AAE7C,MAAM,iBAAiB,GAAG,KAAK,EACpC,SAAoB,EACpB,SAA4B,EAI3B,EAAE;IACH,MAAM,YAAY,GAChB,SAAS,CAAC,MAAM,EAAE,SAAS,IAAI,CAAC,MAAM,iCAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IACpF,MAAM,GAAG,GAA2B,CAAC,CAAC,KAAa,EAAE,MAAgB,EAAE,OAAoB,EAAE,EAAE,CAC7F,sCAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC,CAAe,CAAC;IAC5F,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,CACtC,SAAS,CAAC,UAAU,CAAC,aAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAChD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,YAAY,CAAC,CAAC;QAChF,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CACjC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACtB,MAAM,MAAM,GAAG,CAAC,MAAe,EAAE,MAAe,EAAE,MAAe,EAAE,EAAE,CACnE,mCAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAC9B,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAC1D,SAAS,CACV,CAAC;YACJ,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC3B,CAAC,CAAC,CACH,CAAC;QACF,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAChC,CAAC,CAAC,CACH,CAAC;IACF,MAAM,QAAQ,GAAG;QACf,GAAG,aAAa;QAChB,GAAG;KACuB,CAAC;IAE7B,MAAM,aAAa,GAA2B,MAAM,CAAC,WAAW,CAC9D,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAClC,MAAM,UAAU,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;QACrE,OAAO;YACL,UAAU;YACV,CAAC,GAAG,MAAa,EAAE,EAAE,CACnB,kCAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC;SAC7E,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IAEF,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;AACrC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"getClientHandlers.js","sourceRoot":"","sources":["../../lib/WebsocketAPI/getClientHandlers.ts"],"names":[],"mappings":";;;AAAA,qDAOyB;AAIzB,0DAA6F;AAC7F,uDAAoD;AAE7C,MAAM,iBAAiB,GAAG,KAAK,EACpC,SAAoB,EACpB,SAA4B,EAI3B,EAAE;IACH,MAAM,YAAY,GAChB,SAAS,CAAC,MAAM,EAAE,SAAS,IAAI,CAAC,MAAM,iCAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IACpF,MAAM,GAAG,GAA2B,CAAC,CAAC,KAAa,EAAE,MAAgB,EAAE,OAAoB,EAAE,EAAE,CAC7F,sCAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC,CAAe,CAAC;IAC5F,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,CACtC,SAAS,CAAC,UAAU,CAAC,aAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAChD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,YAAY,CAAC,CAAC;QAChF,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CACjC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACtB,MAAM,MAAM,GAAG,CAAC,MAAe,EAAE,MAAe,EAAE,MAAe,EAAE,EAAE,CACnE,mCAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAC9B,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAC1D,SAAS,CACV,CAAC;YACJ,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC3B,CAAC,CAAC,CACH,CAAC;QACF,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAChC,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,YAAY,GAAO;QACvB,EAAE,EAAE,GAAG,EAAE;YACP,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;KACF,CAAC;IACF,MAAM,QAAQ,GAAG;QACf,GAAG,aAAa;QAChB,GAAG,YAAY;QACf,GAAG;KACuB,CAAC;IAE7B,MAAM,aAAa,GAA2B,MAAM,CAAC,WAAW,CAC9D,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAClC,MAAM,UAAU,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;QACrE,OAAO;YACL,UAAU;YACV,CAAC,GAAG,MAAa,EAAE,EAAE,CACnB,kCAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC;SAC7E,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IAEF,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;AACrC,CAAC,CAAC;AAnDW,QAAA,iBAAiB,qBAmD5B;AAGF,MAAM,WAAW,GAAG,IAAA,yBAAO,EAAC;IAC1B,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,OAAO,EAAE,CAAC;IACV,UAAU,EAAE,CAAC;IACb,OAAO,EAAE,CAAC;IACV,IAAI,EAAE,CAAC;IACP,SAAS,EAAE,CAAC;IACZ,YAAY,EAAE,CAAC;CACuB,CAAC,CAAC;AAE1C,MAAM,YAAY,GAAG,IAAA,yBAAO,EAAC;IAC3B,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,WAAW,EAAE,CAAC;CACqD,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getKeys, getObjectEntries, isEmpty, isObject, JSONB } from "prostgles-types";
|
|
1
|
+
import { getKeys, getObjectEntries, isDefined, isEmpty, isObject, JSONB } from "prostgles-types";
|
|
2
2
|
|
|
3
3
|
export const getFieldTypeObj = (rawFieldType: JSONB.FieldType): JSONB.FieldTypeObj => {
|
|
4
4
|
if (typeof rawFieldType === "string") return { type: rawFieldType };
|
|
@@ -96,6 +96,22 @@ const getPropertyValidationError = (
|
|
|
96
96
|
return;
|
|
97
97
|
}
|
|
98
98
|
|
|
99
|
+
const arrayOf =
|
|
100
|
+
fieldType.arrayOf ?? (fieldType.arrayOfType ? { type: fieldType.arrayOfType } : undefined);
|
|
101
|
+
if (arrayOf) {
|
|
102
|
+
if (!Array.isArray(value)) {
|
|
103
|
+
return err + " to be an array";
|
|
104
|
+
}
|
|
105
|
+
const error = value
|
|
106
|
+
.map((element, i) => {
|
|
107
|
+
return getPropertyValidationError(element, arrayOf, [...path, `${i}`]);
|
|
108
|
+
})
|
|
109
|
+
.filter(isDefined)[0];
|
|
110
|
+
if (error !== undefined) {
|
|
111
|
+
return `${err}. Error at index ${path.length > 0 ? path.join(".") + "." : ""}\n\n${error}`;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
99
115
|
const oneOf = fieldType.oneOf ?? fieldType.oneOfType?.map((type) => ({ type }));
|
|
100
116
|
if (oneOf) {
|
|
101
117
|
if (!oneOf.length) {
|
|
@@ -28,9 +28,52 @@ export const getJSONBTSTypes = (
|
|
|
28
28
|
): string => {
|
|
29
29
|
const fieldType = getFieldTypeObj(rawFieldType);
|
|
30
30
|
const nullType = fieldType.nullable ? `null | ` : "";
|
|
31
|
+
if (fieldType.lookup) {
|
|
32
|
+
const l = fieldType.lookup;
|
|
33
|
+
if (l.type === "data-def") {
|
|
34
|
+
return `${fieldType.nullable ? `null |` : ""} ${getJSONBTSTypes(tables, {
|
|
35
|
+
type: {
|
|
36
|
+
table: "string",
|
|
37
|
+
column: "string",
|
|
38
|
+
filter: { record: {}, optional: true },
|
|
39
|
+
isArray: { type: "boolean", optional: true },
|
|
40
|
+
searchColumns: { type: "string[]", optional: true },
|
|
41
|
+
isFullRow: {
|
|
42
|
+
optional: true,
|
|
43
|
+
type: {
|
|
44
|
+
displayColumns: { type: "string[]", optional: true },
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
showInRowCard: { optional: true, record: {} },
|
|
48
|
+
},
|
|
49
|
+
})}`;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
const isSChema = l.type === "schema";
|
|
53
|
+
let type =
|
|
54
|
+
isSChema ?
|
|
55
|
+
l.object === "table" ?
|
|
56
|
+
"string"
|
|
57
|
+
: `{ "table": string; "column": string; }`
|
|
58
|
+
: "";
|
|
59
|
+
if (!isSChema) {
|
|
60
|
+
const cols = tables.find((t) => t.name === l.table)?.columns;
|
|
61
|
+
if (!l.isFullRow) {
|
|
62
|
+
type = postgresToTsType(cols?.find((c) => c.name === l.column)?.udt_name ?? "text");
|
|
63
|
+
} else {
|
|
64
|
+
type =
|
|
65
|
+
!cols ? "any" : (
|
|
66
|
+
`{ ${cols.map((c) => `${JSON.stringify(c.name)}: ${c.is_nullable ? "null | " : ""} ${postgresToTsType(c.udt_name)}; `).join(" ")} }`
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return `${fieldType.nullable ? `null | ` : ""}${type}${l.isArray ? "[]" : ""}`;
|
|
71
|
+
} else if (typeof fieldType.type === "string") {
|
|
72
|
+
if (fieldType.type.toLowerCase().includes("lookup")) {
|
|
73
|
+
throw new Error(`getJSONBTSTypes: Lookup type not handled correctly`);
|
|
74
|
+
}
|
|
31
75
|
|
|
32
|
-
|
|
33
|
-
if (typeof fieldType.type === "string") {
|
|
76
|
+
/** Primitives */
|
|
34
77
|
const correctType = fieldType.type
|
|
35
78
|
.replace("integer", "number")
|
|
36
79
|
.replace("time", "string")
|
|
@@ -87,46 +130,6 @@ export const getJSONBTSTypes = (
|
|
|
87
130
|
// TODO: ensure props with undefined values are not allowed in the TS type (strict union)
|
|
88
131
|
const getRecord = (v: string) => (partial ? `Partial<Record<${v}>>` : `Record<${v}>`);
|
|
89
132
|
return `${fieldType.nullable ? `null |` : ""} ${getRecord(`${keysEnum?.map((v) => asValue(v)).join(" | ") ?? "string"}, ${!values ? "any" : getJSONBTSTypes(tables, values, true, undefined, depth + 1)}`)}`;
|
|
90
|
-
} else if (fieldType.lookup) {
|
|
91
|
-
const l = fieldType.lookup;
|
|
92
|
-
if (l.type === "data-def") {
|
|
93
|
-
return `${fieldType.nullable ? `null |` : ""} ${getJSONBTSTypes(tables, {
|
|
94
|
-
type: {
|
|
95
|
-
table: "string",
|
|
96
|
-
column: "string",
|
|
97
|
-
filter: { record: {}, optional: true },
|
|
98
|
-
isArray: { type: "boolean", optional: true },
|
|
99
|
-
searchColumns: { type: "string[]", optional: true },
|
|
100
|
-
isFullRow: {
|
|
101
|
-
optional: true,
|
|
102
|
-
type: {
|
|
103
|
-
displayColumns: { type: "string[]", optional: true },
|
|
104
|
-
},
|
|
105
|
-
},
|
|
106
|
-
showInRowCard: { optional: true, record: {} },
|
|
107
|
-
},
|
|
108
|
-
})}`;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
const isSChema = l.type === "schema";
|
|
112
|
-
let type =
|
|
113
|
-
isSChema ?
|
|
114
|
-
l.object === "table" ?
|
|
115
|
-
"string"
|
|
116
|
-
: `{ "table": string; "column": string; }`
|
|
117
|
-
: "";
|
|
118
|
-
if (!isSChema) {
|
|
119
|
-
const cols = tables.find((t) => t.name === l.table)?.columns;
|
|
120
|
-
if (!l.isFullRow) {
|
|
121
|
-
type = postgresToTsType(cols?.find((c) => c.name === l.column)?.udt_name ?? "text");
|
|
122
|
-
} else {
|
|
123
|
-
type =
|
|
124
|
-
!cols ? "any" : (
|
|
125
|
-
`{ ${cols.map((c) => `${JSON.stringify(c.name)}: ${c.is_nullable ? "null | " : ""} ${postgresToTsType(c.udt_name)}; `).join(" ")} }`
|
|
126
|
-
);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
return `${fieldType.nullable ? `null | ` : ""}${type}${l.isArray ? "[]" : ""}`;
|
|
130
133
|
} else throw "Unexpected getSchemaTSTypes: " + JSON.stringify({ fieldType }, null, 2);
|
|
131
134
|
};
|
|
132
135
|
|
|
@@ -39,8 +39,15 @@ export const getClientHandlers = async <S = void>(
|
|
|
39
39
|
return [table.name, handlers];
|
|
40
40
|
})
|
|
41
41
|
);
|
|
42
|
+
|
|
43
|
+
const txNotAllowed: {} = {
|
|
44
|
+
tx: () => {
|
|
45
|
+
throw new Error("Transactions are not allowed in client handlers");
|
|
46
|
+
},
|
|
47
|
+
};
|
|
42
48
|
const clientDb = {
|
|
43
49
|
...tableHandlers,
|
|
50
|
+
...txNotAllowed,
|
|
44
51
|
sql,
|
|
45
52
|
} as DBOFullyTyped<S, false>;
|
|
46
53
|
|