prostgles-server 4.2.105 → 4.2.106

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.
Files changed (59) hide show
  1. package/dist/DBSchemaBuilder.d.ts +3 -3
  2. package/dist/DBSchemaBuilder.d.ts.map +1 -1
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +2 -0
  5. package/dist/index.js.map +1 -1
  6. package/dist/typeTests/dboTypeCheck.d.ts +2 -0
  7. package/dist/typeTests/dboTypeCheck.d.ts.map +1 -0
  8. package/dist/typeTests/dboTypeCheck.js +54 -0
  9. package/dist/typeTests/dboTypeCheck.js.map +1 -0
  10. package/lib/DBSchemaBuilder.ts +4 -4
  11. package/lib/index.ts +3 -0
  12. package/lib/typeTests/DBoGenerated.d.ts +320 -0
  13. package/lib/typeTests/dboTypeCheck.ts +81 -0
  14. package/package.json +1 -1
  15. package/tests/server/index.ts +0 -11
  16. package/tests/server/package-lock.json +1 -1
  17. package/dist/DboBuilder/QueryBuilder/prepareHaving.d.ts +0 -11
  18. package/dist/DboBuilder/QueryBuilder/prepareHaving.d.ts.map +0 -1
  19. package/dist/DboBuilder/QueryBuilder/prepareHaving.js +0 -18
  20. package/dist/DboBuilder/QueryBuilder/prepareHaving.js.map +0 -1
  21. package/dist/DboBuilder/ViewHandler/ColSet.d.ts +0 -16
  22. package/dist/DboBuilder/ViewHandler/ColSet.d.ts.map +0 -1
  23. package/dist/DboBuilder/ViewHandler/ColSet.js +0 -105
  24. package/dist/DboBuilder/ViewHandler/ColSet.js.map +0 -1
  25. package/dist/DboBuilder/find.d.ts +0 -18
  26. package/dist/DboBuilder/find.d.ts.map +0 -1
  27. package/dist/DboBuilder/find.js +0 -121
  28. package/dist/DboBuilder/find.js.map +0 -1
  29. package/dist/DboBuilder/insertDataParse.d.ts +0 -27
  30. package/dist/DboBuilder/insertDataParse.d.ts.map +0 -1
  31. package/dist/DboBuilder/insertDataParse.js +0 -275
  32. package/dist/DboBuilder/insertDataParse.js.map +0 -1
  33. package/dist/DboBuilder/parseMediaOrNestedInsert.d.ts +0 -29
  34. package/dist/DboBuilder/parseMediaOrNestedInsert.d.ts.map +0 -1
  35. package/dist/DboBuilder/parseMediaOrNestedInsert.js +0 -271
  36. package/dist/DboBuilder/parseMediaOrNestedInsert.js.map +0 -1
  37. package/dist/DboBuilder/subscribe.d.ts +0 -20
  38. package/dist/DboBuilder/subscribe.d.ts.map +0 -1
  39. package/dist/DboBuilder/subscribe.js +0 -96
  40. package/dist/DboBuilder/subscribe.js.map +0 -1
  41. package/dist/DboBuilder.d.ts +0 -324
  42. package/dist/DboBuilder.d.ts.map +0 -1
  43. package/dist/DboBuilder.js +0 -345
  44. package/dist/DboBuilder.js.map +0 -1
  45. package/dist/PubSubManager/getInitQuery.d.ts +0 -13
  46. package/dist/PubSubManager/getInitQuery.d.ts.map +0 -1
  47. package/dist/PubSubManager/getInitQuery.js +0 -616
  48. package/dist/PubSubManager/getInitQuery.js.map +0 -1
  49. package/dist/SchemaWatch/SCHEMA_WATCH_QUERIES.d.ts +0 -2
  50. package/dist/SchemaWatch/SCHEMA_WATCH_QUERIES.d.ts.map +0 -1
  51. package/dist/SchemaWatch/SCHEMA_WATCH_QUERIES.js +0 -53
  52. package/dist/SchemaWatch/SCHEMA_WATCH_QUERIES.js.map +0 -1
  53. package/dist/SchemaWatch.d.ts +0 -30
  54. package/dist/SchemaWatch.d.ts.map +0 -1
  55. package/dist/SchemaWatch.js +0 -127
  56. package/dist/SchemaWatch.js.map +0 -1
  57. package/dist/my.d copy.ts +0 -1020
  58. package/dist/my.d.ts +0 -1655
  59. package/tests/server/dboTypeCheck.ts +0 -34
@@ -1,53 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SCHEMA_WATCH_EVENT_TRIGGER_QUERY = void 0;
4
- const PubSubManager_1 = require("../PubSubManager/PubSubManager");
5
- const getInitQuery_1 = require("../PubSubManager/getInitQuery");
6
- exports.SCHEMA_WATCH_EVENT_TRIGGER_QUERY = `
7
- /* DROP the old buggy schema watch trigger */
8
- IF EXISTS (
9
- SELECT 1 FROM pg_catalog.pg_event_trigger
10
- WHERE evtname = 'prostgles_schema_watch_trigger'
11
- ) AND is_super_user IS TRUE
12
- THEN
13
- DROP EVENT TRIGGER IF EXISTS prostgles_schema_watch_trigger;
14
- END IF;
15
-
16
- ev_trg_needed := EXISTS (
17
- SELECT 1 FROM prostgles.apps
18
- WHERE watching_schema_tag_names IS NOT NULL
19
- );
20
- ev_trg_exists := EXISTS (
21
- SELECT 1 FROM pg_catalog.pg_event_trigger
22
- WHERE evtname = ${(0, PubSubManager_1.asValue)(getInitQuery_1.DB_OBJ_NAMES.schema_watch_trigger)}
23
- );
24
-
25
- /* DROP stale event trigger */
26
- IF
27
- is_super_user IS TRUE
28
- AND ev_trg_needed IS FALSE
29
- AND ev_trg_exists IS TRUE
30
- THEN
31
-
32
- SELECT format(
33
- $$ DROP EVENT TRIGGER IF EXISTS %I ; $$
34
- , ${(0, PubSubManager_1.asValue)(getInitQuery_1.DB_OBJ_NAMES.schema_watch_trigger)}
35
- )
36
- INTO q;
37
- EXECUTE q;
38
-
39
- /* CREATE event trigger */
40
- ELSIF
41
- is_super_user IS TRUE
42
- AND ev_trg_needed IS TRUE
43
- AND ev_trg_exists IS FALSE
44
- THEN
45
-
46
- DROP EVENT TRIGGER IF EXISTS ${getInitQuery_1.DB_OBJ_NAMES.schema_watch_trigger};
47
- CREATE EVENT TRIGGER ${getInitQuery_1.DB_OBJ_NAMES.schema_watch_trigger} ON ddl_command_end
48
- WHEN TAG IN (\${EVENT_TRIGGER_TAGS:csv})
49
- EXECUTE PROCEDURE ${getInitQuery_1.DB_OBJ_NAMES.schema_watch_func}();
50
-
51
- END IF;
52
- `;
53
- //# sourceMappingURL=SCHEMA_WATCH_QUERIES.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SCHEMA_WATCH_QUERIES.js","sourceRoot":"","sources":["../../lib/SchemaWatch/SCHEMA_WATCH_QUERIES.ts"],"names":[],"mappings":";;;AAAA,kEAAyD;AACzD,gEAA6D;AAEhD,QAAA,gCAAgC,GAAG;;;;;;;;;;;;;;;;sBAgB1B,IAAA,uBAAO,EAAC,2BAAY,CAAC,oBAAoB,CAAC;;;;;;;;;;;;YAYpD,IAAA,uBAAO,EAAC,2BAAY,CAAC,oBAAoB,CAAC;;;;;;;;;;;;qCAYjB,2BAAY,CAAC,oBAAoB;6BACzC,2BAAY,CAAC,oBAAoB;;0BAEpC,2BAAY,CAAC,iBAAiB;;;CAGvD,CAAA"}
@@ -1,30 +0,0 @@
1
- import type { DboBuilder } from "./DboBuilder/DboBuilder";
2
- import { OnSchemaChangeCallback, ProstglesInitOptions } from "./Prostgles";
3
- export type VoidFunction = () => void;
4
- export declare class SchemaWatch {
5
- dboBuilder: DboBuilder;
6
- type: ValidatedWatchSchemaType;
7
- private constructor();
8
- static create: (dboBuilder: DboBuilder) => Promise<SchemaWatch>;
9
- onSchemaChange: OnSchemaChangeCallback | undefined;
10
- }
11
- type ValidatedWatchSchemaType = {
12
- watchType: "NONE";
13
- } | {
14
- watchType: "DDL_trigger";
15
- onChange?: OnSchemaChangeCallback;
16
- } | {
17
- watchType: "prostgles_queries";
18
- onChange?: OnSchemaChangeCallback;
19
- isFallbackFromDDL: boolean;
20
- };
21
- export declare const getWatchSchemaTagList: (watchSchema: ProstglesInitOptions["watchSchema"]) => ("ALTER AGGREGATE" | "ALTER COLLATION" | "ALTER CONVERSION" | "ALTER DOMAIN" | "ALTER DEFAULT PRIVILEGES" | "ALTER EXTENSION" | "ALTER FOREIGN DATA WRAPPER" | "ALTER FOREIGN TABLE" | "ALTER FUNCTION" | "ALTER LANGUAGE" | "ALTER LARGE OBJECT" | "ALTER MATERIALIZED VIEW" | "ALTER OPERATOR" | "ALTER OPERATOR CLASS" | "ALTER OPERATOR FAMILY" | "ALTER POLICY" | "ALTER PROCEDURE" | "ALTER PUBLICATION" | "ALTER ROUTINE" | "ALTER SCHEMA" | "ALTER SEQUENCE" | "ALTER SERVER" | "ALTER STATISTICS" | "ALTER SUBSCRIPTION" | "ALTER TABLE" | "ALTER TEXT SEARCH CONFIGURATION" | "ALTER TEXT SEARCH DICTIONARY" | "ALTER TEXT SEARCH PARSER" | "ALTER TEXT SEARCH TEMPLATE" | "ALTER TRIGGER" | "ALTER TYPE" | "ALTER USER MAPPING" | "ALTER VIEW" | "COMMENT" | "CREATE ACCESS METHOD" | "CREATE AGGREGATE" | "CREATE CAST" | "CREATE COLLATION" | "CREATE CONVERSION" | "CREATE DOMAIN" | "CREATE EXTENSION" | "CREATE FOREIGN DATA WRAPPER" | "CREATE FOREIGN TABLE" | "CREATE FUNCTION" | "CREATE INDEX" | "CREATE LANGUAGE" | "CREATE MATERIALIZED VIEW" | "CREATE OPERATOR" | "CREATE OPERATOR CLASS" | "CREATE OPERATOR FAMILY" | "CREATE POLICY" | "CREATE PROCEDURE" | "CREATE PUBLICATION" | "CREATE RULE" | "CREATE SCHEMA" | "CREATE SEQUENCE" | "CREATE SERVER" | "CREATE STATISTICS" | "CREATE SUBSCRIPTION" | "CREATE TABLE" | "CREATE TABLE AS" | "CREATE TEXT SEARCH CONFIGURATION" | "CREATE TEXT SEARCH DICTIONARY" | "CREATE TEXT SEARCH PARSER" | "CREATE TEXT SEARCH TEMPLATE" | "CREATE TRIGGER" | "CREATE TYPE" | "CREATE USER MAPPING" | "CREATE VIEW" | "DROP ACCESS METHOD" | "DROP AGGREGATE" | "DROP CAST" | "DROP COLLATION" | "DROP CONVERSION" | "DROP DOMAIN" | "DROP EXTENSION" | "DROP FOREIGN DATA WRAPPER" | "DROP FOREIGN TABLE" | "DROP FUNCTION" | "DROP INDEX" | "DROP LANGUAGE" | "DROP MATERIALIZED VIEW" | "DROP OPERATOR" | "DROP OPERATOR CLASS" | "DROP OPERATOR FAMILY" | "DROP OWNED" | "DROP POLICY" | "DROP PROCEDURE" | "DROP PUBLICATION" | "DROP ROUTINE" | "DROP RULE" | "DROP SCHEMA" | "DROP SEQUENCE" | "DROP SERVER" | "DROP STATISTICS" | "DROP SUBSCRIPTION" | "DROP TABLE" | "DROP TEXT SEARCH CONFIGURATION" | "DROP TEXT SEARCH DICTIONARY" | "DROP TEXT SEARCH PARSER" | "DROP TEXT SEARCH TEMPLATE" | "DROP TRIGGER" | "DROP TYPE" | "DROP USER MAPPING" | "DROP VIEW" | "GRANT" | "IMPORT FOREIGN SCHEMA" | "REFRESH MATERIALIZED VIEW" | "REVOKE" | "SECURITY LABEL" | "SELECT INTO")[] | undefined;
22
- /**
23
- * Fallback for watchSchema in case of not a superuser (cannot add db event listener)
24
- */
25
- export declare const watchSchemaFallback: (this: DboBuilder, { queryWithoutRLS, command }: {
26
- queryWithoutRLS: string;
27
- command: string;
28
- }) => Promise<void>;
29
- export {};
30
- //# sourceMappingURL=SchemaWatch.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SchemaWatch.d.ts","sourceRoot":"","sources":["../lib/SchemaWatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAI3E,MAAM,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC;AAEtC,qBAAa,WAAW;IAEtB,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,wBAAwB,CAAC;IAC/B,OAAO;IAQP,MAAM,CAAC,MAAM,eAAsB,UAAU,0BAM5C;IAED,cAAc,EAAE,sBAAsB,GAAG,SAAS,CA+BhD;CACH;AAED,KAAK,wBAAwB,GAC3B;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GACrB;IAAE,SAAS,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,EAAE,sBAAsB,CAAC;CAAE,GAChE;IAAE,SAAS,EAAE,mBAAmB,CAAC;IAAC,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAAC,iBAAiB,EAAE,OAAO,CAAC;CAAE,CAAA;AAwCpG,eAAO,MAAM,qBAAqB,gBAAiB,oBAAoB,CAAC,aAAa,CAAC,m1EAsBrF,CAAA;AAID;;GAEG;AACH,eAAO,MAAM,mBAAmB,SAAwB,UAAU;qBAAmD,MAAM;aAAW,MAAM;mBAY3I,CAAA"}
@@ -1,127 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.watchSchemaFallback = exports.getWatchSchemaTagList = exports.SchemaWatch = void 0;
4
- const Event_Trigger_Tags_1 = require("./Event_Trigger_Tags");
5
- const prostgles_types_1 = require("prostgles-types");
6
- const PubSubManager_1 = require("./PubSubManager/PubSubManager");
7
- class SchemaWatch {
8
- dboBuilder;
9
- type;
10
- constructor(dboBuilder) {
11
- this.dboBuilder = dboBuilder;
12
- this.type = getValidatedWatchSchemaType(dboBuilder);
13
- if (this.type.watchType === "NONE") {
14
- this.onSchemaChange = undefined;
15
- }
16
- }
17
- static create = async (dboBuilder) => {
18
- const instance = new SchemaWatch(dboBuilder);
19
- if (instance.type.watchType === "DDL_trigger") {
20
- await dboBuilder.getPubSubManager();
21
- }
22
- return instance;
23
- };
24
- onSchemaChange = async (event) => {
25
- if (this.type.watchType === "NONE")
26
- return;
27
- const { watchSchema, onReady, tsGeneratedTypesDir } = this.dboBuilder.prostgles.opts;
28
- if (watchSchema && this.dboBuilder.prostgles.loaded) {
29
- (0, PubSubManager_1.log)("Schema changed");
30
- const { query, command } = event;
31
- if (typeof query === "string" && query.includes(PubSubManager_1.PubSubManager.EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID)) {
32
- (0, PubSubManager_1.log)("Schema change event excluded from triggers due to EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID");
33
- return;
34
- }
35
- if (typeof watchSchema === "function") {
36
- /* Only call the provided func */
37
- watchSchema(event);
38
- }
39
- else if (watchSchema === "hotReloadMode") {
40
- if (tsGeneratedTypesDir) {
41
- /* Hot reload integration. Will only touch tsGeneratedTypesDir */
42
- console.log("watchSchema: Re-writing TS schema");
43
- await this.dboBuilder.prostgles.refreshDBO();
44
- this.dboBuilder.prostgles.writeDBSchema(true);
45
- }
46
- }
47
- else if (watchSchema) {
48
- /* Full re-init. Sockets must reconnect */
49
- console.log("watchSchema: Full re-initialisation", { query });
50
- this.dboBuilder.prostgles.init(onReady, { type: "schema change", query, command });
51
- }
52
- }
53
- };
54
- }
55
- exports.SchemaWatch = SchemaWatch;
56
- const getValidatedWatchSchemaType = (dboBuilder) => {
57
- const { watchSchema, watchSchemaType, tsGeneratedTypesDir } = dboBuilder.prostgles.opts;
58
- if (!watchSchema)
59
- return { watchType: "NONE" };
60
- if (watchSchema === "hotReloadMode" && !tsGeneratedTypesDir) {
61
- throw "tsGeneratedTypesDir option is needed for watchSchema: hotReloadMode to work ";
62
- }
63
- const onChange = typeof watchSchema === "function" ? watchSchema : undefined;
64
- if (watchSchemaType === "DDL_trigger" || !watchSchemaType) {
65
- if (!dboBuilder.prostgles.isSuperUser) {
66
- if (watchSchemaType === "DDL_trigger") {
67
- console.error(`watchSchemaType "DDL_trigger" cannot be used because db user is not a superuser. Will fallback to watchSchemaType "prostgles_queries" `);
68
- }
69
- else {
70
- console.warn(`watchSchema fallback to watchSchemaType "prostgles_queries" due to non-superuser`);
71
- }
72
- return {
73
- watchType: "prostgles_queries",
74
- onChange,
75
- isFallbackFromDDL: true
76
- };
77
- }
78
- return {
79
- watchType: "DDL_trigger",
80
- onChange
81
- };
82
- }
83
- return {
84
- watchType: watchSchemaType,
85
- isFallbackFromDDL: false,
86
- onChange
87
- };
88
- };
89
- const getWatchSchemaTagList = (watchSchema) => {
90
- if (!watchSchema)
91
- return undefined;
92
- if (watchSchema === "*") {
93
- return Event_Trigger_Tags_1.EVENT_TRIGGER_TAGS.slice(0);
94
- }
95
- if ((0, prostgles_types_1.isObject)(watchSchema) && typeof watchSchema !== "function") {
96
- const watchSchemaKeys = (0, prostgles_types_1.getKeys)(watchSchema);
97
- const isInclusive = Object.values(watchSchema).every(v => v);
98
- return Event_Trigger_Tags_1.EVENT_TRIGGER_TAGS
99
- .slice(0)
100
- .filter(v => {
101
- const matches = watchSchemaKeys.includes(v);
102
- return isInclusive ? matches : !matches;
103
- });
104
- }
105
- const coreTags = [
106
- 'COMMENT', 'CREATE TABLE', 'ALTER TABLE', 'DROP TABLE', 'CREATE VIEW',
107
- 'DROP VIEW', 'ALTER VIEW', 'CREATE TABLE AS', 'SELECT INTO', 'CREATE POLICY'
108
- ];
109
- return coreTags;
110
- };
111
- exports.getWatchSchemaTagList = getWatchSchemaTagList;
112
- /**
113
- * Fallback for watchSchema in case of not a superuser (cannot add db event listener)
114
- */
115
- const watchSchemaFallback = async function ({ queryWithoutRLS, command }) {
116
- const SCHEMA_ALTERING_COMMANDS = Event_Trigger_Tags_1.EVENT_TRIGGER_TAGS; // ["CREATE", "ALTER", "DROP", "REVOKE", "GRANT"];
117
- const isNotPickedUpByDDLTrigger = ["REVOKE", "GRANT"].includes(command);
118
- const { watchSchema, watchSchemaType } = this.prostgles?.opts || {};
119
- if (watchSchema &&
120
- (!this.prostgles.isSuperUser || watchSchemaType === "prostgles_queries" || isNotPickedUpByDDLTrigger)) {
121
- if (SCHEMA_ALTERING_COMMANDS.includes(command)) {
122
- this.prostgles.schemaWatch?.onSchemaChange?.({ command, query: queryWithoutRLS });
123
- }
124
- }
125
- };
126
- exports.watchSchemaFallback = watchSchemaFallback;
127
- //# sourceMappingURL=SchemaWatch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SchemaWatch.js","sourceRoot":"","sources":["../lib/SchemaWatch.ts"],"names":[],"mappings":"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"}