prostgles-server 3.0.63 → 3.0.66
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/AuthHandler.d.ts +11 -11
- package/dist/AuthHandler.d.ts.map +1 -1
- package/dist/DBSchemaBuilder.d.ts +3 -3
- package/dist/DBSchemaBuilder.d.ts.map +1 -1
- package/dist/DboBuilder/QueryBuilder/Functions.d.ts +3 -3
- package/dist/DboBuilder/QueryBuilder/Functions.d.ts.map +1 -1
- package/dist/DboBuilder/QueryBuilder/QueryBuilder.d.ts +3 -3
- package/dist/DboBuilder/QueryBuilder/QueryBuilder.d.ts.map +1 -1
- package/dist/DboBuilder/TableHandler.d.ts +1 -1
- package/dist/DboBuilder/TableHandler.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler.d.ts +5 -4
- package/dist/DboBuilder/ViewHandler.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler.js +7 -134
- package/dist/DboBuilder/ViewHandler.js.map +1 -1
- package/dist/DboBuilder/delete.js +1 -1
- package/dist/DboBuilder/delete.js.map +1 -1
- package/dist/DboBuilder/insert.js +1 -1
- package/dist/DboBuilder/insert.js.map +1 -1
- package/dist/DboBuilder/insertDataParse.js +1 -1
- package/dist/DboBuilder/insertDataParse.js.map +1 -1
- package/dist/DboBuilder/runSQL.js +1 -1
- package/dist/DboBuilder/runSQL.js.map +1 -1
- package/dist/DboBuilder/subscribe.d.ts +11 -0
- package/dist/DboBuilder/subscribe.d.ts.map +1 -0
- package/dist/DboBuilder/subscribe.js +190 -0
- package/dist/DboBuilder/subscribe.js.map +1 -0
- package/dist/DboBuilder/update.js +1 -1
- package/dist/DboBuilder/update.js.map +1 -1
- package/dist/DboBuilder.d.ts +24 -24
- package/dist/DboBuilder.d.ts.map +1 -1
- package/dist/DboBuilder.js +1 -1
- package/dist/DboBuilder.js.map +1 -1
- package/dist/FileManager.d.ts +6 -6
- package/dist/FileManager.d.ts.map +1 -1
- package/dist/FileManager.js +17 -17
- package/dist/FileManager.js.map +1 -1
- package/dist/Filtering.d.ts +1 -1
- package/dist/Filtering.d.ts.map +1 -1
- package/dist/PostgresNotifListenManager.d.ts +1 -1
- package/dist/PostgresNotifListenManager.d.ts.map +1 -1
- package/dist/Prostgles.d.ts +14 -14
- package/dist/Prostgles.d.ts.map +1 -1
- package/dist/Prostgles.js +12 -12
- package/dist/Prostgles.js.map +1 -1
- package/{lib → dist/PubSubManager}/PubSubManager.d.ts +24 -19
- package/dist/PubSubManager/PubSubManager.d.ts.map +1 -0
- package/dist/PubSubManager/PubSubManager.js +770 -0
- package/dist/PubSubManager/PubSubManager.js.map +1 -0
- package/dist/PubSubManager/initPubSubManager.d.ts +3 -0
- package/dist/PubSubManager/initPubSubManager.d.ts.map +1 -0
- package/dist/PubSubManager/initPubSubManager.js +616 -0
- package/dist/PubSubManager/initPubSubManager.js.map +1 -0
- package/dist/PublishParser.d.ts +32 -32
- package/dist/PublishParser.d.ts.map +1 -1
- package/dist/PublishParser.js +1 -1
- package/dist/PublishParser.js.map +1 -1
- package/dist/SchemaWatch.d.ts +1 -1
- package/dist/SchemaWatch.d.ts.map +1 -1
- package/dist/SyncReplication.d.ts +6 -6
- package/dist/SyncReplication.d.ts.map +1 -1
- package/dist/SyncReplication.js +1 -1
- package/dist/SyncReplication.js.map +1 -1
- package/dist/TableConfig.d.ts +21 -21
- package/dist/TableConfig.d.ts.map +1 -1
- package/dist/TableConfig.js +13 -13
- package/dist/TableConfig.js.map +1 -1
- package/dist/shortestPath.d.ts +1 -1
- package/dist/shortestPath.d.ts.map +1 -1
- package/dist/validation.d.ts +9 -9
- package/dist/validation.d.ts.map +1 -1
- package/dist/validation.js +1 -1
- package/dist/validation.js.map +1 -1
- package/lib/DboBuilder/ViewHandler.d.ts +4 -3
- package/lib/DboBuilder/ViewHandler.d.ts.map +1 -1
- package/lib/DboBuilder/ViewHandler.js +7 -134
- package/lib/DboBuilder/ViewHandler.ts +15 -164
- package/lib/DboBuilder/delete.js +1 -1
- package/lib/DboBuilder/delete.ts +1 -1
- package/lib/DboBuilder/insert.js +1 -1
- package/lib/DboBuilder/insert.ts +1 -1
- package/lib/DboBuilder/insertDataParse.js +1 -1
- package/lib/DboBuilder/insertDataParse.ts +1 -1
- package/lib/DboBuilder/runSQL.js +1 -1
- package/lib/DboBuilder/runSQL.ts +1 -1
- package/lib/DboBuilder/subscribe.d.ts +11 -0
- package/lib/DboBuilder/subscribe.d.ts.map +1 -0
- package/lib/DboBuilder/subscribe.js +189 -0
- package/lib/DboBuilder/subscribe.ts +230 -0
- package/lib/DboBuilder/update.js +1 -1
- package/lib/DboBuilder/update.ts +1 -1
- package/lib/DboBuilder.d.ts +1 -1
- package/lib/DboBuilder.d.ts.map +1 -1
- package/lib/DboBuilder.js +1 -1
- package/lib/DboBuilder.ts +1 -1
- package/lib/Prostgles.js +1 -1
- package/lib/Prostgles.ts +1 -1
- package/{dist → lib/PubSubManager}/PubSubManager.d.ts +19 -14
- package/lib/PubSubManager/PubSubManager.d.ts.map +1 -0
- package/lib/PubSubManager/PubSubManager.js +792 -0
- package/lib/PubSubManager/PubSubManager.ts +1016 -0
- package/lib/PubSubManager/initPubSubManager.d.ts +3 -0
- package/lib/PubSubManager/initPubSubManager.d.ts.map +1 -0
- package/lib/PubSubManager/initPubSubManager.js +615 -0
- package/lib/PubSubManager/initPubSubManager.ts +630 -0
- package/lib/PublishParser.js +1 -1
- package/lib/PublishParser.ts +1 -1
- package/lib/SyncReplication.d.ts +1 -1
- package/lib/SyncReplication.d.ts.map +1 -1
- package/lib/SyncReplication.js +1 -1
- package/lib/SyncReplication.ts +1 -1
- package/lib/TableConfig.js +1 -1
- package/lib/TableConfig.ts +1 -1
- package/lib/validation.js +1 -1
- package/lib/validation.ts +1 -1
- package/package.json +5 -4
- package/tests/client/PID.txt +1 -1
- package/tests/server/package-lock.json +7 -5
- package/dist/PubSubManager.d.ts.map +0 -1
- package/dist/PubSubManager.js +0 -1398
- package/dist/PubSubManager.js.map +0 -1
- package/lib/PubSubManager.d.ts.map +0 -1
- package/lib/PubSubManager.js +0 -1420
- package/lib/PubSubManager.ts +0 -1655
package/dist/AuthHandler.d.ts
CHANGED
|
@@ -3,21 +3,21 @@ import { AnyObject } from "prostgles-types";
|
|
|
3
3
|
import { LocalParams, PRGLIOSocket } from "./DboBuilder";
|
|
4
4
|
import { DBOFullyTyped } from "./DBSchemaBuilder";
|
|
5
5
|
import { DB, DBHandlerServer, Prostgles } from "./Prostgles";
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
type Awaitable<T> = T | Promise<T>;
|
|
7
|
+
type AuthSocketSchema = {
|
|
8
8
|
user?: AnyObject;
|
|
9
9
|
register?: boolean;
|
|
10
10
|
login?: boolean;
|
|
11
11
|
logout?: boolean;
|
|
12
12
|
pathGuard?: boolean;
|
|
13
13
|
};
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
type ExpressReq = Request;
|
|
15
|
+
type ExpressRes = Response;
|
|
16
|
+
type LoginClientInfo = {
|
|
17
17
|
ip_address: string;
|
|
18
18
|
user_agent?: string | undefined;
|
|
19
19
|
};
|
|
20
|
-
export
|
|
20
|
+
export type BasicSession = {
|
|
21
21
|
/** Must be hard to bruteforce */
|
|
22
22
|
sid: string;
|
|
23
23
|
/** UNIX millisecond timestamp */
|
|
@@ -25,12 +25,12 @@ export declare type BasicSession = {
|
|
|
25
25
|
/** On expired */
|
|
26
26
|
onExpiration: "redirect" | "show_error";
|
|
27
27
|
};
|
|
28
|
-
export
|
|
28
|
+
export type AuthClientRequest = {
|
|
29
29
|
socket: any;
|
|
30
30
|
} | {
|
|
31
31
|
httpReq: ExpressReq;
|
|
32
32
|
};
|
|
33
|
-
export
|
|
33
|
+
export type SessionUser<ServerUser extends AnyObject = AnyObject, ClientUser extends AnyObject = AnyObject> = {
|
|
34
34
|
/**
|
|
35
35
|
* This user will be available in all serverside prostgles options
|
|
36
36
|
* */
|
|
@@ -40,19 +40,19 @@ export declare type SessionUser<ServerUser extends AnyObject = AnyObject, Client
|
|
|
40
40
|
*/
|
|
41
41
|
clientUser: ClientUser;
|
|
42
42
|
};
|
|
43
|
-
export
|
|
43
|
+
export type AuthResult<SU = SessionUser> = SU & {
|
|
44
44
|
sid: string;
|
|
45
45
|
} | {
|
|
46
46
|
user?: undefined;
|
|
47
47
|
clientUser?: undefined;
|
|
48
48
|
sid?: string;
|
|
49
49
|
} | undefined;
|
|
50
|
-
export
|
|
50
|
+
export type AuthRequestParams<S, SUser extends SessionUser> = {
|
|
51
51
|
db: DB;
|
|
52
52
|
dbo: DBOFullyTyped<S>;
|
|
53
53
|
getUser: () => Promise<AuthResult<SUser>>;
|
|
54
54
|
};
|
|
55
|
-
export
|
|
55
|
+
export type Auth<S = void, SUser extends SessionUser = SessionUser> = {
|
|
56
56
|
/**
|
|
57
57
|
* Name of the cookie or socket hadnshake query param that represents the session id.
|
|
58
58
|
* Defaults to "session_id"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthHandler.d.ts","sourceRoot":"","sources":["../lib/AuthHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnE,OAAO,EAAE,SAAS,EAAoE,MAAM,iBAAiB,CAAC;AAC9G,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,EAAE,EAAE,eAAe,EAAc,SAAS,EAAE,MAAM,aAAa,CAAC;AACzE,
|
|
1
|
+
{"version":3,"file":"AuthHandler.d.ts","sourceRoot":"","sources":["../lib/AuthHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,11 +2,11 @@ import { DBSchema, TableHandler, ViewHandler } from "prostgles-types";
|
|
|
2
2
|
import { DBHandlerServer, DboBuilder } from "./DboBuilder";
|
|
3
3
|
import { PublishAllOrNothing, PublishTableRule, PublishViewRule } from "./PublishParser";
|
|
4
4
|
export declare const getDBSchema: (dboBuilder: DboBuilder) => string;
|
|
5
|
-
|
|
5
|
+
type DBTableHandlersFromSchema<Schema = void> = Schema extends DBSchema ? {
|
|
6
6
|
[tov_name in keyof Schema]: Schema[tov_name]["is_view"] extends true ? ViewHandler<Schema[tov_name]["columns"]> : TableHandler<Schema[tov_name]["columns"]>;
|
|
7
7
|
} : Record<string, TableHandler>;
|
|
8
|
-
export
|
|
9
|
-
export
|
|
8
|
+
export type DBOFullyTyped<Schema = void> = Schema extends DBSchema ? (DBTableHandlersFromSchema<Schema> & Pick<DBHandlerServer<DBTableHandlersFromSchema<Schema>>, "tx" | "sql">) : DBHandlerServer;
|
|
9
|
+
export type PublishFullyTyped<Schema = void> = Schema extends DBSchema ? (PublishAllOrNothing | {
|
|
10
10
|
[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>);
|
|
11
11
|
}) : (PublishAllOrNothing | Record<string, PublishViewRule | PublishTableRule | PublishAllOrNothing>);
|
|
12
12
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DBSchemaBuilder.d.ts","sourceRoot":"","sources":["../lib/DBSchemaBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAY,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGhF,OAAO,EAAE,eAAe,EAAE,UAAU,EAAmC,MAAM,cAAc,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAiB,gBAAgB,EAAE,eAAe,EAAI,MAAM,iBAAiB,CAAC;AAI1G,eAAO,MAAM,WAAW,eAAgB,UAAU,KAAG,MAyCpD,CAAA;AAED,
|
|
1
|
+
{"version":3,"file":"DBSchemaBuilder.d.ts","sourceRoot":"","sources":["../lib/DBSchemaBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAY,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGhF,OAAO,EAAE,eAAe,EAAE,UAAU,EAAmC,MAAM,cAAc,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAiB,gBAAgB,EAAE,eAAe,EAAI,MAAM,iBAAiB,CAAC;AAI1G,eAAO,MAAM,WAAW,eAAgB,UAAU,KAAG,MAyCpD,CAAA;AAED,KAAK,yBAAyB,CAAC,MAAM,GAAG,IAAI,IAAI,MAAM,SAAS,QAAQ,GAAE;KACtE,QAAQ,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,IAAI,GAClE,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,GACxC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;CAC5C,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAEjC,MAAM,MAAM,aAAa,CAAC,MAAM,GAAG,IAAI,IAAI,MAAM,SAAS,QAAQ,GAAE,CAChE,yBAAyB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,CAC3G,GACD,eAAe,CAAC;AAKlB,MAAM,MAAM,iBAAiB,CAAC,MAAM,GAAG,IAAI,IAAI,MAAM,SAAS,QAAQ,GAAE,CACpE,mBAAmB,GACnB;KACC,QAAQ,IAAI,MAAM,OAAO,CAAC,MAAM,CAAC,GAC9B,mBAAmB,GACnB,CACA,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,IAAI,GACtC,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,CACxD;CACJ,CACF,GAAG,CACA,mBAAmB,GACnB,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,gBAAgB,GAAG,mBAAmB,CAAC,CAC3E,CAAC"}
|
|
@@ -5,14 +5,14 @@ export declare const parseFunction: (funcData: {
|
|
|
5
5
|
functions: FunctionSpec[];
|
|
6
6
|
allowedFields: string[];
|
|
7
7
|
}) => FunctionSpec;
|
|
8
|
-
|
|
8
|
+
type GetQueryArgs = {
|
|
9
9
|
allColumns: ColumnInfo[];
|
|
10
10
|
allowedFields: string[];
|
|
11
11
|
args: any[];
|
|
12
12
|
tableAlias?: string;
|
|
13
13
|
ctidField?: string;
|
|
14
14
|
};
|
|
15
|
-
export
|
|
15
|
+
export type FieldSpec = {
|
|
16
16
|
name: string;
|
|
17
17
|
type: "column" | "computed";
|
|
18
18
|
/**
|
|
@@ -20,7 +20,7 @@ export declare type FieldSpec = {
|
|
|
20
20
|
*/
|
|
21
21
|
getQuery: (params: Omit<GetQueryArgs, "args">) => string;
|
|
22
22
|
};
|
|
23
|
-
export
|
|
23
|
+
export type FunctionSpec = {
|
|
24
24
|
name: string;
|
|
25
25
|
description?: string;
|
|
26
26
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Functions.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/Functions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,UAAU,EAAW,uBAAuB,EAAuC,MAAM,iBAAiB,CAAC;AAK5H,eAAO,MAAM,aAAa,aAAc;IAAE,IAAI,EAAE,MAAM,GAAG,YAAY,CAAC;IAAC,IAAI,EAAE,GAAG,EAAE,CAAC;IAAE,SAAS,EAAE,YAAY,EAAE,CAAC;IAAC,aAAa,EAAE,MAAM,EAAE,CAAC;CAAE,KAAG,YA0C5I,CAAA;AAGD,
|
|
1
|
+
{"version":3,"file":"Functions.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/Functions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,UAAU,EAAW,uBAAuB,EAAuC,MAAM,iBAAiB,CAAC;AAK5H,eAAO,MAAM,aAAa,aAAc;IAAE,IAAI,EAAE,MAAM,GAAG,YAAY,CAAC;IAAC,IAAI,EAAE,GAAG,EAAE,CAAC;IAAE,SAAS,EAAE,YAAY,EAAE,CAAC;IAAC,aAAa,EAAE,MAAM,EAAE,CAAC;CAAE,KAAG,YA0C5I,CAAA;AAGD,KAAK,YAAY,GAAG;IAClB,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC5B;;OAEG;IACH,QAAQ,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IAEb,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;IAEtB;;OAEG;IAGH;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,IAAI,EAAE,UAAU,GAAG,aAAa,GAAG,UAAU,CAAC;IAC9C;;;OAGG;IACH,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,MAAM,EAAE,CAAC;IAC3C;;OAEG;IACH,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,MAAM,CAAC;IAE3C,UAAU,CAAC,EAAE,uBAAuB,CAAC;CACtC,CAAC;AAyTF;;EAEE;AACF,eAAO,MAAM,SAAS,EAAE,YAAY,EAwjBnC,CAAC;AAGF,eAAO,MAAM,eAAe,EAAE,SAAS,EA8BtC,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { TableRule } from "../../PublishParser";
|
|
|
3
3
|
import { ColumnInfo, PG_COLUMN_UDT_DATA_TYPE, Select } from "prostgles-types";
|
|
4
4
|
import { TableHandler } from "../TableHandler";
|
|
5
5
|
import { FieldSpec, FunctionSpec } from "./Functions";
|
|
6
|
-
export
|
|
6
|
+
export type SelectItem = {
|
|
7
7
|
type: "column" | "function" | "aggregation" | "joinedColumn" | "computed";
|
|
8
8
|
getFields: (args?: any[]) => string[] | "*";
|
|
9
9
|
getQuery: (tableAlias?: string) => string;
|
|
@@ -12,10 +12,10 @@ export declare type SelectItem = {
|
|
|
12
12
|
alias: string;
|
|
13
13
|
selected: boolean;
|
|
14
14
|
};
|
|
15
|
-
export
|
|
15
|
+
export type SelectItemValidated = SelectItem & {
|
|
16
16
|
fields: string[];
|
|
17
17
|
};
|
|
18
|
-
export
|
|
18
|
+
export type NewQuery = {
|
|
19
19
|
/**
|
|
20
20
|
* All fields from the table will be in nested SELECT and GROUP BY to allow order/filter by fields not in select
|
|
21
21
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryBuilder.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/QueryBuilder.ts"],"names":[],"mappings":"AAMA,OAAO,EAAO,MAAM,EAAE,WAAW,EAAmC,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvG,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAmF,UAAU,EAAE,uBAAuB,EAAY,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzK,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAmB,SAAS,EAAa,YAAY,EAAiB,MAAM,aAAa,CAAC;AAEjG,
|
|
1
|
+
{"version":3,"file":"QueryBuilder.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/QueryBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { TableRule } from "../PublishParser";
|
|
|
6
6
|
import { insertDataParse } from "./insertDataParse";
|
|
7
7
|
import { SelectItem } from "./QueryBuilder/QueryBuilder";
|
|
8
8
|
import { JoinPaths, ViewHandler } from "./ViewHandler";
|
|
9
|
-
|
|
9
|
+
type ValidatedParams = {
|
|
10
10
|
row: AnyObject;
|
|
11
11
|
forcedData?: AnyObject;
|
|
12
12
|
allowedFields?: FieldFilter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableHandler.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/TableHandler.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,SAAS,EAAU,YAAY,EAAE,WAAW,EAAW,YAAY,EAAY,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpJ,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAuB,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjH,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAY,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAqB,MAAM,6BAA6B,CAAC;AAE5E,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAKvD,
|
|
1
|
+
{"version":3,"file":"TableHandler.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/TableHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,8 @@ import { DboBuilder, ExistsFilterConfig, Filter, JoinInfo, LocalParams, SortItem
|
|
|
5
5
|
import { Graph } from "../shortestPath";
|
|
6
6
|
import { TableRule, UpdateRule, ValidateRow } from "../PublishParser";
|
|
7
7
|
import { SelectItem, SelectItemValidated } from "./QueryBuilder/QueryBuilder";
|
|
8
|
-
|
|
8
|
+
import { LocalFunc } from "./subscribe";
|
|
9
|
+
export type JoinPaths = {
|
|
9
10
|
t1: string;
|
|
10
11
|
t2: string;
|
|
11
12
|
path: string[];
|
|
@@ -65,14 +66,14 @@ export declare class ViewHandler {
|
|
|
65
66
|
getValidatedRules(tableRules?: TableRule, localParams?: LocalParams): ValidatedTableRules;
|
|
66
67
|
find(filter?: Filter, selectParams?: SelectParams, param3_unused?: undefined, tableRules?: TableRule, localParams?: LocalParams): Promise<any[]>;
|
|
67
68
|
findOne(filter?: Filter, selectParams?: SelectParams, param3_unused?: undefined, table_rules?: TableRule, localParams?: LocalParams): Promise<any>;
|
|
68
|
-
subscribe(filter: Filter, params: SubscribeParams, localFunc:
|
|
69
|
+
subscribe(filter: Filter, params: SubscribeParams, localFunc: LocalFunc): Promise<{
|
|
69
70
|
unsubscribe: () => any;
|
|
70
71
|
}>;
|
|
71
|
-
subscribe(filter: Filter, params: SubscribeParams, localFunc
|
|
72
|
+
subscribe(filter: Filter, params: SubscribeParams, localFunc: undefined, table_rules: TableRule | undefined, localParams: LocalParams): Promise<string>;
|
|
72
73
|
subscribeOne(filter: Filter, params: SubscribeParams, localFunc: (item: AnyObject) => any): Promise<{
|
|
73
74
|
unsubscribe: () => any;
|
|
74
75
|
}>;
|
|
75
|
-
subscribeOne(filter: Filter, params: SubscribeParams, localFunc:
|
|
76
|
+
subscribeOne(filter: Filter, params: SubscribeParams, localFunc: undefined, table_rules: TableRule, localParams: LocalParams): Promise<string>;
|
|
76
77
|
count(filter?: Filter, param2_unused?: undefined, param3_unused?: undefined, table_rules?: TableRule, localParams?: LocalParams): Promise<number>;
|
|
77
78
|
size(filter?: Filter, selectParams?: SelectParams, param3_unused?: undefined, table_rules?: TableRule, localParams?: LocalParams): Promise<string>;
|
|
78
79
|
getAllowedSelectFields(selectParams: FieldFilter<AnyObject> | undefined, allowed_cols: FieldFilter, allow_empty?: boolean): string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewHandler.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/ViewHandler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,SAAS,MAAM,YAAY,CAAC;AAExC,OAAO,EACL,UAAU,EAAE,WAAW,EAAE,YAAY,EACrC,OAAO,EAGP,SAAS,IAAI,KAAK,EAClB,SAAS,EAEgB,eAAe,EACzC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EACL,UAAU,EAAiB,kBAAkB,EAA2B,MAAM,EAC9E,QAAQ,EAAE,WAAW,EAA8C,QAAQ,EAC3E,aAAa,EAAE,WAAW,EAAE,mBAAmB,EAChD,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGtE,OAAO,EAAkD,UAAU,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"ViewHandler.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/ViewHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,11 +5,12 @@ const makeSelectQuery_1 = require("../DboBuilder/QueryBuilder/makeSelectQuery");
|
|
|
5
5
|
const runSQL_1 = require("../DboBuilder/runSQL");
|
|
6
6
|
const prostgles_types_1 = require("prostgles-types");
|
|
7
7
|
const DboBuilder_1 = require("../DboBuilder");
|
|
8
|
-
const PubSubManager_1 = require("../PubSubManager");
|
|
8
|
+
const PubSubManager_1 = require("../PubSubManager/PubSubManager");
|
|
9
9
|
const QueryBuilder_1 = require("./QueryBuilder/QueryBuilder");
|
|
10
10
|
const Functions_1 = require("./QueryBuilder/Functions");
|
|
11
11
|
const Filtering_1 = require("../Filtering");
|
|
12
12
|
const getColumns_1 = require("./getColumns");
|
|
13
|
+
const subscribe_1 = require("./subscribe");
|
|
13
14
|
const FILTER_FUNCS = Functions_1.FUNCTIONS.filter(f => f.canBeUsedForFilter);
|
|
14
15
|
class ColSet {
|
|
15
16
|
constructor(columns, tableName) {
|
|
@@ -599,142 +600,14 @@ class ViewHandler {
|
|
|
599
600
|
throw (0, DboBuilder_1.parseError)(e, `Issue with dbo.${this.name}.findOne()`);
|
|
600
601
|
}
|
|
601
602
|
}
|
|
602
|
-
async subscribe(filter, params
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
if (this.t)
|
|
606
|
-
throw "subscribe not allowed within transactions";
|
|
607
|
-
if (!localParams && !localFunc)
|
|
608
|
-
throw " missing data. provide -> localFunc | localParams { socket } ";
|
|
609
|
-
if (localParams && localParams.socket && localFunc) {
|
|
610
|
-
console.error({ localParams, localFunc });
|
|
611
|
-
throw " Cannot have localFunc AND socket ";
|
|
612
|
-
}
|
|
613
|
-
const { filterFields, forcedFilter } = table_rules?.select || {}, filterOpts = await this.prepareWhere({ filter, forcedFilter, addKeywords: false, filterFields, tableAlias: undefined, localParams, tableRule: table_rules }), condition = filterOpts.where, throttle = params?.throttle || 0, selectParams = (0, PubSubManager_1.omitKeys)(params || {}, ["throttle"]);
|
|
614
|
-
/** app_triggers condition field has an index which limits it's value */
|
|
615
|
-
const filterSize = JSON.stringify(filter || {}).length;
|
|
616
|
-
if (filterSize * 4 > 2704) {
|
|
617
|
-
throw "filter too big. Might exceed the btree version 4 maximum 2704. Use a primary key or a $rowhash filter instead";
|
|
618
|
-
}
|
|
619
|
-
if (!localFunc) {
|
|
620
|
-
if (!this.dboBuilder.prostgles.isSuperUser)
|
|
621
|
-
throw "Subscribe not possible. Must be superuser to add triggers 1856";
|
|
622
|
-
return await this.find(filter, { ...selectParams, limit: 0 }, undefined, table_rules, localParams)
|
|
623
|
-
.then(async (isValid) => {
|
|
624
|
-
let relatedTableSubscriptions = undefined;
|
|
625
|
-
if (this.is_view) {
|
|
626
|
-
const viewName = this.name;
|
|
627
|
-
const viewNameEscaped = this.escapedName;
|
|
628
|
-
const { current_schema } = await this.db.oneOrNone("SELECT current_schema");
|
|
629
|
-
/** Get list of used columns and their parent tables */
|
|
630
|
-
let { def } = (await this.db.oneOrNone("SELECT pg_get_viewdef(${viewName}) as def", { viewName }));
|
|
631
|
-
def = def.trim();
|
|
632
|
-
if (def.endsWith(";")) {
|
|
633
|
-
def = def.slice(0, -1);
|
|
634
|
-
}
|
|
635
|
-
if (!def || typeof def !== "string")
|
|
636
|
-
(0, DboBuilder_1.makeErr)("Could get view definition");
|
|
637
|
-
const { fields } = await this.dboBuilder.dbo.sql(`SELECT * FROM ( \n ${def} \n ) prostgles_subscribe_view_definition LIMIT 0`, {});
|
|
638
|
-
const tableColumns = fields.filter(f => f.tableName && f.columnName);
|
|
639
|
-
/** Create exists filters for each table */
|
|
640
|
-
const tableIds = Array.from(new Set(tableColumns.map(tc => tc.tableID.toString())));
|
|
641
|
-
relatedTableSubscriptions = tableIds.map(tableID => {
|
|
642
|
-
const table = this.dboBuilder.USER_TABLES?.find(t => t.relid === +tableID);
|
|
643
|
-
let tableCols = tableColumns.filter(tc => tc.tableID.toString() === tableID);
|
|
644
|
-
/** If table has primary keys and they are all in this view then use only primary keys */
|
|
645
|
-
if (table?.pkey_columns?.every(pkey => tableCols.some(c => c.columnName === pkey))) {
|
|
646
|
-
tableCols = tableCols.filter(c => table?.pkey_columns?.includes(c.columnName));
|
|
647
|
-
}
|
|
648
|
-
else {
|
|
649
|
-
/** Exclude non comparable data types */
|
|
650
|
-
tableCols = tableCols.filter(c => !["json", "xml"].includes(c.udt_name));
|
|
651
|
-
}
|
|
652
|
-
const { relname: tableName, schemaname: tableSchema } = table;
|
|
653
|
-
if (!tableCols.length) {
|
|
654
|
-
return {
|
|
655
|
-
tableName: tableName,
|
|
656
|
-
tableNameEscaped: JSON.stringify(tableName),
|
|
657
|
-
condition: "TRUE"
|
|
658
|
-
};
|
|
659
|
-
}
|
|
660
|
-
const tableNameEscaped = tableSchema === current_schema ? table.relname : [tableSchema, tableName].map(v => JSON.stringify(v)).join(".");
|
|
661
|
-
const relatedTableSubscription = {
|
|
662
|
-
tableName: tableName,
|
|
663
|
-
tableNameEscaped,
|
|
664
|
-
condition: `EXISTS (
|
|
665
|
-
SELECT 1
|
|
666
|
-
FROM ${viewNameEscaped}
|
|
667
|
-
WHERE ${tableCols.map(c => `${tableNameEscaped}.${JSON.stringify(c.columnName)} = ${viewNameEscaped}.${JSON.stringify(c.name)}`).join(" AND \n")}
|
|
668
|
-
AND ${condition || "TRUE"}
|
|
669
|
-
)`
|
|
670
|
-
};
|
|
671
|
-
return relatedTableSubscription;
|
|
672
|
-
});
|
|
673
|
-
/** Get list of remaining used inner tables */
|
|
674
|
-
const allUsedTables = await this.db.any("SELECT distinct table_name, table_schema FROM information_schema.view_column_usage WHERE view_name = ${viewName}", { viewName });
|
|
675
|
-
/** Remaining tables will have listeners on all records (condition = "TRUE") */
|
|
676
|
-
const remainingInnerTables = allUsedTables.filter(at => !tableColumns.some(dc => dc.tableName === at.table_name && dc.tableSchema === at.table_schema));
|
|
677
|
-
relatedTableSubscriptions = [
|
|
678
|
-
...relatedTableSubscriptions,
|
|
679
|
-
...remainingInnerTables.map(t => ({
|
|
680
|
-
tableName: t.table_name,
|
|
681
|
-
tableNameEscaped: [t.table_name, t.table_schema].map(v => JSON.stringify(v)).join("."),
|
|
682
|
-
condition: "TRUE"
|
|
683
|
-
}))
|
|
684
|
-
];
|
|
685
|
-
if (!relatedTableSubscriptions.length) {
|
|
686
|
-
throw "Could not subscribe to this view: no related tables found";
|
|
687
|
-
}
|
|
688
|
-
}
|
|
689
|
-
const { socket } = localParams ?? {};
|
|
690
|
-
const pubSubManager = await this.dboBuilder.getPubSubManager();
|
|
691
|
-
return pubSubManager.addSub({
|
|
692
|
-
table_info: this.tableOrViewInfo,
|
|
693
|
-
socket,
|
|
694
|
-
table_rules,
|
|
695
|
-
table_name: this.name,
|
|
696
|
-
condition: condition,
|
|
697
|
-
relatedTableSubscriptions,
|
|
698
|
-
func: undefined,
|
|
699
|
-
filter: { ...filter },
|
|
700
|
-
params: { ...selectParams },
|
|
701
|
-
socket_id: socket?.id,
|
|
702
|
-
throttle,
|
|
703
|
-
last_throttled: 0,
|
|
704
|
-
}).then(channelName => ({ channelName }));
|
|
705
|
-
});
|
|
706
|
-
}
|
|
707
|
-
else {
|
|
708
|
-
const pubSubManager = await this.dboBuilder.getPubSubManager();
|
|
709
|
-
pubSubManager.addSub({
|
|
710
|
-
table_info: this.tableOrViewInfo,
|
|
711
|
-
socket: undefined,
|
|
712
|
-
table_rules,
|
|
713
|
-
condition,
|
|
714
|
-
func: localFunc,
|
|
715
|
-
filter: { ...filter },
|
|
716
|
-
params: { ...selectParams },
|
|
717
|
-
socket_id: undefined,
|
|
718
|
-
table_name: this.name,
|
|
719
|
-
throttle,
|
|
720
|
-
last_throttled: 0,
|
|
721
|
-
}).then(channelName => ({ channelName }));
|
|
722
|
-
const unsubscribe = async () => {
|
|
723
|
-
const pubSubManager = await this.dboBuilder.getPubSubManager();
|
|
724
|
-
pubSubManager.removeLocalSub(this.name, condition, localFunc);
|
|
725
|
-
};
|
|
726
|
-
let res = Object.freeze({ unsubscribe });
|
|
727
|
-
return res;
|
|
728
|
-
}
|
|
729
|
-
}
|
|
730
|
-
catch (e) {
|
|
731
|
-
if (localParams && localParams.testRule)
|
|
732
|
-
throw e;
|
|
733
|
-
throw (0, DboBuilder_1.parseError)(e, `dbo.${this.name}.subscribe()`);
|
|
734
|
-
}
|
|
603
|
+
async subscribe(filter, params, localFunc, table_rules, localParams) {
|
|
604
|
+
//@ts-ignore
|
|
605
|
+
return subscribe_1.subscribe.bind(this)(filter, params, localFunc, table_rules, localParams);
|
|
735
606
|
}
|
|
736
607
|
subscribeOne(filter, params = {}, localFunc, table_rules, localParams) {
|
|
608
|
+
//@ts-ignore
|
|
737
609
|
let func = localParams ? undefined : (rows) => localFunc(rows[0]);
|
|
610
|
+
//@ts-ignore
|
|
738
611
|
return this.subscribe(filter, { ...params, limit: 2 }, func, table_rules, localParams);
|
|
739
612
|
}
|
|
740
613
|
async count(filter, param2_unused, param3_unused, table_rules, localParams) {
|