prostgles-server 4.2.625 → 4.2.626

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 (109) hide show
  1. package/dist/Audit/AuditTable.d.ts +2 -1
  2. package/dist/Audit/AuditTable.d.ts.map +1 -1
  3. package/dist/Audit/AuditTable.js.map +1 -1
  4. package/dist/Audit/getAuditTableRules.d.ts.map +1 -1
  5. package/dist/Audit/getAuditTableRules.js +3 -3
  6. package/dist/Audit/getAuditTableRules.js.map +1 -1
  7. package/dist/DBSchemaBuilder/getClientDBGeneratedSchemas.d.ts.map +1 -1
  8. package/dist/DBSchemaBuilder/getClientDBGeneratedSchemas.js +7 -1
  9. package/dist/DBSchemaBuilder/getClientDBGeneratedSchemas.js.map +1 -1
  10. package/dist/DboBuilder/TableHandler/onDeleteFromFileTable.d.ts +3 -1
  11. package/dist/DboBuilder/TableHandler/onDeleteFromFileTable.d.ts.map +1 -1
  12. package/dist/DboBuilder/TableHandler/onDeleteFromFileTable.js +19 -5
  13. package/dist/DboBuilder/TableHandler/onDeleteFromFileTable.js.map +1 -1
  14. package/dist/DboBuilder/TableHandler/updateFile.d.ts +2 -39
  15. package/dist/DboBuilder/TableHandler/updateFile.d.ts.map +1 -1
  16. package/dist/DboBuilder/TableHandler/updateFile.js +1 -0
  17. package/dist/DboBuilder/TableHandler/updateFile.js.map +1 -1
  18. package/dist/DboBuilder/TableHandler/uploadFile.d.ts +2 -1
  19. package/dist/DboBuilder/TableHandler/uploadFile.d.ts.map +1 -1
  20. package/dist/DboBuilder/TableHandler/uploadFile.js +2 -1
  21. package/dist/DboBuilder/TableHandler/uploadFile.js.map +1 -1
  22. package/dist/DboBuilder/ViewHandler/getRawInfo.d.ts.map +1 -1
  23. package/dist/DboBuilder/ViewHandler/getRawInfo.js +6 -2
  24. package/dist/DboBuilder/ViewHandler/getRawInfo.js.map +1 -1
  25. package/dist/DboBuilder/getColumns.d.ts.map +1 -1
  26. package/dist/DboBuilder/getColumns.js +3 -0
  27. package/dist/DboBuilder/getColumns.js.map +1 -1
  28. package/dist/ProstglesTypes.d.ts +10 -0
  29. package/dist/ProstglesTypes.d.ts.map +1 -1
  30. package/dist/ProstglesTypes.js.map +1 -1
  31. package/dist/PublishParser/PublishParser.d.ts.map +1 -1
  32. package/dist/PublishParser/PublishParser.js +7 -0
  33. package/dist/PublishParser/PublishParser.js.map +1 -1
  34. package/dist/PublishParser/getFileTableRules.d.ts.map +1 -1
  35. package/dist/PublishParser/getFileTableRules.js +4 -1
  36. package/dist/PublishParser/getFileTableRules.js.map +1 -1
  37. package/dist/PublishParser/getFileVersionTableRules.d.ts +7 -0
  38. package/dist/PublishParser/getFileVersionTableRules.d.ts.map +1 -0
  39. package/dist/PublishParser/getFileVersionTableRules.js +77 -0
  40. package/dist/PublishParser/getFileVersionTableRules.js.map +1 -0
  41. package/dist/PublishParser/getFileVersionTableRules.spec.d.ts +2 -0
  42. package/dist/PublishParser/getFileVersionTableRules.spec.d.ts.map +1 -0
  43. package/dist/PublishParser/getFileVersionTableRules.spec.js +50 -0
  44. package/dist/PublishParser/getFileVersionTableRules.spec.js.map +1 -0
  45. package/dist/PublishParser/getPublishedTableNames.d.ts.map +1 -1
  46. package/dist/PublishParser/getPublishedTableNames.js +11 -4
  47. package/dist/PublishParser/getPublishedTableNames.js.map +1 -1
  48. package/dist/StorageClient/deleteUnreferencedFile.d.ts.map +1 -1
  49. package/dist/StorageClient/deleteUnreferencedFile.js +17 -1
  50. package/dist/StorageClient/deleteUnreferencedFile.js.map +1 -1
  51. package/dist/StorageClient/fileTableDefinitions.d.ts +54 -0
  52. package/dist/StorageClient/fileTableDefinitions.d.ts.map +1 -0
  53. package/dist/StorageClient/fileTableDefinitions.js +38 -0
  54. package/dist/StorageClient/fileTableDefinitions.js.map +1 -0
  55. package/dist/StorageClient/fileVersionUtils.d.ts +18 -0
  56. package/dist/StorageClient/fileVersionUtils.d.ts.map +1 -0
  57. package/dist/StorageClient/fileVersionUtils.js +22 -0
  58. package/dist/StorageClient/fileVersionUtils.js.map +1 -0
  59. package/dist/StorageClient/getFileStorageKey.d.ts +3 -1
  60. package/dist/StorageClient/getFileStorageKey.d.ts.map +1 -1
  61. package/dist/StorageClient/getFileStorageKey.js +9 -1
  62. package/dist/StorageClient/getFileStorageKey.js.map +1 -1
  63. package/dist/StorageClient/getFileTableConfig.d.ts +1 -23
  64. package/dist/StorageClient/getFileTableConfig.d.ts.map +1 -1
  65. package/dist/StorageClient/getFileTableConfig.js +63 -25
  66. package/dist/StorageClient/getFileTableConfig.js.map +1 -1
  67. package/dist/StorageClient/getFileTableConfig.spec.js +6 -1
  68. package/dist/StorageClient/getFileTableConfig.spec.js.map +1 -1
  69. package/dist/StorageClient/saveFileVersion.d.ts +7 -0
  70. package/dist/StorageClient/saveFileVersion.d.ts.map +1 -0
  71. package/dist/StorageClient/saveFileVersion.js +71 -0
  72. package/dist/StorageClient/saveFileVersion.js.map +1 -0
  73. package/dist/StorageClient/setupFileServeHandler.d.ts.map +1 -1
  74. package/dist/StorageClient/setupFileServeHandler.js +38 -21
  75. package/dist/StorageClient/setupFileServeHandler.js.map +1 -1
  76. package/dist/TableConfig/TableRowFromColumnDefinitions.d.ts +11 -4
  77. package/dist/TableConfig/TableRowFromColumnDefinitions.d.ts.map +1 -1
  78. package/dist/TableConfig/initTableConfig.d.ts.map +1 -1
  79. package/dist/TableConfig/initTableConfig.js +9 -6
  80. package/dist/TableConfig/initTableConfig.js.map +1 -1
  81. package/dist/index.d.ts +2 -2
  82. package/dist/index.d.ts.map +1 -1
  83. package/dist/index.js.map +1 -1
  84. package/lib/Audit/AuditTable.ts +4 -1
  85. package/lib/Audit/getAuditTableRules.ts +5 -1
  86. package/lib/DBSchemaBuilder/getClientDBGeneratedSchemas.ts +9 -1
  87. package/lib/DboBuilder/TableHandler/onDeleteFromFileTable.ts +31 -5
  88. package/lib/DboBuilder/TableHandler/updateFile.ts +1 -0
  89. package/lib/DboBuilder/TableHandler/uploadFile.ts +3 -0
  90. package/lib/DboBuilder/ViewHandler/getRawInfo.ts +6 -2
  91. package/lib/DboBuilder/getColumns.ts +2 -0
  92. package/lib/ProstglesTypes.ts +11 -0
  93. package/lib/PublishParser/PublishParser.ts +25 -7
  94. package/lib/PublishParser/getFileTableRules.ts +7 -1
  95. package/lib/PublishParser/getFileVersionTableRules.spec.ts +57 -0
  96. package/lib/PublishParser/getFileVersionTableRules.ts +106 -0
  97. package/lib/PublishParser/getPublishedTableNames.ts +14 -5
  98. package/lib/StorageClient/deleteUnreferencedFile.ts +20 -2
  99. package/lib/StorageClient/fileTableDefinitions.ts +52 -0
  100. package/lib/StorageClient/fileVersionUtils.ts +37 -0
  101. package/lib/StorageClient/getFileStorageKey.ts +11 -2
  102. package/lib/StorageClient/getFileTableConfig.spec.ts +6 -1
  103. package/lib/StorageClient/getFileTableConfig.ts +85 -30
  104. package/lib/StorageClient/saveFileVersion.ts +82 -0
  105. package/lib/StorageClient/setupFileServeHandler.ts +51 -28
  106. package/lib/TableConfig/TableRowFromColumnDefinitions.ts +37 -13
  107. package/lib/TableConfig/initTableConfig.ts +10 -6
  108. package/lib/index.ts +2 -1
  109. package/package.json +1 -1
@@ -2,30 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getFileTableConfig = void 0;
4
4
  const prostgles_types_1 = require("prostgles-types");
5
+ const md5_1 = require("prostgles-types/dist/md5");
5
6
  const onDeleteFromFileTable_1 = require("../DboBuilder/TableHandler/onDeleteFromFileTable");
6
7
  const updateFile_1 = require("../DboBuilder/TableHandler/updateFile");
7
8
  const uploadFile_1 = require("../DboBuilder/TableHandler/uploadFile");
8
9
  const setupFileServeHandler_1 = require("./setupFileServeHandler");
9
- const FILE_TABLE_COLUMN_DEFINITIONS = {
10
- id: `UUID PRIMARY KEY DEFAULT gen_random_uuid()`,
11
- storage_key: `UUID UNIQUE`, // NULL for legacy objects stored under their file ID.
12
- extension: `TEXT NOT NULL DEFAULT ''`,
13
- content_type: `TEXT NOT NULL DEFAULT ''`,
14
- content_length: `BIGINT NOT NULL DEFAULT 0`,
15
- etag: `TEXT NOT NULL DEFAULT ''`,
16
- original_name: `TEXT NOT NULL`,
17
- original_last_modified: `TIMESTAMPTZ`,
18
- description: `TEXT`,
19
- url: `TEXT NOT NULL DEFAULT ''`,
20
- cloud_url: `TEXT`,
21
- signed_url: `TEXT`,
22
- signed_url_expires: `BIGINT`,
23
- added: `TIMESTAMP NOT NULL DEFAULT NOW()`,
24
- updated: `TIMESTAMP NOT NULL DEFAULT NOW()`,
25
- deleted: `TIMESTAMPTZ`,
26
- deleted_from_storage: `TIMESTAMPTZ`,
27
- data: `BYTEA NOT NULL CHECK (data = decode('01', 'hex'))`, // Used as a placeholder to ensure insert types are correct. Actual data is uploaded to storageClient and not stored in the DB
28
- };
10
+ const fileVersionUtils_1 = require("./fileVersionUtils");
11
+ const saveFileVersion_1 = require("./saveFileVersion");
12
+ const fileTableDefinitions_1 = require("./fileTableDefinitions");
29
13
  const getFileTableConfig = (prg) => {
30
14
  const { fileTable, tableConfig, tableHooks } = prg.opts;
31
15
  if (!fileTable) {
@@ -33,6 +17,25 @@ const getFileTableConfig = (prg) => {
33
17
  }
34
18
  const { expressApp } = fileTable;
35
19
  const { tableName: fileTableName, storageClient } = fileTable;
20
+ const versionTableName = (0, fileVersionUtils_1.getFileVersionTableName)(fileTable);
21
+ const versionConstraintName = `prostgles_file_version_${(0, md5_1.md5)(JSON.stringify([versionTableName, fileTableName]))}`;
22
+ const versionIndexName = `prostgles_file_version_${(0, md5_1.md5)(versionTableName)}_key`;
23
+ if (fileTable.versioning) {
24
+ if (versionTableName === fileTableName) {
25
+ throw new Error("File version table name must differ from the file table name");
26
+ }
27
+ if (fileTable.versioning.maxVersions !== undefined &&
28
+ (!Number.isInteger(fileTable.versioning.maxVersions) || fileTable.versioning.maxVersions < 1)) {
29
+ throw new Error("fileTable.versioning.maxVersions must be a positive integer");
30
+ }
31
+ if (tableConfig?.[versionTableName]) {
32
+ throw new Error(`File version table name (${versionTableName}) is managed and cannot be configured in tableConfig`);
33
+ }
34
+ }
35
+ const fileColumnDefinitions = {
36
+ ...fileTableDefinitions_1.FILE_TABLE_COLUMN_DEFINITIONS,
37
+ ...(fileTable.versioning && fileTableDefinitions_1.FILE_TABLE_VERSION_COLUMN_DEFINITIONS),
38
+ };
36
39
  const userFileTableConfig = tableConfig?.[fileTableName];
37
40
  if (userFileTableConfig) {
38
41
  if ("isLookupTable" in userFileTableConfig) {
@@ -43,9 +46,13 @@ const getFileTableConfig = (prg) => {
43
46
  }
44
47
  if ("columns" in userFileTableConfig && userFileTableConfig.columns) {
45
48
  const userCols = new Set(Object.keys(userFileTableConfig.columns));
46
- const clashingColumns = Object.keys(FILE_TABLE_COLUMN_DEFINITIONS).filter((col) => userCols.has(col));
47
- if (clashingColumns.length) {
48
- throw new Error(`FileManager table name (${fileTableName}) has clashing column names in tableConfig: ${clashingColumns}`);
49
+ const clashingFileColumns = Object.keys(fileColumnDefinitions).filter((col) => userCols.has(col));
50
+ if (clashingFileColumns.length) {
51
+ throw new Error(`FileManager table name (${fileTableName}) has clashing column names in tableConfig: ${clashingFileColumns}`);
52
+ }
53
+ const clashingFileRevisionColumns = Object.keys(fileTableDefinitions_1.FILE_VERSION_TABLE_COLUMN_DEFINITIONS).filter((col) => userCols.has(col));
54
+ if (clashingFileRevisionColumns.length) {
55
+ throw new Error(`FileManager table name (${fileTableName}) has clashing column names with file revision table in tableConfig: ${clashingFileRevisionColumns}`);
49
56
  }
50
57
  }
51
58
  }
@@ -53,7 +60,7 @@ const getFileTableConfig = (prg) => {
53
60
  [fileTableName]: {
54
61
  ...userFileTableConfig,
55
62
  columns: {
56
- ...FILE_TABLE_COLUMN_DEFINITIONS,
63
+ ...fileColumnDefinitions,
57
64
  ...userFileTableConfig?.columns,
58
65
  },
59
66
  onMount: ({ _db }) => {
@@ -65,6 +72,24 @@ const getFileTableConfig = (prg) => {
65
72
  };
66
73
  },
67
74
  },
75
+ ...(fileTable.versioning && {
76
+ [versionTableName]: {
77
+ /** Mirror user columns in the file revision table */
78
+ columns: { ...fileTableDefinitions_1.FILE_VERSION_TABLE_COLUMN_DEFINITIONS, ...userFileTableConfig?.columns },
79
+ constraints: {
80
+ [versionConstraintName]: `FOREIGN KEY (file_id) REFERENCES ${(0, prostgles_types_1.asName)(fileTableName)}(id) ON DELETE CASCADE`,
81
+ },
82
+ indexes: {
83
+ [versionIndexName]: {
84
+ unique: true,
85
+ columns: "file_id, version",
86
+ },
87
+ },
88
+ onMount: async ({ dbo }) => {
89
+ await (0, saveFileVersion_1.backfillFileVersions)(dbo, fileTable);
90
+ },
91
+ },
92
+ }),
68
93
  ...(0, prostgles_types_1.omitKeys)(tableConfig ?? {}, [fileTableName]),
69
94
  };
70
95
  const userFileTableHooks = tableHooks?.[fileTableName];
@@ -121,9 +146,22 @@ const getFileTableConfig = (prg) => {
121
146
  },
122
147
  ...(userFileTableHooks?.beforeEach || []),
123
148
  ],
124
- onInsteadOfDelete: async ({ onCommit, tx, returningQuery, isOneOrNone, filterOpts }) => {
149
+ afterEach: [
150
+ ...(userFileTableHooks?.afterEach || []),
151
+ {
152
+ commands: { insert: 1, update: 1 },
153
+ validate: async ({ row, dbx, onCommit }) => {
154
+ const fileRow = await (0, fileVersionUtils_1.getFileTableHandler)(dbx, fileTable).findOne({ id: row.id });
155
+ if (!fileRow)
156
+ throw new Error(`File not found after write: ${row.id}`);
157
+ await (0, saveFileVersion_1.saveFileVersion)(fileTable, fileRow, dbx, onCommit);
158
+ },
159
+ },
160
+ ],
161
+ onInsteadOfDelete: async ({ onCommit, dbx, tx, returningQuery, isOneOrNone, filterOpts }) => {
125
162
  return (0, onDeleteFromFileTable_1.onDeleteFromFileTable)(fileTable, {
126
163
  onCommit,
164
+ dbx,
127
165
  t: tx,
128
166
  returningQuery,
129
167
  isOneOrNone,
@@ -1 +1 @@
1
- {"version":3,"file":"getFileTableConfig.js","sourceRoot":"","sources":["../../lib/StorageClient/getFileTableConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getFileTableConfig.js","sourceRoot":"","sources":["../../lib/StorageClient/getFileTableConfig.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,10 @@ const node_test_1 = __importDefault(require("node:test"));
8
8
  const getFileTableConfig_1 = require("./getFileTableConfig");
9
9
  void (0, node_test_1.default)("managed files preserve hooks on other tables and append file hooks", () => {
10
10
  const guard = { afterEach: [{ commands: { insert: 1 }, validate: async () => { } }] };
11
- const fileGuard = { beforeEach: [{ commands: { insert: 1 }, validate: async () => { } }] };
11
+ const fileGuard = {
12
+ beforeEach: [{ commands: { insert: 1 }, validate: async () => { } }],
13
+ afterEach: [{ commands: { insert: 1 }, validate: async () => { } }],
14
+ };
12
15
  const prostgles = {
13
16
  opts: {
14
17
  fileTable: { tableName: "files", storageClient: {}, expressApp: {} },
@@ -19,5 +22,7 @@ void (0, node_test_1.default)("managed files preserve hooks on other tables and
19
22
  strict_1.default.equal(result.tableHooks?.documents, guard);
20
23
  strict_1.default.equal(result.tableHooks.files?.beforeEach?.length, 2);
21
24
  strict_1.default.equal(result.tableHooks.files.beforeEach[1], fileGuard.beforeEach[0]);
25
+ strict_1.default.equal(result.tableHooks.files.afterEach?.length, 2);
26
+ strict_1.default.equal(result.tableHooks.files.afterEach[0], fileGuard.afterEach[0]);
22
27
  });
23
28
  //# sourceMappingURL=getFileTableConfig.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getFileTableConfig.spec.js","sourceRoot":"","sources":["../../lib/StorageClient/getFileTableConfig.spec.ts"],"names":[],"mappings":";;;;;AAAA,gEAAwC;AACxC,0DAA6B;AAE7B,6DAA0D;AAE1D,KAAK,IAAA,mBAAI,EAAC,oEAAoE,EAAE,GAAG,EAAE;IACnF,MAAM,KAAK,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACrF,MAAM,SAAS,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAC1F,MAAM,SAAS,GAAG;QAChB,IAAI,EAAE;YACJ,SAAS,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;YACpE,UAAU,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE;SACnD;KACsB,CAAC;IAC1B,MAAM,MAAM,GAAG,IAAA,uCAAkB,EAAC,SAAS,CAAC,CAAC;IAC7C,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAClD,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAC7D,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/E,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"getFileTableConfig.spec.js","sourceRoot":"","sources":["../../lib/StorageClient/getFileTableConfig.spec.ts"],"names":[],"mappings":";;;;;AAAA,gEAAwC;AACxC,0DAA6B;AAE7B,6DAA0D;AAE1D,KAAK,IAAA,mBAAI,EAAC,oEAAoE,EAAE,GAAG,EAAE;IACnF,MAAM,KAAK,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACrF,MAAM,SAAS,GAAG;QAChB,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC,EAAE,CAAC;QACnE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC,EAAE,CAAC;KACnE,CAAC;IACF,MAAM,SAAS,GAAG;QAChB,IAAI,EAAE;YACJ,SAAS,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;YACpE,UAAU,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE;SACnD;KACsB,CAAC;IAC1B,MAAM,MAAM,GAAG,IAAA,uCAAkB,EAAC,SAAS,CAAC,CAAC;IAC7C,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAClD,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAC7D,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3D,gBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7E,CAAC,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { TableHandlers } from "../DboBuilder/DboBuilder";
2
+ import type { FileTableConfig } from "../ProstglesTypes";
3
+ import type { OnCommit } from "../PublishParser/publishTypesAndUtils";
4
+ import type { FileTableRow } from "./fileTableDefinitions";
5
+ export declare const saveFileVersion: (config: FileTableConfig, row: FileTableRow, dbx: TableHandlers, onCommit: OnCommit) => Promise<void>;
6
+ export declare const backfillFileVersions: (dbo: TableHandlers, config: FileTableConfig) => Promise<void>;
7
+ //# sourceMappingURL=saveFileVersion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"saveFileVersion.d.ts","sourceRoot":"","sources":["../../lib/StorageClient/saveFileVersion.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AAEtE,OAAO,KAAK,EAAE,YAAY,EAA6B,MAAM,wBAAwB,CAAC;AAItF,eAAO,MAAM,eAAe,GAC1B,QAAQ,eAAe,EACvB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,UAAU,QAAQ,kBAkCnB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAU,KAAK,aAAa,EAAE,QAAQ,eAAe,kBAiBrF,CAAC"}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.backfillFileVersions = exports.saveFileVersion = void 0;
4
+ const prostgles_types_1 = require("prostgles-types");
5
+ const deleteUnreferencedFile_1 = require("./deleteUnreferencedFile");
6
+ const fileVersionUtils_1 = require("./fileVersionUtils");
7
+ const getFileStorageKey_1 = require("./getFileStorageKey");
8
+ const saveFileVersion = async (config, row, dbx, onCommit) => {
9
+ if (!config.versioning)
10
+ return;
11
+ const version = Number(row.version);
12
+ if (!Number.isInteger(version) || version < 1) {
13
+ throw new Error(`Invalid file version: ${row.version}`);
14
+ }
15
+ const versions = (0, fileVersionUtils_1.getFileRevisionsTableHandler)(dbx, config);
16
+ const versionColumns = versions.column_names;
17
+ await versions.insert(getFileVersionRow(row, versionColumns), {
18
+ onConflict: {
19
+ action: "DoNothing",
20
+ conflictColumns: ["file_id", "version"],
21
+ },
22
+ });
23
+ const { maxVersions } = config.versioning;
24
+ if (maxVersions === undefined)
25
+ return;
26
+ const removed = (await versions.find({ file_id: row.id }, {
27
+ select: { id: 1, storage_key: 1 },
28
+ orderBy: { version: -1 },
29
+ offset: maxVersions,
30
+ limit: null,
31
+ }));
32
+ if (!removed.length)
33
+ return;
34
+ await versions.delete({ id: { $in: removed.map(({ id }) => id) } });
35
+ for (const storageKey of new Set(removed.map(({ storage_key }) => storage_key))) {
36
+ onCommit(({ db }) => (0, deleteUnreferencedFile_1.deleteUnreferencedFile)(db, config, storageKey));
37
+ }
38
+ };
39
+ exports.saveFileVersion = saveFileVersion;
40
+ const backfillFileVersions = async (dbo, config) => {
41
+ if (!config.versioning)
42
+ return;
43
+ const files = (0, fileVersionUtils_1.getFileTableHandler)(dbo, config);
44
+ const fileRows = await files.find({}, { limit: null });
45
+ if (!fileRows.length)
46
+ return;
47
+ console.log(`Backfilling file versions for ${fileRows.length} files`);
48
+ const fileRevisionsTableHandler = (0, fileVersionUtils_1.getFileRevisionsTableHandler)(dbo, config);
49
+ const fileRevisionColumns = fileRevisionsTableHandler.column_names;
50
+ await fileRevisionsTableHandler.insertMany(fileRows.map((fileRow) => getFileVersionRow(fileRow, fileRevisionColumns)), {
51
+ onConflict: {
52
+ action: "DoNothing",
53
+ conflictColumns: ["file_id", "version"],
54
+ },
55
+ });
56
+ };
57
+ exports.backfillFileVersions = backfillFileVersions;
58
+ /** Must ensure we copy over any columns that might have been created by the user */
59
+ const getFileVersionRow = (row, cols) => {
60
+ const { id, ...insertRow } = (0, prostgles_types_1.pickKeys)(row, cols);
61
+ const version = Number(row.version ?? 1);
62
+ return {
63
+ ...insertRow,
64
+ file_id: id,
65
+ version,
66
+ storage_key: (0, getFileStorageKey_1.getFileStorageKey)(row),
67
+ url: `${row.url}?version=${version}`,
68
+ created: row.updated,
69
+ };
70
+ };
71
+ //# sourceMappingURL=saveFileVersion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"saveFileVersion.js","sourceRoot":"","sources":["../../lib/StorageClient/saveFileVersion.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"setupFileServeHandler.d.ts","sourceRoot":"","sources":["../../lib/StorageClient/setupFileServeHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAI7B,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAI1D,eAAO,MAAM,iBAAiB,GAAI,QAAQ,eAAe,WAOxD,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAChC,IAAI,EAAE,EACN,QAAQ,eAAe,EACvB,eAAe,aAAa,EAC5B,KAAK,CAAC,CAAC,OAAO,EACd,KAAK,SAAS;;CAwFf,CAAC"}
1
+ {"version":3,"file":"setupFileServeHandler.d.ts","sourceRoot":"","sources":["../../lib/StorageClient/setupFileServeHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAI7B,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAMzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,eAAO,MAAM,iBAAiB,GAAI,QAAQ,eAAe,WAOxD,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAChC,IAAI,EAAE,EACN,QAAQ,eAAe,EACvB,eAAe,aAAa,EAC5B,KAAK,CAAC,CAAC,OAAO,EACd,KAAK,SAAS;;CA6Gf,CAAC"}
@@ -38,6 +38,7 @@ const fs = __importStar(require("fs"));
38
38
  const path_1 = require("path");
39
39
  const AuthHandler_1 = require("../Auth/AuthHandler");
40
40
  const runClientRequest_1 = require("../runClientRequest");
41
+ const fileVersionUtils_1 = require("./fileVersionUtils");
41
42
  const getFileStorageKey_1 = require("./getFileStorageKey");
42
43
  const getFileServeRoute = (config) => {
43
44
  const fileTableName = config.tableName;
@@ -58,48 +59,64 @@ const setupFileServeHandler = (db, config, storageClient, app, prg) => {
58
59
  if (typeof id !== "string" || !id) {
59
60
  throw "Invalid media name";
60
61
  }
61
- const selectParams = {
62
- select: {
63
- id: 1,
64
- storage_key: 1,
65
- signed_url: 1,
66
- signed_url_expires: 1,
67
- content_type: 1,
68
- },
62
+ const versionParam = req.query.version;
63
+ const version = typeof versionParam === "string" ? Number(versionParam) : undefined;
64
+ if (versionParam !== undefined &&
65
+ (typeof versionParam !== "string" ||
66
+ !Number.isInteger(version) ||
67
+ version < 1 ||
68
+ String(version) !== versionParam)) {
69
+ throw "Invalid file version";
70
+ }
71
+ if (version && !config.versioning) {
72
+ throw "File version requested but versioning is not enabled";
73
+ }
74
+ const select = {
75
+ id: 1,
76
+ storage_key: 1,
77
+ signed_url: 1,
78
+ signed_url_expires: 1,
79
+ content_type: 1,
69
80
  };
70
81
  const file = (await runClientRequest_1.runClientRequest.bind(prg)({
71
82
  command: "findOne",
72
- tableName: fileTableName,
73
- param1: { id },
74
- param2: selectParams,
83
+ tableName: version === undefined ? fileTableName : (0, fileVersionUtils_1.getFileVersionTableName)(config),
84
+ param1: version === undefined ? { id } : { file_id: id, version },
85
+ param2: {
86
+ select,
87
+ },
75
88
  param3: undefined,
76
89
  }, {
77
90
  res,
78
91
  httpReq: req,
79
92
  }, undefined));
80
93
  if (!file) {
81
- res.status(AuthHandler_1.HTTP_FAIL_CODES.NOT_FOUND).send("File not found or not allowed");
94
+ res
95
+ .status(AuthHandler_1.HTTP_FAIL_CODES.NOT_FOUND)
96
+ .send(version === undefined ? "File not found or not allowed" : "File version not found");
82
97
  return;
83
98
  }
84
99
  if (storageClient.type === "cloud") {
85
- let url = file.signed_url;
86
- const expires = +(file.signed_url_expires || 0);
100
+ let url = version === undefined ? file.signed_url : undefined;
101
+ const expires = version === undefined ? +(file.signed_url_expires || 0) : 0;
87
102
  const HOUR = 3600 * 1000;
88
103
  const EXPIRES = Date.now() + HOUR;
89
104
  if (!url || expires < EXPIRES) {
90
105
  url = await storageClient.getSignedUrlForDownload((0, getFileStorageKey_1.getFileStorageKey)(file), 60 * 60);
91
106
  // Match the storage key to avoid caching a stale URL after replacement; NULL matches legacy files.
92
- await db.any("UPDATE ${fileTableName:name} \
107
+ if (version === undefined) {
108
+ await db.any("UPDATE ${fileTableName:name} \
93
109
  SET signed_url = ${signed_url}, \
94
110
  signed_url_expires = ${signed_url_expires} \
95
111
  WHERE id = ${id} \
96
112
  AND storage_key IS NOT DISTINCT FROM ${storage_key}::uuid", {
97
- fileTableName,
98
- id: file.id,
99
- storage_key: file.storage_key,
100
- signed_url: url,
101
- signed_url_expires: EXPIRES,
102
- });
113
+ fileTableName,
114
+ id: file.id,
115
+ storage_key: file.storage_key,
116
+ signed_url: url,
117
+ signed_url_expires: EXPIRES,
118
+ });
119
+ }
103
120
  }
104
121
  res.redirect(url);
105
122
  }
@@ -1 +1 @@
1
- {"version":3,"file":"setupFileServeHandler.js","sourceRoot":"","sources":["../../lib/StorageClient/setupFileServeHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setupFileServeHandler.js","sourceRoot":"","sources":["../../lib/StorageClient/setupFileServeHandler.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,14 @@
1
1
  import type { JSONB } from "prostgles-types";
2
- /** Row types for the column definitions used by managed tables. */
3
- export type TableRowFromColumnDefinitions<T extends Record<string, string | {
2
+ type ColumnDefinition = string | {
4
3
  enum: readonly (string | number)[];
5
4
  nullable?: boolean;
6
5
  } | {
7
6
  jsonbSchema: JSONB.JSONBSchema;
8
7
  nullable?: boolean;
9
- }>> = {
8
+ };
9
+ /** Row types for the column definitions used by managed tables. */
10
+ export type TableRowFromColumnDefinitions<T extends Record<string, ColumnDefinition>> = Omit<TableRow<T>, GeneratedColumnNames<T>> & Partial<Pick<TableRow<T>, GeneratedColumnNames<T>>>;
11
+ type TableRow<T extends Record<string, ColumnDefinition>> = {
10
12
  [K in keyof T]: T[K] extends {
11
13
  jsonbSchema: infer S extends JSONB.JSONBSchema;
12
14
  } ? JSONB.GetType<S> | (T[K] extends {
@@ -15,6 +17,11 @@ export type TableRowFromColumnDefinitions<T extends Record<string, string | {
15
17
  enum: readonly (infer V)[];
16
18
  } ? V | (T[K] extends {
17
19
  nullable: true;
18
- } ? null : never) : (T[K] extends `BYTEA${string}` ? Buffer : T[K] extends `JSONB${string}` ? Record<string, unknown> : string) | (T[K] extends `${string} NOT NULL${string}` | `${string}PRIMARY KEY${string}` ? never : null);
20
+ } ? null : never) : ColumnValue<T[K]> | (T[K] extends `${string} NOT NULL${string}` | `${string}PRIMARY KEY${string}` ? never : null);
19
21
  };
22
+ type GeneratedColumnNames<T extends Record<string, ColumnDefinition>> = {
23
+ [K in keyof T]: T[K] extends string ? T[K] extends `${string}DEFAULT${string}` | `${string}SERIAL${string}` | `${string}GENERATED${string}AS IDENTITY${string}` ? K : never : never;
24
+ }[keyof T];
25
+ type ColumnValue<T> = T extends `BYTEA${string}` ? Buffer : T extends `JSONB${string}` ? Record<string, unknown> : T extends `${"SMALLINT" | "INTEGER" | "SERIAL"}${string}` ? number : T extends `${"BIGINT" | "BIGSERIAL" | "NUMERIC" | "DECIMAL"}${string}` ? string | number : T extends `${"REAL" | "DOUBLE PRECISION"}${string}` ? number : string;
26
+ export {};
20
27
  //# sourceMappingURL=TableRowFromColumnDefinitions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableRowFromColumnDefinitions.d.ts","sourceRoot":"","sources":["../../lib/TableConfig/TableRowFromColumnDefinitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,mEAAmE;AACnE,MAAM,MAAM,6BAA6B,CACvC,CAAC,SAAS,MAAM,CACd,MAAM,EACJ,MAAM,GACN;IAAE,IAAI,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAC1D;IAAE,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CACzD,IACC;KACD,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,WAAW,EAAE,MAAM,CAAC,SAAS,KAAK,CAAC,WAAW,CAAA;KAAE,GAC3E,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,QAAQ,EAAE,IAAI,CAAA;KAAE,GAAG,IAAI,GAAG,KAAK,CAAC,GACnE,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAA;KAAE,GACzC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,QAAQ,EAAE,IAAI,CAAA;KAAE,GAAG,IAAI,GAAG,KAAK,CAAC,GAClD,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,MAAM,EAAE,GAC1B,MAAM,GACN,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,MAAM,EAAE,GAC3B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,MAAM,CAAC,GACb,CAAC,CAAC,CAAC,CAAC,CAAC,SACH,GAAG,MAAM,YAAY,MAAM,EAAE,GAAG,GAAG,MAAM,cAAc,MAAM,EAAE,GAC7D,KAAK,GACL,IAAI,CAAC;CAClB,CAAC"}
1
+ {"version":3,"file":"TableRowFromColumnDefinitions.d.ts","sourceRoot":"","sources":["../../lib/TableConfig/TableRowFromColumnDefinitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,KAAK,gBAAgB,GACjB,MAAM,GACN;IAAE,IAAI,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAC1D;IAAE,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAE3D,mEAAmE;AACnE,MAAM,MAAM,6BAA6B,CACvC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,IACxC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,GAC5C,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEtD,KAAK,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,IAAI;KACzD,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;QAC3B,WAAW,EAAE,MAAM,CAAC,SAAS,KAAK,CAAC,WAAW,CAAC;KAChD,GACG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,QAAQ,EAAE,IAAI,CAAA;KAAE,GAAG,IAAI,GAAG,KAAK,CAAC,GACnE,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAA;KAAE,GACzC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,QAAQ,EAAE,IAAI,CAAA;KAAE,GAAG,IAAI,GAAG,KAAK,CAAC,GAClD,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACjB,CAAC,CAAC,CAAC,CAAC,CAAC,SACH,GAAG,MAAM,YAAY,MAAM,EAAE,GAAG,GAAG,MAAM,cAAc,MAAM,EAAE,GAC7D,KAAK,GACL,IAAI,CAAC;CAClB,CAAC;AAEF,KAAK,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,IAAI;KACrE,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAC/B,CAAC,CAAC,CAAC,CAAC,SACA,GAAG,MAAM,UAAU,MAAM,EAAE,GAC3B,GAAG,MAAM,SAAS,MAAM,EAAE,GAC1B,GAAG,MAAM,YAAY,MAAM,cAAc,MAAM,EAAE,GACnD,CAAC,GACD,KAAK,GACP,KAAK;CACV,CAAC,MAAM,CAAC,CAAC,CAAC;AAEX,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,QAAQ,MAAM,EAAE,GAC5C,MAAM,GACN,CAAC,SAAS,QAAQ,MAAM,EAAE,GACxB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,CAAC,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,EAAE,GACvD,MAAM,GACN,CAAC,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,EAAE,GACpE,MAAM,GAAG,MAAM,GACf,CAAC,SAAS,GAAG,MAAM,GAAG,kBAAkB,GAAG,MAAM,EAAE,GACjD,MAAM,GACN,MAAM,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"initTableConfig.d.ts","sourceRoot":"","sources":["../../lib/TableConfig/initTableConfig.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,eAAO,MAAM,eAAe,GAAmB,MAAM,iBAAiB,uBA4QrE,CAAC"}
1
+ {"version":3,"file":"initTableConfig.d.ts","sourceRoot":"","sources":["../../lib/TableConfig/initTableConfig.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,eAAO,MAAM,eAAe,GAAmB,MAAM,iBAAiB,uBAgRrE,CAAC"}
@@ -149,6 +149,8 @@ const initTableConfig = async function () {
149
149
  });
150
150
  if (tableColumnDefinition?.isCreate) {
151
151
  queries.push(...(constraintDefs?.map((c) => c.alterQuery) ?? []));
152
+ await runQueries(queries);
153
+ await this.prostgles.rebuildDBO();
152
154
  }
153
155
  else if (tableColumnDefinition) {
154
156
  const fullSchema = await (0, getFutureTableSchema_1.getFutureTableSchema)({
@@ -175,16 +177,17 @@ const initTableConfig = async function () {
175
177
  });
176
178
  /** Add missing named constraints */
177
179
  constraintDefs?.forEach((c) => {
178
- if (c.name && !currCons.some((cc) => cc.name === c.name)) {
179
- const fc = futureCons.find((nc) => nc.name === c.name);
180
- if (fc) {
181
- queries.push(`${ALTER_TABLE_Q} ADD CONSTRAINT ${asName(c.name)} ${c.content};`);
182
- }
180
+ if (!c.name)
181
+ return;
182
+ const fc = futureCons.find((nc) => nc.name === c.name);
183
+ if (fc &&
184
+ !currCons.some((cc) => cc.name === c.name && cc.definition === fc.definition)) {
185
+ queries.push(`${ALTER_TABLE_Q} ADD CONSTRAINT ${asName(c.name)} ${c.content};`);
183
186
  }
184
187
  });
185
188
  /** Add remaining missing constraints */
186
189
  futureCons
187
- .filter((nc) => !currCons.some((c) => c.definition === nc.definition))
190
+ .filter((nc) => !nc.isNamed && !currCons.some((c) => c.definition === nc.definition))
188
191
  .forEach((c) => {
189
192
  queries.push(`${ALTER_TABLE_Q} ADD ${c.definition};`);
190
193
  });
@@ -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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"}
package/dist/index.d.ts CHANGED
@@ -20,7 +20,7 @@ export type * from "./TableHooks/TableHooks";
20
20
  export * from "./Auth/utils/upsertNamedExpressMiddleware";
21
21
  export type { RequestWithUser } from "./Auth/middleware/userContextMiddleware";
22
22
  export default prostgles;
23
- export type { FileTableRow } from "./StorageClient/getFileTableConfig";
23
+ export type { FileTableInsertRow, FileTableRow } from "./StorageClient/getFileTableConfig";
24
24
  export { defineJoin };
25
- export { AUDIT_TABLE_COLUMN_DEFINITIONS, AUDIT_TABLE_COLUMN_NAMES, AUDIT_TABLE_COLUMNS, type AuditTableRow, } from "./Audit/AuditTable";
25
+ export { AUDIT_TABLE_COLUMN_DEFINITIONS, AUDIT_TABLE_COLUMN_NAMES, AUDIT_TABLE_COLUMNS, type AuditTableInsertRow, type AuditTableRow, } from "./Audit/AuditTable";
26
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAwB,MAAM,iBAAiB,CAAC;AAExE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,iBAAS,SAAS,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,SAAS,WAAW,GAAG,WAAW,EAAE,OAAO,GAAG,SAAS,EACvF,MAAM,EAAE,oBAAoB,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,GAK9B,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CACxD;AAED,qFAAqF;AACrF,eAAO,MAAM,eAAe,GAAI,CAAC,GAAG,IAAI,EAAE,KAAK,SAAS,WAAW,GAAG,WAAW,QACvE,OAAO,GAAG,SAAS,EAAE,QAAQ,oBAAoB,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,2CAE7E,CAAC;AACF,cAAc,sCAAsC,CAAC;AACrD,cAAc,kBAAkB,CAAC;AAEjC,YAAY,EACV,mBAAmB,EACnB,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,aAAa,GACd,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC5F,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,aAAa,IAAI,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACvF,cAAc,uCAAuC,CAAC;AACtD,YAAY,EACV,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,EAAE,EACF,UAAU,EACV,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,mBAAmB,gCAAgC,CAAC;AACpD,mBAAmB,oBAAoB,CAAC;AACxC,mBAAmB,yBAAyB,CAAC;AAC7C,cAAc,2CAA2C,CAAC;AAC1D,YAAY,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC/E,eAAe,SAAS,CAAC;AACzB,YAAY,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,OAAO,EACL,8BAA8B,EAC9B,wBAAwB,EACxB,mBAAmB,EACnB,KAAK,aAAa,GACnB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAwB,MAAM,iBAAiB,CAAC;AAExE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,iBAAS,SAAS,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,SAAS,WAAW,GAAG,WAAW,EAAE,OAAO,GAAG,SAAS,EACvF,MAAM,EAAE,oBAAoB,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,GAK9B,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CACxD;AAED,qFAAqF;AACrF,eAAO,MAAM,eAAe,GAAI,CAAC,GAAG,IAAI,EAAE,KAAK,SAAS,WAAW,GAAG,WAAW,QACvE,OAAO,GAAG,SAAS,EAAE,QAAQ,oBAAoB,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,2CAE7E,CAAC;AACF,cAAc,sCAAsC,CAAC;AACrD,cAAc,kBAAkB,CAAC;AAEjC,YAAY,EACV,mBAAmB,EACnB,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,aAAa,GACd,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC5F,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,aAAa,IAAI,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACvF,cAAc,uCAAuC,CAAC;AACtD,YAAY,EACV,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,EAAE,EACF,UAAU,EACV,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,mBAAmB,gCAAgC,CAAC;AACpD,mBAAmB,oBAAoB,CAAC;AACxC,mBAAmB,yBAAyB,CAAC;AAC7C,cAAc,2CAA2C,CAAC;AAC1D,YAAY,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC/E,eAAe,SAAS,CAAC;AACzB,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,OAAO,EACL,8BAA8B,EAC9B,wBAAwB,EACxB,mBAAmB,EACnB,KAAK,mBAAmB,EACxB,KAAK,aAAa,GACnB,MAAM,oBAAoB,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qDAA6C;AAuDpC,2FAvDA,4BAAU,OAuDA;AApDnB,2CAAwC;AAGxC,SAAS,SAAS,CAChB,MAA+C;IAE/C,MAAM,IAAI,GAAG,IAAI,qBAAS,CAAC,MAAiE,CAAC,CAAC;IAC9F,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAA0C,EAAE;QAClE,IAAI,EAAE,MAAM;KACb,CAAsD,CAAC;AAC1D,CAAC;AAED,qFAAqF;AAC9E,MAAM,eAAe,GAAG,GAAsD,EAAE;IACrF,OAAO,CAAsB,MAA+C,EAAE,EAAE,CAC9E,SAAS,CAAoB,MAAM,CAAC,CAAC;AACzC,CAAC,CAAC;AAHW,QAAA,eAAe,mBAG1B;AACF,uEAAqD;AACrD,mDAAiC;AAiBjC,wEAAsD;AAatD,4EAA0D;AAE1D,kBAAe,SAAS,CAAC;AAGzB,iDAK4B;AAJ1B,4HAAA,8BAA8B,OAAA;AAC9B,sHAAA,wBAAwB,OAAA;AACxB,iHAAA,mBAAmB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qDAA6C;AAuDpC,2FAvDA,4BAAU,OAuDA;AApDnB,2CAAwC;AAGxC,SAAS,SAAS,CAChB,MAA+C;IAE/C,MAAM,IAAI,GAAG,IAAI,qBAAS,CAAC,MAAiE,CAAC,CAAC;IAC9F,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAA0C,EAAE;QAClE,IAAI,EAAE,MAAM;KACb,CAAsD,CAAC;AAC1D,CAAC;AAED,qFAAqF;AAC9E,MAAM,eAAe,GAAG,GAAsD,EAAE;IACrF,OAAO,CAAsB,MAA+C,EAAE,EAAE,CAC9E,SAAS,CAAoB,MAAM,CAAC,CAAC;AACzC,CAAC,CAAC;AAHW,QAAA,eAAe,mBAG1B;AACF,uEAAqD;AACrD,mDAAiC;AAiBjC,wEAAsD;AAatD,4EAA0D;AAE1D,kBAAe,SAAS,CAAC;AAGzB,iDAM4B;AAL1B,4HAAA,8BAA8B,OAAA;AAC9B,sHAAA,wBAAwB,OAAA;AACxB,iHAAA,mBAAmB,OAAA"}
@@ -25,7 +25,10 @@ export const AUDIT_TABLE_COLUMN_DEFINITIONS = {
25
25
  },
26
26
  } as const;
27
27
 
28
- export type AuditTableRow = TableRowFromColumnDefinitions<typeof AUDIT_TABLE_COLUMN_DEFINITIONS>;
28
+ export type AuditTableInsertRow = TableRowFromColumnDefinitions<
29
+ typeof AUDIT_TABLE_COLUMN_DEFINITIONS
30
+ >;
31
+ export type AuditTableRow = Required<AuditTableInsertRow>;
29
32
  export const AUDIT_TABLE_COLUMN_NAMES = Object.fromEntries(
30
33
  Object.keys(AUDIT_TABLE_COLUMN_DEFINITIONS).map((columnName) => [columnName, columnName]),
31
34
  ) as { [K in keyof AuditTableRow]: K };
@@ -59,6 +59,7 @@ export const getAuditTableRules = async function (
59
59
  additionalForcedCondition: await getSourceAuditCondition(
60
60
  tableHandler,
61
61
  rules.select.forcedFilter,
62
+ audit.tables[tableName]!.excludeColumns,
62
63
  ),
63
64
  tableColumnOverrides: getAuditRowColumnOverrides(
64
65
  tableHandler.parseFieldFilter(rules.select.fields),
@@ -155,6 +156,7 @@ const getAuditRowColumnOverrides = (allowedColumns: string[], idColumns: readonl
155
156
  const getSourceAuditCondition = async (
156
157
  sourceHandler: ViewHandler,
157
158
  forcedFilter: Filter | undefined,
159
+ excludedColumns: readonly string[],
158
160
  ) => {
159
161
  const { schema, name } = sourceHandler.tableOrViewInfo.qualifiedNameParts;
160
162
  const auditColumn = (columnName: keyof AuditTableRow) => asName(columnName);
@@ -175,7 +177,9 @@ const getSourceAuditCondition = async (
175
177
  const { condition } = await prepareWhere(sourceHandler, {
176
178
  filter: forcedFilter,
177
179
  select: undefined,
178
- filterFields: "*",
180
+ filterFields: sourceHandler.column_names.filter(
181
+ (columnName) => !excludedColumns.includes(columnName),
182
+ ),
179
183
  addWhere: false,
180
184
  tableAlias: { raw: alias, escaped: asName(alias) },
181
185
  localParams: undefined,