prostgles-server 4.2.604 → 4.2.606

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 (29) hide show
  1. package/dist/DboBuilder/ViewHandler/getInfo.d.ts.map +1 -1
  2. package/dist/DboBuilder/ViewHandler/getInfo.js +5 -46
  3. package/dist/DboBuilder/ViewHandler/getInfo.js.map +1 -1
  4. package/dist/DboBuilder/ViewHandler/getRawInfo.d.ts +7 -0
  5. package/dist/DboBuilder/ViewHandler/getRawInfo.d.ts.map +1 -0
  6. package/dist/DboBuilder/ViewHandler/getRawInfo.js +51 -0
  7. package/dist/DboBuilder/ViewHandler/getRawInfo.js.map +1 -0
  8. package/dist/DboBuilder/getColumns.d.ts +5 -0
  9. package/dist/DboBuilder/getColumns.d.ts.map +1 -1
  10. package/dist/DboBuilder/getColumns.js +80 -74
  11. package/dist/DboBuilder/getColumns.js.map +1 -1
  12. package/dist/TableConfig/getTableTriggerQueries.d.ts +5 -0
  13. package/dist/TableConfig/getTableTriggerQueries.d.ts.map +1 -0
  14. package/dist/TableConfig/getTableTriggerQueries.js +61 -0
  15. package/dist/TableConfig/getTableTriggerQueries.js.map +1 -0
  16. package/dist/TableConfig/getTableTriggerQueries.spec.d.ts +2 -0
  17. package/dist/TableConfig/getTableTriggerQueries.spec.d.ts.map +1 -0
  18. package/dist/TableConfig/getTableTriggerQueries.spec.js +56 -0
  19. package/dist/TableConfig/getTableTriggerQueries.spec.js.map +1 -0
  20. package/dist/TableConfig/initTableConfig.d.ts.map +1 -1
  21. package/dist/TableConfig/initTableConfig.js +2 -57
  22. package/dist/TableConfig/initTableConfig.js.map +1 -1
  23. package/lib/DboBuilder/ViewHandler/getInfo.ts +5 -58
  24. package/lib/DboBuilder/ViewHandler/getRawInfo.ts +65 -0
  25. package/lib/DboBuilder/getColumns.ts +105 -92
  26. package/lib/TableConfig/getTableTriggerQueries.spec.ts +77 -0
  27. package/lib/TableConfig/getTableTriggerQueries.ts +74 -0
  28. package/lib/TableConfig/initTableConfig.ts +2 -67
  29. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"initTableConfig.js","sourceRoot":"","sources":["../../lib/TableConfig/initTableConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"initTableConfig.js","sourceRoot":"","sources":["../../lib/TableConfig/initTableConfig.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import { type TableInfo as TInfo } from "prostgles-types/dist";
2
2
  import type { ParsedTableRule } from "../../PublishParser/PublishParser";
3
3
  import type { LocalParams } from "../DboBuilder";
4
+ import { getRawInfo } from "./getRawInfo";
5
+ import { getRawColumns } from "../getColumns";
4
6
  import type { ViewHandler } from "./ViewHandler";
5
7
 
6
8
  export async function getInfo(
@@ -11,80 +13,25 @@ export async function getInfo(
11
13
  tableRules?: ParsedTableRule,
12
14
  localParams?: LocalParams,
13
15
  ): Promise<TInfo> {
14
- const validatedTableRules = this.getValidatedRules(tableRules, localParams);
15
-
16
- const fileTableName = this.dboBuilder.prostgles.opts.fileTable?.tableName;
17
-
16
+ const tableInfo = getRawInfo.call(this, lang, tableRules, localParams);
18
17
  await this._log({
19
18
  command: "getInfo",
20
19
  localParams,
21
20
  data: { lang },
22
21
  duration: 0,
23
22
  });
24
- const allowedFieldsToSelect = this.parseFieldFilter(tableRules?.select?.fields);
25
- const { requiredNestedInserts, allowedNestedInserts } = tableRules?.insert ?? {};
26
- const label = this.dboBuilder.prostgles.tableConfigurator?.getTableLabel({
27
- tableName: this.name,
28
- lang,
29
- });
30
- const tableInfo: TInfo = {
31
- oid: this.tableOrViewInfo.oid,
32
- comment: this.tableOrViewInfo.comment,
33
- qualifiedNameParts: this.tableOrViewInfo.qualifiedNameParts,
34
- label,
35
- isFileTable:
36
- !this.is_media ? undefined : (
37
- {
38
- allowedNestedInserts,
39
- }
40
- ),
41
- isView: this.isView,
42
- hasFiles: Boolean(
43
- !this.is_media &&
44
- fileTableName &&
45
- this.columns.some((c) => c.references?.some((r) => r.ftable === fileTableName)),
46
- ),
47
- fileTableName,
48
- dynamicRules: {
49
- update: Boolean(tableRules?.update?.dynamicFields?.length),
50
- },
51
- /**
52
- * Only show column groups that are fully allowed to be selected by the user
53
- */
54
- uniqueColumnGroups: this.tableOrViewInfo.uniqueColumnGroups?.filter(
55
- (g) => !localParams || g.every((c) => allowedFieldsToSelect.includes(c)),
56
- ),
57
- publishInfo: {
58
- select: validatedTableRules.select && {
59
- disabledMethods: validatedTableRules.select.disableMethods,
60
- syncConfig: this.dboBuilder.prostgles.tableConfigurator?.getTableSyncConfig(this.name),
61
- },
62
- insert: validatedTableRules.insert && {
63
- requiredNestedInserts,
64
- allowedNestedInserts: allowedNestedInserts?.map((t) => t.table),
65
- },
66
- update: validatedTableRules.update && {
67
- disabledMethods: tableRules?.update?.disableMethods,
68
- },
69
- delete: validatedTableRules.delete && {},
70
- },
71
- };
72
-
73
23
  const modifyClientSchema = this.dboBuilder.prostgles.opts.modifyClientSchema;
74
- if (!modifyClientSchema) {
75
- return tableInfo;
76
- }
24
+ if (!modifyClientSchema) return tableInfo;
77
25
 
78
26
  const modifiedTableSchema = await modifyClientSchema(
79
27
  {
80
28
  name: this.name,
81
29
  ...tableInfo,
82
- columns: [],
30
+ columns: await getRawColumns.call(this, lang, undefined, tableRules, localParams),
83
31
  },
84
32
  this.config,
85
33
  localParams?.isRemoteRequest?.clientInfo,
86
34
  );
87
-
88
35
  const { columns, name, ...rest } = modifiedTableSchema;
89
36
  return rest;
90
37
  }
@@ -0,0 +1,65 @@
1
+ import { type TableInfo as TInfo } from "prostgles-types/dist";
2
+ import type { ParsedTableRule } from "../../PublishParser/PublishParser";
3
+ import type { LocalParams } from "../DboBuilder";
4
+ import type { ViewHandler } from "./ViewHandler";
5
+
6
+ /** Table metadata before client schema customisation. */
7
+ export function getRawInfo(
8
+ this: ViewHandler,
9
+ lang?: string,
10
+ tableRules?: ParsedTableRule,
11
+ localParams?: LocalParams,
12
+ ): TInfo {
13
+ const validatedTableRules = this.getValidatedRules(tableRules, localParams);
14
+ const fileTableName = this.dboBuilder.prostgles.opts.fileTable?.tableName;
15
+ const allowedFieldsToSelect = this.parseFieldFilter(tableRules?.select?.fields);
16
+ const { requiredNestedInserts, allowedNestedInserts } = tableRules?.insert ?? {};
17
+ const label = this.dboBuilder.prostgles.tableConfigurator?.getTableLabel({
18
+ tableName: this.name,
19
+ lang,
20
+ });
21
+ const tableInfo: TInfo = {
22
+ oid: this.tableOrViewInfo.oid,
23
+ comment: this.tableOrViewInfo.comment,
24
+ qualifiedNameParts: this.tableOrViewInfo.qualifiedNameParts,
25
+ label,
26
+ isFileTable:
27
+ !this.is_media ? undefined : (
28
+ {
29
+ allowedNestedInserts,
30
+ }
31
+ ),
32
+ isView: this.isView,
33
+ hasFiles: Boolean(
34
+ !this.is_media &&
35
+ fileTableName &&
36
+ this.columns.some((c) => c.references?.some((r) => r.ftable === fileTableName)),
37
+ ),
38
+ fileTableName,
39
+ dynamicRules: {
40
+ update: Boolean(tableRules?.update?.dynamicFields?.length),
41
+ },
42
+ /**
43
+ * Only show column groups that are fully allowed to be selected by the user
44
+ */
45
+ uniqueColumnGroups: this.tableOrViewInfo.uniqueColumnGroups?.filter(
46
+ (g) => !localParams || g.every((c) => allowedFieldsToSelect.includes(c)),
47
+ ),
48
+ publishInfo: {
49
+ select: validatedTableRules.select && {
50
+ disabledMethods: validatedTableRules.select.disableMethods,
51
+ syncConfig: this.dboBuilder.prostgles.tableConfigurator?.getTableSyncConfig(this.name),
52
+ },
53
+ insert: validatedTableRules.insert && {
54
+ requiredNestedInserts,
55
+ allowedNestedInserts: allowedNestedInserts?.map((t) => t.table),
56
+ },
57
+ update: validatedTableRules.update && {
58
+ disabledMethods: tableRules?.update?.disableMethods,
59
+ },
60
+ delete: validatedTableRules.delete && {},
61
+ },
62
+ };
63
+
64
+ return tableInfo;
65
+ }
@@ -5,6 +5,7 @@ import type { LocalParams } from "./DboBuilder";
5
5
  import { getErrorAsObject, getSerializedClientErrorFromPGError } from "./DboBuilder";
6
6
  import type { TableHandler } from "./TableHandler/TableHandler";
7
7
  import type { ViewHandler } from "./ViewHandler/ViewHandler";
8
+ import { getRawInfo } from "./ViewHandler/getRawInfo";
8
9
 
9
10
  export const isTableHandler = (v: any): v is TableHandler => "parseUpdateRules" in v;
10
11
 
@@ -18,102 +19,12 @@ export async function getColumns(
18
19
  ): Promise<ValidatedColumnInfo[]> {
19
20
  const start = Date.now();
20
21
  try {
21
- const rules = this.getValidatedRules(tableRules, localParams);
22
-
23
- let dynamicUpdateFields = this.column_names;
24
-
25
- if (params && tableRules && isTableHandler(this)) {
26
- if (
27
- !isObject(params) ||
28
- !isObject(params.filter) ||
29
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
30
- params.rule !== "update"
31
- ) {
32
- throw (
33
- "params must be { rule: 'update', filter: object } but received: " +
34
- JSON.stringify(params)
35
- );
36
- }
37
-
38
- if (!tableRules.update) {
39
- dynamicUpdateFields = [];
40
- } else {
41
- const { filter } = params;
42
- const updateRules = await this.parseUpdateRules(filter, undefined, tableRules, localParams);
43
- dynamicUpdateFields = updateRules.fields;
44
- }
45
- }
46
-
47
- const rawColumns: ValidatedColumnInfo[] = this.columns
48
- .filter((c) => {
49
- const { insert, select, update } = rules;
50
-
51
- return [insert, select, update]
52
- .filter(isDefined)
53
- .flatMap((rule) => rule.fields)
54
- .includes(c.name);
55
- })
56
- .map((_c) => {
57
- const c = { ..._c };
58
-
59
- const label = capitalizeFirstLetter(c.name, " ");
60
-
61
- const select = !!c.privileges.SELECT;
62
- const insert = !!c.privileges.INSERT;
63
- const _delete = !!this.tableOrViewInfo.privileges.delete;
64
- let update = !!c.privileges.UPDATE;
65
-
66
- const prostgles = this.dboBuilder.prostgles;
67
- const fileConfig = getFileColumnInfo({
68
- colName: c.name,
69
- tableHandler: this,
70
- });
71
-
72
- /** Do not allow updates to file table unless it's to delete fields */
73
- if (prostgles.opts.fileTable?.tableName === this.name) {
74
- update = false;
75
- }
76
-
77
- const nonOrderableUD_Types: string[] = [..._PG_geometric, "xml"];
78
-
79
- const result: ValidatedColumnInfo = {
80
- ...omitKeys(c, ["privileges"]),
81
- label,
82
- tsDataType: postgresToTsType(c.udt_name),
83
- insert:
84
- insert &&
85
- !!rules.insert?.fields.includes(c.name) &&
86
- tableRules?.insert?.forcedData?.[c.name] === undefined &&
87
- c.is_updatable,
88
- select: select && !!rules.select?.fields.includes(c.name),
89
- orderBy:
90
- select &&
91
- !!rules.select?.orderByFields.includes(c.name) &&
92
- !nonOrderableUD_Types.includes(c.udt_name),
93
- filter: !!rules.select?.filterFields.includes(c.name),
94
- update:
95
- update &&
96
- !!rules.update?.fields.includes(c.name) &&
97
- tableRules?.update?.forcedData?.[c.name] === undefined &&
98
- c.is_updatable &&
99
- dynamicUpdateFields.includes(c.name),
100
- delete: _delete && !!rules.delete?.filterFields.includes(c.name),
101
- ...(prostgles.tableConfigurator?.getColInfo({
102
- table: this.name,
103
- col: c.name,
104
- lang,
105
- }) || {}),
106
- ...(fileConfig && { file: fileConfig }),
107
- };
108
-
109
- return result;
110
- })
111
- .filter((c) => c.select || c.update || c.delete || c.insert);
22
+ const rawColumns = await getRawColumns.call(this, lang, params, tableRules, localParams);
112
23
 
113
24
  const modifiedTableSchema = await this.dboBuilder.prostgles.opts.modifyClientSchema?.(
114
25
  {
115
26
  name: this.name,
116
- ...(await this.getInfo()),
27
+ ...getRawInfo.call(this, lang, tableRules, localParams),
117
28
  columns: rawColumns,
118
29
  },
119
30
  this.config,
@@ -146,6 +57,108 @@ export async function getColumns(
146
57
  }
147
58
  }
148
59
 
60
+ /** Permission-filtered columns before client schema customisation. */
61
+ export async function getRawColumns(
62
+ this: ViewHandler,
63
+ lang?: string,
64
+ params?: { rule: "update"; filter: AnyObject },
65
+ tableRules?: ParsedTableRule,
66
+ localParams?: LocalParams,
67
+ ): Promise<ValidatedColumnInfo[]> {
68
+ const rules = this.getValidatedRules(tableRules, localParams);
69
+
70
+ let dynamicUpdateFields = this.column_names;
71
+
72
+ if (params && tableRules && isTableHandler(this)) {
73
+ if (
74
+ !isObject(params) ||
75
+ !isObject(params.filter) ||
76
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
77
+ params.rule !== "update"
78
+ ) {
79
+ throw (
80
+ "params must be { rule: 'update', filter: object } but received: " + JSON.stringify(params)
81
+ );
82
+ }
83
+
84
+ if (!tableRules.update) {
85
+ dynamicUpdateFields = [];
86
+ } else {
87
+ const { filter } = params;
88
+ const updateRules = await this.parseUpdateRules(filter, undefined, tableRules, localParams);
89
+ dynamicUpdateFields = updateRules.fields;
90
+ }
91
+ }
92
+
93
+ const rawColumns: ValidatedColumnInfo[] = this.columns
94
+ .filter((c) => {
95
+ const { insert, select, update } = rules;
96
+
97
+ return [insert, select, update]
98
+ .filter(isDefined)
99
+ .flatMap((rule) => rule.fields)
100
+ .includes(c.name);
101
+ })
102
+ .map((_c) => {
103
+ const c = { ..._c };
104
+
105
+ const label = capitalizeFirstLetter(c.name, " ");
106
+
107
+ const select = !!c.privileges.SELECT;
108
+ const insert = !!c.privileges.INSERT;
109
+ const _delete = !!this.tableOrViewInfo.privileges.delete;
110
+ let update = !!c.privileges.UPDATE;
111
+
112
+ const prostgles = this.dboBuilder.prostgles;
113
+ const fileConfig = getFileColumnInfo({
114
+ colName: c.name,
115
+ tableHandler: this,
116
+ });
117
+
118
+ /** Do not allow updates to file table unless it's to delete fields */
119
+ if (prostgles.opts.fileTable?.tableName === this.name) {
120
+ update = false;
121
+ }
122
+
123
+ const nonOrderableUD_Types: string[] = [..._PG_geometric, "xml"];
124
+
125
+ const result: ValidatedColumnInfo = {
126
+ ...omitKeys(c, ["privileges"]),
127
+ label,
128
+ tsDataType: postgresToTsType(c.udt_name),
129
+ insert:
130
+ insert &&
131
+ !!rules.insert?.fields.includes(c.name) &&
132
+ tableRules?.insert?.forcedData?.[c.name] === undefined &&
133
+ c.is_updatable,
134
+ select: select && !!rules.select?.fields.includes(c.name),
135
+ orderBy:
136
+ select &&
137
+ !!rules.select?.orderByFields.includes(c.name) &&
138
+ !nonOrderableUD_Types.includes(c.udt_name),
139
+ filter: !!rules.select?.filterFields.includes(c.name),
140
+ update:
141
+ update &&
142
+ !!rules.update?.fields.includes(c.name) &&
143
+ tableRules?.update?.forcedData?.[c.name] === undefined &&
144
+ c.is_updatable &&
145
+ dynamicUpdateFields.includes(c.name),
146
+ delete: _delete && !!rules.delete?.filterFields.includes(c.name),
147
+ ...(prostgles.tableConfigurator?.getColInfo({
148
+ table: this.name,
149
+ col: c.name,
150
+ lang,
151
+ }) || {}),
152
+ ...(fileConfig && { file: fileConfig }),
153
+ };
154
+
155
+ return result;
156
+ })
157
+ .filter((c) => c.select || c.update || c.delete || c.insert);
158
+
159
+ return rawColumns;
160
+ }
161
+
149
162
  const capitalizeFirstLetter = (string: string, nonAlphaNumericReplacement = " ") => {
150
163
  const str = string.replace(/[\W_]+/g, nonAlphaNumericReplacement);
151
164
  return str.charAt(0).toUpperCase() + str.slice(1);
@@ -0,0 +1,77 @@
1
+ import assert from "node:assert/strict";
2
+ import test from "node:test";
3
+ import { asName } from "prostgles-types";
4
+ import type { DB } from "../initProstgles";
5
+ import { getTableTriggerQueries } from "./getTableTriggerQueries";
6
+
7
+ void test("trigger configuration quotes names and bodies and preserves unmanaged triggers", async () => {
8
+ const db = {
9
+ any: () =>
10
+ Promise.resolve([
11
+ { name: "manual", comment: null },
12
+ { name: "old_insert", comment: "prostgles.tableConfig:old" },
13
+ ]),
14
+ } as unknown as DB;
15
+ const queries = await getTableTriggerQueries(
16
+ db,
17
+ "Odd ' table",
18
+ {
19
+ triggers: {
20
+ audit: {
21
+ type: "after",
22
+ actions: ["insert"],
23
+ forEach: "row",
24
+ query: "BEGIN RAISE NOTICE '$$'; RETURN NULL; END;",
25
+ },
26
+ },
27
+ },
28
+ asName,
29
+ );
30
+ assert.ok(queries.some((query) => query.includes('ON "Odd \' table"')));
31
+ assert.ok(
32
+ queries.some((query) =>
33
+ query.includes("AS 'BEGIN RAISE NOTICE ''$$''; RETURN NULL; END;';"),
34
+ ),
35
+ );
36
+ assert.ok(
37
+ queries.some((query) => query.includes('DROP TRIGGER "old_insert"')),
38
+ );
39
+ assert.ok(!queries.some((query) => query.includes('DROP TRIGGER "manual"')));
40
+ });
41
+
42
+ void test("unchanged triggers do not produce DDL; changed bodies replace them", async () => {
43
+ const trigger = {
44
+ type: "after",
45
+ actions: ["update"],
46
+ forEach: "row",
47
+ query: "BEGIN RETURN NULL; END;" as string,
48
+ } as const;
49
+ const config = {
50
+ triggers: { audit: { ...trigger, actions: [...trigger.actions] } },
51
+ };
52
+ const first = await getTableTriggerQueries(
53
+ { any: () => Promise.resolve([]) } as unknown as DB,
54
+ "records",
55
+ config,
56
+ asName,
57
+ );
58
+ const commentQuery = first.find((query) => query.startsWith("COMMENT ON"))!;
59
+ const comment = commentQuery.split(" IS '")[1]!.slice(0, -2);
60
+ const db = {
61
+ any: () => Promise.resolve([{ name: "audit_update", comment }]),
62
+ } as unknown as DB;
63
+ assert.deepEqual(
64
+ await getTableTriggerQueries(db, "records", config, asName),
65
+ [],
66
+ );
67
+ config.triggers.audit.query =
68
+ "BEGIN RAISE NOTICE 'changed'; RETURN NULL; END;";
69
+ assert.ok(
70
+ (await getTableTriggerQueries(db, "records", config, asName)).some(
71
+ (query) => query.startsWith("CREATE OR REPLACE FUNCTION"),
72
+ ),
73
+ );
74
+ assert.deepEqual(await getTableTriggerQueries(db, "records", {}, asName), [
75
+ 'DROP TRIGGER "audit_update" ON "records";',
76
+ ]);
77
+ });
@@ -0,0 +1,74 @@
1
+ import { as } from "pg-promise";
2
+ import { md5 } from "prostgles-types/dist/md5";
3
+ import type { DB } from "../initProstgles";
4
+ import type { TableConfig } from "./TableConfigTypes";
5
+
6
+ const MANAGED_TRIGGER_PREFIX = "prostgles.tableConfig:";
7
+
8
+ /** Reconcile only triggers owned by tableConfig; preserve manually created triggers. */
9
+ export const getTableTriggerQueries = async (
10
+ db: DB,
11
+ tableName: string,
12
+ tableConfig: TableConfig[string],
13
+ asName: (name: string) => string,
14
+ ): Promise<string[]> => {
15
+ const tableIdent = asName(tableName);
16
+ const existing = await db.any<{ name: string; comment: string | null }>(
17
+ `
18
+ SELECT t.tgname AS name, obj_description(t.oid, 'pg_trigger') AS comment
19
+ FROM pg_trigger t
20
+ WHERE t.tgrelid = to_regclass($1) AND NOT t.tgisinternal
21
+ `,
22
+ [tableIdent],
23
+ );
24
+ const queries: string[] = [];
25
+ const desired = new Set<string>();
26
+ const isDropped = tableConfig.dropIfExists || tableConfig.dropIfExistsCascade;
27
+ for (const [functionName, trigger] of Object.entries(
28
+ tableConfig.triggers ?? {},
29
+ )) {
30
+ const functionIdent = asName(functionName);
31
+ let functionAdded = false;
32
+ for (const action of trigger.actions) {
33
+ const name = `${functionName}_${action}`;
34
+ desired.add(name);
35
+ const triggerIdent = asName(name);
36
+ const transitionTables =
37
+ trigger.forEach === "row"
38
+ ? ""
39
+ : [
40
+ "REFERENCING",
41
+ action !== "delete" ? "NEW TABLE AS new_table" : "",
42
+ action !== "insert" ? "OLD TABLE AS old_table" : "",
43
+ ].join(" ");
44
+ const definition = `CREATE TRIGGER ${triggerIdent}
45
+ ${trigger.type} ${action} ON ${tableIdent}
46
+ ${transitionTables} FOR EACH ${trigger.forEach}
47
+ EXECUTE FUNCTION ${functionIdent}();`;
48
+ const comment = MANAGED_TRIGGER_PREFIX + md5(definition + trigger.query);
49
+ const previous = existing.find((entry) => entry.name === name);
50
+ if (!isDropped && previous?.comment === comment) continue;
51
+ if (!functionAdded) {
52
+ queries.push(`CREATE OR REPLACE FUNCTION ${functionIdent}()
53
+ RETURNS trigger LANGUAGE plpgsql AS ${as.text(trigger.query)};`);
54
+ functionAdded = true;
55
+ }
56
+ queries.push(`DROP TRIGGER IF EXISTS ${triggerIdent} ON ${tableIdent};`);
57
+ queries.push(definition);
58
+ queries.push(
59
+ `COMMENT ON TRIGGER ${triggerIdent} ON ${tableIdent} IS ${as.text(comment)};`,
60
+ );
61
+ }
62
+ }
63
+ if (!isDropped) {
64
+ for (const trigger of existing) {
65
+ if (
66
+ trigger.comment?.startsWith(MANAGED_TRIGGER_PREFIX) &&
67
+ !desired.has(trigger.name)
68
+ ) {
69
+ queries.push(`DROP TRIGGER ${asName(trigger.name)} ON ${tableIdent};`);
70
+ }
71
+ }
72
+ }
73
+ return queries;
74
+ };
@@ -9,6 +9,7 @@ import { fetchTableConstraints } from "./fetchTableConstraints";
9
9
  import { getConstraintDefinitionQueries } from "./getConstraintDefinitionQueries";
10
10
  import { getFutureTableSchema } from "./getFutureTableSchema";
11
11
  import { getTableColumnQueries } from "./getTableColumnQueries";
12
+ import { getTableTriggerQueries } from "./getTableTriggerQueries";
12
13
  import { getIndexesQueries } from "./indexes/getIndexesQueries";
13
14
  import { runMigrations } from "./runMigrations";
14
15
  import type { TableConfigurator } from "./TableConfigurator";
@@ -234,73 +235,7 @@ export const initTableConfig = async function (this: TableConfigurator) {
234
235
  const indexQueries = await getIndexesQueries(this.db, tableName, tableConf);
235
236
  queries.push(...indexQueries);
236
237
 
237
- const { triggers, dropIfExists, dropIfExistsCascade } = tableConf;
238
- if (triggers) {
239
- const isDropped = dropIfExists || dropIfExistsCascade;
240
-
241
- const existingTriggers = await this.db.any<{ trigger_name: string }>(
242
- `
243
- SELECT event_object_table
244
- ,trigger_name
245
- FROM information_schema.triggers
246
- WHERE event_object_table = \${tableName}
247
- ORDER BY event_object_table
248
- `,
249
- { tableName },
250
- );
251
-
252
- // const existingTriggerFuncs = await this.dbo.sql!(`
253
- // SELECT p.oid,proname,prosrc,u.usename
254
- // FROM pg_proc p
255
- // JOIN pg_user u ON u.usesysid = p.proowner
256
- // WHERE prorettype = 2279;
257
- // `, {}, { returnType: "rows" }) as { proname: string }[];
258
-
259
- Object.entries(triggers).forEach(([triggerFuncName, trigger]) => {
260
- const funcNameParsed = asName(triggerFuncName);
261
-
262
- let addedFunc = false;
263
- const addFuncDef = () => {
264
- if (addedFunc) return;
265
- addedFunc = true;
266
- queries.push(`
267
- CREATE OR REPLACE FUNCTION ${funcNameParsed}()
268
- RETURNS trigger
269
- LANGUAGE plpgsql
270
- AS
271
- $$
272
-
273
- ${trigger.query}
274
-
275
- $$;
276
- `);
277
- };
278
-
279
- trigger.actions.forEach((action) => {
280
- const triggerActionName = triggerFuncName + "_" + action;
281
-
282
- const triggerActionNameParsed = asName(triggerActionName);
283
- if (isDropped) {
284
- queries.push(`DROP TRIGGER IF EXISTS ${triggerActionNameParsed} ON ${tableName};`);
285
- }
286
-
287
- if (isDropped || !existingTriggers.some((t) => t.trigger_name === triggerActionName)) {
288
- addFuncDef();
289
- const newTableName = action !== "delete" ? "NEW TABLE AS new_table" : "";
290
- const oldTableName = action !== "insert" ? "OLD TABLE AS old_table" : "";
291
- const transitionTables =
292
- trigger.forEach === "row" ? "" : `REFERENCING ${newTableName} ${oldTableName}`;
293
- queries.push(`
294
- CREATE TRIGGER ${triggerActionNameParsed}
295
- ${trigger.type} ${action} ON ${tableName}
296
- ${transitionTables}
297
- FOR EACH ${trigger.forEach}
298
- EXECUTE PROCEDURE ${funcNameParsed}();
299
- `);
300
- }
301
- });
302
- });
303
- }
238
+ queries.push(...(await getTableTriggerQueries(this.db, tableName, tableConf, asName)));
304
239
  }
305
240
 
306
241
  if (queries.length) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prostgles-server",
3
- "version": "4.2.604",
3
+ "version": "4.2.606",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",