prostgles-server 4.2.310 → 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/DBSchemaBuilder.d.ts +1 -1
- package/dist/DBSchemaBuilder.d.ts.map +1 -1
- package/dist/DBSchemaBuilder.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 +1 -1
- package/dist/WebsocketAPI/getClientHandlers.d.ts.map +1 -1
- package/dist/WebsocketAPI/getClientHandlers.js +7 -3
- package/dist/WebsocketAPI/getClientHandlers.js.map +1 -1
- package/lib/DBSchemaBuilder.ts +5 -2
- package/lib/JSONBValidation/getJSONBSchemaTSTypes.ts +45 -42
- package/lib/WebsocketAPI/getClientHandlers.ts +11 -5
- package/package.json +1 -1
|
@@ -17,7 +17,7 @@ export type DBHandlerServerExtra<TH = Record<string, Partial<ServerTableHandler>
|
|
|
17
17
|
} & Partial<DbJoinMaker> & (WithTransactions extends true ? {
|
|
18
18
|
tx: TX<TH>;
|
|
19
19
|
} : Record<string, never>);
|
|
20
|
-
export type DBOFullyTyped<Schema = void> = DBTableHandlersFromSchema<Schema> & DBHandlerServerExtra<DBTableHandlersFromSchema<Schema
|
|
20
|
+
export type DBOFullyTyped<Schema = void, WithTransactions = true> = DBTableHandlersFromSchema<Schema> & DBHandlerServerExtra<DBTableHandlersFromSchema<Schema>, WithTransactions>;
|
|
21
21
|
export type PublishFullyTyped<Schema = void> = Schema extends DBSchema ? {
|
|
22
22
|
[tov_name in keyof Partial<Schema>]: PublishAllOrNothing | (Schema[tov_name]["is_view"] extends true ? PublishViewRule<Schema[tov_name]["columns"], Schema> : PublishTableRule<Schema[tov_name]["columns"], Schema>);
|
|
23
23
|
} : PublishObject;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DBSchemaBuilder.d.ts","sourceRoot":"","sources":["../lib/DBSchemaBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,WAAW,EACX,QAAQ,EAGR,UAAU,EACV,YAAY,EACZ,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,UAAU,EAAmC,MAAM,yBAAyB,CAAC;AACtF,OAAO,EACL,mBAAmB,EAEnB,gBAAgB,EAChB,eAAe,EACf,KAAK,aAAa,EACnB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAsC,EAAE,EAAE,MAAM,8BAA8B,CAAC;AAEtF,eAAO,MAAM,WAAW,eAAgB,UAAU,KAAG,MAuEpD,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAC3B,CAAC,SAAS,SAAS,GAAG,SAAS,EAC/B,MAAM,SAAS,QAAQ,GAAG,IAAI,GAAG,IAAI,IACnC,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,CAAC;AAC/C,MAAM,MAAM,kBAAkB,CAC5B,CAAC,SAAS,SAAS,GAAG,SAAS,EAC/B,MAAM,SAAS,QAAQ,GAAG,IAAI,GAAG,IAAI,IACnC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG;IAAE,OAAO,EAAE,KAAK,CAAA;CAAE,CAAC;AAEjD,MAAM,MAAM,yBAAyB,CAAC,MAAM,GAAG,IAAI,IACjD,MAAM,SAAS,QAAQ,GACrB;KACG,QAAQ,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,IAAI,GAClE,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,GACtD,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC1D,GACD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAEhD,MAAM,MAAM,oBAAoB,CAC9B,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC,EAChD,gBAAgB,GAAG,IAAI,IACrB;IACF,GAAG,EAAE,UAAU,CAAC;CACjB,GAAG,OAAO,CAAC,WAAW,CAAC,GACtB,CAAC,gBAAgB,SAAS,IAAI,GAAG;IAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAE3E,MAAM,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"DBSchemaBuilder.d.ts","sourceRoot":"","sources":["../lib/DBSchemaBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,WAAW,EACX,QAAQ,EAGR,UAAU,EACV,YAAY,EACZ,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,UAAU,EAAmC,MAAM,yBAAyB,CAAC;AACtF,OAAO,EACL,mBAAmB,EAEnB,gBAAgB,EAChB,eAAe,EACf,KAAK,aAAa,EACnB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAsC,EAAE,EAAE,MAAM,8BAA8B,CAAC;AAEtF,eAAO,MAAM,WAAW,eAAgB,UAAU,KAAG,MAuEpD,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAC3B,CAAC,SAAS,SAAS,GAAG,SAAS,EAC/B,MAAM,SAAS,QAAQ,GAAG,IAAI,GAAG,IAAI,IACnC,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,CAAC;AAC/C,MAAM,MAAM,kBAAkB,CAC5B,CAAC,SAAS,SAAS,GAAG,SAAS,EAC/B,MAAM,SAAS,QAAQ,GAAG,IAAI,GAAG,IAAI,IACnC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG;IAAE,OAAO,EAAE,KAAK,CAAA;CAAE,CAAC;AAEjD,MAAM,MAAM,yBAAyB,CAAC,MAAM,GAAG,IAAI,IACjD,MAAM,SAAS,QAAQ,GACrB;KACG,QAAQ,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,IAAI,GAClE,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,GACtD,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC1D,GACD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAEhD,MAAM,MAAM,oBAAoB,CAC9B,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC,EAChD,gBAAgB,GAAG,IAAI,IACrB;IACF,GAAG,EAAE,UAAU,CAAC;CACjB,GAAG,OAAO,CAAC,WAAW,CAAC,GACtB,CAAC,gBAAgB,SAAS,IAAI,GAAG;IAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAE3E,MAAM,MAAM,aAAa,CACvB,MAAM,GAAG,IAAI,EACb,gBAAgB,GAAG,IAAI,IACrB,yBAAyB,CAAC,MAAM,CAAC,GACnC,oBAAoB,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,CAAC;AAE5E,MAAM,MAAM,iBAAiB,CAAC,MAAM,GAAG,IAAI,IACzC,MAAM,SAAS,QAAQ,GACrB;KACG,QAAQ,IAAI,MAAM,OAAO,CAAC,MAAM,CAAC,GAC9B,mBAAmB,GACnB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,IAAI,GACvC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,GACpD,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;CAC7D,GACD,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DBSchemaBuilder.js","sourceRoot":"","sources":["../lib/DBSchemaBuilder.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"DBSchemaBuilder.js","sourceRoot":"","sources":["../lib/DBSchemaBuilder.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":";;;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"}
|
|
@@ -3,7 +3,7 @@ import type { AuthClientRequest } from "../Auth/AuthTypes";
|
|
|
3
3
|
import type { DBOFullyTyped } from "../DBSchemaBuilder";
|
|
4
4
|
import type { Prostgles } from "../Prostgles";
|
|
5
5
|
export declare const getClientHandlers: <S = void>(prostgles: Prostgles, clientReq: AuthClientRequest) => Promise<{
|
|
6
|
-
clientDb:
|
|
6
|
+
clientDb: DBOFullyTyped<S, false>;
|
|
7
7
|
clientMethods: Record<string, Method>;
|
|
8
8
|
}>;
|
|
9
9
|
export type ClientHandlers<S = void> = Awaited<ReturnType<typeof getClientHandlers<S>>>;
|
|
@@ -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"}
|
|
@@ -10,15 +10,19 @@ const getClientHandlers = async (prostgles, clientReq) => {
|
|
|
10
10
|
const tableHandlers = Object.fromEntries(prostgles.dboBuilder.tablesOrViews.map((table) => {
|
|
11
11
|
const methods = table.is_view ? viewMethods : [...viewMethods, ...tableMethods];
|
|
12
12
|
const handlers = Object.fromEntries(methods.map((command) => {
|
|
13
|
-
const method = (param1, param2, param3) => runClientRequest_1.runClientRequest.bind(prostgles)(
|
|
14
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
15
|
-
{ command, tableName: table.name, param1, param2, param3 }, clientReq);
|
|
13
|
+
const method = (param1, param2, param3) => runClientRequest_1.runClientRequest.bind(prostgles)({ command, tableName: table.name, param1, param2, param3 }, clientReq);
|
|
16
14
|
return [command, method];
|
|
17
15
|
}));
|
|
18
16
|
return [table.name, handlers];
|
|
19
17
|
}));
|
|
18
|
+
const txNotAllowed = {
|
|
19
|
+
tx: () => {
|
|
20
|
+
throw new Error("Transactions are not allowed in client handlers");
|
|
21
|
+
},
|
|
22
|
+
};
|
|
20
23
|
const clientDb = {
|
|
21
24
|
...tableHandlers,
|
|
25
|
+
...txNotAllowed,
|
|
22
26
|
sql,
|
|
23
27
|
};
|
|
24
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,
|
|
1
|
+
{"version":3,"file":"getClientHandlers.js","sourceRoot":"","sources":["../../lib/WebsocketAPI/getClientHandlers.ts"],"names":[],"mappings":"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"}
|
package/lib/DBSchemaBuilder.ts
CHANGED
|
@@ -120,8 +120,11 @@ export type DBHandlerServerExtra<
|
|
|
120
120
|
} & Partial<DbJoinMaker> &
|
|
121
121
|
(WithTransactions extends true ? { tx: TX<TH> } : Record<string, never>);
|
|
122
122
|
|
|
123
|
-
export type DBOFullyTyped<
|
|
124
|
-
|
|
123
|
+
export type DBOFullyTyped<
|
|
124
|
+
Schema = void,
|
|
125
|
+
WithTransactions = true,
|
|
126
|
+
> = DBTableHandlersFromSchema<Schema> &
|
|
127
|
+
DBHandlerServerExtra<DBTableHandlersFromSchema<Schema>, WithTransactions>;
|
|
125
128
|
|
|
126
129
|
export type PublishFullyTyped<Schema = void> =
|
|
127
130
|
Schema extends DBSchema ?
|
|
@@ -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
|
|
|
@@ -16,21 +16,20 @@ export const getClientHandlers = async <S = void>(
|
|
|
16
16
|
prostgles: Prostgles,
|
|
17
17
|
clientReq: AuthClientRequest
|
|
18
18
|
): Promise<{
|
|
19
|
-
clientDb:
|
|
19
|
+
clientDb: DBOFullyTyped<S, false>;
|
|
20
20
|
clientMethods: Record<string, Method>;
|
|
21
21
|
}> => {
|
|
22
22
|
const clientSchema =
|
|
23
23
|
clientReq.socket?.prostgles ?? (await getClientSchema.bind(prostgles)(clientReq));
|
|
24
|
-
const sql: SQLHandler | undefined = ((query: string, params?:
|
|
24
|
+
const sql: SQLHandler | undefined = ((query: string, params?: unknown, options?: SQLOptions) =>
|
|
25
25
|
runClientSqlRequest.bind(prostgles)({ query, params, options }, clientReq)) as SQLHandler;
|
|
26
26
|
const tableHandlers = Object.fromEntries(
|
|
27
27
|
prostgles.dboBuilder.tablesOrViews!.map((table) => {
|
|
28
28
|
const methods = table.is_view ? viewMethods : [...viewMethods, ...tableMethods];
|
|
29
29
|
const handlers = Object.fromEntries(
|
|
30
30
|
methods.map((command) => {
|
|
31
|
-
const method = (param1:
|
|
31
|
+
const method = (param1: unknown, param2: unknown, param3: unknown) =>
|
|
32
32
|
runClientRequest.bind(prostgles)(
|
|
33
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
34
33
|
{ command, tableName: table.name, param1, param2, param3 },
|
|
35
34
|
clientReq
|
|
36
35
|
);
|
|
@@ -40,10 +39,17 @@ export const getClientHandlers = async <S = void>(
|
|
|
40
39
|
return [table.name, handlers];
|
|
41
40
|
})
|
|
42
41
|
);
|
|
42
|
+
|
|
43
|
+
const txNotAllowed: {} = {
|
|
44
|
+
tx: () => {
|
|
45
|
+
throw new Error("Transactions are not allowed in client handlers");
|
|
46
|
+
},
|
|
47
|
+
};
|
|
43
48
|
const clientDb = {
|
|
44
49
|
...tableHandlers,
|
|
50
|
+
...txNotAllowed,
|
|
45
51
|
sql,
|
|
46
|
-
} as DBOFullyTyped<S>;
|
|
52
|
+
} as DBOFullyTyped<S, false>;
|
|
47
53
|
|
|
48
54
|
const clientMethods: Record<string, Method> = Object.fromEntries(
|
|
49
55
|
clientSchema.methods.map((method) => {
|