prostgles-server 4.0.57 → 4.0.59
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/DboBuilder/getColumns.d.ts.map +1 -1
- package/dist/DboBuilder/getColumns.js +1 -13
- package/dist/DboBuilder/getColumns.js.map +1 -1
- package/dist/DboBuilder/runSQL.js +2 -2
- package/dist/DboBuilder/runSQL.js.map +1 -1
- package/dist/Prostgles.d.ts.map +1 -1
- package/dist/PubSubManager/PubSubManager.d.ts +1 -1
- package/dist/PubSubManager/PubSubManager.d.ts.map +1 -1
- package/dist/PubSubManager/PubSubManager.js +14 -1
- package/dist/PubSubManager/PubSubManager.js.map +1 -1
- package/lib/DboBuilder/getColumns.ts +1 -18
- package/lib/DboBuilder/runSQL.ts +2 -2
- package/lib/Prostgles.ts +3 -3
- package/lib/PubSubManager/PubSubManager.ts +14 -1
- package/package.json +2 -2
- package/tests/client/PID.txt +1 -1
- package/tests/client/package.json +2 -2
- package/tests/client/tsconfig.json +2 -1
- package/tests/isomorphic_queries.ts +11 -9
- package/tests/server/DBoGenerated.d.ts +1 -1
- package/tests/server/dboTypeCheck.ts +3 -3
- package/tests/server/index.ts +7 -6
- package/tests/server/package-lock.json +1 -1
- package/tests/server/package.json +3 -3
- package/tests/server/publishTypeCheck.ts +1 -1
- package/tests/server/tsconfig.json +3 -2
- package/tests/test.sh +2 -0
- package/dist/FileManager.d.ts +0 -143
- package/dist/FileManager.d.ts.map +0 -1
- package/dist/FileManager.js +0 -646
- package/dist/FileManager.js.map +0 -1
- package/dist/TableConfig.d.ts +0 -267
- package/dist/TableConfig.d.ts.map +0 -1
- package/dist/TableConfig.js +0 -463
- package/dist/TableConfig.js.map +0 -1
- package/dist/validation.d.ts +0 -126
- package/dist/validation.d.ts.map +0 -1
- package/dist/validation.js +0 -405
- package/dist/validation.js.map +0 -1
- package/lib/AuthHandler.d.ts +0 -187
- package/lib/AuthHandler.d.ts.map +0 -1
- package/lib/AuthHandler.js +0 -478
- package/lib/DBEventsManager.d.ts +0 -38
- package/lib/DBEventsManager.d.ts.map +0 -1
- package/lib/DBEventsManager.js +0 -140
- package/lib/DBSchemaBuilder.d.ts +0 -13
- package/lib/DBSchemaBuilder.d.ts.map +0 -1
- package/lib/DBSchemaBuilder.js +0 -145
- package/lib/DboBuilder/QueryBuilder/Functions.d.ts +0 -64
- package/lib/DboBuilder/QueryBuilder/Functions.d.ts.map +0 -1
- package/lib/DboBuilder/QueryBuilder/Functions.js +0 -984
- package/lib/DboBuilder/QueryBuilder/QueryBuilder.d.ts +0 -73
- package/lib/DboBuilder/QueryBuilder/QueryBuilder.d.ts.map +0 -1
- package/lib/DboBuilder/QueryBuilder/QueryBuilder.js +0 -335
- package/lib/DboBuilder/QueryBuilder/makeSelectQuery.d.ts +0 -8
- package/lib/DboBuilder/QueryBuilder/makeSelectQuery.d.ts.map +0 -1
- package/lib/DboBuilder/QueryBuilder/makeSelectQuery.js +0 -227
- package/lib/DboBuilder/TableHandler.d.ts +0 -37
- package/lib/DboBuilder/TableHandler.d.ts.map +0 -1
- package/lib/DboBuilder/TableHandler.js +0 -213
- package/lib/DboBuilder/ViewHandler.d.ts +0 -119
- package/lib/DboBuilder/ViewHandler.d.ts.map +0 -1
- package/lib/DboBuilder/ViewHandler.js +0 -1023
- package/lib/DboBuilder/delete.d.ts +0 -6
- package/lib/DboBuilder/delete.d.ts.map +0 -1
- package/lib/DboBuilder/delete.js +0 -128
- package/lib/DboBuilder/find.d.ts +0 -8
- package/lib/DboBuilder/find.d.ts.map +0 -1
- package/lib/DboBuilder/find.js +0 -91
- package/lib/DboBuilder/getColumns.d.ts +0 -12
- package/lib/DboBuilder/getColumns.d.ts.map +0 -1
- package/lib/DboBuilder/getColumns.js +0 -92
- package/lib/DboBuilder/getCondition.d.ts +0 -22
- package/lib/DboBuilder/getCondition.d.ts.map +0 -1
- package/lib/DboBuilder/getCondition.js +0 -236
- package/lib/DboBuilder/getSubscribeRelatedTables.d.ts +0 -20
- package/lib/DboBuilder/getSubscribeRelatedTables.d.ts.map +0 -1
- package/lib/DboBuilder/getSubscribeRelatedTables.js +0 -152
- package/lib/DboBuilder/getTablesForSchemaPostgresSQL.d.ts +0 -3
- package/lib/DboBuilder/getTablesForSchemaPostgresSQL.d.ts.map +0 -1
- package/lib/DboBuilder/getTablesForSchemaPostgresSQL.js +0 -207
- package/lib/DboBuilder/insert.d.ts +0 -6
- package/lib/DboBuilder/insert.d.ts.map +0 -1
- package/lib/DboBuilder/insert.js +0 -180
- package/lib/DboBuilder/insertDataParse.d.ts +0 -12
- package/lib/DboBuilder/insertDataParse.d.ts.map +0 -1
- package/lib/DboBuilder/insertDataParse.js +0 -253
- package/lib/DboBuilder/parseUpdateRules.d.ts +0 -18
- package/lib/DboBuilder/parseUpdateRules.d.ts.map +0 -1
- package/lib/DboBuilder/parseUpdateRules.js +0 -123
- package/lib/DboBuilder/runSQL.d.ts +0 -7
- package/lib/DboBuilder/runSQL.d.ts.map +0 -1
- package/lib/DboBuilder/runSQL.js +0 -135
- package/lib/DboBuilder/subscribe.d.ts +0 -20
- package/lib/DboBuilder/subscribe.d.ts.map +0 -1
- package/lib/DboBuilder/subscribe.js +0 -90
- package/lib/DboBuilder/update.d.ts +0 -6
- package/lib/DboBuilder/update.d.ts.map +0 -1
- package/lib/DboBuilder/update.js +0 -151
- package/lib/DboBuilder/uploadFile.d.ts +0 -7
- package/lib/DboBuilder/uploadFile.d.ts.map +0 -1
- package/lib/DboBuilder/uploadFile.js +0 -53
- package/lib/DboBuilder.d.ts +0 -306
- package/lib/DboBuilder.d.ts.map +0 -1
- package/lib/DboBuilder.js +0 -745
- package/lib/Event_Trigger_Tags.d.ts +0 -4
- package/lib/Event_Trigger_Tags.d.ts.map +0 -1
- package/lib/Event_Trigger_Tags.js +0 -116
- package/lib/FileManager/FileManager.d.ts +0 -135
- package/lib/FileManager/FileManager.d.ts.map +0 -1
- package/lib/FileManager/FileManager.js +0 -303
- package/lib/FileManager/initFileManager.d.ts +0 -4
- package/lib/FileManager/initFileManager.d.ts.map +0 -1
- package/lib/FileManager/initFileManager.js +0 -231
- package/lib/FileManager/parseFile.d.ts +0 -15
- package/lib/FileManager/parseFile.d.ts.map +0 -1
- package/lib/FileManager/parseFile.js +0 -58
- package/lib/FileManager/upload.d.ts +0 -6
- package/lib/FileManager/upload.d.ts.map +0 -1
- package/lib/FileManager/upload.js +0 -98
- package/lib/FileManager/uploadStream.d.ts +0 -5
- package/lib/FileManager/uploadStream.d.ts.map +0 -1
- package/lib/FileManager/uploadStream.js +0 -92
- package/lib/Filtering.d.ts +0 -15
- package/lib/Filtering.d.ts.map +0 -1
- package/lib/Filtering.js +0 -336
- package/lib/JSONBValidation/validate_jsonb_schema_sql.d.ts +0 -4
- package/lib/JSONBValidation/validate_jsonb_schema_sql.d.ts.map +0 -1
- package/lib/JSONBValidation/validate_jsonb_schema_sql.js +0 -500
- package/lib/JSONBValidation/validation.d.ts +0 -9
- package/lib/JSONBValidation/validation.d.ts.map +0 -1
- package/lib/JSONBValidation/validation.js +0 -131
- package/lib/PostgresNotifListenManager.d.ts +0 -28
- package/lib/PostgresNotifListenManager.d.ts.map +0 -1
- package/lib/PostgresNotifListenManager.js +0 -134
- package/lib/Prostgles.d.ts +0 -289
- package/lib/Prostgles.d.ts.map +0 -1
- package/lib/Prostgles.js +0 -685
- package/lib/PubSubManager/PubSubManager.d.ts +0 -175
- package/lib/PubSubManager/PubSubManager.d.ts.map +0 -1
- package/lib/PubSubManager/PubSubManager.js +0 -452
- package/lib/PubSubManager/addSub.d.ts +0 -8
- package/lib/PubSubManager/addSub.d.ts.map +0 -1
- package/lib/PubSubManager/addSub.js +0 -166
- package/lib/PubSubManager/addSync.d.ts +0 -8
- package/lib/PubSubManager/addSync.d.ts.map +0 -1
- package/lib/PubSubManager/addSync.js +0 -109
- package/lib/PubSubManager/getInitQuery.d.ts +0 -9
- package/lib/PubSubManager/getInitQuery.d.ts.map +0 -1
- package/lib/PubSubManager/getInitQuery.js +0 -552
- package/lib/PubSubManager/initPubSubManager.d.ts +0 -3
- package/lib/PubSubManager/initPubSubManager.d.ts.map +0 -1
- package/lib/PubSubManager/initPubSubManager.js +0 -116
- package/lib/PubSubManager/notifListener.d.ts +0 -5
- package/lib/PubSubManager/notifListener.d.ts.map +0 -1
- package/lib/PubSubManager/notifListener.js +0 -100
- package/lib/PubSubManager/pushSubData.d.ts +0 -3
- package/lib/PubSubManager/pushSubData.d.ts.map +0 -1
- package/lib/PubSubManager/pushSubData.js +0 -51
- package/lib/PublishParser.d.ts +0 -284
- package/lib/PublishParser.d.ts.map +0 -1
- package/lib/PublishParser.js +0 -421
- package/lib/SchemaWatch.d.ts +0 -13
- package/lib/SchemaWatch.d.ts.map +0 -1
- package/lib/SchemaWatch.js +0 -35
- package/lib/SyncReplication.d.ts +0 -34
- package/lib/SyncReplication.d.ts.map +0 -1
- package/lib/SyncReplication.js +0 -412
- package/lib/TableConfig/TableConfig.d.ts +0 -284
- package/lib/TableConfig/TableConfig.d.ts.map +0 -1
- package/lib/TableConfig/TableConfig.js +0 -437
- package/lib/TableConfig/getColumnDefinitionQuery.d.ts +0 -27
- package/lib/TableConfig/getColumnDefinitionQuery.d.ts.map +0 -1
- package/lib/TableConfig/getColumnDefinitionQuery.js +0 -87
- package/lib/TableConfig/getConstraintDefinitionQueries.d.ts +0 -34
- package/lib/TableConfig/getConstraintDefinitionQueries.d.ts.map +0 -1
- package/lib/TableConfig/getConstraintDefinitionQueries.js +0 -65
- package/lib/TableConfig/getFutureTableSchema.d.ts +0 -15
- package/lib/TableConfig/getFutureTableSchema.d.ts.map +0 -1
- package/lib/TableConfig/getFutureTableSchema.js +0 -43
- package/lib/TableConfig/getTableColumnQueries.d.ts +0 -16
- package/lib/TableConfig/getTableColumnQueries.d.ts.map +0 -1
- package/lib/TableConfig/getTableColumnQueries.js +0 -107
- package/lib/index.d.ts +0 -5
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js +0 -7
- package/lib/shortestPath.d.ts +0 -10
- package/lib/shortestPath.d.ts.map +0 -1
- package/lib/shortestPath.js +0 -111
- package/lib/utils.d.ts +0 -3
- package/lib/utils.d.ts.map +0 -1
- package/lib/utils.js +0 -12
- package/tests/client/index.d.ts +0 -2
- package/tests/client/index.d.ts.map +0 -1
- package/tests/client/index.js +0 -80
- package/tests/client/index.js.map +0 -1
- package/tests/client_only_queries.d.ts +0 -4
- package/tests/client_only_queries.d.ts.map +0 -1
- package/tests/client_only_queries.js +0 -282
- package/tests/config_test/DBoGenerated.d.ts +0 -388
- package/tests/config_test/index.js +0 -174
- package/tests/config_test/index.js.map +0 -1
- package/tests/isomorphic_queries.d.ts +0 -9
- package/tests/isomorphic_queries.d.ts.map +0 -1
- package/tests/isomorphic_queries.js +0 -773
- package/tests/manual_test/DBoGenerated.d.ts +0 -398
- package/tests/manual_test/index.d.ts +0 -2
- package/tests/manual_test/index.d.ts.map +0 -1
- package/tests/manual_test/index.js +0 -65
- package/tests/server/dboTypeCheck.d.ts +0 -2
- package/tests/server/dboTypeCheck.d.ts.map +0 -1
- package/tests/server/dboTypeCheck.js +0 -27
- package/tests/server/index.d.ts +0 -2
- package/tests/server/index.d.ts.map +0 -1
- package/tests/server/index.js +0 -507
- package/tests/server/publishTypeCheck.d.ts +0 -2
- package/tests/server/publishTypeCheck.d.ts.map +0 -1
- package/tests/server/publishTypeCheck.js +0 -130
- package/tests/server_only_queries.d.ts +0 -2
- package/tests/server_only_queries.d.ts.map +0 -1
- package/tests/server_only_queries.js +0 -19
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.notifListener = void 0;
|
|
4
|
-
const PubSubManager_1 = require("./PubSubManager");
|
|
5
|
-
/* Relay relevant data to relevant subscriptions */
|
|
6
|
-
async function notifListener(data) {
|
|
7
|
-
const str = data.payload;
|
|
8
|
-
if (!str) {
|
|
9
|
-
console.error("Unexpected Empty notif");
|
|
10
|
-
return;
|
|
11
|
-
}
|
|
12
|
-
const dataArr = str.split(PubSubManager_1.PubSubManager.DELIMITER);
|
|
13
|
-
const notifType = dataArr[0];
|
|
14
|
-
(0, PubSubManager_1.log)(str);
|
|
15
|
-
if (notifType === this.NOTIF_TYPE.schema) {
|
|
16
|
-
if (this.onSchemaChange) {
|
|
17
|
-
const [_, command, _event_type, query] = dataArr;
|
|
18
|
-
if (query && command) {
|
|
19
|
-
this.onSchemaChange({ command, query });
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
if (notifType !== this.NOTIF_TYPE.data) {
|
|
25
|
-
console.error("Unexpected notif type: ", notifType);
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
if (dataArr.length < 3) {
|
|
29
|
-
throw "notifListener: dataArr length < 3";
|
|
30
|
-
}
|
|
31
|
-
const [_, table_name, _op_name, condition_ids_str] = dataArr;
|
|
32
|
-
if (!table_name) {
|
|
33
|
-
throw "table_name undef";
|
|
34
|
-
}
|
|
35
|
-
// const triggers = await this.db.any("SELECT * FROM prostgles.triggers WHERE table_name = $1 AND id IN ($2:csv)", [table_name, condition_ids_str.split(",").map(v => +v)]);
|
|
36
|
-
// const conditions: string[] = triggers.map(t => t.condition);
|
|
37
|
-
(0, PubSubManager_1.log)("notifListener", dataArr.join("__"));
|
|
38
|
-
/* Trigger error */
|
|
39
|
-
if (condition_ids_str?.startsWith("error") &&
|
|
40
|
-
this._triggers?.[table_name]?.length) {
|
|
41
|
-
const pref = "INTERNAL ERROR";
|
|
42
|
-
console.error(`${pref}: condition_ids_str: ${condition_ids_str}`);
|
|
43
|
-
this._triggers[table_name].map(c => {
|
|
44
|
-
const subs = this.getTriggerSubs(table_name, c);
|
|
45
|
-
subs.map(s => {
|
|
46
|
-
this.pushSubData(s, pref + ". Check server logs. Schema might have changed");
|
|
47
|
-
});
|
|
48
|
-
});
|
|
49
|
-
/* Trigger ok */
|
|
50
|
-
}
|
|
51
|
-
else if (condition_ids_str?.split(",").length &&
|
|
52
|
-
condition_ids_str?.split(",").every((c) => Number.isInteger(+c)) &&
|
|
53
|
-
this._triggers?.[table_name]?.length) {
|
|
54
|
-
const idxs = condition_ids_str.split(",").map(v => +v);
|
|
55
|
-
const conditions = this._triggers[table_name].filter((c, i) => idxs.includes(i));
|
|
56
|
-
// log("notifListener", this._triggers[table_name]);
|
|
57
|
-
conditions.map(condition => {
|
|
58
|
-
const subs = this.getTriggerSubs(table_name, condition);
|
|
59
|
-
const syncs = this.getSyncs(table_name, condition);
|
|
60
|
-
(0, PubSubManager_1.log)("notifListener", subs.map(s => s.channel_name), syncs.map(s => s.channel_name));
|
|
61
|
-
syncs.map((s) => {
|
|
62
|
-
this.syncData(s, undefined, "trigger");
|
|
63
|
-
});
|
|
64
|
-
/* Throttle the subscriptions */
|
|
65
|
-
subs.forEach(sub => {
|
|
66
|
-
sub.triggers.forEach(trg => {
|
|
67
|
-
if (this.dbo[trg.table_name] &&
|
|
68
|
-
sub.is_ready &&
|
|
69
|
-
(sub.socket_id && this.sockets[sub.socket_id] || sub.localFuncs)) {
|
|
70
|
-
const { throttle = 0, throttleOpts } = sub;
|
|
71
|
-
if (!throttleOpts?.skipFirst && sub.last_throttled <= Date.now() - throttle) {
|
|
72
|
-
sub.last_throttled = Date.now();
|
|
73
|
-
/* It is assumed the policy was checked before this point */
|
|
74
|
-
this.pushSubData(sub);
|
|
75
|
-
}
|
|
76
|
-
else if (!sub.is_throttling) {
|
|
77
|
-
(0, PubSubManager_1.log)("throttling sub");
|
|
78
|
-
sub.is_throttling = setTimeout(() => {
|
|
79
|
-
(0, PubSubManager_1.log)("throttling finished. pushSubData...");
|
|
80
|
-
sub.is_throttling = null;
|
|
81
|
-
sub.last_throttled = Date.now();
|
|
82
|
-
this.pushSubData(sub);
|
|
83
|
-
}, throttle); // sub.throttle);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
});
|
|
88
|
-
});
|
|
89
|
-
/* Trigger unknown issue */
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
// if(!this._triggers || !this._triggers[table_name] || !this._triggers[table_name].length){
|
|
93
|
-
// console.warn(190, "Trigger sub not found. DROPPING TRIGGER", table_name, condition_ids_str, this._triggers);
|
|
94
|
-
// this.dropTrigger(table_name);
|
|
95
|
-
// } else {
|
|
96
|
-
// }
|
|
97
|
-
console.warn(190, "Trigger sub issue: ", table_name, condition_ids_str, this._triggers);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
exports.notifListener = notifListener;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pushSubData.d.ts","sourceRoot":"","sources":["pushSubData.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,aAAa,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEnE,wBAAsB,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,GAAG,oBA+ClF"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.pushSubData = void 0;
|
|
4
|
-
const subscribe_1 = require("../DboBuilder/subscribe");
|
|
5
|
-
const PubSubManager_1 = require("./PubSubManager");
|
|
6
|
-
async function pushSubData(sub, err) {
|
|
7
|
-
if (!sub)
|
|
8
|
-
throw "pushSubData: invalid sub";
|
|
9
|
-
const { socket_id, channel_name } = sub; //, subOne = false
|
|
10
|
-
const localFuncs = (0, subscribe_1.parseLocalFuncs)(sub.localFuncs);
|
|
11
|
-
if (err) {
|
|
12
|
-
if (socket_id) {
|
|
13
|
-
this.sockets[socket_id].emit(channel_name, { err });
|
|
14
|
-
}
|
|
15
|
-
return true;
|
|
16
|
-
}
|
|
17
|
-
return new Promise(async (resolve, reject) => {
|
|
18
|
-
/* TODO: Retire subOne -> it's redundant */
|
|
19
|
-
const { data, err } = await this.getSubData(sub);
|
|
20
|
-
if (data) {
|
|
21
|
-
if (socket_id && this.sockets[socket_id]) {
|
|
22
|
-
(0, PubSubManager_1.log)("Pushed " + data.length + " records to sub");
|
|
23
|
-
this.sockets[socket_id].emit(channel_name, { data }, () => {
|
|
24
|
-
resolve(data);
|
|
25
|
-
});
|
|
26
|
-
/* TO DO: confirm receiving data or server will unsubscribe
|
|
27
|
-
{ data }, (cb)=> { console.log(cb) });
|
|
28
|
-
*/
|
|
29
|
-
}
|
|
30
|
-
else if (localFuncs) {
|
|
31
|
-
localFuncs.onData(data);
|
|
32
|
-
resolve(data);
|
|
33
|
-
}
|
|
34
|
-
// sub.last_throttled = Date.now();
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
const errObj = { _err_msg: err.toString(), err };
|
|
38
|
-
if (socket_id && this.sockets[socket_id]) {
|
|
39
|
-
this.sockets[socket_id].emit(channel_name, { err: errObj });
|
|
40
|
-
}
|
|
41
|
-
else if (localFuncs) {
|
|
42
|
-
if (!localFuncs.onError) {
|
|
43
|
-
console.error("Uncaught subscription error", err);
|
|
44
|
-
}
|
|
45
|
-
localFuncs.onError?.(errObj);
|
|
46
|
-
}
|
|
47
|
-
reject(errObj);
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
exports.pushSubData = pushSubData;
|
package/lib/PublishParser.d.ts
DELETED
|
@@ -1,284 +0,0 @@
|
|
|
1
|
-
import { AnyObject, TableSchemaForClient, DBSchemaTable, FullFilter, Method, DBSchema } from "prostgles-types";
|
|
2
|
-
import { AuthResult, SessionUser } from "./AuthHandler";
|
|
3
|
-
import { CommonTableRules, LocalParams, PRGLIOSocket, TableOrViewInfo, TableSchemaColumn } from "./DboBuilder";
|
|
4
|
-
import { Prostgles, DBHandlerServer, DB } from "./Prostgles";
|
|
5
|
-
import type { DBOFullyTyped, PublishFullyTyped } from "./DBSchemaBuilder";
|
|
6
|
-
export type PublishMethods<S = void, SUser extends SessionUser = SessionUser> = (params: PublishParams<S, SUser>) => {
|
|
7
|
-
[key: string]: Method;
|
|
8
|
-
} | Promise<{
|
|
9
|
-
[key: string]: Method;
|
|
10
|
-
} | null>;
|
|
11
|
-
export type Awaitable<T> = T | Promise<T>;
|
|
12
|
-
type Request = {
|
|
13
|
-
socket?: any;
|
|
14
|
-
httpReq?: any;
|
|
15
|
-
};
|
|
16
|
-
type DboTable = Request & {
|
|
17
|
-
tableName: string;
|
|
18
|
-
localParams: LocalParams;
|
|
19
|
-
};
|
|
20
|
-
type DboTableCommand = Request & DboTable & {
|
|
21
|
-
command: string;
|
|
22
|
-
localParams: LocalParams;
|
|
23
|
-
};
|
|
24
|
-
import { FieldFilter, SelectParams } from "prostgles-types";
|
|
25
|
-
export type InsertRequestData = {
|
|
26
|
-
data: object | object[];
|
|
27
|
-
returning: FieldFilter;
|
|
28
|
-
};
|
|
29
|
-
export type SelectRequestData = {
|
|
30
|
-
filter: object;
|
|
31
|
-
params: SelectParams;
|
|
32
|
-
};
|
|
33
|
-
export type DeleteRequestData = {
|
|
34
|
-
filter: object;
|
|
35
|
-
returning: FieldFilter;
|
|
36
|
-
};
|
|
37
|
-
export type UpdateRequestDataOne<R extends AnyObject, S extends DBSchema | void = void> = {
|
|
38
|
-
filter: FullFilter<R, S>;
|
|
39
|
-
data: Partial<R>;
|
|
40
|
-
returning: FieldFilter<R>;
|
|
41
|
-
};
|
|
42
|
-
export type UpdateReq<R extends AnyObject, S extends DBSchema | void = void> = {
|
|
43
|
-
filter: FullFilter<R, S>;
|
|
44
|
-
data: Partial<R>;
|
|
45
|
-
};
|
|
46
|
-
export type UpdateRequestDataBatch<R extends AnyObject> = {
|
|
47
|
-
data: UpdateReq<R>[];
|
|
48
|
-
};
|
|
49
|
-
export type UpdateRequestData<R extends AnyObject = AnyObject> = UpdateRequestDataOne<R> | UpdateRequestDataBatch<R>;
|
|
50
|
-
export type ValidateRow<R extends AnyObject = AnyObject, S = void> = (row: R, dbx: DBOFullyTyped<S>) => R | Promise<R>;
|
|
51
|
-
export type ValidateUpdateRow<R extends AnyObject = AnyObject, S extends DBSchema | void = void> = (args: {
|
|
52
|
-
update: Partial<R>;
|
|
53
|
-
filter: FullFilter<R, S>;
|
|
54
|
-
}, dbx: DBOFullyTyped<S>) => R | Promise<R>;
|
|
55
|
-
export type SelectRule<Cols extends AnyObject = AnyObject, S extends DBSchema | void = void> = {
|
|
56
|
-
/**
|
|
57
|
-
* Fields allowed to be selected.
|
|
58
|
-
* Tip: Use false to exclude field
|
|
59
|
-
*/
|
|
60
|
-
fields: FieldFilter<Cols>;
|
|
61
|
-
/**
|
|
62
|
-
* Fields allowed to sorted
|
|
63
|
-
* Defaults to the "fields". Use empty array/object to disallow sorting
|
|
64
|
-
*/
|
|
65
|
-
orderByFields?: FieldFilter<Cols>;
|
|
66
|
-
/**
|
|
67
|
-
* The maximum number of rows a user can get in a select query. null by default. Unless a null or higher limit is specified 100 rows will be returned by the default
|
|
68
|
-
*/
|
|
69
|
-
maxLimit?: number | null;
|
|
70
|
-
/**
|
|
71
|
-
* Filter added to every query (e.g. user_id) to restrict access
|
|
72
|
-
*/
|
|
73
|
-
forcedFilter?: FullFilter<Cols, S>;
|
|
74
|
-
/**
|
|
75
|
-
* Fields user can filter by
|
|
76
|
-
* */
|
|
77
|
-
filterFields?: FieldFilter<Cols>;
|
|
78
|
-
/**
|
|
79
|
-
* Validation logic to check/update data for each request
|
|
80
|
-
*/
|
|
81
|
-
validate?(args: SelectRequestData): SelectRequestData | Promise<SelectRequestData>;
|
|
82
|
-
};
|
|
83
|
-
export type InsertRule<Cols extends AnyObject = AnyObject, S = void> = {
|
|
84
|
-
/**
|
|
85
|
-
* Fields allowed to be inserted. Tip: Use false to exclude field
|
|
86
|
-
*/
|
|
87
|
-
fields: SelectRule<Cols>["fields"];
|
|
88
|
-
/**
|
|
89
|
-
* Data to include/overwrite on each insert
|
|
90
|
-
*/
|
|
91
|
-
forcedData?: Partial<Cols>;
|
|
92
|
-
/**
|
|
93
|
-
* Fields user can view after inserting
|
|
94
|
-
*/
|
|
95
|
-
returningFields?: SelectRule<Cols>["fields"];
|
|
96
|
-
/**
|
|
97
|
-
* Validation logic to check/update data for each request. Happens before publish rule checks (for fields, forcedData/forcedFilter)
|
|
98
|
-
*/
|
|
99
|
-
preValidate?: ValidateRow<Cols, S>;
|
|
100
|
-
/**
|
|
101
|
-
* Validation logic to check/update data for each request. Happens after publish rule checks (for fields, forcedData/forcedFilter)
|
|
102
|
-
*/
|
|
103
|
-
validate?: ValidateRow<Cols, S>;
|
|
104
|
-
/**
|
|
105
|
-
* Validation logic to check/update data after the insert.
|
|
106
|
-
* Happens in the same transaction so upon throwing an error the record will be deleted (not committed)
|
|
107
|
-
*/
|
|
108
|
-
postValidate?: ValidateRow<Required<Cols>, S>;
|
|
109
|
-
};
|
|
110
|
-
export type UpdateRule<Cols extends AnyObject = AnyObject, S extends DBSchema | void = void> = {
|
|
111
|
-
/**
|
|
112
|
-
* Fields allowed to be updated. Tip: Use false/0 to exclude field
|
|
113
|
-
*/
|
|
114
|
-
fields: SelectRule<Cols>["fields"];
|
|
115
|
-
/**
|
|
116
|
-
* Row level FGAC
|
|
117
|
-
* Used when the editable fields change based on the updated row
|
|
118
|
-
* If specified then the fields from the first matching filter table.count({ ...filter, ...updateFilter }) > 0 will be used
|
|
119
|
-
* If none matching then the "fields" will be used
|
|
120
|
-
* Specify in decreasing order of specificity otherwise a more general filter will match first
|
|
121
|
-
*/
|
|
122
|
-
dynamicFields?: {
|
|
123
|
-
filter: FullFilter<Cols, S>;
|
|
124
|
-
fields: SelectRule<Cols>["fields"];
|
|
125
|
-
}[];
|
|
126
|
-
/**
|
|
127
|
-
* Filter added to every query (e.g. user_id) to restrict access
|
|
128
|
-
* This filter cannot be updated
|
|
129
|
-
*/
|
|
130
|
-
forcedFilter?: SelectRule<Cols, S>["forcedFilter"];
|
|
131
|
-
/**
|
|
132
|
-
* Data to include/overwrite on each updatDBe
|
|
133
|
-
*/
|
|
134
|
-
forcedData?: InsertRule<Cols, S>["forcedData"];
|
|
135
|
-
/**
|
|
136
|
-
* Fields user can use to find the updates
|
|
137
|
-
*/
|
|
138
|
-
filterFields?: SelectRule<Cols>["fields"];
|
|
139
|
-
/**
|
|
140
|
-
* Fields user can view after updating
|
|
141
|
-
*/
|
|
142
|
-
returningFields?: SelectRule<Cols>["fields"];
|
|
143
|
-
/**
|
|
144
|
-
* Validation logic to check/update data for each request
|
|
145
|
-
*/
|
|
146
|
-
validate?: ValidateUpdateRow<Cols, S>;
|
|
147
|
-
/**
|
|
148
|
-
* Validation logic to check/update data after the insert.
|
|
149
|
-
* Happens in the same transaction so upon throwing an error the record will be deleted (not committed)
|
|
150
|
-
*/
|
|
151
|
-
postValidate?: ValidateRow<Required<Cols>, S>;
|
|
152
|
-
};
|
|
153
|
-
export type DeleteRule<Cols extends AnyObject = AnyObject, S extends DBSchema | void = void> = {
|
|
154
|
-
/**
|
|
155
|
-
* Filter added to every query (e.g. user_id) to restrict access
|
|
156
|
-
*/
|
|
157
|
-
forcedFilter?: SelectRule<Cols, S>["forcedFilter"];
|
|
158
|
-
/**
|
|
159
|
-
* Fields user can filter by
|
|
160
|
-
*/
|
|
161
|
-
filterFields: FieldFilter<Cols>;
|
|
162
|
-
/**
|
|
163
|
-
* Fields user can view after deleting
|
|
164
|
-
*/
|
|
165
|
-
returningFields?: SelectRule<Cols>["filterFields"];
|
|
166
|
-
/**
|
|
167
|
-
* Validation logic to check/update data for each request
|
|
168
|
-
*/
|
|
169
|
-
validate?(...args: any[]): Awaitable<void>;
|
|
170
|
-
};
|
|
171
|
-
export type SyncRule<Cols extends AnyObject = AnyObject> = {
|
|
172
|
-
/**
|
|
173
|
-
* Primary keys used in updating data
|
|
174
|
-
*/
|
|
175
|
-
id_fields: (keyof Cols)[];
|
|
176
|
-
/**
|
|
177
|
-
* Numerical incrementing fieldname (last updated timestamp) used to sync items
|
|
178
|
-
*/
|
|
179
|
-
synced_field: keyof Cols;
|
|
180
|
-
/**
|
|
181
|
-
* EXPERIMENTAL. Disabled by default. If true then server will attempt to delete any records missing from client.
|
|
182
|
-
*/
|
|
183
|
-
allow_delete?: boolean;
|
|
184
|
-
/**
|
|
185
|
-
* Throttle replication transmission in milliseconds. Defaults to 100
|
|
186
|
-
*/
|
|
187
|
-
throttle?: number;
|
|
188
|
-
/**
|
|
189
|
-
* Number of rows to send per trip. Defaults to 50
|
|
190
|
-
*/
|
|
191
|
-
batch_size?: number;
|
|
192
|
-
};
|
|
193
|
-
export type SubscribeRule = {
|
|
194
|
-
throttle?: number;
|
|
195
|
-
};
|
|
196
|
-
export type ViewRule<S extends AnyObject = AnyObject> = CommonTableRules & {
|
|
197
|
-
/**
|
|
198
|
-
* What can be read from the table
|
|
199
|
-
*/
|
|
200
|
-
select?: SelectRule<S>;
|
|
201
|
-
};
|
|
202
|
-
export type TableRule<RowType extends AnyObject = AnyObject, S extends DBSchema | void = void> = ViewRule<RowType> & {
|
|
203
|
-
insert?: InsertRule<RowType, S>;
|
|
204
|
-
update?: UpdateRule<RowType, S>;
|
|
205
|
-
delete?: DeleteRule<RowType, S>;
|
|
206
|
-
sync?: SyncRule<RowType>;
|
|
207
|
-
subscribe?: SubscribeRule;
|
|
208
|
-
};
|
|
209
|
-
export type PublishViewRule<Col extends AnyObject = AnyObject, S extends DBSchema | void = void> = {
|
|
210
|
-
select?: SelectRule<Col, S> | PublishAllOrNothing;
|
|
211
|
-
getColumns?: PublishAllOrNothing;
|
|
212
|
-
getInfo?: PublishAllOrNothing;
|
|
213
|
-
};
|
|
214
|
-
export type PublishTableRule<Col extends AnyObject = AnyObject, S extends DBSchema | void = void> = PublishViewRule<Col, S> & {
|
|
215
|
-
insert?: InsertRule<Col, S> | PublishAllOrNothing;
|
|
216
|
-
update?: UpdateRule<Col, S> | PublishAllOrNothing;
|
|
217
|
-
delete?: DeleteRule<Col, S> | PublishAllOrNothing;
|
|
218
|
-
sync?: SyncRule<Col>;
|
|
219
|
-
subscribe?: SubscribeRule | PublishAllOrNothing;
|
|
220
|
-
};
|
|
221
|
-
export type ParsedPublishTable = {
|
|
222
|
-
select?: SelectRule;
|
|
223
|
-
getColumns?: true;
|
|
224
|
-
getInfo?: true;
|
|
225
|
-
insert?: InsertRule;
|
|
226
|
-
update?: UpdateRule;
|
|
227
|
-
delete?: DeleteRule;
|
|
228
|
-
sync?: SyncRule;
|
|
229
|
-
subscribe?: SubscribeRule;
|
|
230
|
-
subscribeOne?: SubscribeRule;
|
|
231
|
-
};
|
|
232
|
-
export type PublishParams<S = void, SUser extends SessionUser = SessionUser> = {
|
|
233
|
-
sid?: string;
|
|
234
|
-
dbo: DBOFullyTyped<S>;
|
|
235
|
-
db: DB;
|
|
236
|
-
user?: SUser["user"];
|
|
237
|
-
socket: PRGLIOSocket;
|
|
238
|
-
tables: {
|
|
239
|
-
name: string;
|
|
240
|
-
info: TableOrViewInfo;
|
|
241
|
-
columns: TableSchemaColumn[];
|
|
242
|
-
}[];
|
|
243
|
-
};
|
|
244
|
-
export type RequestParams = {
|
|
245
|
-
dbo?: DBHandlerServer;
|
|
246
|
-
socket?: any;
|
|
247
|
-
};
|
|
248
|
-
export type PublishAllOrNothing = true | "*" | false | null;
|
|
249
|
-
type PublishObject = {
|
|
250
|
-
[table_name: string]: (PublishTableRule | PublishViewRule | PublishAllOrNothing);
|
|
251
|
-
};
|
|
252
|
-
export type ParsedPublishTables = {
|
|
253
|
-
[table_name: string]: ParsedPublishTable;
|
|
254
|
-
};
|
|
255
|
-
export type PublishedResult<Schema = void> = PublishAllOrNothing | PublishFullyTyped<Schema>;
|
|
256
|
-
export type Publish<Schema = void, SUser extends SessionUser = SessionUser> = PublishedResult<Schema> | ((params: PublishParams<Schema, SUser>) => Awaitable<PublishedResult<Schema>>);
|
|
257
|
-
export declare class PublishParser {
|
|
258
|
-
publish: any;
|
|
259
|
-
publishMethods?: PublishMethods<void, SessionUser> | undefined;
|
|
260
|
-
publishRawSQL?: any;
|
|
261
|
-
dbo: DBHandlerServer;
|
|
262
|
-
db: DB;
|
|
263
|
-
prostgles: Prostgles;
|
|
264
|
-
constructor(publish: any, publishMethods: PublishMethods<void, SessionUser> | undefined, publishRawSQL: any, dbo: DBHandlerServer, db: DB, prostgles: Prostgles);
|
|
265
|
-
getPublishParams(localParams: LocalParams, clientInfo?: AuthResult): Promise<PublishParams>;
|
|
266
|
-
getAllowedMethods(socket: any, userData?: AuthResult): Promise<{
|
|
267
|
-
[key: string]: Method;
|
|
268
|
-
}>;
|
|
269
|
-
/**
|
|
270
|
-
* Parses the first level of publish. (If false then nothing if * then all tables and views)
|
|
271
|
-
* @param socket
|
|
272
|
-
* @param user
|
|
273
|
-
*/
|
|
274
|
-
getPublish(localParams: LocalParams, clientInfo?: AuthResult): Promise<PublishObject>;
|
|
275
|
-
getValidatedRequestRuleWusr({ tableName, command, localParams }: DboTableCommand): Promise<TableRule>;
|
|
276
|
-
getValidatedRequestRule({ tableName, command, localParams }: DboTableCommand, clientInfo?: AuthResult): Promise<TableRule>;
|
|
277
|
-
getTableRules({ tableName, localParams }: DboTable, clientInfo?: AuthResult): Promise<ParsedPublishTable | undefined>;
|
|
278
|
-
getSchemaFromPublish(socket: any, userData?: AuthResult): Promise<{
|
|
279
|
-
schema: TableSchemaForClient;
|
|
280
|
-
tables: DBSchemaTable[];
|
|
281
|
-
}>;
|
|
282
|
-
}
|
|
283
|
-
export {};
|
|
284
|
-
//# sourceMappingURL=PublishParser.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PublishParser.d.ts","sourceRoot":"","sources":["PublishParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,SAAS,EAAO,oBAAoB,EAAE,aAAa,EAAwB,UAAU,EAAY,MAAM,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3K,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAyB,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtI,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE,EAAiB,MAAM,aAAa,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE1E,MAAM,MAAM,cAAc,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,SAAS,WAAW,GAAG,WAAW,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAAC;AAE3L,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAE1C,KAAK,OAAO,GAAG;IACb,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,OAAO,CAAC,EAAE,GAAG,CAAC;CACf,CAAA;AAED,KAAK,QAAQ,GAAG,OAAO,GAAG;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAA;AACD,KAAK,eAAe,GAAG,OAAO,GAAG,QAAQ,GAAG;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAA;AA6ED,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAK5D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACvB,SAAS,EAAE,WAAW,CAAC;CACxB,CAAA;AACD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;CACtB,CAAA;AACD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,WAAW,CAAC;CACxB,CAAA;AACD,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,QAAQ,GAAG,IAAI,GAAG,IAAI,IAAI;IACxF,MAAM,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACxB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACjB,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;CAC3B,CAAA;AACD,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,QAAQ,GAAG,IAAI,GAAG,IAAI,IAAI;IAC7E,MAAM,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACxB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CAClB,CAAA;AACD,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,SAAS,IAAI;IACxD,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;CACtB,CAAA;AACD,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI,oBAAoB,CAAC,CAAC,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;AAErH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AACvH,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,CAAC,SAAS,QAAQ,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE;IAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAAC,MAAM,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;CAAE,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAGrM,MAAM,MAAM,UAAU,CAAC,IAAI,SAAS,SAAS,GAAG,SAAS,EAAE,CAAC,SAAS,QAAQ,GAAG,IAAI,GAAG,IAAI,IAAI;IAE7F;;;OAGG;IACH,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IAE1B;;;OAGG;IACH,aAAa,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IAElC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB;;OAEG;IACH,YAAY,CAAC,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEnC;;SAEK;IACL,YAAY,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,CAAC,IAAI,EAAE,iBAAiB,GAAG,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAEpF,CAAA;AACD,MAAM,MAAM,UAAU,CAAC,IAAI,SAAS,SAAS,GAAG,SAAS,EAAE,CAAC,GAAG,IAAI,IAAI;IAErE;;OAEG;IACH,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAA;IAElC;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3B;;OAEG;IACH,eAAe,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAA;IAE5C;;OAEG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEnC;;OAEG;IACH,QAAQ,CAAC,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEhC;;;OAGG;IACH,YAAY,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;CAC/C,CAAA;AACD,MAAM,MAAM,UAAU,CAAC,IAAI,SAAS,SAAS,GAAG,SAAS,EAAE,CAAC,SAAS,QAAQ,GAAG,IAAI,GAAG,IAAI,IAAI;IAE7F;;OAEG;IACH,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAA;IAElC;;;;;;OAMG;IACH,aAAa,CAAC,EAAE;QACd,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC5B,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAA;KACnC,EAAE,CAAC;IAEJ;;;OAGG;IACH,YAAY,CAAC,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAA;IAElD;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;IAE9C;;OAEG;IACH,YAAY,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAA;IAEzC;;OAEG;IACH,eAAe,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAA;IAE5C;;OAEG;IACH,QAAQ,CAAC,EAAE,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEtC;;;OAGG;IACH,YAAY,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,IAAI,SAAS,SAAS,GAAG,SAAS,EAAE,CAAC,SAAS,QAAQ,GAAG,IAAI,GAAG,IAAI,IAAI;IAE7F;;OAEG;IACH,YAAY,CAAC,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAA;IAElD;;OAEG;IACH,YAAY,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IAEhC;;OAEG;IACH,eAAe,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAA;IAElD;;OAEG;IACH,QAAQ,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;CAC5C,CAAA;AACD,MAAM,MAAM,QAAQ,CAAC,IAAI,SAAS,SAAS,GAAG,SAAS,IAAI;IAEzD;;OAEG;IACH,SAAS,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;IAE1B;;OAEG;IACH,YAAY,EAAE,MAAM,IAAI,CAAC;IAEzB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAA;AACD,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAA;AAED,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI,gBAAgB,GAAG;IACzE;;OAEG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;CACxB,CAAC;AACF,MAAM,MAAM,SAAS,CAAC,OAAO,SAAS,SAAS,GAAG,SAAS,EAAE,CAAC,SAAS,QAAQ,GAAG,IAAI,GAAG,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG;IACnH,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzB,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B,CAAC;AACF,MAAM,MAAM,eAAe,CAAC,GAAG,SAAS,SAAS,GAAG,SAAS,EAAE,CAAC,SAAS,QAAQ,GAAG,IAAI,GAAG,IAAI,IAAI;IACjG,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,mBAAmB,CAAA;IACjD,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC/B,CAAC;AACF,MAAM,MAAM,gBAAgB,CAAC,GAAG,SAAS,SAAS,GAAG,SAAS,EAAE,CAAC,SAAS,QAAQ,GAAG,IAAI,GAAG,IAAI,IAAI,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG;IAC5H,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,mBAAmB,CAAA;IACjD,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,mBAAmB,CAAA;IACjD,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,mBAAmB,CAAA;IACjD,IAAI,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IACrB,SAAS,CAAC,EAAE,aAAa,GAAG,mBAAmB,CAAC;CACjD,CAAC;AAGF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,OAAO,CAAC,EAAE,IAAI,CAAC;IAEf,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,YAAY,CAAC,EAAE,aAAa,CAAC;CAC9B,CAAA;AAKD,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,SAAS,WAAW,GAAG,WAAW,IAAI;IAC7E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IACtB,EAAE,EAAE,EAAE,CAAC;IACP,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,eAAe,CAAC;QACtB,OAAO,EAAE,iBAAiB,EAAE,CAAC;KAC9B,EAAE,CAAC;CACL,CAAA;AACD,MAAM,MAAM,aAAa,GAAG;IAAE,GAAG,CAAC,EAAE,eAAe,CAAC;IAAC,MAAM,CAAC,EAAE,GAAG,CAAA;CAAE,CAAC;AACpE,MAAM,MAAM,mBAAmB,GAAG,IAAI,GAAG,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC;AAC5D,KAAK,aAAa,GAAG;IACnB,CAAC,UAAU,EAAE,MAAM,GAAG,CAAC,gBAAgB,GAAG,eAAe,GAAG,mBAAmB,CAAC,CAAA;CACjF,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG;IAChC,CAAC,UAAU,EAAE,MAAM,GAAG,kBAAkB,CAAA;CACzC,CAAC;AACF,MAAM,MAAM,eAAe,CAAC,MAAM,GAAG,IAAI,IAAI,mBAAmB,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAC7F,MAAM,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,EAAE,KAAK,SAAS,WAAW,GAAG,WAAW,IAAI,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAEvL,qBAAa,aAAa;IACxB,OAAO,EAAE,GAAG,CAAC;IACb,cAAc,CAAC,EAAE,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,SAAS,CAAC;IAC/D,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,GAAG,EAAE,eAAe,CAAC;IACrB,EAAE,EAAE,EAAE,CAAA;IACN,SAAS,EAAE,SAAS,CAAC;gBAET,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS;IAWzJ,gBAAgB,CAAC,WAAW,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IAe3F,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KAAE,CAAC;IAqBhG;;;;OAIG;IACG,UAAU,CAAC,WAAW,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IAcrF,2BAA2B,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC;IAKrG,uBAAuB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,eAAe,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IA0C1H,aAAa,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IAsKrH,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,oBAAoB,CAAC;QAAC,MAAM,EAAE,aAAa,EAAE,CAAA;KAAE,CAAC;CA4GnI"}
|