prostgles-server 4.2.265 → 4.2.267
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/TableHandler/DataValidator.js +5 -5
- package/dist/DboBuilder/TableHandler/DataValidator.js.map +1 -1
- package/dist/DboBuilder/TableHandler/insert/insertNestedRecords.d.ts.map +1 -1
- package/dist/DboBuilder/TableHandler/insert/insertNestedRecords.js +1 -2
- package/dist/DboBuilder/TableHandler/insert/insertNestedRecords.js.map +1 -1
- package/dist/DboBuilder/TableHandler/insertTest.js +2 -2
- package/dist/DboBuilder/TableHandler/insertTest.js.map +1 -1
- package/dist/DboBuilder/TableHandler/onDeleteFromFileTable.d.ts.map +1 -1
- package/dist/DboBuilder/TableHandler/onDeleteFromFileTable.js +1 -2
- package/dist/DboBuilder/TableHandler/onDeleteFromFileTable.js.map +1 -1
- package/dist/DboBuilder/TableHandler/updateFile.d.ts.map +1 -1
- package/dist/DboBuilder/TableHandler/updateFile.js +1 -2
- package/dist/DboBuilder/TableHandler/updateFile.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/ViewHandler.d.ts +1 -1
- package/dist/DboBuilder/ViewHandler/getValidatedSubscribeOptions.d.ts +4 -0
- package/dist/DboBuilder/ViewHandler/getValidatedSubscribeOptions.d.ts.map +1 -0
- package/dist/DboBuilder/ViewHandler/getValidatedSubscribeOptions.js +65 -0
- package/dist/DboBuilder/ViewHandler/getValidatedSubscribeOptions.js.map +1 -0
- package/dist/DboBuilder/ViewHandler/parseComplexFilter.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/parseComplexFilter.js +6 -8
- package/dist/DboBuilder/ViewHandler/parseComplexFilter.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/subscribe.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/subscribe.js +5 -5
- package/dist/DboBuilder/ViewHandler/subscribe.js.map +1 -1
- package/dist/DboBuilder/dboBuilderUtils.d.ts.map +1 -1
- package/dist/DboBuilder/dboBuilderUtils.js +1 -2
- package/dist/DboBuilder/dboBuilderUtils.js.map +1 -1
- package/dist/DboBuilder/getSubscribeRelatedTables.d.ts.map +1 -1
- package/dist/DboBuilder/getSubscribeRelatedTables.js +2 -2
- package/dist/DboBuilder/getSubscribeRelatedTables.js.map +1 -1
- package/dist/JSONBValidation/JSONBValidation.d.ts.map +1 -1
- package/dist/JSONBValidation/JSONBValidation.js +105 -13
- package/dist/JSONBValidation/JSONBValidation.js.map +1 -1
- package/dist/JSONBValidation/JSONBValidation.spec.js +17 -3
- package/dist/JSONBValidation/JSONBValidation.spec.js.map +1 -1
- package/dist/JSONBValidation/getJSONBSchemaTSTypes.d.ts +1 -0
- package/dist/JSONBValidation/getJSONBSchemaTSTypes.d.ts.map +1 -1
- package/dist/JSONBValidation/getJSONBSchemaTSTypes.js +98 -97
- package/dist/JSONBValidation/getJSONBSchemaTSTypes.js.map +1 -1
- package/dist/JSONBValidation/validate_jsonb_schema_sql.js +3 -3
- package/dist/JSONBValidation/validate_jsonb_schema_sql.js.map +1 -1
- package/dist/Logging.d.ts +2 -1
- package/dist/Logging.d.ts.map +1 -1
- package/dist/PubSubManager/PubSubManager.d.ts +7 -44
- package/dist/PubSubManager/PubSubManager.d.ts.map +1 -1
- package/dist/PubSubManager/PubSubManager.js +7 -38
- package/dist/PubSubManager/PubSubManager.js.map +1 -1
- package/dist/PubSubManager/PubSubManagerUtils.d.ts +22 -0
- package/dist/PubSubManager/PubSubManagerUtils.d.ts.map +1 -0
- package/dist/PubSubManager/PubSubManagerUtils.js +33 -0
- package/dist/PubSubManager/PubSubManagerUtils.js.map +1 -0
- package/dist/PubSubManager/addSub.d.ts +1 -1
- package/dist/PubSubManager/addSub.d.ts.map +1 -1
- package/dist/PubSubManager/addSub.js +20 -24
- package/dist/PubSubManager/addSub.js.map +1 -1
- package/dist/PubSubManager/addSync.d.ts.map +1 -1
- package/dist/PubSubManager/addSync.js +3 -3
- package/dist/PubSubManager/addSync.js.map +1 -1
- package/dist/PubSubManager/addTrigger.d.ts +1 -1
- package/dist/PubSubManager/addTrigger.d.ts.map +1 -1
- package/dist/PubSubManager/addTrigger.js +9 -9
- package/dist/PubSubManager/addTrigger.js.map +1 -1
- package/dist/PubSubManager/deleteOrphanedTriggers.d.ts.map +1 -1
- package/dist/PubSubManager/deleteOrphanedTriggers.js +2 -2
- package/dist/PubSubManager/deleteOrphanedTriggers.js.map +1 -1
- package/dist/PubSubManager/getPubSubManagerInitQuery.d.ts.map +1 -1
- package/dist/PubSubManager/getPubSubManagerInitQuery.js +26 -23
- package/dist/PubSubManager/getPubSubManagerInitQuery.js.map +1 -1
- package/dist/PubSubManager/initPubSubManager.d.ts +1 -1
- package/dist/PubSubManager/initPubSubManager.d.ts.map +1 -1
- package/dist/PubSubManager/initPubSubManager.js +3 -3
- package/dist/PubSubManager/initPubSubManager.js.map +1 -1
- package/dist/PubSubManager/initialiseEventTriggers.d.ts +1 -1
- package/dist/PubSubManager/initialiseEventTriggers.d.ts.map +1 -1
- package/dist/PubSubManager/initialiseEventTriggers.js +2 -2
- package/dist/PubSubManager/initialiseEventTriggers.js.map +1 -1
- package/dist/PubSubManager/notifListener.d.ts.map +1 -1
- package/dist/PubSubManager/notifListener.js +20 -14
- package/dist/PubSubManager/notifListener.js.map +1 -1
- package/dist/PubSubManager/orphanTriggerCheck.d.ts.map +1 -1
- package/dist/PubSubManager/orphanTriggerCheck.js +2 -2
- package/dist/PubSubManager/orphanTriggerCheck.js.map +1 -1
- package/dist/PubSubManager/pushSubData.d.ts +1 -1
- package/dist/PubSubManager/pushSubData.d.ts.map +1 -1
- package/dist/PubSubManager/pushSubData.js +3 -3
- package/dist/PubSubManager/pushSubData.js.map +1 -1
- package/dist/PublishParser/getTableRulesWithoutFileTable.js +2 -2
- package/dist/PublishParser/getTableRulesWithoutFileTable.js.map +1 -1
- package/dist/SchemaWatch/SchemaWatch.d.ts.map +1 -1
- package/dist/SchemaWatch/SchemaWatch.js +4 -5
- package/dist/SchemaWatch/SchemaWatch.js.map +1 -1
- package/dist/SyncReplication.d.ts +1 -1
- package/dist/SyncReplication.d.ts.map +1 -1
- package/dist/SyncReplication.js +7 -7
- package/dist/SyncReplication.js.map +1 -1
- package/dist/TableConfig/applyTableConfig.js +2 -2
- package/dist/TableConfig/applyTableConfig.js.map +1 -1
- package/dist/TableConfig/getColumnDefinitionQuery.js +7 -7
- package/dist/TableConfig/getColumnDefinitionQuery.js.map +1 -1
- package/dist/TableConfig/getConstraintDefinitionQueries.js +4 -4
- package/dist/TableConfig/getConstraintDefinitionQueries.js.map +1 -1
- package/dist/TableConfig/getSchemaDiffQueries.js +2 -2
- package/dist/TableConfig/getSchemaDiffQueries.js.map +1 -1
- package/dist/TableConfig/initTableConfig.d.ts.map +1 -1
- package/dist/TableConfig/initTableConfig.js +5 -5
- package/dist/TableConfig/initTableConfig.js.map +1 -1
- package/dist/TableConfig/runMigrations.js +2 -2
- package/dist/TableConfig/runMigrations.js.map +1 -1
- package/dist/TableConfig/tableConfigSchemaUtils.js +3 -3
- package/dist/TableConfig/tableConfigSchemaUtils.js.map +1 -1
- package/lib/DboBuilder/TableHandler/DataValidator.ts +1 -1
- package/lib/DboBuilder/TableHandler/insert/insertNestedRecords.ts +1 -1
- package/lib/DboBuilder/TableHandler/insertTest.ts +1 -1
- package/lib/DboBuilder/TableHandler/onDeleteFromFileTable.ts +1 -2
- package/lib/DboBuilder/TableHandler/updateFile.ts +1 -2
- package/lib/DboBuilder/ViewHandler/getValidatedSubscribeOptions.ts +72 -0
- package/lib/DboBuilder/ViewHandler/parseComplexFilter.ts +7 -13
- package/lib/DboBuilder/ViewHandler/subscribe.ts +9 -6
- package/lib/DboBuilder/dboBuilderUtils.ts +1 -1
- package/lib/DboBuilder/getSubscribeRelatedTables.ts +2 -1
- package/lib/JSONBValidation/JSONBValidation.spec.ts +38 -3
- package/lib/JSONBValidation/JSONBValidation.ts +102 -15
- package/lib/JSONBValidation/getJSONBSchemaTSTypes.ts +111 -111
- package/lib/JSONBValidation/validate_jsonb_schema_sql.ts +3 -3
- package/lib/Logging.ts +2 -1
- package/lib/PubSubManager/PubSubManager.ts +11 -50
- package/lib/PubSubManager/PubSubManagerUtils.ts +37 -0
- package/lib/PubSubManager/addSub.ts +21 -30
- package/lib/PubSubManager/addSync.ts +2 -7
- package/lib/PubSubManager/addTrigger.ts +3 -2
- package/lib/PubSubManager/deleteOrphanedTriggers.ts +2 -1
- package/lib/PubSubManager/getPubSubManagerInitQuery.ts +29 -39
- package/lib/PubSubManager/initPubSubManager.ts +2 -1
- package/lib/PubSubManager/initialiseEventTriggers.ts +3 -2
- package/lib/PubSubManager/notifListener.ts +20 -6
- package/lib/PubSubManager/orphanTriggerCheck.ts +2 -1
- package/lib/PubSubManager/pushSubData.ts +3 -2
- package/lib/PublishParser/getTableRulesWithoutFileTable.ts +1 -1
- package/lib/SchemaWatch/SchemaWatch.ts +2 -5
- package/lib/SyncReplication.ts +3 -2
- package/lib/TableConfig/applyTableConfig.ts +2 -2
- package/lib/TableConfig/getColumnDefinitionQuery.ts +1 -1
- package/lib/TableConfig/getConstraintDefinitionQueries.ts +1 -1
- package/lib/TableConfig/getSchemaDiffQueries.ts +1 -1
- package/lib/TableConfig/initTableConfig.ts +7 -4
- package/lib/TableConfig/runMigrations.ts +2 -2
- package/lib/TableConfig/tableConfigSchemaUtils.ts +2 -2
- package/package.json +2 -2
package/dist/Logging.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logging.d.ts","sourceRoot":"","sources":["../lib/Logging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Logging.d.ts","sourceRoot":"","sources":["../lib/Logging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAExE,KAAK,UAAU,GAAG;IAChB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;CACzB,CAAC;AAEF,yBAAiB,UAAU,CAAC;IAC1B,KAAK,SAAS,GAAG;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,GAAG,CAAC;KACb,CAAC;IAEF,MAAM,MAAM,KAAK,GAAG,UAAU,GAC5B,SAAS,GAAG;QACV,IAAI,EAAE,OAAO,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,YAAY,GAAG,MAAM,CAAC;QACrC,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC;QAC9B,IAAI,EAAE,SAAS,CAAC;QAChB,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;KACtC,CAAC;IAEJ,MAAM,MAAM,IAAI,GAAG,UAAU,GAC3B,SAAS,GAAG;QACV,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,kBAAkB,EAAE,MAAM,EAAE,CAAC;KAC9B,GAAG,CACA;QACE,OAAO,EAAE,UAAU,CAAC;QACpB,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC;QAC7B,EAAE,EAAE,MAAM,CAAC;KACZ,GACD;QACE,OAAO,EAAE,YAAY,GAAG,UAAU,CAAC;QACnC,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;KAClB,GACD;QACE,OAAO,EAAE,SAAS,GAAG,QAAQ,CAAC;QAC9B,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;KACnB,GACD;QACE,OAAO,EAAE,yBAAyB,CAAC;QACnC,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;KACvB,CACJ,CAAC;IAEJ,KAAK,uBAAuB,GAAG,UAAU,GAAG;QAC1C,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,WAAW,CAAC;KAC3B,CAAC;IACF,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG;QAClC,IAAI,EAAE,WAAW,CAAC;QAClB,kBAAkB,EAAE,MAAM,EAAE,CAAC;QAC7B,QAAQ,EAAE,qBAAqB,GAAG,SAAS,CAAC;KAC7C,GAAG,CACE,CAAC,uBAAuB,GAAG;QACzB,OAAO,EAAE,YAAY,CAAC;QACtB,KAAK,EAAE,IAAI,GAAG,MAAM,CAAC;QACrB,kDAAkD;QAClD,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,GACF,CAAC,uBAAuB,GAAG;QACzB,OAAO,EAAE,aAAa,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC,GACF,CAAC,uBAAuB,GAAG;QACzB,OAAO,EAAE,eAAe,CAAC;QACzB,SAAS,EAAE,aAAa,CAAC;QACzB,OAAO,EAAE,GAAG,EAAE,CAAC;KAChB,CAAC,GACF,CAAC,uBAAuB,GAAG;QACzB,OAAO,EAAE,wBAAwB,CAAC;QAClC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;QAC5B,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;QACtC,aAAa,EAAE,qBAAqB,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;QACzD,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,IAAI,GAAG,OAAO,GAAG,aAAa,GAAG,uBAAuB,CAAC;KACjE,CAAC,GACF;QACE,OAAO,EAAE,aAAa,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EACD,eAAe,GACf,OAAO,GACP,mBAAmB,GACnB,wBAAwB,GACxB,2BAA2B,GAC3B,kBAAkB,CAAC;KACxB,GACD;QACE,OAAO,EAAE,mCAAmC,GAAG,oCAAoC,CAAC;KACrF,GACD;QACE,OAAO,EAAE,iBAAiB,CAAC;QAC3B,WAAW,EAAE,qBAAqB,CAAC;KACpC,CACJ,CAAC;IAEJ,MAAM,MAAM,UAAU,GAClB,CAAC,UAAU,GAAG;QACZ,IAAI,EAAE,SAAS,GAAG,YAAY,CAAC;QAC/B,QAAQ,EAAE,MAAM,CAAC;QACjB,kBAAkB,EAAE,MAAM,EAAE,CAAC;KAC9B,CAAC,GACF,CAAC,UAAU,GACT,SAAS,GAAG;QACV,IAAI,EAAE,yBAAyB,CAAC;KACjC,CAAC,CAAC;IAET,MAAM,MAAM,MAAM,GAAG,UAAU,GAC7B,SAAS,GAAG;QACV,IAAI,EAAE,QAAQ,CAAC;QACf,IAAI,EAAE,GAAG,EAAE,CAAC;QACZ,WAAW,EAAE,WAAW,CAAC;KAC1B,CAAC;IACJ,MAAM,MAAM,IAAI,GAAG,UAAU,GAC3B,SAAS,GAAG;QACV,IAAI,EAAE,MAAM,CAAC;KACd,GAAG,CAAC;QAAE,OAAO,EAAE,eAAe,CAAA;KAAE,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAE9E,MAAM,MAAM,KAAK,GAAG,SAAS,GAC3B,CACI;QACE,IAAI,EAAE,OAAO,CAAC;QACd,OAAO,EACH,kBAAkB,GAClB,eAAe,GACf,iBAAiB,GACjB,YAAY,GACZ,mBAAmB,GACnB,8BAA8B,GAC9B,4BAA4B,GAC5B,kBAAkB,GAClB,gBAAgB,GAChB,8BAA8B,GAC9B,4BAA4B,GAC5B,qBAAqB,GACrB,mBAAmB,GACnB,0BAA0B,GAC1B,0CAA0C,GAC1C,sBAAsB,CAAC;QAC3B,IAAI,CAAC,EAAE,SAAS,CAAC;KAClB,GACD;QACE,IAAI,EAAE,OAAO,CAAC;QACd,OAAO,EAAE,kBAAkB,CAAC;QAC5B,IAAI,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,YAAY,CAAA;SAAE,CAAC;KACxD,CACJ,CAAC;;CACL;AAED,MAAM,MAAM,SAAS,GACjB,UAAU,CAAC,IAAI,GACf,UAAU,CAAC,KAAK,GAChB,UAAU,CAAC,MAAM,GACjB,UAAU,CAAC,IAAI,GACf,UAAU,CAAC,SAAS,GACpB,UAAU,CAAC,UAAU,GACrB,UAAU,CAAC,KAAK,CAAC;AAErB,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC"}
|
|
@@ -2,17 +2,10 @@
|
|
|
2
2
|
import { DBHandlerServer, DboBuilder, PRGLIOSocket, TableInfo, TableOrViewInfo } from "../DboBuilder/DboBuilder";
|
|
3
3
|
import { PostgresNotifListenManager } from "../PostgresNotifListenManager";
|
|
4
4
|
import { DB } from "../Prostgles";
|
|
5
|
-
import
|
|
6
|
-
import pg from "pg-promise/typescript/pg-subset";
|
|
7
|
-
import { AnyObject, FieldFilter, SelectParams, SubscribeParams, WAL } from "prostgles-types";
|
|
5
|
+
import { AnyObject, FieldFilter, SelectParams, WAL, type SubscribeOptions } from "prostgles-types";
|
|
8
6
|
import { LocalFuncs } from "../DboBuilder/ViewHandler/subscribe";
|
|
9
7
|
import { EventTypes } from "../Logging";
|
|
10
8
|
import { ParsedTableRule } from "../PublishParser/PublishParser";
|
|
11
|
-
type PGP = pgPromise.IMain<{}, pg.IClient>;
|
|
12
|
-
export declare const pgp: PGP;
|
|
13
|
-
export declare const asValue: (v: any) => string;
|
|
14
|
-
export declare const DEFAULT_SYNC_BATCH_SIZE = 50;
|
|
15
|
-
export declare const log: (...args: any[]) => void;
|
|
16
9
|
export type BasicCallback = (err?: any, res?: any) => void;
|
|
17
10
|
export type SyncParams = {
|
|
18
11
|
socket_id: string;
|
|
@@ -63,7 +56,7 @@ export type ViewSubscriptionOptions = ({
|
|
|
63
56
|
condition: string;
|
|
64
57
|
}[];
|
|
65
58
|
};
|
|
66
|
-
export type SubscriptionParams =
|
|
59
|
+
export type SubscriptionParams = {
|
|
67
60
|
socket_id?: string;
|
|
68
61
|
channel_name: string;
|
|
69
62
|
/**
|
|
@@ -74,14 +67,15 @@ export type SubscriptionParams = Pick<SubscribeParams, "throttle" | "throttleOpt
|
|
|
74
67
|
table_info: TableOrViewInfo;
|
|
75
68
|
table_rules?: ParsedTableRule;
|
|
76
69
|
filter: object;
|
|
77
|
-
|
|
70
|
+
selectParams: SelectParams;
|
|
71
|
+
subscribeOptions: SubscribeOptions;
|
|
78
72
|
localFuncs?: LocalFuncs;
|
|
79
73
|
socket: PRGLIOSocket | undefined;
|
|
80
|
-
|
|
74
|
+
lastPushed: number;
|
|
81
75
|
is_throttling?: any;
|
|
82
76
|
is_ready?: boolean;
|
|
83
77
|
};
|
|
84
|
-
export type Subscription = Pick<SubscriptionParams, "
|
|
78
|
+
export type Subscription = Pick<SubscriptionParams, "selectParams" | "subscribeOptions" | "is_throttling" | "lastPushed" | "channel_name" | "is_ready" | "localFuncs" | "socket" | "socket_id" | "table_info" | "filter" | "table_rules"> & {
|
|
85
79
|
triggers: {
|
|
86
80
|
table_name: string;
|
|
87
81
|
condition: string;
|
|
@@ -96,8 +90,6 @@ export type PubSubManagerTriggers = Record<string, {
|
|
|
96
90
|
* Used to facilitate table subscribe and sync
|
|
97
91
|
*/
|
|
98
92
|
export declare class PubSubManager {
|
|
99
|
-
static DELIMITER: "|$prstgls$|";
|
|
100
|
-
static EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID: "prostgles internal query that should be excluded from schema watch ";
|
|
101
93
|
static create: (dboBuilder: DboBuilder) => Promise<PubSubManager | undefined>;
|
|
102
94
|
appInfoWasInserted: boolean;
|
|
103
95
|
get appId(): `${string}-${string}-${string}-${string}-${string}`;
|
|
@@ -153,24 +145,7 @@ export declare class PubSubManager {
|
|
|
153
145
|
addSync: (syncParams: AddSyncParams) => Promise<{
|
|
154
146
|
channelName: string;
|
|
155
147
|
}>;
|
|
156
|
-
addSub: (subscriptionParams: Omit<
|
|
157
|
-
socket_id?: string | undefined;
|
|
158
|
-
channel_name: string;
|
|
159
|
-
/**
|
|
160
|
-
* If this is a view then an array with all related tables will be
|
|
161
|
-
* */
|
|
162
|
-
viewOptions?: ViewSubscriptionOptions | undefined;
|
|
163
|
-
parentSubParams: Omit<SubscriptionParams, "parentSubParams"> | undefined;
|
|
164
|
-
table_info: TableOrViewInfo;
|
|
165
|
-
table_rules?: ParsedTableRule | undefined;
|
|
166
|
-
filter: object;
|
|
167
|
-
params: SelectParams;
|
|
168
|
-
localFuncs?: LocalFuncs | undefined;
|
|
169
|
-
socket: PRGLIOSocket | undefined;
|
|
170
|
-
last_throttled: number;
|
|
171
|
-
is_throttling?: any;
|
|
172
|
-
is_ready?: boolean | undefined;
|
|
173
|
-
} & {
|
|
148
|
+
addSub: (subscriptionParams: Omit<SubscriptionParams & {
|
|
174
149
|
condition: string;
|
|
175
150
|
}, "channel_name" | "parentSubParams">) => Promise<import("prostgles-types").SubscriptionChannels & {
|
|
176
151
|
sendFirstData: import("../SchemaWatch/SchemaWatch").VoidFunction | undefined;
|
|
@@ -205,16 +180,4 @@ export declare class PubSubManager {
|
|
|
205
180
|
duration: number;
|
|
206
181
|
}>;
|
|
207
182
|
}
|
|
208
|
-
export declare const NOTIF_TYPE: {
|
|
209
|
-
readonly data: "data_has_changed";
|
|
210
|
-
readonly data_trigger_change: "data_watch_triggers_have_changed";
|
|
211
|
-
readonly schema: "schema_has_changed";
|
|
212
|
-
};
|
|
213
|
-
export type NotifTypeName = (typeof NOTIF_TYPE)[keyof typeof NOTIF_TYPE];
|
|
214
|
-
export declare const NOTIF_CHANNEL: {
|
|
215
|
-
preffix: "prostgles_";
|
|
216
|
-
getFull: (appID: string | undefined) => string;
|
|
217
|
-
};
|
|
218
|
-
export declare const parseCondition: (condition: string) => string;
|
|
219
|
-
export { omitKeys, pickKeys } from "prostgles-types";
|
|
220
183
|
//# sourceMappingURL=PubSubManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PubSubManager.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/PubSubManager.ts"],"names":[],"mappings":";AAKA,OAAO,EACL,eAAe,EACf,UAAU,EACV,YAAY,EACZ,SAAS,EACT,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAQlC,OAAO,
|
|
1
|
+
{"version":3,"file":"PubSubManager.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/PubSubManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,38 +4,25 @@
|
|
|
4
4
|
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
|
5
5
|
*--------------------------------------------------------------------------------------------*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.
|
|
7
|
+
exports.PubSubManager = void 0;
|
|
8
8
|
const addSync_1 = require("./addSync");
|
|
9
9
|
const addTrigger_1 = require("./addTrigger");
|
|
10
10
|
const deleteOrphanedTriggers_1 = require("./deleteOrphanedTriggers");
|
|
11
11
|
const initialiseEventTriggers_1 = require("./initialiseEventTriggers");
|
|
12
12
|
const initPubSubManager_1 = require("./initPubSubManager");
|
|
13
13
|
const refreshTriggers_1 = require("./refreshTriggers");
|
|
14
|
-
const pgPromise = require("pg-promise");
|
|
15
14
|
const prostgles_types_1 = require("prostgles-types");
|
|
16
|
-
const
|
|
15
|
+
const prostgles_types_2 = require("prostgles-types");
|
|
17
16
|
const subscribe_1 = require("../DboBuilder/ViewHandler/subscribe");
|
|
18
17
|
const SyncReplication_1 = require("../SyncReplication");
|
|
19
18
|
const addSub_1 = require("./addSub");
|
|
20
19
|
const notifListener_1 = require("./notifListener");
|
|
21
20
|
const pushSubData_1 = require("./pushSubData");
|
|
22
|
-
|
|
23
|
-
const asValue = (v) => exports.pgp.as.format("$1", [v]);
|
|
24
|
-
exports.asValue = asValue;
|
|
25
|
-
exports.DEFAULT_SYNC_BATCH_SIZE = 50;
|
|
26
|
-
const log = (...args) => {
|
|
27
|
-
if (process.env.TEST_TYPE) {
|
|
28
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
29
|
-
console.log(...args);
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
exports.log = log;
|
|
21
|
+
const PubSubManagerUtils_1 = require("./PubSubManagerUtils");
|
|
33
22
|
/**
|
|
34
23
|
* Used to facilitate table subscribe and sync
|
|
35
24
|
*/
|
|
36
25
|
class PubSubManager {
|
|
37
|
-
static DELIMITER = "|$prstgls$|";
|
|
38
|
-
static EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID = "prostgles internal query that should be excluded from schema watch ";
|
|
39
26
|
static create = async (dboBuilder) => {
|
|
40
27
|
const instance = new PubSubManager(dboBuilder);
|
|
41
28
|
const result = await initPubSubManager_1.initPubSubManager.bind(instance)();
|
|
@@ -71,7 +58,7 @@ class PubSubManager {
|
|
|
71
58
|
connectedSocketIds: this.connectedSocketIds,
|
|
72
59
|
triggers: this._triggers,
|
|
73
60
|
});
|
|
74
|
-
(0,
|
|
61
|
+
(0, PubSubManagerUtils_1.log)("Created PubSubManager");
|
|
75
62
|
}
|
|
76
63
|
appCheckFrequencyMS = 10 * 1000;
|
|
77
64
|
appCheck;
|
|
@@ -107,7 +94,7 @@ class PubSubManager {
|
|
|
107
94
|
});
|
|
108
95
|
}
|
|
109
96
|
getTriggerSubs(table_name, condition) {
|
|
110
|
-
const subs = this.subs.filter((s) => (0,
|
|
97
|
+
const subs = this.subs.filter((s) => (0, prostgles_types_2.find)(s.triggers, { table_name, condition }));
|
|
111
98
|
return subs;
|
|
112
99
|
}
|
|
113
100
|
removeLocalSub(channelName, localFuncs) {
|
|
@@ -135,7 +122,7 @@ class PubSubManager {
|
|
|
135
122
|
return tableTriggerConditions;
|
|
136
123
|
};
|
|
137
124
|
getSubData = async (sub) => {
|
|
138
|
-
const { table_info, filter, params, table_rules } = sub; //, subOne = false
|
|
125
|
+
const { table_info, filter, selectParams: params, table_rules } = sub; //, subOne = false
|
|
139
126
|
const { name: table_name } = table_info;
|
|
140
127
|
if (!this.dbo[table_name]?.find) {
|
|
141
128
|
throw new Error(`this.dbo.${table_name}.find undefined`);
|
|
@@ -172,7 +159,7 @@ class PubSubManager {
|
|
|
172
159
|
tableName: s.table_info.name,
|
|
173
160
|
triggers: s.triggers,
|
|
174
161
|
}))),
|
|
175
|
-
remainingSyncs: JSON.stringify(this.syncs.map((s) => (0,
|
|
162
|
+
remainingSyncs: JSON.stringify(this.syncs.map((s) => (0, prostgles_types_2.pickKeys)(s, ["table_name", "condition"]))),
|
|
176
163
|
});
|
|
177
164
|
return "ok";
|
|
178
165
|
});
|
|
@@ -218,19 +205,6 @@ class PubSubManager {
|
|
|
218
205
|
addTrigger = addTrigger_1.addTrigger.bind(this);
|
|
219
206
|
}
|
|
220
207
|
exports.PubSubManager = PubSubManager;
|
|
221
|
-
exports.NOTIF_TYPE = {
|
|
222
|
-
data: "data_has_changed",
|
|
223
|
-
data_trigger_change: "data_watch_triggers_have_changed",
|
|
224
|
-
schema: "schema_has_changed",
|
|
225
|
-
};
|
|
226
|
-
exports.NOTIF_CHANNEL = {
|
|
227
|
-
preffix: "prostgles_",
|
|
228
|
-
getFull: (appID) => {
|
|
229
|
-
if (!appID)
|
|
230
|
-
throw "No appID";
|
|
231
|
-
return exports.NOTIF_CHANNEL.preffix + appID;
|
|
232
|
-
},
|
|
233
|
-
};
|
|
234
208
|
function debounce(func, timeout) {
|
|
235
209
|
let timer;
|
|
236
210
|
return (...args) => {
|
|
@@ -240,9 +214,4 @@ function debounce(func, timeout) {
|
|
|
240
214
|
}, timeout);
|
|
241
215
|
};
|
|
242
216
|
}
|
|
243
|
-
const parseCondition = (condition) => condition && condition.trim().length ? condition : "TRUE";
|
|
244
|
-
exports.parseCondition = parseCondition;
|
|
245
|
-
var prostgles_types_2 = require("prostgles-types");
|
|
246
|
-
Object.defineProperty(exports, "omitKeys", { enumerable: true, get: function () { return prostgles_types_2.omitKeys; } });
|
|
247
|
-
Object.defineProperty(exports, "pickKeys", { enumerable: true, get: function () { return prostgles_types_2.pickKeys; } });
|
|
248
217
|
//# sourceMappingURL=PubSubManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PubSubManager.js","sourceRoot":"","sources":["../../lib/PubSubManager/PubSubManager.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AAWhG,uCAAoC;AACpC,6CAA0C;AAC1C,qEAAkE;AAClE,uEAAoE;AACpE,2DAAwD;AACxD,uDAAoD;AAEpD,
|
|
1
|
+
{"version":3,"file":"PubSubManager.js","sourceRoot":"","sources":["../../lib/PubSubManager/PubSubManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as pgPromise from "pg-promise";
|
|
2
|
+
import pg from "pg-promise/typescript/pg-subset";
|
|
3
|
+
export declare const NOTIF_TYPE: {
|
|
4
|
+
readonly data: "data_has_changed";
|
|
5
|
+
readonly data_trigger_change: "data_watch_triggers_have_changed";
|
|
6
|
+
readonly schema: "schema_has_changed";
|
|
7
|
+
};
|
|
8
|
+
export type NotifTypeName = (typeof NOTIF_TYPE)[keyof typeof NOTIF_TYPE];
|
|
9
|
+
export declare const NOTIF_CHANNEL: {
|
|
10
|
+
preffix: "prostgles_";
|
|
11
|
+
getFull: (appID: string | undefined) => string;
|
|
12
|
+
};
|
|
13
|
+
export declare const parseCondition: (condition: string) => string;
|
|
14
|
+
export declare const DELIMITER = "|$prstgls$|";
|
|
15
|
+
export declare const EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID = "prostgles internal query that should be excluded from schema watch ";
|
|
16
|
+
type PGP = pgPromise.IMain<{}, pg.IClient>;
|
|
17
|
+
export declare const pgp: PGP;
|
|
18
|
+
export declare const asValue: (v: any) => string;
|
|
19
|
+
export declare const DEFAULT_SYNC_BATCH_SIZE = 50;
|
|
20
|
+
export declare const log: (...args: any[]) => void;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=PubSubManagerUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PubSubManagerUtils.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/PubSubManagerUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAEjD,eAAO,MAAM,UAAU;;;;CAIb,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AACzE,eAAO,MAAM,aAAa;;qBAEP,MAAM,GAAG,SAAS;CAIpC,CAAC;AAEF,eAAO,MAAM,cAAc,cAAe,MAAM,KAAG,MACQ,CAAC;AAE5D,eAAO,MAAM,SAAS,gBAAgB,CAAC;AAEvC,eAAO,MAAM,kCAAkC,wEACwB,CAAC;AAExE,KAAK,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;AAC3C,eAAO,MAAM,GAAG,EAAE,GAAmB,CAAC;AACtC,eAAO,MAAM,OAAO,MAAO,GAAG,WAA6B,CAAC;AAC5D,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C,eAAO,MAAM,GAAG,YAAa,GAAG,EAAE,SAKjC,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.log = exports.DEFAULT_SYNC_BATCH_SIZE = exports.asValue = exports.pgp = exports.EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID = exports.DELIMITER = exports.parseCondition = exports.NOTIF_CHANNEL = exports.NOTIF_TYPE = void 0;
|
|
4
|
+
const pgPromise = require("pg-promise");
|
|
5
|
+
exports.NOTIF_TYPE = {
|
|
6
|
+
data: "data_has_changed",
|
|
7
|
+
data_trigger_change: "data_watch_triggers_have_changed",
|
|
8
|
+
schema: "schema_has_changed",
|
|
9
|
+
};
|
|
10
|
+
exports.NOTIF_CHANNEL = {
|
|
11
|
+
preffix: "prostgles_",
|
|
12
|
+
getFull: (appID) => {
|
|
13
|
+
if (!appID)
|
|
14
|
+
throw "No appID";
|
|
15
|
+
return exports.NOTIF_CHANNEL.preffix + appID;
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
const parseCondition = (condition) => condition && condition.trim().length ? condition : "TRUE";
|
|
19
|
+
exports.parseCondition = parseCondition;
|
|
20
|
+
exports.DELIMITER = "|$prstgls$|";
|
|
21
|
+
exports.EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID = "prostgles internal query that should be excluded from schema watch ";
|
|
22
|
+
exports.pgp = pgPromise({});
|
|
23
|
+
const asValue = (v) => exports.pgp.as.format("$1", [v]);
|
|
24
|
+
exports.asValue = asValue;
|
|
25
|
+
exports.DEFAULT_SYNC_BATCH_SIZE = 50;
|
|
26
|
+
const log = (...args) => {
|
|
27
|
+
if (process.env.TEST_TYPE) {
|
|
28
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
29
|
+
console.log(...args);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
exports.log = log;
|
|
33
|
+
//# sourceMappingURL=PubSubManagerUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PubSubManagerUtils.js","sourceRoot":"","sources":["../../lib/PubSubManager/PubSubManagerUtils.ts"],"names":[],"mappings":";;;AAAA,wCAAwC;AAG3B,QAAA,UAAU,GAAG;IACxB,IAAI,EAAE,kBAAkB;IACxB,mBAAmB,EAAE,kCAAkC;IACvD,MAAM,EAAE,oBAAoB;CACpB,CAAC;AAGE,QAAA,aAAa,GAAG;IAC3B,OAAO,EAAE,YAAqB;IAC9B,OAAO,EAAE,CAAC,KAAyB,EAAE,EAAE;QACrC,IAAI,CAAC,KAAK;YAAE,MAAM,UAAU,CAAC;QAC7B,OAAO,qBAAa,CAAC,OAAO,GAAG,KAAK,CAAC;IACvC,CAAC;CACF,CAAC;AAEK,MAAM,cAAc,GAAG,CAAC,SAAiB,EAAU,EAAE,CAC1D,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;AAD/C,QAAA,cAAc,kBACiC;AAE/C,QAAA,SAAS,GAAG,aAAa,CAAC;AAE1B,QAAA,kCAAkC,GAC7C,qEAAqE,CAAC;AAG3D,QAAA,GAAG,GAAQ,SAAS,CAAC,EAAE,CAAC,CAAC;AAC/B,MAAM,OAAO,GAAG,CAAC,CAAM,EAAE,EAAE,CAAC,WAAG,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAA/C,QAAA,OAAO,WAAwC;AAC/C,QAAA,uBAAuB,GAAG,EAAE,CAAC;AAEnC,MAAM,GAAG,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;IACpC,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAC1B,iEAAiE;QACjE,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACvB,CAAC;AACH,CAAC,CAAC;AALW,QAAA,GAAG,OAKd"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SubscriptionChannels } from "prostgles-types";
|
|
2
|
-
import { PubSubManager, SubscriptionParams } from "./PubSubManager";
|
|
3
2
|
import { VoidFunction } from "../SchemaWatch/SchemaWatch";
|
|
3
|
+
import { PubSubManager, SubscriptionParams } from "./PubSubManager";
|
|
4
4
|
type AddSubscriptionParams = SubscriptionParams & {
|
|
5
5
|
condition: string;
|
|
6
6
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addSub.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/addSub.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,
|
|
1
|
+
{"version":3,"file":"addSub.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/addSub.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAiB,aAAa,EAAgB,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGjG,KAAK,qBAAqB,GAAG,kBAAkB,GAAG;IAChD,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,YAAY,GAAG,oBAAoB,GAAG;IACzC,aAAa,EAAE,YAAY,GAAG,SAAS,CAAC;CACzC,CAAC;AAIF,wBAAsB,MAAM,CAC1B,IAAI,EAAE,aAAa,EACnB,kBAAkB,EAAE,IAAI,CAAC,qBAAqB,EAAE,cAAc,GAAG,iBAAiB,CAAC,GAClF,OAAO,CAAC,YAAY,CAAC,CAoIvB"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.addSub = void 0;
|
|
4
|
-
const
|
|
4
|
+
const initPubSubManager_1 = require("./initPubSubManager");
|
|
5
|
+
const PubSubManagerUtils_1 = require("./PubSubManagerUtils");
|
|
5
6
|
/* Must return a channel for socket */
|
|
6
7
|
/* The distinct list of {table_name, condition} must have a corresponding trigger in the database */
|
|
7
8
|
async function addSub(subscriptionParams) {
|
|
8
|
-
const { socket, localFuncs, table_rules, filter = {},
|
|
9
|
-
viewOptions, table_info, throttleOpts, } = subscriptionParams;
|
|
9
|
+
const { socket, localFuncs, table_rules, filter = {}, selectParams = {}, condition = "", viewOptions, table_info, subscribeOptions, } = subscriptionParams;
|
|
10
10
|
const table_name = table_info.name;
|
|
11
11
|
if (!socket && !localFuncs) {
|
|
12
12
|
throw "socket AND func missing";
|
|
@@ -14,34 +14,25 @@ async function addSub(subscriptionParams) {
|
|
|
14
14
|
if (socket && localFuncs) {
|
|
15
15
|
throw "addSub: cannot have socket AND func";
|
|
16
16
|
}
|
|
17
|
-
|
|
18
|
-
const pubThrottle = table_rules?.subscribe?.throttle || 0;
|
|
19
|
-
if (pubThrottle && Number.isInteger(pubThrottle) && pubThrottle > 0) {
|
|
20
|
-
validated_throttle = pubThrottle;
|
|
21
|
-
}
|
|
22
|
-
if (throttle && Number.isInteger(throttle) && throttle >= pubThrottle) {
|
|
23
|
-
validated_throttle = throttle;
|
|
24
|
-
}
|
|
25
|
-
const channel_name = `${this.socketChannelPreffix}.${table_name}.${JSON.stringify(filter)}.${JSON.stringify(params)}.${"m"}.sub`;
|
|
17
|
+
const channel_name = `${this.socketChannelPreffix}.${table_name}.${JSON.stringify(filter)}.${JSON.stringify(selectParams)}.${"m"}.sub`;
|
|
26
18
|
const mainTrigger = {
|
|
27
19
|
table_name: table_name,
|
|
28
|
-
condition: (0,
|
|
20
|
+
condition: (0, PubSubManagerUtils_1.parseCondition)(condition),
|
|
29
21
|
is_related: false,
|
|
30
22
|
};
|
|
31
23
|
const newSub = {
|
|
32
24
|
channel_name,
|
|
33
25
|
filter,
|
|
34
26
|
localFuncs,
|
|
35
|
-
|
|
36
|
-
|
|
27
|
+
selectParams: selectParams,
|
|
28
|
+
lastPushed: 0,
|
|
37
29
|
socket,
|
|
38
|
-
|
|
30
|
+
subscribeOptions,
|
|
39
31
|
table_info,
|
|
40
32
|
is_ready: true,
|
|
41
33
|
is_throttling: false,
|
|
42
34
|
socket_id: socket?.id,
|
|
43
35
|
table_rules,
|
|
44
|
-
throttle: validated_throttle,
|
|
45
36
|
triggers: [mainTrigger],
|
|
46
37
|
};
|
|
47
38
|
const result = {
|
|
@@ -60,21 +51,28 @@ async function addSub(subscriptionParams) {
|
|
|
60
51
|
for (const relatedTable of viewOptions.relatedTables) {
|
|
61
52
|
const relatedSub = {
|
|
62
53
|
table_name: relatedTable.tableName,
|
|
63
|
-
condition: (0,
|
|
54
|
+
condition: (0, PubSubManagerUtils_1.parseCondition)(relatedTable.condition),
|
|
64
55
|
is_related: true,
|
|
65
56
|
};
|
|
66
57
|
newSub.triggers.push(relatedSub);
|
|
67
58
|
await this.addTrigger(relatedSub, viewOptions, socket);
|
|
68
59
|
}
|
|
69
60
|
}
|
|
61
|
+
const { skipFirst, throttleOpts, throttle } = subscribeOptions;
|
|
62
|
+
const sendFirstData = async () => {
|
|
63
|
+
if (skipFirst)
|
|
64
|
+
return;
|
|
65
|
+
if (throttleOpts?.skipFirst && throttle) {
|
|
66
|
+
await (0, initPubSubManager_1.tout)(throttle);
|
|
67
|
+
}
|
|
68
|
+
void this.pushSubData(newSub);
|
|
69
|
+
};
|
|
70
70
|
if (localFuncs) {
|
|
71
71
|
/**
|
|
72
72
|
* Must ensure sub will start sending data after all triggers are set up.
|
|
73
73
|
* Socket clients are not affected as they need to confirm they are ready to receive data
|
|
74
74
|
*/
|
|
75
|
-
result.sendFirstData =
|
|
76
|
-
void this.pushSubData(newSub);
|
|
77
|
-
};
|
|
75
|
+
result.sendFirstData = sendFirstData;
|
|
78
76
|
}
|
|
79
77
|
else if (socket) {
|
|
80
78
|
const removeListeners = () => {
|
|
@@ -83,9 +81,7 @@ async function addSub(subscriptionParams) {
|
|
|
83
81
|
socket.removeAllListeners(result.channelNameUnsubscribe);
|
|
84
82
|
};
|
|
85
83
|
removeListeners();
|
|
86
|
-
socket.once(result.channelNameReady,
|
|
87
|
-
void this.pushSubData(newSub);
|
|
88
|
-
});
|
|
84
|
+
socket.once(result.channelNameReady, sendFirstData);
|
|
89
85
|
socket.once(result.channelNameUnsubscribe, (_data, cb) => {
|
|
90
86
|
const res = "ok";
|
|
91
87
|
this.subs = this.subs.filter((s) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addSub.js","sourceRoot":"","sources":["../../lib/PubSubManager/addSub.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"addSub.js","sourceRoot":"","sources":["../../lib/PubSubManager/addSub.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addSync.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/addSync.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"addSync.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/addSync.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAiB,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAG9E;;;GAGG;AACH,wBAAsB,OAAO,CAC3B,IAAI,EAAE,aAAa,EACnB,UAAU,EAAE,aAAa,GACxB,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAqIlC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.addSync = void 0;
|
|
4
4
|
const prostgles_types_1 = require("prostgles-types");
|
|
5
|
-
const
|
|
5
|
+
const PubSubManagerUtils_1 = require("./PubSubManagerUtils");
|
|
6
6
|
/**
|
|
7
7
|
* Returns a sync channel
|
|
8
8
|
* A sync channel is unique per socket for each filter
|
|
@@ -11,7 +11,7 @@ async function addSync(syncParams) {
|
|
|
11
11
|
const sid = this.dboBuilder.prostgles.authHandler?.getSIDNoError({ socket: syncParams.socket });
|
|
12
12
|
const res = await (0, prostgles_types_1.tryCatchV2)(async () => {
|
|
13
13
|
const { socket = null, table_info = null, table_rules, synced_field = null, id_fields = [], filter = {}, params, condition = "", throttle = 0, } = syncParams;
|
|
14
|
-
const conditionParsed = (0,
|
|
14
|
+
const conditionParsed = (0, PubSubManagerUtils_1.parseCondition)(condition);
|
|
15
15
|
if (!socket || !table_info)
|
|
16
16
|
throw "socket or table_info missing";
|
|
17
17
|
const { name: table_name } = table_info;
|
|
@@ -30,7 +30,7 @@ async function addSync(syncParams) {
|
|
|
30
30
|
id_fields,
|
|
31
31
|
table_rules,
|
|
32
32
|
throttle: Math.max(throttle || 0, table_rules.sync?.throttle || 0),
|
|
33
|
-
batch_size: table_rules.sync?.batch_size ||
|
|
33
|
+
batch_size: table_rules.sync?.batch_size || PubSubManagerUtils_1.DEFAULT_SYNC_BATCH_SIZE,
|
|
34
34
|
socket_id: socket.id,
|
|
35
35
|
is_sync: true,
|
|
36
36
|
last_synced: 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addSync.js","sourceRoot":"","sources":["../../lib/PubSubManager/addSync.ts"],"names":[],"mappings":";;;AAAA,qDAAmD;
|
|
1
|
+
{"version":3,"file":"addSync.js","sourceRoot":"","sources":["../../lib/PubSubManager/addSync.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PubSubManager, ViewSubscriptionOptions } from "./PubSubManager";
|
|
1
|
+
import { type PubSubManager, ViewSubscriptionOptions } from "./PubSubManager";
|
|
2
2
|
import { PRGLIOSocket } from "../DboBuilder/DboBuilderTypes";
|
|
3
3
|
export declare function addTrigger(this: PubSubManager, params: {
|
|
4
4
|
table_name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addTrigger.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/addTrigger.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"addTrigger.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/addTrigger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE9E,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAG7D,wBAAsB,UAAU,CAC9B,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EACjD,WAAW,EAAE,uBAAuB,GAAG,SAAS,EAChD,MAAM,EAAE,YAAY,GAAG,SAAS;;;;;;;;;;;;;;GAoFjC"}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.addTrigger = void 0;
|
|
4
4
|
const prostgles_types_1 = require("prostgles-types");
|
|
5
|
-
const PubSubManager_1 = require("./PubSubManager");
|
|
6
5
|
const crypto = require("crypto");
|
|
6
|
+
const PubSubManagerUtils_1 = require("./PubSubManagerUtils");
|
|
7
7
|
async function addTrigger(params, viewOptions, socket) {
|
|
8
8
|
const addedTrigger = await (0, prostgles_types_1.tryCatchV2)(async () => {
|
|
9
9
|
const { table_name } = { ...params };
|
|
@@ -17,19 +17,19 @@ async function addTrigger(params, viewOptions, socket) {
|
|
|
17
17
|
throw "Triggers do not work on timescaledb hypertables due to bug:\nhttps://github.com/timescale/timescaledb/issues/1084";
|
|
18
18
|
}
|
|
19
19
|
const trgVals = {
|
|
20
|
-
tbl: (0,
|
|
21
|
-
cond: (0,
|
|
22
|
-
condHash: (0,
|
|
20
|
+
tbl: (0, PubSubManagerUtils_1.asValue)(table_name),
|
|
21
|
+
cond: (0, PubSubManagerUtils_1.asValue)(condition),
|
|
22
|
+
condHash: (0, PubSubManagerUtils_1.asValue)(crypto.createHash("md5").update(condition).digest("hex")),
|
|
23
23
|
};
|
|
24
24
|
await this.db.tx((t) => t.any(`
|
|
25
25
|
BEGIN WORK;
|
|
26
|
-
/* ${
|
|
26
|
+
/* ${PubSubManagerUtils_1.EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID} */
|
|
27
27
|
/* why is this lock level needed? */
|
|
28
28
|
--LOCK TABLE prostgles.app_triggers IN ACCESS EXCLUSIVE MODE;
|
|
29
29
|
|
|
30
30
|
/** app_triggers is not refreshed when tables are dropped */
|
|
31
31
|
DELETE FROM prostgles.app_triggers at
|
|
32
|
-
WHERE app_id = ${(0,
|
|
32
|
+
WHERE app_id = ${(0, PubSubManagerUtils_1.asValue)(this.appId)}
|
|
33
33
|
AND NOT EXISTS (
|
|
34
34
|
SELECT 1
|
|
35
35
|
FROM pg_catalog.pg_trigger t
|
|
@@ -49,9 +49,9 @@ async function addTrigger(params, viewOptions, socket) {
|
|
|
49
49
|
${trgVals.tbl},
|
|
50
50
|
${trgVals.cond},
|
|
51
51
|
${trgVals.condHash},
|
|
52
|
-
${(0,
|
|
53
|
-
${(0,
|
|
54
|
-
${(0,
|
|
52
|
+
${(0, PubSubManagerUtils_1.asValue)(this.appId)},
|
|
53
|
+
${(0, PubSubManagerUtils_1.asValue)(viewOptions?.viewName ?? null)},
|
|
54
|
+
${(0, PubSubManagerUtils_1.asValue)(viewOptions?.definition ?? null)}
|
|
55
55
|
)
|
|
56
56
|
ON CONFLICT DO NOTHING;
|
|
57
57
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addTrigger.js","sourceRoot":"","sources":["../../lib/PubSubManager/addTrigger.ts"],"names":[],"mappings":";;;AAAA,qDAA6C;
|
|
1
|
+
{"version":3,"file":"addTrigger.js","sourceRoot":"","sources":["../../lib/PubSubManager/addTrigger.ts"],"names":[],"mappings":"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"}
|