prostgles-server 4.2.311 → 4.2.312
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/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/getJSONBSchemaTSTypes.ts +45 -42
- package/lib/WebsocketAPI/getClientHandlers.ts +7 -0
- package/package.json +1 -1
|
@@ -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":";;;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;IACrD,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QACrB,MAAM,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC1B,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,IAAA,uBAAe,EAAC,MAAM,EAAE;gBACtE,IAAI,EAAE;oBACJ,KAAK,EAAE,QAAQ;oBACf,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;oBACtC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;oBAC5C,aAAa,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE;oBACnD,SAAS,EAAE;wBACT,QAAQ,EAAE,IAAI;wBACd,IAAI,EAAE;4BACJ,cAAc,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE;yBACrD;qBACF;oBACD,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE;iBAC9C;aACF,CAAC,EAAE,CAAC;QACP,CAAC;QAED,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;QACrC,IAAI,IAAI,GACN,QAAQ,CAAC,CAAC;YACR,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC;gBACpB,QAAQ;gBACV,CAAC,CAAC,wCAAwC;YAC5C,CAAC,CAAC,EAAE,CAAC;QACP,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;YAC7D,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;gBACjB,IAAI,GAAG,IAAA,6BAAgB,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,IAAI,MAAM,CAAC,CAAC;YACtF,CAAC;iBAAM,CAAC;gBACN,IAAI;oBACF,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CACd,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,IAAA,6BAAgB,EAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CACrI,CAAC;YACN,CAAC;QACH,CAAC;QACD,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACjF,CAAC;SAAM,IAAI,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9C,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QAED,iBAAiB;QACjB,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI;aAC/B,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC;aAC5B,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC;aACzB,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC;aAC9B,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE7B,IAAI,SAAS,CAAC,aAAa,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,OAAO,QAAQ,GAAG,KAAK,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAChG,CAAC;QACD,OAAO,QAAQ,GAAG,WAAW,CAAC;QAE9B,aAAa;IACf,CAAC;SAAM,IAAI,IAAA,0BAAQ,EAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,qBAAqB,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC;QAC3F,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC;QAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QACrC,IAAI,MAAM,GACR,KAAK,OAAO,EAAE;YACd,IAAA,yBAAO,EAAC,IAAI,CAAC;iBACV,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACX,MAAM,SAAS,GAAG,IAAA,iCAAe,EAAC,IAAI,CAAC,GAAG,CAAE,CAAC,CAAC;gBAC9C,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACtE,OAAO,CACL,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI;oBAC3D,qBAAqB,CAAC,IAAA,uBAAe,EAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CACtF,CAAC;YACJ,CAAC,CAAC;iBACD,IAAI,CAAC,GAAG,CAAC;YACZ,GAAG,OAAO,GAAG,CAAC;QAChB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;QAED,uBAAuB;QACvB,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,QAAQ,GAAG,MAAM,CAAC;IAC3B,CAAC;SAAM,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;QAC1B,OAAO,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,4BAAO,EAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtE,CAAC;SAAM,IAAI,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC/E,OAAO,CACL,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,YAAY,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,KAAK;iBACF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,YAAY,KAAK,GAAG,IAAA,uBAAe,EAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;iBAC3F,IAAI,CAAC,EAAE,CAAC,CACZ,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;QACtD,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC;QACrE,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,IAAA,uBAAe,EAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;IACxH,CAAC;SAAM,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QAC5B,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC;QACvD,yFAAyF;QACzF,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACtF,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,SAAS,CAAC,GAAG,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,4BAAO,EAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,uBAAe,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC/M,CAAC;;QAAM,MAAM,+BAA+B,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACxF,CAAC,CAAC;AAhHW,QAAA,eAAe,mBAgH1B;AAEF,MAAM,iBAAiB,GAAG,CAAC,GAAW,EAAE,EAAE;IACxC,MAAM,eAAe,GAAG,4BAA4B,CAAC;IACrD,OAAO,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC,CAAC"}
|
|
@@ -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":"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"}
|
|
@@ -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
|
|