prostgles-server 4.2.338 → 4.2.340
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/DboBuilder/TableHandler/updateFile.d.ts.map +1 -1
- package/dist/DboBuilder/TableHandler/updateFile.js +3 -6
- package/dist/DboBuilder/TableHandler/updateFile.js.map +1 -1
- package/dist/FileManager/initFileManager.d.ts.map +1 -1
- package/dist/FileManager/initFileManager.js +11 -5
- package/dist/FileManager/initFileManager.js.map +1 -1
- package/lib/DboBuilder/TableHandler/updateFile.ts +9 -12
- package/lib/FileManager/initFileManager.ts +15 -8
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateFile.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/TableHandler/updateFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"updateFile.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/TableHandler/updateFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAiD,MAAM,iBAAiB,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAoB,MAAM,mCAAmC,CAAC;AACtF,OAAO,EAAE,WAAW,EAAS,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,SAAS,CAAC;IACnB,MAAM,EAAE,SAAS,CAAC;IAClB,UAAU,EAAE,eAAe,GAAG,SAAS,CAAC;IACxC,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;CACtC,CAAC;AACF,eAAO,MAAM,UAAU,SACf,YAAY,gDAC4B,IAAI;aAC9B,SAAS;EAwD9B,CAAC"}
|
|
@@ -11,11 +11,8 @@ const updateFile = async function ({ filter, newData, tableRules, localParams })
|
|
|
11
11
|
if (localParams?.testRule) {
|
|
12
12
|
return { newData: {} };
|
|
13
13
|
}
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
typeof filter.id !== "string")) ?
|
|
17
|
-
filter.id
|
|
18
|
-
: undefined;
|
|
14
|
+
const { data } = (0, prostgles_types_1.getJSONBObjectSchemaValidationError)({ id: { optional: true, type: "string" } }, filter, "filter");
|
|
15
|
+
const existingMediaId = data?.id;
|
|
19
16
|
if (!existingMediaId) {
|
|
20
17
|
throw new Error(`Updating the file table with file data can only be done by providing a single id filter. E.g. { id: "9ea4e23c-2b1a-4e33-8ec0-c15919bb45ec" } `);
|
|
21
18
|
}
|
|
@@ -32,7 +29,7 @@ const updateFile = async function ({ filter, newData, tableRules, localParams })
|
|
|
32
29
|
return rule.validate({
|
|
33
30
|
update: row,
|
|
34
31
|
filter,
|
|
35
|
-
dbx:
|
|
32
|
+
dbx: this.tx?.dbTX || this.dboBuilder.dbo,
|
|
36
33
|
localParams: localParams,
|
|
37
34
|
});
|
|
38
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateFile.js","sourceRoot":"","sources":["../../../lib/DboBuilder/TableHandler/updateFile.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"updateFile.js","sourceRoot":"","sources":["../../../lib/DboBuilder/TableHandler/updateFile.ts"],"names":[],"mappings":";;;AAAA,qDAA2F;AAG3F,8CAAmD;AAS5C,MAAM,UAAU,GAAG,KAAK,WAE7B,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAQ;IAElD,MAAM,IAAI,GAAG,UAAU,EAAE,MAAM,CAAC;IAEhC,IAAI,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QACrC,MAAM,aAAa,CAAC;IACtB,CAAC;IACD,IAAI,WAAW,EAAE,QAAQ,EAAE,CAAC;QAC1B,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,qDAAmC,EAClD,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAC1C,MAAM,EACN,QAAQ,CACT,CAAC;IACF,MAAM,eAAe,GAAG,IAAI,EAAE,EAAE,CAAC;IACjC,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACb,+IAA+I,CAChJ,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,IAAA,mBAAM,EAAC,OAAO,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACb,wDAAwD,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CACnF,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC;IAC1D,IAAI,CAAC,WAAW;QAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzD,IAAI,IAAI,EAAE,QAAQ,IAAI,CAAC,WAAW;QAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC3E,MAAM,QAAQ,GACZ,IAAI,EAAE,QAAQ,CAAC,CAAC;QACd,KAAK,EAAE,GAAG,EAAE,EAAE;YACZ,OAAO,IAAI,CAAC,QAAS,CAAC;gBACpB,MAAM,EAAE,GAAG;gBACX,MAAM;gBACN,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG;gBACzC,WAAW,EAAE,WAAY;aAC1B,CAAC,CAAC;QACL,CAAC;QACH,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,YAAY,GAAsB,MAAM,CAC3C,WAAW,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAA8B,IAAI,IAAI,CACvE,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC;IAEnC,IAAI,CAAC,YAAY,EAAE,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAE3E,MAAM,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,MAAM,uBAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,GAAG,EAAE,OAAO;QACZ,QAAQ;QACR,WAAW;QACX,OAAO,EAAE,YAAY,CAAC,EAAE;KACzB,CAAC,CAAC;IACH,OAAO,EAAE,OAAO,EAAE,IAAA,0BAAQ,EAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;AAChD,CAAC,CAAC;AA3DW,QAAA,UAAU,cA2DrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initFileManager.d.ts","sourceRoot":"","sources":["../../lib/FileManager/initFileManager.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAElF,OAAO,EAAE,WAAW,EAAqB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"initFileManager.d.ts","sourceRoot":"","sources":["../../lib/FileManager/initFileManager.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAElF,OAAO,EAAE,WAAW,EAAqB,MAAM,eAAe,CAAC;AAG/D,eAAO,MAAM,oBAAoB,gCAG9B,KAAK,oBAAoB,EAAE,WAAW,GAAG,aAAa,CAAC;;;;;;;;;;;;aAsDzD,CAAC;AAEF,wBAAsB,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,SAAS,iBAqLtE"}
|
|
@@ -7,6 +7,7 @@ const AuthHandler_1 = require("../Auth/AuthHandler");
|
|
|
7
7
|
const runSQL_1 = require("../DboBuilder/runSQL");
|
|
8
8
|
const runClientRequest_1 = require("../runClientRequest");
|
|
9
9
|
const FileManager_1 = require("./FileManager");
|
|
10
|
+
const path_1 = require("path");
|
|
10
11
|
const getFileManagerSchema = ({ fileTable, tableConfig, }) => {
|
|
11
12
|
if (!fileTable) {
|
|
12
13
|
return;
|
|
@@ -154,7 +155,7 @@ async function initFileManager(prg) {
|
|
|
154
155
|
if (!mediaTableHandler) {
|
|
155
156
|
res
|
|
156
157
|
.status(AuthHandler_1.HTTP_FAIL_CODES.INTERNAL_SERVER_ERROR)
|
|
157
|
-
.json(`Internal error: media table (${fileTableName}) not valid`);
|
|
158
|
+
.json(`Internal error: media table (${fileTableName}) not valid or not allowed`);
|
|
158
159
|
return false;
|
|
159
160
|
}
|
|
160
161
|
try {
|
|
@@ -195,17 +196,22 @@ async function initFileManager(prg) {
|
|
|
195
196
|
const EXPIRES = Date.now() + FileManager_1.HOUR;
|
|
196
197
|
if (!url || expires < EXPIRES) {
|
|
197
198
|
url = await this.getFileCloudDownloadURL(media.name, 60 * 60);
|
|
198
|
-
await
|
|
199
|
+
await this.db.any("UPDATE ${fileTableName:name} SET signed_url = ${signed_url}, signed_url_expires = ${signed_url_expires} WHERE id = ${id}", {
|
|
200
|
+
fileTableName,
|
|
201
|
+
id: media.id,
|
|
202
|
+
signed_url: url,
|
|
203
|
+
signed_url_expires: EXPIRES,
|
|
204
|
+
});
|
|
199
205
|
}
|
|
200
206
|
res.redirect(url);
|
|
201
207
|
}
|
|
202
208
|
else {
|
|
203
|
-
const
|
|
204
|
-
if (!fs.existsSync(
|
|
209
|
+
const localFilePath = (0, path_1.join)(this.config.localFolderPath, media.name);
|
|
210
|
+
if (!fs.existsSync(localFilePath)) {
|
|
205
211
|
throw new Error("File not found");
|
|
206
212
|
}
|
|
207
213
|
res.contentType(media.content_type);
|
|
208
|
-
res.sendFile(
|
|
214
|
+
res.sendFile(localFilePath);
|
|
209
215
|
}
|
|
210
216
|
}
|
|
211
217
|
catch (e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initFileManager.js","sourceRoot":"","sources":["../../lib/FileManager/initFileManager.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,qDAAqD;AACrD,qDAAsD;AAGtD,iDAAuD;AAGvD,0DAAuD;AACvD,+CAA+D;
|
|
1
|
+
{"version":3,"file":"initFileManager.js","sourceRoot":"","sources":["../../lib/FileManager/initFileManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AnyObject,
|
|
1
|
+
import { AnyObject, getJSONBObjectSchemaValidationError, omitKeys } from "prostgles-types";
|
|
2
2
|
import { ParsedTableRule, ValidateRowBasic } from "../../PublishParser/PublishParser";
|
|
3
3
|
import { LocalParams, Media } from "../DboBuilder";
|
|
4
4
|
import { isFile, uploadFile } from "../uploadFile";
|
|
@@ -22,16 +22,13 @@ export const updateFile = async function (
|
|
|
22
22
|
if (localParams?.testRule) {
|
|
23
23
|
return { newData: {} };
|
|
24
24
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
) ?
|
|
33
|
-
(filter as any).id
|
|
34
|
-
: undefined;
|
|
25
|
+
|
|
26
|
+
const { data } = getJSONBObjectSchemaValidationError(
|
|
27
|
+
{ id: { optional: true, type: "string" } },
|
|
28
|
+
filter,
|
|
29
|
+
"filter"
|
|
30
|
+
);
|
|
31
|
+
const existingMediaId = data?.id;
|
|
35
32
|
if (!existingMediaId) {
|
|
36
33
|
throw new Error(
|
|
37
34
|
`Updating the file table with file data can only be done by providing a single id filter. E.g. { id: "9ea4e23c-2b1a-4e33-8ec0-c15919bb45ec" } `
|
|
@@ -52,7 +49,7 @@ export const updateFile = async function (
|
|
|
52
49
|
return rule.validate!({
|
|
53
50
|
update: row,
|
|
54
51
|
filter,
|
|
55
|
-
dbx:
|
|
52
|
+
dbx: this.tx?.dbTX || this.dboBuilder.dbo,
|
|
56
53
|
localParams: localParams!,
|
|
57
54
|
});
|
|
58
55
|
}
|
|
@@ -8,6 +8,7 @@ import { Prostgles } from "../Prostgles";
|
|
|
8
8
|
import type { SchemaRelatedOptions } from "../TableConfig/getCreateSchemaQueries";
|
|
9
9
|
import { runClientRequest } from "../runClientRequest";
|
|
10
10
|
import { FileManager, HOUR, LocalConfig } from "./FileManager";
|
|
11
|
+
import { join } from "path";
|
|
11
12
|
|
|
12
13
|
export const getFileManagerSchema = ({
|
|
13
14
|
fileTable,
|
|
@@ -170,11 +171,11 @@ export async function initFileManager(this: FileManager, prg: Prostgles) {
|
|
|
170
171
|
this.path = fileServeRoute;
|
|
171
172
|
|
|
172
173
|
app.get(this.fileRouteExpress, async (req, res) => {
|
|
173
|
-
const mediaTableHandler = this.dbo[fileTableName]
|
|
174
|
+
const mediaTableHandler = this.dbo[fileTableName];
|
|
174
175
|
if (!mediaTableHandler) {
|
|
175
176
|
res
|
|
176
177
|
.status(HTTP_FAIL_CODES.INTERNAL_SERVER_ERROR)
|
|
177
|
-
.json(`Internal error: media table (${fileTableName}) not valid`);
|
|
178
|
+
.json(`Internal error: media table (${fileTableName}) not valid or not allowed`);
|
|
178
179
|
return false;
|
|
179
180
|
}
|
|
180
181
|
|
|
@@ -223,20 +224,26 @@ export async function initFileManager(this: FileManager, prg: Prostgles) {
|
|
|
223
224
|
const EXPIRES = Date.now() + HOUR;
|
|
224
225
|
if (!url || expires < EXPIRES) {
|
|
225
226
|
url = await this.getFileCloudDownloadURL(media.name, 60 * 60);
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
{ signed_url
|
|
227
|
+
|
|
228
|
+
await this.db.any(
|
|
229
|
+
"UPDATE ${fileTableName:name} SET signed_url = ${signed_url}, signed_url_expires = ${signed_url_expires} WHERE id = ${id}",
|
|
230
|
+
{
|
|
231
|
+
fileTableName,
|
|
232
|
+
id: media.id,
|
|
233
|
+
signed_url: url,
|
|
234
|
+
signed_url_expires: EXPIRES,
|
|
235
|
+
}
|
|
229
236
|
);
|
|
230
237
|
}
|
|
231
238
|
|
|
232
239
|
res.redirect(url);
|
|
233
240
|
} else {
|
|
234
|
-
const
|
|
235
|
-
if (!fs.existsSync(
|
|
241
|
+
const localFilePath = join((this.config as LocalConfig).localFolderPath, media.name);
|
|
242
|
+
if (!fs.existsSync(localFilePath)) {
|
|
236
243
|
throw new Error("File not found");
|
|
237
244
|
}
|
|
238
245
|
res.contentType(media.content_type);
|
|
239
|
-
res.sendFile(
|
|
246
|
+
res.sendFile(localFilePath);
|
|
240
247
|
}
|
|
241
248
|
} catch (e) {
|
|
242
249
|
console.log(e);
|