@opengis/fastify-table 2.0.108 → 2.0.110
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/config.d.ts.map +1 -1
- package/dist/config.js +2 -1
- package/dist/server/plugins/logger/index.d.ts.map +1 -1
- package/dist/server/plugins/logger/index.js +11 -1
- package/dist/server/plugins/pg/funcs/autoIndex.d.ts +1 -2
- package/dist/server/plugins/pg/funcs/autoIndex.d.ts.map +1 -1
- package/dist/server/plugins/pg/funcs/autoIndex.js +24 -27
- package/dist/server/plugins/pg/funcs/init.d.ts.map +1 -1
- package/dist/server/plugins/pg/funcs/init.js +1 -1
- package/dist/server/plugins/pg/index.d.ts.map +1 -1
- package/dist/server/plugins/pg/index.js +3 -1
- package/dist/server/plugins/upload/getUploadStatus.d.ts.map +1 -1
- package/dist/server/plugins/upload/getUploadStatus.js +0 -5
- package/dist/server/plugins/upload/startUpload.d.ts +1 -1
- package/dist/server/plugins/upload/startUpload.d.ts.map +1 -1
- package/dist/server/plugins/upload/startUpload.js +6 -0
- package/dist/server/plugins/upload/uploadChunk.d.ts.map +1 -1
- package/dist/server/plugins/upload/uploadChunk.js +18 -4
- package/dist/server/routes/auth/controllers/core/getUserInfo.d.ts.map +1 -1
- package/dist/server/routes/auth/controllers/core/getUserInfo.js +4 -2
- package/dist/server/routes/upload/index.d.ts.map +1 -1
- package/dist/server/routes/upload/index.js +7 -14
- package/dist/test.setup.d.ts +2 -0
- package/dist/test.setup.d.ts.map +1 -0
- package/dist/test.setup.js +18 -0
- package/dist/utils.d.ts +0 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +0 -1
- package/package.json +1 -1
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":"AAWA,QAAA,MAAM,MAAM,KAA8D,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":"AAWA,QAAA,MAAM,MAAM,KAA8D,CAAC;AAsC3E,eAAe,MAAM,CAAC"}
|
package/dist/config.js
CHANGED
|
@@ -9,7 +9,8 @@ const { skipKeys = ["windir"] } = config;
|
|
|
9
9
|
Object.assign(config, {
|
|
10
10
|
storageList: {},
|
|
11
11
|
allTemplates: config?.allTemplates || {},
|
|
12
|
-
env: process.env
|
|
12
|
+
env: process.env.NODE_ENV,
|
|
13
|
+
port: process.env.PORT,
|
|
13
14
|
});
|
|
14
15
|
if (existsSync(`.env.local`)) {
|
|
15
16
|
dotenv.config({ path: `.env.local` }); // ! load .env.local
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/plugins/logger/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAgC,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/plugins/logger/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAgC,MAAM,SAAS,CAAC;AAmD7E,iBAAe,MAAM,CAAC,OAAO,EAAE,eAAe,iBAwC7C;AACD,eAAe,MAAM,CAAC"}
|
|
@@ -9,7 +9,8 @@ process.on("uncaughtException", (err) => {
|
|
|
9
9
|
console.warn("⚠️ Ignored pg connection drop:", err.toString());
|
|
10
10
|
return;
|
|
11
11
|
}
|
|
12
|
-
|
|
12
|
+
logger.file("uncaughtException", { error: err.toString(), stack: err.stack });
|
|
13
|
+
// throw err; // keep normal behavior
|
|
13
14
|
});
|
|
14
15
|
// avoid process exit with rejection during client connect at process start
|
|
15
16
|
process.on("unhandledRejection", (err) => {
|
|
@@ -27,6 +28,15 @@ process.on("unhandledRejection", (err) => {
|
|
|
27
28
|
console.warn("⚠️ Ignored redis connection close:", err.toString());
|
|
28
29
|
return;
|
|
29
30
|
}
|
|
31
|
+
if (err.code === "ERR_HTTP_HEADERS_SENT") {
|
|
32
|
+
logger.file("fastify", { error: err.code, stack: err.stack });
|
|
33
|
+
console.warn("Ignored fastify reply sent exception:", err.toString());
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
logger.file("unhandledRejection", {
|
|
37
|
+
error: err.toString(),
|
|
38
|
+
stack: err.stack,
|
|
39
|
+
});
|
|
30
40
|
throw err;
|
|
31
41
|
});
|
|
32
42
|
async function plugin(fastify) {
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export default autoIndex;
|
|
1
|
+
export default function autoIndex({ table, columns: filter1, pg, gin, }: any): Promise<"empty table list" | "ok" | null>;
|
|
3
2
|
//# sourceMappingURL=autoIndex.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autoIndex.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/pg/funcs/autoIndex.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"autoIndex.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/pg/funcs/autoIndex.ts"],"names":[],"mappings":"AAaA,wBAA8B,SAAS,CAAC,EACtC,KAAK,EACL,OAAO,EAAE,OAAO,EAChB,EAAoB,EACpB,GAAG,GACJ,EAAE,GAAG,6CAwJL"}
|
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
/* eslint-disable no-console */
|
|
2
1
|
import config from "../../../../config.js";
|
|
3
2
|
import pgClient from "../pgClients.js";
|
|
4
|
-
|
|
5
|
-
const getTable = ({ table }) => table
|
|
3
|
+
const getTable = (table) => table
|
|
6
4
|
?.toLowerCase?.()
|
|
7
5
|
?.replace?.(/[\n\r]+/g, " ")
|
|
8
6
|
?.split?.(" from ")
|
|
9
|
-
?.filter((el) => /^[a-z0-9_]+\.[a-z0-9_]+/.test(el))
|
|
7
|
+
?.filter((el) => /^[a-z0-9_]+\.[a-z0-9_"]+/.test(el))
|
|
10
8
|
?.map((el) => el?.split?.(/[ )]/)?.[0]);
|
|
11
9
|
const loadedIndex = {};
|
|
12
|
-
|
|
13
|
-
async function autoIndex({ table, columns: filter1, pg = pgClient.client, gin, }) {
|
|
10
|
+
export default async function autoIndex({ table, columns: filter1, pg = pgClient.client, gin, }) {
|
|
14
11
|
const filter = filter1.filter((el) => el);
|
|
15
|
-
if (!filter?.length || !table
|
|
12
|
+
if (!filter?.length || !table)
|
|
16
13
|
return null;
|
|
17
14
|
const attrs = filter
|
|
18
15
|
.map((el) => (el.name || el).replace(/'/g, ""))
|
|
@@ -26,27 +23,33 @@ async function autoIndex({ table, columns: filter1, pg = pgClient.client, gin, }
|
|
|
26
23
|
[el.name]: el.type || "-",
|
|
27
24
|
}), {});
|
|
28
25
|
const redisKey = `autoindex1:${table}:${attrs.join(";")}`;
|
|
29
|
-
const tableList =
|
|
26
|
+
const tableList = pg.pk[table.replace(/"/g, "")] ? [table] : getTable(table);
|
|
27
|
+
if (!tableList.length) {
|
|
28
|
+
return "empty table list";
|
|
29
|
+
}
|
|
30
30
|
const existsCache = loadedIndex[redisKey];
|
|
31
31
|
if (existsCache && !config.disableCache) {
|
|
32
32
|
return "ok";
|
|
33
33
|
}
|
|
34
34
|
const tbs = tableList[0];
|
|
35
35
|
const [ns, tbl] = tableList[0]?.split?.(".") || [];
|
|
36
|
-
const
|
|
37
|
-
? await pg
|
|
38
|
-
|
|
36
|
+
const index = tbl
|
|
37
|
+
? await pg
|
|
38
|
+
.query("select * from pg_indexes where tablename = $1 and schemaname = $2", [tbl, ns])
|
|
39
|
+
.then((el) => el.rows || [])
|
|
40
|
+
: [];
|
|
39
41
|
if (existsCache && !config.disableCache && index?.length > 0) {
|
|
40
42
|
return null;
|
|
41
43
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
44
|
+
const cols = tbs
|
|
45
|
+
? await pg
|
|
46
|
+
.query(`SELECT attrelid::regclass AS tbl, attname AS aname, atttypid::regtype AS datatype, atttypid
|
|
47
|
+
FROM pg_attribute WHERE attrelid::regclass::text = $1 and attname = any($2::text[])`, [tbs, attrs])
|
|
48
|
+
.then((el) => el.rows || [])
|
|
49
|
+
: [];
|
|
45
50
|
const qIndex = [];
|
|
46
51
|
const indexAr = {};
|
|
47
|
-
|
|
48
|
-
for (let i = 0; i < cols.length; i += 1) {
|
|
49
|
-
const el = cols[i];
|
|
52
|
+
cols.forEach((el) => {
|
|
50
53
|
el.relname = tbl;
|
|
51
54
|
el.nspname = ns;
|
|
52
55
|
const isGin = types[el.aname] === "Text" || gin;
|
|
@@ -60,7 +63,7 @@ async function autoIndex({ table, columns: filter1, pg = pgClient.client, gin, }
|
|
|
60
63
|
indexAr[el.aname] = {
|
|
61
64
|
name,
|
|
62
65
|
type: el.datatype,
|
|
63
|
-
exists,
|
|
66
|
+
exists,
|
|
64
67
|
};
|
|
65
68
|
// drop
|
|
66
69
|
/* if (exists?.length > 1) {
|
|
@@ -85,18 +88,12 @@ async function autoIndex({ table, columns: filter1, pg = pgClient.client, gin, }
|
|
|
85
88
|
ON ${el.nspname}.${el.relname} USING gist (st_transform(${el.aname},4326))`);
|
|
86
89
|
}
|
|
87
90
|
}
|
|
88
|
-
}
|
|
91
|
+
});
|
|
89
92
|
loadedIndex[redisKey] = 1;
|
|
90
|
-
// throw qIndex;
|
|
91
93
|
if (!qIndex.length)
|
|
92
94
|
return null;
|
|
93
|
-
if (config.local) {
|
|
94
|
-
// console.log(qIndex.filter((v, i, a) => a.indexOf(v) === i));
|
|
95
|
-
}
|
|
96
|
-
// logger.file('index', { table, filter, sql: qIndex.filter((v, i, a) => a.indexOf(v) === i) });
|
|
97
95
|
qIndex
|
|
98
|
-
.filter((
|
|
99
|
-
.map((el) => pg.
|
|
96
|
+
.filter((el, idx, arr) => arr.indexOf(el) === idx)
|
|
97
|
+
.map((el) => pg.query(el).catch((err) => console.log(err.toString())));
|
|
100
98
|
return "ok";
|
|
101
99
|
}
|
|
102
|
-
export default autoIndex;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/pg/funcs/init.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIpD,iBAAe,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../../server/plugins/pg/funcs/init.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIpD,iBAAe,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,iBA0NtC;AAGD,eAAe,IAAI,CAAC"}
|
|
@@ -176,7 +176,7 @@ async function init(client) {
|
|
|
176
176
|
queryNotice,
|
|
177
177
|
querySafe,
|
|
178
178
|
});
|
|
179
|
-
console.log("New client init finished", client.database);
|
|
179
|
+
console.log("New client init finished", client.database, new Date().toISOString());
|
|
180
180
|
logger.file("pg", {
|
|
181
181
|
message: "client init finished",
|
|
182
182
|
database: client.database,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/plugins/pg/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/plugins/pg/index.ts"],"names":[],"mappings":"AAkCA,iBAAS,MAAM,CAAC,OAAO,EAAE,GAAG,QAwB3B;AAED,eAAe,MAAM,CAAC"}
|
|
@@ -3,7 +3,9 @@ import pgClients from "./pgClients.js";
|
|
|
3
3
|
import getPGAsync from "./funcs/getPGAsync.js";
|
|
4
4
|
import logger from "../logger/getLogger.js";
|
|
5
5
|
function close() {
|
|
6
|
-
Object.keys(pgClients)
|
|
6
|
+
Object.keys(pgClients)
|
|
7
|
+
.filter((key) => !pgClients[key]?.ending && !pgClients[key]?.ended)
|
|
8
|
+
.forEach((key) => {
|
|
7
9
|
console.log("Closing pg client", key);
|
|
8
10
|
pgClients[key].end();
|
|
9
11
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getUploadStatus.d.ts","sourceRoot":"","sources":["../../../../server/plugins/upload/getUploadStatus.ts"],"names":[],"mappings":"AAaA,wBAA8B,eAAe,CAAC,EAC5C,IAAI,EACJ,EAAE,GACH,EAAE;IACD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;CACZ,
|
|
1
|
+
{"version":3,"file":"getUploadStatus.d.ts","sourceRoot":"","sources":["../../../../server/plugins/upload/getUploadStatus.ts"],"names":[],"mappings":"AAaA,wBAA8B,eAAe,CAAC,EAC5C,IAAI,EACJ,EAAE,GACH,EAAE;IACD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;CACZ,gBA+BA"}
|
|
@@ -11,16 +11,11 @@ export default async function getUploadStatus({ host, id, }) {
|
|
|
11
11
|
const meta = metaExists
|
|
12
12
|
? JSON.parse(await readFile(path.join(metaDir, `${id}.json`), "utf8"))
|
|
13
13
|
: {};
|
|
14
|
-
// check if file exists
|
|
15
|
-
// const fileExists = existsSync(
|
|
16
|
-
// path.join(fileDir, `${id}.${meta.extension}`)
|
|
17
|
-
// );
|
|
18
14
|
const fileExists = await isFileExists(path
|
|
19
15
|
.join(uploadChunkDirectory, `${id}.${meta.extension}`)
|
|
20
16
|
.replace(/\\/g, "/"));
|
|
21
17
|
return {
|
|
22
18
|
...meta,
|
|
23
|
-
// metaPath: path.join(metaDir, `${id}.json`),
|
|
24
19
|
uploadChunkDirectory,
|
|
25
20
|
exists: !!fileExists,
|
|
26
21
|
finished: meta.uploaded && meta.size && meta.uploaded === meta.size,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startUpload.d.ts","sourceRoot":"","sources":["../../../../server/plugins/upload/startUpload.ts"],"names":[],"mappings":"AAaA,wBAA8B,WAAW,CAAC,EACxC,IAAI,EACJ,EAAE,EACF,QAAQ,EACR,IAAI,EACJ,MAAM,GACP,EAAE;IACD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,
|
|
1
|
+
{"version":3,"file":"startUpload.d.ts","sourceRoot":"","sources":["../../../../server/plugins/upload/startUpload.ts"],"names":[],"mappings":"AAaA,wBAA8B,WAAW,CAAC,EACxC,IAAI,EACJ,EAAE,EACF,QAAQ,EACR,IAAI,EACJ,MAAM,GACP,EAAE;IACD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,gBAkEA"}
|
|
@@ -4,6 +4,12 @@ import { mkdir, writeFile } from "node:fs/promises";
|
|
|
4
4
|
import getUploadStatus from "./getUploadStatus.js";
|
|
5
5
|
import { prefix, fileDir, metaDir, uploadChunkDirectory, fetchTimeoutMs, } from "./index.js";
|
|
6
6
|
export default async function startUpload({ host, id, fileName, size, subdir, }) {
|
|
7
|
+
if (subdir && (typeof subdir !== "string" || subdir.includes(".."))) {
|
|
8
|
+
return {
|
|
9
|
+
error: "invalid params: subdir",
|
|
10
|
+
code: 400,
|
|
11
|
+
};
|
|
12
|
+
}
|
|
7
13
|
if (!host) {
|
|
8
14
|
const extension = path.extname(fileName).substring(1);
|
|
9
15
|
const id1 = id || randomUUID();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploadChunk.d.ts","sourceRoot":"","sources":["../../../../server/plugins/upload/uploadChunk.ts"],"names":[],"mappings":"AAaA,wBAA8B,WAAW,CAAC,EACxC,IAAI,EACJ,EAAE,EACF,IAAI,EACJ,MAAM,EACN,GAAG,EACH,IAAI,GACL,EAAE;IACD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd,
|
|
1
|
+
{"version":3,"file":"uploadChunk.d.ts","sourceRoot":"","sources":["../../../../server/plugins/upload/uploadChunk.ts"],"names":[],"mappings":"AAaA,wBAA8B,WAAW,CAAC,EACxC,IAAI,EACJ,EAAE,EACF,IAAI,EACJ,MAAM,EACN,GAAG,EACH,IAAI,GACL,EAAE;IACD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd,gBA+EA"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import { existsSync } from "node:fs";
|
|
3
3
|
import { readFile, writeFile } from "node:fs/promises";
|
|
4
|
-
import { prefix,
|
|
4
|
+
import { prefix, metaDir, fetchTimeoutMs, uploadChunkDirectory, } from "./index.js";
|
|
5
5
|
import uploadFile from "../file/uploadFile.js";
|
|
6
|
+
import applyHook from "../hook/applyHook.js";
|
|
6
7
|
export default async function uploadChunk({ host, id, body, offset, end, size, }) {
|
|
7
8
|
if (!host) {
|
|
8
9
|
const metaExists = existsSync(path.join(metaDir, `${id}.json`));
|
|
@@ -20,15 +21,28 @@ export default async function uploadChunk({ host, id, body, offset, end, size, }
|
|
|
20
21
|
return { error: "Chunk size mismatch", code: 400 };
|
|
21
22
|
}
|
|
22
23
|
// append chunk to existing file
|
|
23
|
-
const filePath = path.join(fileDir, `${id}.${meta.extension}`);
|
|
24
|
-
// await appendFile(filePath, body);
|
|
25
24
|
await uploadFile(path
|
|
26
25
|
.join(uploadChunkDirectory, `${id}.${meta.extension}`)
|
|
27
26
|
.replace(/\\/g, "/"), body);
|
|
28
27
|
meta.uploaded = end + 1;
|
|
29
28
|
// update metadata for resumable upload
|
|
30
29
|
await writeFile(path.join(metaDir, `${id}.json`), JSON.stringify(meta, null, 2));
|
|
31
|
-
|
|
30
|
+
const finished = meta.uploaded === meta.size;
|
|
31
|
+
if (finished) {
|
|
32
|
+
const metaData = {
|
|
33
|
+
...meta,
|
|
34
|
+
uploadDate: new Date().toISOString(),
|
|
35
|
+
exists: true,
|
|
36
|
+
finished: true,
|
|
37
|
+
};
|
|
38
|
+
// save metadata
|
|
39
|
+
const fileBytes = Buffer.from(JSON.stringify(metaData, null, 2));
|
|
40
|
+
await writeFile(path.join(metaDir, `${id}.json`), fileBytes);
|
|
41
|
+
const payload = { uploaded: meta.uploaded, finished };
|
|
42
|
+
const hookData = await applyHook("afterChunkedUpload", { id, meta });
|
|
43
|
+
return hookData || payload;
|
|
44
|
+
}
|
|
45
|
+
return { uploaded: meta.uploaded, finished };
|
|
32
46
|
}
|
|
33
47
|
if (!end || !size) {
|
|
34
48
|
return { error: "not enough params: offset/end/size", code: 400 };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getUserInfo.d.ts","sourceRoot":"","sources":["../../../../../../server/routes/auth/controllers/core/getUserInfo.ts"],"names":[],"mappings":"AAiCA,wBAA8B,WAAW,CAAC,GAAG,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"getUserInfo.d.ts","sourceRoot":"","sources":["../../../../../../server/routes/auth/controllers/core/getUserInfo.ts"],"names":[],"mappings":"AAiCA,wBAA8B,WAAW,CAAC,GAAG,EAAE,GAAG,eA4DjD"}
|
|
@@ -39,8 +39,10 @@ export default async function getUserInfo(req) {
|
|
|
39
39
|
cookies: req.cookies,
|
|
40
40
|
});
|
|
41
41
|
}
|
|
42
|
-
if (!req.user)
|
|
43
|
-
|
|
42
|
+
if (!req.user) {
|
|
43
|
+
const hookData1 = await applyHook("afterUser", { payload });
|
|
44
|
+
return hookData1 || payload;
|
|
45
|
+
}
|
|
44
46
|
const userInfo = Object.fromEntries(Object.entries(req.user).filter(([key]) => !["salt", "password"].includes(key)));
|
|
45
47
|
const { rows = [] } = req.pg?.pk?.["admin.properties"]
|
|
46
48
|
? await req.pg.query(`select property_key as key,property_text as val from admin.properties where property_key~'^(${config.settingKeys || "site|map|admin"})'`)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/routes/upload/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/routes/upload/index.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,GAAG,EAAE,GAAG,QAwFtC"}
|
|
@@ -4,9 +4,9 @@ import { prefix } from "../../plugins/upload/index.js";
|
|
|
4
4
|
import startUpload from "../../plugins/upload/startUpload.js";
|
|
5
5
|
import uploadChunk from "../../plugins/upload/uploadChunk.js";
|
|
6
6
|
import getUploadStatus from "../../plugins/upload/getUploadStatus.js";
|
|
7
|
-
import finishUpload from "../../plugins/upload/finishUpload.js";
|
|
8
7
|
const policy = "L0"; // public
|
|
9
8
|
export default function plugin(app) {
|
|
9
|
+
// provide server with metadata for chunked upload
|
|
10
10
|
app.post(`/${prefix}/start`, { config: { policy, description: "Init chunked upload" } }, async (req, reply) => {
|
|
11
11
|
const { fileName, size, subdir, id } = req.body || {};
|
|
12
12
|
if (!fileName || !size) {
|
|
@@ -15,16 +15,20 @@ export default function plugin(app) {
|
|
|
15
15
|
.send({ error: "fileName and size required", code: 400 });
|
|
16
16
|
}
|
|
17
17
|
const result = await startUpload({ fileName, size, subdir, id });
|
|
18
|
+
if (result.code) {
|
|
19
|
+
return reply
|
|
20
|
+
.status(result.code)
|
|
21
|
+
.send({ error: result.error, code: result.code });
|
|
22
|
+
}
|
|
18
23
|
return result;
|
|
19
24
|
});
|
|
20
|
-
// ! debug
|
|
21
25
|
// disable default parser for PATCH /upload/:id
|
|
22
26
|
// allows accept all content types (req.body = raw buffer)
|
|
23
27
|
// limit body size to 50MB by default, depends on upload chunk size
|
|
24
28
|
app.addContentTypeParser("*", { parseAs: "buffer", bodyLimit: chunkSize * 50 }, (req, body, done) => {
|
|
25
29
|
done(null, body);
|
|
26
30
|
});
|
|
27
|
-
//
|
|
31
|
+
// upload chunks
|
|
28
32
|
app.patch(`/${prefix}/:id`, { config: { policy, description: "Upload chunk of data" } }, async (req, reply) => {
|
|
29
33
|
if (!req.headers["content-range"]) {
|
|
30
34
|
return reply
|
|
@@ -58,15 +62,4 @@ export default function plugin(app) {
|
|
|
58
62
|
const status = await getUploadStatus({ id });
|
|
59
63
|
return status;
|
|
60
64
|
});
|
|
61
|
-
// optional
|
|
62
|
-
app.post(`/${prefix}/:id/finish`, { config: { policy, description: "Finish chunked upload" } }, async (req, reply) => {
|
|
63
|
-
const { id } = req.params;
|
|
64
|
-
const result = await finishUpload({ id });
|
|
65
|
-
if (result.code) {
|
|
66
|
-
return reply
|
|
67
|
-
.status(result.code)
|
|
68
|
-
.send({ error: result.error, code: result.code });
|
|
69
|
-
}
|
|
70
|
-
return result;
|
|
71
|
-
});
|
|
72
65
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.setup.d.ts","sourceRoot":"","sources":["../test.setup.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { beforeEach, afterEach, afterAll } from "vitest";
|
|
2
|
+
// @ts-expect-error required for unit tests only
|
|
3
|
+
import { build, teardown } from "./helper.js";
|
|
4
|
+
beforeEach(async () => {
|
|
5
|
+
console.log("build after each bun test start...");
|
|
6
|
+
await build();
|
|
7
|
+
console.log("build after each bun test finished");
|
|
8
|
+
});
|
|
9
|
+
afterEach(async () => {
|
|
10
|
+
console.log("teardown after each bun test start...");
|
|
11
|
+
// await teardown();
|
|
12
|
+
console.log("teardown after each bun test finished");
|
|
13
|
+
});
|
|
14
|
+
afterAll(async () => {
|
|
15
|
+
console.log("teardown after all bun test start...");
|
|
16
|
+
await teardown();
|
|
17
|
+
console.log("teardown after all bun test finished");
|
|
18
|
+
});
|
package/dist/utils.d.ts
CHANGED
|
@@ -83,7 +83,6 @@ export { addUserCls, editUserCls, deleteUserCls, getUserCls, } from "./server/pl
|
|
|
83
83
|
export { prefix as uploadChunkApiPrefix, fileDir as uploadChunkFileDir, uploadChunkDirectory, } from "./server/plugins/upload/index.js";
|
|
84
84
|
export { default as getUploadStatus } from "./server/plugins/upload/getUploadStatus.js";
|
|
85
85
|
export { default as startUpload } from "./server/plugins/upload/startUpload.js";
|
|
86
|
-
export { default as finishUpload } from "./server/plugins/upload/finishUpload.js";
|
|
87
86
|
export { default as uploadChunk } from "./server/plugins/upload/uploadChunk.js";
|
|
88
87
|
export { default as s3Client } from "./server/plugins/file/providers/s3/client.js";
|
|
89
88
|
declare const _default: null;
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../utils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGvE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAExE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAGhF,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAGvF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,iDAAiD,CAAC;AAC7F,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8CAA8C,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8CAA8C,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,iDAAiD,CAAC;AAC7F,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,iDAAiD,CAAC;AAC7F,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8CAA8C,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAGnF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kDAAkD,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,yDAAyD,CAAC;AAClG,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oDAAoD,CAAC;AAC7F,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,+CAA+C,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,2CAA2C,CAAC;AAGjF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qDAAqD,CAAC;AAChG,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAGtF,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,2CAA2C,CAAC;AAGhF,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAElF,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAC1F,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,wCAAwC,CAAC;AAG5E,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,wCAAwC,CAAC;AAG5E,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAGzE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,4CAA4C,CAAC;AAEpF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gDAAgD,CAAC;AAEtF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iDAAiD,CAAC;AAExF,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAE7E,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AAE5E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,gDAAgD,CAAC;AAG5F,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,0CAA0C,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AAGhG,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,qDAAqD,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,qDAAqD,CAAC;AAE3F,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,iDAAiD,CAAC;AAE5F,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,iDAAiD,CAAC;AAE9F,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AAEnG,OAAO,EACL,UAAU,EACV,WAAW,EACX,aAAa,EACb,UAAU,GACX,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,MAAM,IAAI,oBAAoB,EAC9B,OAAO,IAAI,kBAAkB,EAC7B,oBAAoB,GACrB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../utils.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.js
CHANGED
|
@@ -100,7 +100,6 @@ export { addUserCls, editUserCls, deleteUserCls, getUserCls, } from "./server/pl
|
|
|
100
100
|
export { prefix as uploadChunkApiPrefix, fileDir as uploadChunkFileDir, uploadChunkDirectory, } from "./server/plugins/upload/index.js";
|
|
101
101
|
export { default as getUploadStatus } from "./server/plugins/upload/getUploadStatus.js";
|
|
102
102
|
export { default as startUpload } from "./server/plugins/upload/startUpload.js";
|
|
103
|
-
export { default as finishUpload } from "./server/plugins/upload/finishUpload.js";
|
|
104
103
|
export { default as uploadChunk } from "./server/plugins/upload/uploadChunk.js";
|
|
105
104
|
export { default as s3Client } from "./server/plugins/file/providers/s3/client.js";
|
|
106
105
|
export default null;
|