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.
- package/dist/Audit/AuditTable.d.ts +2 -1
- package/dist/Audit/AuditTable.d.ts.map +1 -1
- package/dist/Audit/AuditTable.js.map +1 -1
- package/dist/Audit/getAuditTableRules.d.ts.map +1 -1
- package/dist/Audit/getAuditTableRules.js +3 -3
- package/dist/Audit/getAuditTableRules.js.map +1 -1
- package/dist/DBSchemaBuilder/getClientDBGeneratedSchemas.d.ts.map +1 -1
- package/dist/DBSchemaBuilder/getClientDBGeneratedSchemas.js +7 -1
- package/dist/DBSchemaBuilder/getClientDBGeneratedSchemas.js.map +1 -1
- package/dist/DboBuilder/TableHandler/onDeleteFromFileTable.d.ts +3 -1
- package/dist/DboBuilder/TableHandler/onDeleteFromFileTable.d.ts.map +1 -1
- package/dist/DboBuilder/TableHandler/onDeleteFromFileTable.js +19 -5
- package/dist/DboBuilder/TableHandler/onDeleteFromFileTable.js.map +1 -1
- package/dist/DboBuilder/TableHandler/updateFile.d.ts +2 -39
- package/dist/DboBuilder/TableHandler/updateFile.d.ts.map +1 -1
- package/dist/DboBuilder/TableHandler/updateFile.js +1 -0
- package/dist/DboBuilder/TableHandler/updateFile.js.map +1 -1
- package/dist/DboBuilder/TableHandler/uploadFile.d.ts +2 -1
- package/dist/DboBuilder/TableHandler/uploadFile.d.ts.map +1 -1
- package/dist/DboBuilder/TableHandler/uploadFile.js +2 -1
- package/dist/DboBuilder/TableHandler/uploadFile.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/getRawInfo.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/getRawInfo.js +6 -2
- package/dist/DboBuilder/ViewHandler/getRawInfo.js.map +1 -1
- package/dist/DboBuilder/getColumns.d.ts.map +1 -1
- package/dist/DboBuilder/getColumns.js +3 -0
- package/dist/DboBuilder/getColumns.js.map +1 -1
- package/dist/ProstglesTypes.d.ts +10 -0
- package/dist/ProstglesTypes.d.ts.map +1 -1
- package/dist/ProstglesTypes.js.map +1 -1
- package/dist/PublishParser/PublishParser.d.ts.map +1 -1
- package/dist/PublishParser/PublishParser.js +7 -0
- package/dist/PublishParser/PublishParser.js.map +1 -1
- package/dist/PublishParser/getFileTableRules.d.ts.map +1 -1
- package/dist/PublishParser/getFileTableRules.js +4 -1
- package/dist/PublishParser/getFileTableRules.js.map +1 -1
- package/dist/PublishParser/getFileVersionTableRules.d.ts +7 -0
- package/dist/PublishParser/getFileVersionTableRules.d.ts.map +1 -0
- package/dist/PublishParser/getFileVersionTableRules.js +77 -0
- package/dist/PublishParser/getFileVersionTableRules.js.map +1 -0
- package/dist/PublishParser/getFileVersionTableRules.spec.d.ts +2 -0
- package/dist/PublishParser/getFileVersionTableRules.spec.d.ts.map +1 -0
- package/dist/PublishParser/getFileVersionTableRules.spec.js +50 -0
- package/dist/PublishParser/getFileVersionTableRules.spec.js.map +1 -0
- package/dist/PublishParser/getPublishedTableNames.d.ts.map +1 -1
- package/dist/PublishParser/getPublishedTableNames.js +11 -4
- package/dist/PublishParser/getPublishedTableNames.js.map +1 -1
- package/dist/StorageClient/deleteUnreferencedFile.d.ts.map +1 -1
- package/dist/StorageClient/deleteUnreferencedFile.js +17 -1
- package/dist/StorageClient/deleteUnreferencedFile.js.map +1 -1
- package/dist/StorageClient/fileTableDefinitions.d.ts +54 -0
- package/dist/StorageClient/fileTableDefinitions.d.ts.map +1 -0
- package/dist/StorageClient/fileTableDefinitions.js +38 -0
- package/dist/StorageClient/fileTableDefinitions.js.map +1 -0
- package/dist/StorageClient/fileVersionUtils.d.ts +18 -0
- package/dist/StorageClient/fileVersionUtils.d.ts.map +1 -0
- package/dist/StorageClient/fileVersionUtils.js +22 -0
- package/dist/StorageClient/fileVersionUtils.js.map +1 -0
- package/dist/StorageClient/getFileStorageKey.d.ts +3 -1
- package/dist/StorageClient/getFileStorageKey.d.ts.map +1 -1
- package/dist/StorageClient/getFileStorageKey.js +9 -1
- package/dist/StorageClient/getFileStorageKey.js.map +1 -1
- package/dist/StorageClient/getFileTableConfig.d.ts +1 -23
- package/dist/StorageClient/getFileTableConfig.d.ts.map +1 -1
- package/dist/StorageClient/getFileTableConfig.js +63 -25
- package/dist/StorageClient/getFileTableConfig.js.map +1 -1
- package/dist/StorageClient/getFileTableConfig.spec.js +6 -1
- package/dist/StorageClient/getFileTableConfig.spec.js.map +1 -1
- package/dist/StorageClient/saveFileVersion.d.ts +7 -0
- package/dist/StorageClient/saveFileVersion.d.ts.map +1 -0
- package/dist/StorageClient/saveFileVersion.js +71 -0
- package/dist/StorageClient/saveFileVersion.js.map +1 -0
- package/dist/StorageClient/setupFileServeHandler.d.ts.map +1 -1
- package/dist/StorageClient/setupFileServeHandler.js +38 -21
- package/dist/StorageClient/setupFileServeHandler.js.map +1 -1
- package/dist/TableConfig/TableRowFromColumnDefinitions.d.ts +11 -4
- package/dist/TableConfig/TableRowFromColumnDefinitions.d.ts.map +1 -1
- package/dist/TableConfig/initTableConfig.d.ts.map +1 -1
- package/dist/TableConfig/initTableConfig.js +9 -6
- package/dist/TableConfig/initTableConfig.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/lib/Audit/AuditTable.ts +4 -1
- package/lib/Audit/getAuditTableRules.ts +5 -1
- package/lib/DBSchemaBuilder/getClientDBGeneratedSchemas.ts +9 -1
- package/lib/DboBuilder/TableHandler/onDeleteFromFileTable.ts +31 -5
- package/lib/DboBuilder/TableHandler/updateFile.ts +1 -0
- package/lib/DboBuilder/TableHandler/uploadFile.ts +3 -0
- package/lib/DboBuilder/ViewHandler/getRawInfo.ts +6 -2
- package/lib/DboBuilder/getColumns.ts +2 -0
- package/lib/ProstglesTypes.ts +11 -0
- package/lib/PublishParser/PublishParser.ts +25 -7
- package/lib/PublishParser/getFileTableRules.ts +7 -1
- package/lib/PublishParser/getFileVersionTableRules.spec.ts +57 -0
- package/lib/PublishParser/getFileVersionTableRules.ts +106 -0
- package/lib/PublishParser/getPublishedTableNames.ts +14 -5
- package/lib/StorageClient/deleteUnreferencedFile.ts +20 -2
- package/lib/StorageClient/fileTableDefinitions.ts +52 -0
- package/lib/StorageClient/fileVersionUtils.ts +37 -0
- package/lib/StorageClient/getFileStorageKey.ts +11 -2
- package/lib/StorageClient/getFileTableConfig.spec.ts +6 -1
- package/lib/StorageClient/getFileTableConfig.ts +85 -30
- package/lib/StorageClient/saveFileVersion.ts +82 -0
- package/lib/StorageClient/setupFileServeHandler.ts +51 -28
- package/lib/TableConfig/TableRowFromColumnDefinitions.ts +37 -13
- package/lib/TableConfig/initTableConfig.ts +10 -6
- package/lib/index.ts +2 -1
- 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
|
|
10
|
-
|
|
11
|
-
|
|
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
|
|
47
|
-
if (
|
|
48
|
-
throw new Error(`FileManager table name (${fileTableName}) has clashing column names in tableConfig: ${
|
|
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
|
-
...
|
|
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
|
-
|
|
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":";;;AAAA,
|
|
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 = {
|
|
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,
|
|
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;
|
|
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
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
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:
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,uCAAyB;AACzB,+BAA4B;AAC5B,qDAA0E;AAI1E,0DAAuD;
|
|
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
|
-
|
|
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) :
|
|
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,
|
|
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,
|
|
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 (
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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,
|
|
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"}
|
package/lib/Audit/AuditTable.ts
CHANGED
|
@@ -25,7 +25,10 @@ export const AUDIT_TABLE_COLUMN_DEFINITIONS = {
|
|
|
25
25
|
},
|
|
26
26
|
} as const;
|
|
27
27
|
|
|
28
|
-
export type
|
|
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,
|