backfarm 1.0.4 → 1.0.5
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/{chunk-QVTKG7FD.js → chunk-2RFTNIPS.js} +2 -2
- package/dist/{chunk-X3R3RLXY.js → chunk-3IO4NPP3.js} +1 -1
- package/dist/chunk-3IO4NPP3.js.map +1 -0
- package/dist/chunk-ATY3REI3.js +89 -0
- package/dist/chunk-ATY3REI3.js.map +1 -0
- package/dist/{chunk-W3W3X2OE.js → chunk-CBTP2HOO.js} +53 -18
- package/dist/chunk-CBTP2HOO.js.map +1 -0
- package/dist/chunk-CPECHQJJ.js +18 -0
- package/dist/chunk-CPECHQJJ.js.map +1 -0
- package/dist/{chunk-TP3K7DMH.js → chunk-DRLEV7OW.js} +2 -2
- package/dist/chunk-E2NNDV4O.js +40 -0
- package/dist/chunk-E2NNDV4O.js.map +1 -0
- package/dist/{chunk-XBJ3SJ26.js → chunk-ECIP24BN.js} +2 -2
- package/dist/chunk-ES6AHESH.js +17 -0
- package/dist/chunk-ES6AHESH.js.map +1 -0
- package/dist/chunk-FNFFY5LD.js +44 -0
- package/dist/chunk-FNFFY5LD.js.map +1 -0
- package/dist/{chunk-YTBSGKGF.js → chunk-IAQMTSGP.js} +2 -2
- package/dist/chunk-LNFYUCA3.js +32 -0
- package/dist/chunk-LNFYUCA3.js.map +1 -0
- package/dist/chunk-LW246RDT.js +33 -0
- package/dist/chunk-LW246RDT.js.map +1 -0
- package/dist/chunk-M2C6HHRK.js +34 -0
- package/dist/chunk-M2C6HHRK.js.map +1 -0
- package/dist/chunk-MKS3GPZY.js +74 -0
- package/dist/chunk-MKS3GPZY.js.map +1 -0
- package/dist/chunk-O42S6QIG.js +88 -0
- package/dist/chunk-O42S6QIG.js.map +1 -0
- package/dist/chunk-OHDZYSL3.js +60 -0
- package/dist/chunk-OHDZYSL3.js.map +1 -0
- package/dist/chunk-P4FWSZ43.js +47 -0
- package/dist/chunk-P4FWSZ43.js.map +1 -0
- package/dist/{chunk-SSFPGDA3.js → chunk-QBBF6LZZ.js} +4 -4
- package/dist/chunk-QBBF6LZZ.js.map +1 -0
- package/dist/chunk-QS4MDB5H.js +336 -0
- package/dist/chunk-QS4MDB5H.js.map +1 -0
- package/dist/{chunk-D7A4TEXY.js → chunk-QUZPQJRE.js} +2 -2
- package/dist/chunk-RIBTACPE.js +35 -0
- package/dist/chunk-RIBTACPE.js.map +1 -0
- package/dist/{chunk-VFF4YFA3.js → chunk-SOZL76ZM.js} +2 -2
- package/dist/{chunk-MNSQSU7T.js → chunk-T4KN3FCF.js} +1 -1
- package/dist/chunk-T4KN3FCF.js.map +1 -0
- package/dist/{chunk-ZMDJ45KH.js → chunk-WLJV5O6C.js} +6 -6
- package/dist/chunk-WLJV5O6C.js.map +1 -0
- package/dist/engine/cloudBucket/r2Storage.js +2 -2
- package/dist/engine/mondoDb/mongoDB.js +2 -2
- package/dist/engine/server/server.d.ts +5 -3
- package/dist/engine/server/server.js +28 -7
- package/dist/engine/sql/mySql.d.ts +2 -2
- package/dist/engine/sql/mySql.js +2 -2
- package/dist/engine/sql/pgSql.js +2 -2
- package/dist/utility/libs/index.d.ts +1772 -0
- package/dist/utility/libs/index.js +101 -0
- package/dist/utility/libs/interface.d.ts +5 -7
- package/dist/utility/libs/run-all.js +46 -0
- package/dist/utility/libs/run-all.js.map +1 -0
- package/dist/{chunk-LFRKRR7G.js → utility/libs/run-bucket.js} +4 -7
- package/dist/utility/libs/run-bucket.js.map +1 -0
- package/dist/utility/libs/run-node-server.js +35 -0
- package/dist/utility/libs/run-node-server.js.map +1 -0
- package/dist/utility/libs/types.d.ts +11 -31
- package/dist/utility/libs/types.js.map +1 -1
- package/dist/utility/utilis/cloud_storage/deleteFile.js +7 -54
- package/dist/utility/utilis/cloud_storage/deleteFile.js.map +1 -1
- package/dist/utility/utilis/cloud_storage/deleteFiles.js +7 -83
- package/dist/utility/utilis/cloud_storage/deleteFiles.js.map +1 -1
- package/dist/utility/utilis/cloud_storage/downloadFile.js +8 -68
- package/dist/utility/utilis/cloud_storage/downloadFile.js.map +1 -1
- package/dist/utility/utilis/cloud_storage/downloadFiles.js +8 -82
- package/dist/utility/utilis/cloud_storage/downloadFiles.js.map +1 -1
- package/dist/utility/utilis/cloud_storage/uploadFile.js +5 -5
- package/dist/utility/utilis/cloud_storage/uploadFiles.d.ts +0 -64
- package/dist/utility/utilis/cloud_storage/uploadFiles.js +8 -42
- package/dist/utility/utilis/cloud_storage/uploadFiles.js.map +1 -1
- package/dist/utility/utilis/general/file-operations.d.ts +7 -132
- package/dist/utility/utilis/general/file-operations.js +5 -3
- package/dist/utility/utilis/general/sqlDb.js.d.ts +0 -141
- package/dist/utility/utilis/general/sqlDb.js.js +1 -1
- package/dist/utility/utilis/general/uuids.d.ts +0 -43
- package/dist/utility/utilis/general/uuids.js +1 -1
- package/dist/utility/utilis/general/web.d.ts +2 -238
- package/dist/utility/utilis/general/web.js +3 -3
- package/dist/utility/utilis/mongoDb/buldWrite.d.ts +0 -44
- package/dist/utility/utilis/mongoDb/buldWrite.js +5 -27
- package/dist/utility/utilis/mongoDb/buldWrite.js.map +1 -1
- package/dist/utility/utilis/mongoDb/deleteDocument.d.ts +0 -45
- package/dist/utility/utilis/mongoDb/deleteDocument.js +5 -29
- package/dist/utility/utilis/mongoDb/deleteDocument.js.map +1 -1
- package/dist/utility/utilis/mongoDb/insertField.d.ts +2 -33
- package/dist/utility/utilis/mongoDb/insertField.js +6 -29
- package/dist/utility/utilis/mongoDb/insertField.js.map +1 -1
- package/dist/utility/utilis/mongoDb/insertFields.d.ts +2 -41
- package/dist/utility/utilis/mongoDb/insertFields.js +6 -31
- package/dist/utility/utilis/mongoDb/insertFields.js.map +1 -1
- package/dist/utility/utilis/mongoDb/updateFiled.d.ts +0 -56
- package/dist/utility/utilis/mongoDb/updateFiled.js +5 -35
- package/dist/utility/utilis/mongoDb/updateFiled.js.map +1 -1
- package/dist/utility/utilis/multer/upload_batch.js +5 -12
- package/dist/utility/utilis/multer/upload_batch.js.map +1 -1
- package/dist/utility/utilis/multer/upload_single.d.ts +41 -0
- package/dist/utility/utilis/multer/upload_single.js +5 -11
- package/dist/utility/utilis/multer/upload_single.js.map +1 -1
- package/dist/utility/utilis/postgres/executeQuery.d.ts +2 -205
- package/dist/utility/utilis/postgres/executeQuery.js +11 -41
- package/dist/utility/utilis/postgres/executeQuery.js.map +1 -1
- package/dist/utility/utilis/postgres/subSqlfiles/executeMySqlQuery.js +3 -3
- package/dist/utility/utilis/postgres/subSqlfiles/executePgQuery.js +3 -3
- package/dist/utility/utilis/server/app.js +29 -11
- package/dist/utility/utilis/server/app.js.map +1 -1
- package/dist/utility/utilis/server/server.d.ts +2 -2
- package/dist/utility/utilis/server/server.js +28 -18
- package/dist/utility/utilis/server/server.js.map +1 -1
- package/package.json +7 -8
- package/dist/chunk-5A3RVJNT.js +0 -19
- package/dist/chunk-5A3RVJNT.js.map +0 -1
- package/dist/chunk-ICFMWIIJ.js +0 -53
- package/dist/chunk-ICFMWIIJ.js.map +0 -1
- package/dist/chunk-LFRKRR7G.js.map +0 -1
- package/dist/chunk-MNSQSU7T.js.map +0 -1
- package/dist/chunk-NIOLLLJJ.js +0 -44
- package/dist/chunk-NIOLLLJJ.js.map +0 -1
- package/dist/chunk-SSFPGDA3.js.map +0 -1
- package/dist/chunk-W3W3X2OE.js.map +0 -1
- package/dist/chunk-X3R3RLXY.js.map +0 -1
- package/dist/chunk-YWFCWT6R.js +0 -23
- package/dist/chunk-YWFCWT6R.js.map +0 -1
- package/dist/chunk-ZMDJ45KH.js.map +0 -1
- package/dist/engine/script/run-all.d.ts +0 -3
- package/dist/engine/script/run-all.js +0 -8
- package/dist/engine/script/run-bucket.d.ts +0 -3
- package/dist/engine/script/run-bucket.js +0 -8
- package/dist/engine/script/run-bucket.js.map +0 -1
- package/dist/engine/script/run-node-server.d.ts +0 -3
- package/dist/engine/script/run-node-server.js +0 -8
- package/dist/engine/script/run-node-server.js.map +0 -1
- package/dist/engine/server/app.d.ts +0 -5
- package/dist/engine/server/app.js +0 -10
- package/dist/engine/server/app.js.map +0 -1
- package/dist/utility/script/run-all.js +0 -8
- package/dist/utility/script/run-all.js.map +0 -1
- package/dist/utility/script/run-bucket.js +0 -8
- package/dist/utility/script/run-bucket.js.map +0 -1
- package/dist/utility/script/run-node-server.js +0 -8
- package/dist/utility/script/run-node-server.js.map +0 -1
- package/dist/utility/utilis/cloud_storage/s3Client.d.ts +0 -5
- package/dist/utility/utilis/cloud_storage/s3Client.js +0 -17
- package/dist/utility/utilis/cloud_storage/s3Client.js.map +0 -1
- /package/dist/{chunk-QVTKG7FD.js.map → chunk-2RFTNIPS.js.map} +0 -0
- /package/dist/{chunk-TP3K7DMH.js.map → chunk-DRLEV7OW.js.map} +0 -0
- /package/dist/{chunk-XBJ3SJ26.js.map → chunk-ECIP24BN.js.map} +0 -0
- /package/dist/{chunk-YTBSGKGF.js.map → chunk-IAQMTSGP.js.map} +0 -0
- /package/dist/{chunk-D7A4TEXY.js.map → chunk-QUZPQJRE.js.map} +0 -0
- /package/dist/{chunk-VFF4YFA3.js.map → chunk-SOZL76ZM.js.map} +0 -0
- /package/dist/{engine/script/run-all.js.map → utility/libs/index.js.map} +0 -0
- /package/dist/utility/{script → libs}/run-all.d.ts +0 -0
- /package/dist/utility/{script → libs}/run-bucket.d.ts +0 -0
- /package/dist/utility/{script → libs}/run-node-server.d.ts +0 -0
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import {
|
|
2
|
+
generateUniqueValue
|
|
3
|
+
} from "./chunk-3IO4NPP3.js";
|
|
4
|
+
import {
|
|
5
|
+
getKeyFromUrl
|
|
6
|
+
} from "./chunk-QBBF6LZZ.js";
|
|
7
|
+
import {
|
|
8
|
+
s3Client
|
|
9
|
+
} from "./chunk-IAQMTSGP.js";
|
|
10
|
+
import {
|
|
11
|
+
getFileExtension,
|
|
12
|
+
getInAppBucketDownloadPath
|
|
13
|
+
} from "./chunk-CBTP2HOO.js";
|
|
14
|
+
import {
|
|
15
|
+
ENV
|
|
16
|
+
} from "./chunk-EWQYVPOL.js";
|
|
17
|
+
import {
|
|
18
|
+
__name
|
|
19
|
+
} from "./chunk-7QVYU63E.js";
|
|
20
|
+
|
|
21
|
+
// src/utility/utilis/cloud_storage/downloadFile.ts
|
|
22
|
+
import { GetObjectCommand } from "@aws-sdk/client-s3";
|
|
23
|
+
import { pipeline } from "stream/promises";
|
|
24
|
+
import path from "path";
|
|
25
|
+
import fsPromises from "fs/promises";
|
|
26
|
+
import * as fs from "fs";
|
|
27
|
+
var downloadFile = /* @__PURE__ */ __name(async ({
|
|
28
|
+
url,
|
|
29
|
+
outputPath
|
|
30
|
+
}) => {
|
|
31
|
+
try {
|
|
32
|
+
const key = getKeyFromUrl(url);
|
|
33
|
+
const command = new GetObjectCommand({
|
|
34
|
+
Bucket: ENV.BUCKET_NAME,
|
|
35
|
+
Key: key
|
|
36
|
+
});
|
|
37
|
+
const response = await s3Client.send(command);
|
|
38
|
+
if (!response.Body) {
|
|
39
|
+
console.log(response);
|
|
40
|
+
return {
|
|
41
|
+
status: true,
|
|
42
|
+
url,
|
|
43
|
+
error: new Error(`Empty response body received for key: ${key}`)
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
const fileExtension = getFileExtension(url);
|
|
47
|
+
const fileName = generateUniqueValue(16);
|
|
48
|
+
const finalFileName = `${fileName}.${fileExtension}`;
|
|
49
|
+
const targetPath = getInAppBucketDownloadPath({ segments: outputPath || [], fileName: finalFileName });
|
|
50
|
+
const dir = path.dirname(targetPath);
|
|
51
|
+
if (!fs.existsSync(dir)) {
|
|
52
|
+
await fsPromises.mkdir(dir, { recursive: true });
|
|
53
|
+
}
|
|
54
|
+
const stream = response.Body;
|
|
55
|
+
await pipeline(stream, fs.createWriteStream(targetPath));
|
|
56
|
+
return {
|
|
57
|
+
status: true,
|
|
58
|
+
url,
|
|
59
|
+
path: targetPath
|
|
60
|
+
};
|
|
61
|
+
} catch (error) {
|
|
62
|
+
console.error(error);
|
|
63
|
+
return {
|
|
64
|
+
status: false,
|
|
65
|
+
url,
|
|
66
|
+
error: error instanceof Error ? error : new Error(String(error))
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
}, "downloadFile");
|
|
70
|
+
|
|
71
|
+
export {
|
|
72
|
+
downloadFile
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=chunk-MKS3GPZY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utility/utilis/cloud_storage/downloadFile.ts"],"sourcesContent":["import {GetObjectCommand} from \"@aws-sdk/client-s3\";\r\nimport {getKeyFromUrl} from \"../general/web.js\";\r\nimport { pipeline } from \"stream/promises\";\r\nimport path from 'node:path'\r\nimport fsPromises from 'fs/promises';\r\nimport * as fs from \"node:fs\";\r\nimport type {DownloadedFile, DownloadFileParams} from \"../../libs/interface.js\";\r\nimport {ENV} from \"../../libs/env.js\";\r\nimport {getFileExtension, getInAppBucketDownloadPath} from \"../general/file-operations.js\";\r\nimport {generateUniqueValue} from \"../general/uuids.js\";\r\nimport {s3Client} from \"../../../engine/cloudBucket/r2Storage.js\";\r\n\r\n\r\n\r\nexport const downloadFile = async ({\r\n url,\r\n outputPath,\r\n }: DownloadFileParams): Promise<DownloadedFile> => {\r\n try {\r\n const key = getKeyFromUrl(url);\r\n\r\n const command = new GetObjectCommand({\r\n Bucket: ENV.BUCKET_NAME,\r\n Key: key,\r\n });\r\n\r\n const response = await s3Client.send(command);\r\n\r\n if (!response.Body) {\r\n console.log(response);\r\n return {\r\n status: true,\r\n url: url,\r\n error: new Error(`Empty response body received for key: ${key}`),\r\n };\r\n }\r\n\r\n const fileExtension = getFileExtension(url);\r\n const fileName = generateUniqueValue(16);\r\n const finalFileName = `${fileName}.${fileExtension}`;\r\n const targetPath = getInAppBucketDownloadPath({ segments: outputPath || [], fileName: finalFileName });\r\n\r\n // Ensure directory structure exists for targetPath\r\n const dir = path.dirname(targetPath);\r\n if (!fs.existsSync(dir)) {\r\n await fsPromises.mkdir(dir, { recursive: true });\r\n }\r\n\r\n // Cast stream to NodeJS.ReadableStream for pipeline overload\r\n const stream = response.Body as NodeJS.ReadableStream;\r\n await pipeline(stream, fs.createWriteStream(targetPath));\r\n\r\n return {\r\n status: true,\r\n url: url,\r\n path: targetPath,\r\n };\r\n\r\n } catch (error) {\r\n console.error(error);\r\n return {\r\n status: false,\r\n url: url,\r\n error: error instanceof Error ? error : new Error(String(error)),\r\n };\r\n }\r\n};\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,SAAQ,wBAAuB;AAE/B,SAAS,gBAAgB;AACzB,OAAO,UAAU;AACjB,OAAO,gBAAgB;AACvB,YAAY,QAAQ;AASb,IAAM,eAAe,8BAAO;AAAA,EACI;AAAA,EACA;AACJ,MAAmD;AAClF,MAAI;AACA,UAAM,MAAM,cAAc,GAAG;AAE7B,UAAM,UAAU,IAAI,iBAAiB;AAAA,MACjC,QAAQ,IAAI;AAAA,MACZ,KAAK;AAAA,IACT,CAAC;AAED,UAAM,WAAW,MAAM,SAAS,KAAK,OAAO;AAE5C,QAAI,CAAC,SAAS,MAAM;AAChB,cAAQ,IAAI,QAAQ;AACpB,aAAO;AAAA,QACH,QAAQ;AAAA,QACR;AAAA,QACA,OAAO,IAAI,MAAM,yCAAyC,GAAG,EAAE;AAAA,MACnE;AAAA,IACJ;AAEA,UAAM,gBAAgB,iBAAiB,GAAG;AAC1C,UAAM,WAAW,oBAAoB,EAAE;AACvC,UAAM,gBAAgB,GAAG,QAAQ,IAAI,aAAa;AAClD,UAAM,aAAa,2BAA2B,EAAE,UAAU,cAAc,CAAC,GAAG,UAAU,cAAc,CAAC;AAGrG,UAAM,MAAM,KAAK,QAAQ,UAAU;AACnC,QAAI,CAAI,cAAW,GAAG,GAAG;AACrB,YAAM,WAAW,MAAM,KAAK,EAAE,WAAW,KAAK,CAAC;AAAA,IACnD;AAGA,UAAM,SAAS,SAAS;AACxB,UAAM,SAAS,QAAW,qBAAkB,UAAU,CAAC;AAEvD,WAAO;AAAA,MACH,QAAQ;AAAA,MACR;AAAA,MACA,MAAM;AAAA,IACV;AAAA,EAEJ,SAAS,OAAO;AACZ,YAAQ,MAAM,KAAK;AACnB,WAAO;AAAA,MACH,QAAQ;AAAA,MACR;AAAA,MACA,OAAO,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,OAAO,KAAK,CAAC;AAAA,IACnE;AAAA,EACJ;AACJ,GApD4B;","names":[]}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import {
|
|
2
|
+
generateUniqueValue
|
|
3
|
+
} from "./chunk-3IO4NPP3.js";
|
|
4
|
+
import {
|
|
5
|
+
getKeyFromUrl
|
|
6
|
+
} from "./chunk-QBBF6LZZ.js";
|
|
7
|
+
import {
|
|
8
|
+
s3Client
|
|
9
|
+
} from "./chunk-IAQMTSGP.js";
|
|
10
|
+
import {
|
|
11
|
+
getFileExtension,
|
|
12
|
+
getInAppBucketDownloadPath
|
|
13
|
+
} from "./chunk-CBTP2HOO.js";
|
|
14
|
+
import {
|
|
15
|
+
ENV
|
|
16
|
+
} from "./chunk-EWQYVPOL.js";
|
|
17
|
+
import {
|
|
18
|
+
__name
|
|
19
|
+
} from "./chunk-7QVYU63E.js";
|
|
20
|
+
|
|
21
|
+
// src/utility/utilis/cloud_storage/downloadFiles.ts
|
|
22
|
+
import { GetObjectCommand } from "@aws-sdk/client-s3";
|
|
23
|
+
import path from "path";
|
|
24
|
+
import fsPromises from "fs/promises";
|
|
25
|
+
import * as fs from "fs";
|
|
26
|
+
import { pipeline } from "stream/promises";
|
|
27
|
+
var downloadFiles = /* @__PURE__ */ __name(async ({
|
|
28
|
+
files,
|
|
29
|
+
globalPath
|
|
30
|
+
}) => {
|
|
31
|
+
const hasIndividualOutputPath = files.some(
|
|
32
|
+
(file) => file.outputPath && file.outputPath.length > 0
|
|
33
|
+
);
|
|
34
|
+
if (globalPath && hasIndividualOutputPath) {
|
|
35
|
+
throw new Error(
|
|
36
|
+
"Conflict: Cannot specify both 'globalPath' and individual 'outputPath' on files."
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
const downloadPromises = files.map(async (file) => {
|
|
40
|
+
const { url, outputPath } = file;
|
|
41
|
+
try {
|
|
42
|
+
const key = getKeyFromUrl(url);
|
|
43
|
+
const command = new GetObjectCommand({
|
|
44
|
+
Bucket: ENV.BUCKET_NAME,
|
|
45
|
+
Key: key
|
|
46
|
+
});
|
|
47
|
+
const response = await s3Client.send(command);
|
|
48
|
+
if (!response.Body) {
|
|
49
|
+
return {
|
|
50
|
+
status: false,
|
|
51
|
+
url,
|
|
52
|
+
error: new Error(`Empty response body received for key: ${key}`)
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
const fileExtension = getFileExtension(url);
|
|
56
|
+
const fileName = generateUniqueValue(16);
|
|
57
|
+
const finalFileName = `${fileName}.${fileExtension}`;
|
|
58
|
+
const resolvedPathSegments = outputPath || (globalPath ? [globalPath] : []);
|
|
59
|
+
const targetPath = getInAppBucketDownloadPath({
|
|
60
|
+
segments: resolvedPathSegments,
|
|
61
|
+
fileName: finalFileName
|
|
62
|
+
});
|
|
63
|
+
const dir = path.dirname(targetPath);
|
|
64
|
+
if (!fs.existsSync(dir)) {
|
|
65
|
+
await fsPromises.mkdir(dir, { recursive: true });
|
|
66
|
+
}
|
|
67
|
+
const stream = response.Body;
|
|
68
|
+
await pipeline(stream, fs.createWriteStream(targetPath));
|
|
69
|
+
return {
|
|
70
|
+
status: true,
|
|
71
|
+
url,
|
|
72
|
+
path: targetPath
|
|
73
|
+
};
|
|
74
|
+
} catch (error) {
|
|
75
|
+
return {
|
|
76
|
+
status: false,
|
|
77
|
+
url,
|
|
78
|
+
error: error instanceof Error ? error : new Error(String(error))
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
return Promise.all(downloadPromises);
|
|
83
|
+
}, "downloadFiles");
|
|
84
|
+
|
|
85
|
+
export {
|
|
86
|
+
downloadFiles
|
|
87
|
+
};
|
|
88
|
+
//# sourceMappingURL=chunk-O42S6QIG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utility/utilis/cloud_storage/downloadFiles.ts"],"sourcesContent":["import type {DownloadedFile, DownloadFilesParams} from \"../../libs/interface.js\";\r\nimport {getKeyFromUrl} from \"../general/web.js\";\r\nimport {GetObjectCommand} from \"@aws-sdk/client-s3\";\r\nimport {ENV} from \"../../libs/env.js\";\r\nimport {getInAppBucketDownloadPath, getFileExtension} from \"../general/file-operations.js\";\r\nimport path from \"node:path\";\r\nimport fsPromises from \"fs/promises\";\r\nimport * as fs from \"node:fs\";\r\nimport {pipeline} from \"stream/promises\";\r\nimport {generateUniqueValue} from \"../general/uuids.js\";\r\nimport {s3Client} from \"../../../engine/cloudBucket/r2Storage.js\";\r\n\r\nexport const downloadFiles = async ({\r\n files,\r\n globalPath,\r\n }: DownloadFilesParams): Promise<DownloadedFile[]> => {\r\n // 1. Validate path conflict rule upfront\r\n const hasIndividualOutputPath = files.some(\r\n (file) => file.outputPath && file.outputPath.length > 0\r\n );\r\n\r\n if (globalPath && hasIndividualOutputPath) {\r\n throw new Error(\r\n \"Conflict: Cannot specify both 'globalPath' and individual 'outputPath' on files.\"\r\n );\r\n }\r\n\r\n // 2. Process all files independently in parallel\r\n const downloadPromises = files.map(async (file): Promise<DownloadedFile> => {\r\n const { url, outputPath } = file;\r\n\r\n try {\r\n const key = getKeyFromUrl(url);\r\n\r\n const command = new GetObjectCommand({\r\n Bucket: ENV.BUCKET_NAME,\r\n Key: key,\r\n });\r\n\r\n const response = await s3Client.send(command);\r\n\r\n if (!response.Body) {\r\n return {\r\n status: false,\r\n url: url,\r\n error: new Error(`Empty response body received for key: ${key}`),\r\n };\r\n }\r\n\r\n const fileExtension = getFileExtension(url);\r\n const fileName = generateUniqueValue(16);\r\n const finalFileName = `${fileName}.${fileExtension}`;\r\n\r\n // Resolve target path using either file's outputPath or globalPath\r\n const resolvedPathSegments = outputPath || (globalPath ? [globalPath] : []);\r\n const targetPath = getInAppBucketDownloadPath({\r\n segments: resolvedPathSegments,\r\n fileName: finalFileName,\r\n });\r\n\r\n // Ensure output folder structure exists\r\n const dir = path.dirname(targetPath);\r\n if (!fs.existsSync(dir)) {\r\n await fsPromises.mkdir(dir, { recursive: true });\r\n }\r\n\r\n // Stream response body directly to file\r\n const stream = response.Body as NodeJS.ReadableStream;\r\n await pipeline(stream, fs.createWriteStream(targetPath));\r\n\r\n return {\r\n status: true,\r\n url: url,\r\n path: targetPath,\r\n };\r\n } catch (error) {\r\n return {\r\n status: false,\r\n url: url,\r\n error: error instanceof Error ? error : new Error(String(error)),\r\n };\r\n }\r\n });\r\n\r\n return Promise.all(downloadPromises);\r\n};\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAEA,SAAQ,wBAAuB;AAG/B,OAAO,UAAU;AACjB,OAAO,gBAAgB;AACvB,YAAY,QAAQ;AACpB,SAAQ,gBAAe;AAIhB,IAAM,gBAAgB,8BAAO;AAAA,EACI;AAAA,EACA;AACJ,MAAsD;AAEtF,QAAM,0BAA0B,MAAM;AAAA,IAClC,CAAC,SAAS,KAAK,cAAc,KAAK,WAAW,SAAS;AAAA,EAC1D;AAEA,MAAI,cAAc,yBAAyB;AACvC,UAAM,IAAI;AAAA,MACN;AAAA,IACJ;AAAA,EACJ;AAGA,QAAM,mBAAmB,MAAM,IAAI,OAAO,SAAkC;AACxE,UAAM,EAAE,KAAK,WAAW,IAAI;AAE5B,QAAI;AACA,YAAM,MAAM,cAAc,GAAG;AAE7B,YAAM,UAAU,IAAI,iBAAiB;AAAA,QACjC,QAAQ,IAAI;AAAA,QACZ,KAAK;AAAA,MACT,CAAC;AAED,YAAM,WAAW,MAAM,SAAS,KAAK,OAAO;AAE5C,UAAI,CAAC,SAAS,MAAM;AAChB,eAAO;AAAA,UACH,QAAQ;AAAA,UACR;AAAA,UACA,OAAO,IAAI,MAAM,yCAAyC,GAAG,EAAE;AAAA,QACnE;AAAA,MACJ;AAEA,YAAM,gBAAgB,iBAAiB,GAAG;AAC1C,YAAM,WAAW,oBAAoB,EAAE;AACvC,YAAM,gBAAgB,GAAG,QAAQ,IAAI,aAAa;AAGlD,YAAM,uBAAuB,eAAe,aAAa,CAAC,UAAU,IAAI,CAAC;AACzE,YAAM,aAAa,2BAA2B;AAAA,QAC1C,UAAU;AAAA,QACV,UAAU;AAAA,MACd,CAAC;AAGD,YAAM,MAAM,KAAK,QAAQ,UAAU;AACnC,UAAI,CAAI,cAAW,GAAG,GAAG;AACrB,cAAM,WAAW,MAAM,KAAK,EAAE,WAAW,KAAK,CAAC;AAAA,MACnD;AAGA,YAAM,SAAS,SAAS;AACxB,YAAM,SAAS,QAAW,qBAAkB,UAAU,CAAC;AAEvD,aAAO;AAAA,QACH,QAAQ;AAAA,QACR;AAAA,QACA,MAAM;AAAA,MACV;AAAA,IACJ,SAAS,OAAO;AACZ,aAAO;AAAA,QACH,QAAQ;AAAA,QACR;AAAA,QACA,OAAO,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,OAAO,KAAK,CAAC;AAAA,MACnE;AAAA,IACJ;AAAA,EACJ,CAAC;AAED,SAAO,QAAQ,IAAI,gBAAgB;AACvC,GAzE6B;","names":[]}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import {
|
|
2
|
+
getKeyFromUrl
|
|
3
|
+
} from "./chunk-QBBF6LZZ.js";
|
|
4
|
+
import {
|
|
5
|
+
s3Client
|
|
6
|
+
} from "./chunk-IAQMTSGP.js";
|
|
7
|
+
import {
|
|
8
|
+
url_or_path
|
|
9
|
+
} from "./chunk-CBTP2HOO.js";
|
|
10
|
+
import {
|
|
11
|
+
ENV
|
|
12
|
+
} from "./chunk-EWQYVPOL.js";
|
|
13
|
+
import {
|
|
14
|
+
__name
|
|
15
|
+
} from "./chunk-7QVYU63E.js";
|
|
16
|
+
|
|
17
|
+
// src/utility/utilis/cloud_storage/deleteFile.ts
|
|
18
|
+
import { DeleteObjectCommand } from "@aws-sdk/client-s3";
|
|
19
|
+
import * as fs from "fs";
|
|
20
|
+
var deleteFile = /* @__PURE__ */ __name(async (item_file) => {
|
|
21
|
+
try {
|
|
22
|
+
const fileType = url_or_path(item_file);
|
|
23
|
+
if (fileType === ENV.URL) {
|
|
24
|
+
const key = getKeyFromUrl(item_file);
|
|
25
|
+
const command = new DeleteObjectCommand({
|
|
26
|
+
Bucket: ENV.BUCKET_NAME,
|
|
27
|
+
Key: key
|
|
28
|
+
});
|
|
29
|
+
await s3Client.send(command);
|
|
30
|
+
return {
|
|
31
|
+
status: true,
|
|
32
|
+
url_or_path: item_file
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
if (fileType === ENV.PATH) {
|
|
36
|
+
if (fs.existsSync(item_file)) {
|
|
37
|
+
await fs.promises.unlink(item_file);
|
|
38
|
+
}
|
|
39
|
+
return {
|
|
40
|
+
status: true,
|
|
41
|
+
url_or_path: item_file
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
return {
|
|
45
|
+
url_or_path: item_file,
|
|
46
|
+
status: false
|
|
47
|
+
};
|
|
48
|
+
} catch (error) {
|
|
49
|
+
return {
|
|
50
|
+
status: false,
|
|
51
|
+
url_or_path: item_file,
|
|
52
|
+
error
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
}, "deleteFile");
|
|
56
|
+
|
|
57
|
+
export {
|
|
58
|
+
deleteFile
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=chunk-OHDZYSL3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utility/utilis/cloud_storage/deleteFile.ts"],"sourcesContent":["import {ENV} from \"../../libs/env.js\";\r\nimport {url_or_path} from \"../general/file-operations.js\";\r\nimport {getKeyFromUrl} from \"../general/web.js\";\r\nimport {DeleteObjectCommand} from \"@aws-sdk/client-s3\";\r\nimport * as fs from \"node:fs\";\r\nimport type {DeleteFile} from \"../../libs/interface.js\";\r\nimport {s3Client} from \"../../../engine/cloudBucket/r2Storage.js\";\r\n\r\n\r\n\r\n\r\nexport const deleteFile = async (item_file: string): Promise<DeleteFile> => {\r\n try {\r\n const fileType = url_or_path(item_file);\r\n\r\n if (fileType === ENV.URL) {\r\n // Extract the MinIO object key from the full public URL\r\n const key = getKeyFromUrl(item_file);\r\n\r\n const command = new DeleteObjectCommand({\r\n Bucket: ENV.BUCKET_NAME,\r\n Key: key,\r\n });\r\n\r\n await s3Client.send(command);\r\n return {\r\n status: true,\r\n url_or_path: item_file,\r\n }\r\n }\r\n\r\n if (fileType === ENV.PATH) {\r\n // Check if file exists locally before unlinking\r\n if (fs.existsSync(item_file)) {\r\n await fs.promises.unlink(item_file);\r\n }\r\n return {\r\n status: true,\r\n url_or_path: item_file,\r\n }\r\n }\r\n\r\n return {\r\n url_or_path: item_file,\r\n status: false,\r\n }\r\n } catch (error) {\r\n return {\r\n status: false,\r\n url_or_path: item_file,\r\n error: error,\r\n }\r\n }\r\n};\r\n"],"mappings":";;;;;;;;;;;;;;;;;AAGA,SAAQ,2BAA0B;AAClC,YAAY,QAAQ;AAOb,IAAM,aAAa,8BAAO,cAA2C;AACxE,MAAI;AACA,UAAM,WAAW,YAAY,SAAS;AAEtC,QAAI,aAAa,IAAI,KAAK;AAEtB,YAAM,MAAM,cAAc,SAAS;AAEnC,YAAM,UAAU,IAAI,oBAAoB;AAAA,QACpC,QAAQ,IAAI;AAAA,QACZ,KAAK;AAAA,MACT,CAAC;AAED,YAAM,SAAS,KAAK,OAAO;AAC3B,aAAO;AAAA,QACH,QAAQ;AAAA,QACR,aAAa;AAAA,MACjB;AAAA,IACJ;AAEA,QAAI,aAAa,IAAI,MAAM;AAEvB,UAAO,cAAW,SAAS,GAAG;AAC1B,cAAS,YAAS,OAAO,SAAS;AAAA,MACtC;AACA,aAAO;AAAA,QACH,QAAQ;AAAA,QACR,aAAa;AAAA,MACjB;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,aAAa;AAAA,MACb,QAAQ;AAAA,IACZ;AAAA,EACJ,SAAS,OAAO;AACZ,WAAO;AAAA,MACH,QAAQ;AAAA,MACR,aAAa;AAAA,MACb;AAAA,IACJ;AAAA,EACJ;AACJ,GA1C0B;","names":[]}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import {
|
|
2
|
+
executeMySqlQuery
|
|
3
|
+
} from "./chunk-DRLEV7OW.js";
|
|
4
|
+
import {
|
|
5
|
+
executePgSqlQuery
|
|
6
|
+
} from "./chunk-QUZPQJRE.js";
|
|
7
|
+
import {
|
|
8
|
+
isMySQL,
|
|
9
|
+
isPostgreSQL
|
|
10
|
+
} from "./chunk-T4KN3FCF.js";
|
|
11
|
+
import {
|
|
12
|
+
getMySqlPool
|
|
13
|
+
} from "./chunk-2RFTNIPS.js";
|
|
14
|
+
import {
|
|
15
|
+
getPgSqlPool
|
|
16
|
+
} from "./chunk-SOZL76ZM.js";
|
|
17
|
+
import {
|
|
18
|
+
ENV
|
|
19
|
+
} from "./chunk-EWQYVPOL.js";
|
|
20
|
+
import {
|
|
21
|
+
__name
|
|
22
|
+
} from "./chunk-7QVYU63E.js";
|
|
23
|
+
|
|
24
|
+
// src/utility/utilis/postgres/executeQuery.ts
|
|
25
|
+
var executeQuery = /* @__PURE__ */ __name(async (query) => {
|
|
26
|
+
if (isPostgreSQL(ENV.SQL_DB_URL)) {
|
|
27
|
+
return await executePgSqlQuery(query);
|
|
28
|
+
} else if (isMySQL(ENV.SQL_DB_URL)) {
|
|
29
|
+
return await executeMySqlQuery(query);
|
|
30
|
+
} else {
|
|
31
|
+
return new Error(`Unable to execute query. Please check the SQL_DB_URL in .env file and the db.sql file.`);
|
|
32
|
+
}
|
|
33
|
+
}, "executeQuery");
|
|
34
|
+
var getPool = /* @__PURE__ */ __name(async () => {
|
|
35
|
+
if (isPostgreSQL(ENV.SQL_DB_URL)) {
|
|
36
|
+
return getPgSqlPool();
|
|
37
|
+
}
|
|
38
|
+
if (isMySQL(ENV.SQL_DB_URL)) {
|
|
39
|
+
return getMySqlPool();
|
|
40
|
+
}
|
|
41
|
+
}, "getPool");
|
|
42
|
+
|
|
43
|
+
export {
|
|
44
|
+
executeQuery,
|
|
45
|
+
getPool
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=chunk-P4FWSZ43.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utility/utilis/postgres/executeQuery.ts"],"sourcesContent":["import type {QueryItems} from \"../../libs/interface.js\";\r\nimport {isMySQL, isPostgreSQL} from \"../general/sqlDb.js.js\";\r\nimport {ENV} from \"../../libs/env.js\";\r\nimport {executePgSqlQuery} from \"./subSqlfiles/executePgQuery.js\";\r\nimport {executeMySqlQuery} from \"./subSqlfiles/executeMySqlQuery.js\";\r\nimport {getMySqlPool} from \"../../../engine/sql/mySql.js\";\r\nimport {getPgSqlPool} from \"../../../engine/sql/pgSql.js\";\r\n\r\n\r\n\r\n\r\n\r\nexport const executeQuery = async (query: QueryItems) => {\r\n\r\n if (isPostgreSQL(ENV.SQL_DB_URL)) {\r\n return await executePgSqlQuery(query)\r\n }\r\n else if (isMySQL(ENV.SQL_DB_URL)) {\r\n return await executeMySqlQuery(query)\r\n }\r\n else {\r\n return new Error(`Unable to execute query. Please check the SQL_DB_URL in .env file and the db.sql file.`);\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\nexport const getPool = async () => {\r\n if (isPostgreSQL(ENV.SQL_DB_URL)) {\r\n return getPgSqlPool()\r\n }\r\n if (isMySQL(ENV.SQL_DB_URL)) {\r\n return getMySqlPool()\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAYO,IAAM,eAAe,8BAAO,UAAsB;AAErD,MAAI,aAAa,IAAI,UAAU,GAAG;AAC9B,WAAO,MAAM,kBAAkB,KAAK;AAAA,EACxC,WACS,QAAQ,IAAI,UAAU,GAAG;AAC9B,WAAO,MAAM,kBAAkB,KAAK;AAAA,EACxC,OACK;AACD,WAAO,IAAI,MAAM,wFAAwF;AAAA,EAC7G;AAEJ,GAZ4B;AAkBrB,IAAM,UAAU,mCAAY;AAC/B,MAAI,aAAa,IAAI,UAAU,GAAG;AAC9B,WAAO,aAAa;AAAA,EACxB;AACA,MAAI,QAAQ,IAAI,UAAU,GAAG;AACzB,WAAO,aAAa;AAAA,EACxB;AACJ,GAPuB;","names":[]}
|
|
@@ -36,7 +36,7 @@ var getKeyFromUrl = /* @__PURE__ */ __name((url) => {
|
|
|
36
36
|
}
|
|
37
37
|
return decodeURIComponent(pathParts.join("/"));
|
|
38
38
|
}, "getKeyFromUrl");
|
|
39
|
-
var
|
|
39
|
+
var responseToClient = /* @__PURE__ */ __name(({
|
|
40
40
|
response,
|
|
41
41
|
...payload
|
|
42
42
|
}) => {
|
|
@@ -63,11 +63,11 @@ var response_to_client = /* @__PURE__ */ __name(({
|
|
|
63
63
|
timestamp
|
|
64
64
|
}
|
|
65
65
|
});
|
|
66
|
-
}, "
|
|
66
|
+
}, "responseToClient");
|
|
67
67
|
|
|
68
68
|
export {
|
|
69
69
|
buildURL,
|
|
70
70
|
getKeyFromUrl,
|
|
71
|
-
|
|
71
|
+
responseToClient
|
|
72
72
|
};
|
|
73
|
-
//# sourceMappingURL=chunk-
|
|
73
|
+
//# sourceMappingURL=chunk-QBBF6LZZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utility/utilis/general/web.ts"],"sourcesContent":["import type {URLOptions} from \"../../libs/interface.js\";\r\nimport {ENV} from \"../../libs/env.js\";\r\nimport type {ResponseInterface} from \"../../libs/types.js\";\r\n\r\n\r\n\r\nexport function buildURL({\r\n end_point,\r\n path = [],\r\n fileName,\r\n }: URLOptions): string {\r\n const resolvedFileName =\r\n fileName instanceof File ? fileName.name : fileName ?? '';\r\n\r\n // Filter out undefined, null, or empty string values safely\r\n const rawSegments: string[] = [\r\n end_point ?? '',\r\n ...path,\r\n resolvedFileName,\r\n ].filter((segment): segment is string => Boolean(segment && segment.trim()));\r\n\r\n if (rawSegments.length === 0) return '';\r\n\r\n // Extract and preserve protocol (http:// or https://) if present\r\n const match = rawSegments[0]?.match(/^(https?:\\/\\/)(.*)/i);\r\n let protocol = '';\r\n\r\n if (match) {\r\n protocol = match[1] ?? '';\r\n rawSegments[0] = match[2] ?? '';\r\n }\r\n\r\n // Clean leading/trailing/duplicate slashes\r\n const cleanedPath = rawSegments\r\n .map((segment) => segment.replace(/^\\/+|\\/+$/g, ''))\r\n .map((segment) => segment.replace(/\\/+/g, '/'))\r\n .filter((segment) => segment.length > 0)\r\n .join('/');\r\n\r\n return `${protocol}${cleanedPath}`;\r\n}\r\n\r\n\r\n\r\n\r\nexport const getKeyFromUrl = (url: string): string => {\r\n\r\n\r\n const parsedUrl = new URL(url);\r\n const pathParts = parsedUrl.pathname.split(\"/\").filter(Boolean);\r\n\r\n if (pathParts[0] === ENV.BUCKET_NAME) {\r\n pathParts.shift();\r\n }\r\n\r\n return decodeURIComponent(pathParts.join(\"/\"));\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nexport const responseToClient = ({\r\n response,\r\n ...payload\r\n }: ResponseInterface) => {\r\n const timestamp = payload.meta?.timestamp || new Date().toISOString();\r\n\r\n if (payload.success) {\r\n return response.status(payload.status).json({\r\n success: true,\r\n status: payload.status,\r\n message: payload.message ?? 'Success',\r\n data: payload.data,\r\n meta: {\r\n ...payload.meta,\r\n timestamp,\r\n },\r\n });\r\n }\r\n\r\n return response.status(payload.status).json({\r\n success: false,\r\n status: payload.status,\r\n message: payload.message ?? 'An error occurred',\r\n error: payload.error,\r\n meta: {\r\n ...payload.meta,\r\n timestamp,\r\n },\r\n });\r\n};\r\n\r\n\r\n\r\n"],"mappings":";;;;;;;;AAMO,SAAS,SAAS;AAAA,EACI;AAAA,EACA,OAAO,CAAC;AAAA,EACR;AACJ,GAAuB;AAC5C,QAAM,mBACF,oBAAoB,OAAO,SAAS,OAAO,YAAY;AAG3D,QAAM,cAAwB;AAAA,IAC1B,aAAa;AAAA,IACb,GAAG;AAAA,IACH;AAAA,EACJ,EAAE,OAAO,CAAC,YAA+B,QAAQ,WAAW,QAAQ,KAAK,CAAC,CAAC;AAE3E,MAAI,YAAY,WAAW,EAAG,QAAO;AAGrC,QAAM,QAAQ,YAAY,CAAC,GAAG,MAAM,qBAAqB;AACzD,MAAI,WAAW;AAEf,MAAI,OAAO;AACP,eAAW,MAAM,CAAC,KAAK;AACvB,gBAAY,CAAC,IAAI,MAAM,CAAC,KAAK;AAAA,EACjC;AAGA,QAAM,cAAc,YACf,IAAI,CAAC,YAAY,QAAQ,QAAQ,cAAc,EAAE,CAAC,EAClD,IAAI,CAAC,YAAY,QAAQ,QAAQ,QAAQ,GAAG,CAAC,EAC7C,OAAO,CAAC,YAAY,QAAQ,SAAS,CAAC,EACtC,KAAK,GAAG;AAEb,SAAO,GAAG,QAAQ,GAAG,WAAW;AACpC;AAlCgB;AAuCT,IAAM,gBAAgB,wBAAC,QAAwB;AAGlD,QAAM,YAAY,IAAI,IAAI,GAAG;AAC7B,QAAM,YAAY,UAAU,SAAS,MAAM,GAAG,EAAE,OAAO,OAAO;AAE9D,MAAI,UAAU,CAAC,MAAM,IAAI,aAAa;AAClC,cAAU,MAAM;AAAA,EACpB;AAEA,SAAO,mBAAmB,UAAU,KAAK,GAAG,CAAC;AACjD,GAX6B;AAoBtB,IAAM,mBAAmB,wBAAC;AAAA,EACS;AAAA,EACA,GAAG;AACP,MAAyB;AAC3D,QAAM,YAAY,QAAQ,MAAM,cAAa,oBAAI,KAAK,GAAE,YAAY;AAEpE,MAAI,QAAQ,SAAS;AACjB,WAAO,SAAS,OAAO,QAAQ,MAAM,EAAE,KAAK;AAAA,MACxC,SAAS;AAAA,MACT,QAAQ,QAAQ;AAAA,MAChB,SAAS,QAAQ,WAAW;AAAA,MAC5B,MAAM,QAAQ;AAAA,MACd,MAAM;AAAA,QACF,GAAG,QAAQ;AAAA,QACX;AAAA,MACJ;AAAA,IACJ,CAAC;AAAA,EACL;AAEA,SAAO,SAAS,OAAO,QAAQ,MAAM,EAAE,KAAK;AAAA,IACxC,SAAS;AAAA,IACT,QAAQ,QAAQ;AAAA,IAChB,SAAS,QAAQ,WAAW;AAAA,IAC5B,OAAO,QAAQ;AAAA,IACf,MAAM;AAAA,MACF,GAAG,QAAQ;AAAA,MACX;AAAA,IACJ;AAAA,EACJ,CAAC;AACL,GA7BgC;","names":[]}
|
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
import {
|
|
2
|
+
mongoBulkWrite
|
|
3
|
+
} from "./chunk-LNFYUCA3.js";
|
|
4
|
+
import {
|
|
5
|
+
mongoDeleteDocument
|
|
6
|
+
} from "./chunk-M2C6HHRK.js";
|
|
7
|
+
import {
|
|
8
|
+
mongoInsertField
|
|
9
|
+
} from "./chunk-LW246RDT.js";
|
|
10
|
+
import {
|
|
11
|
+
mongoInsertFields
|
|
12
|
+
} from "./chunk-RIBTACPE.js";
|
|
13
|
+
import {
|
|
14
|
+
mongoUpdateField
|
|
15
|
+
} from "./chunk-E2NNDV4O.js";
|
|
16
|
+
import {
|
|
17
|
+
upload_batch
|
|
18
|
+
} from "./chunk-CPECHQJJ.js";
|
|
19
|
+
import {
|
|
20
|
+
upload_single
|
|
21
|
+
} from "./chunk-ES6AHESH.js";
|
|
22
|
+
import {
|
|
23
|
+
executeQuery,
|
|
24
|
+
getPool
|
|
25
|
+
} from "./chunk-P4FWSZ43.js";
|
|
26
|
+
import {
|
|
27
|
+
downloadFiles
|
|
28
|
+
} from "./chunk-O42S6QIG.js";
|
|
29
|
+
import {
|
|
30
|
+
upload_files
|
|
31
|
+
} from "./chunk-FNFFY5LD.js";
|
|
32
|
+
import {
|
|
33
|
+
upload_file
|
|
34
|
+
} from "./chunk-WLJV5O6C.js";
|
|
35
|
+
import {
|
|
36
|
+
handleError
|
|
37
|
+
} from "./chunk-P5XJG7OG.js";
|
|
38
|
+
import {
|
|
39
|
+
detectSQLDatabase,
|
|
40
|
+
isMySQL,
|
|
41
|
+
isPostgreSQL
|
|
42
|
+
} from "./chunk-T4KN3FCF.js";
|
|
43
|
+
import {
|
|
44
|
+
deleteFile
|
|
45
|
+
} from "./chunk-OHDZYSL3.js";
|
|
46
|
+
import {
|
|
47
|
+
deleteFiles
|
|
48
|
+
} from "./chunk-ATY3REI3.js";
|
|
49
|
+
import {
|
|
50
|
+
downloadFile
|
|
51
|
+
} from "./chunk-MKS3GPZY.js";
|
|
52
|
+
import {
|
|
53
|
+
generateUniqueValue
|
|
54
|
+
} from "./chunk-3IO4NPP3.js";
|
|
55
|
+
import {
|
|
56
|
+
buildURL,
|
|
57
|
+
getKeyFromUrl,
|
|
58
|
+
responseToClient
|
|
59
|
+
} from "./chunk-QBBF6LZZ.js";
|
|
60
|
+
import {
|
|
61
|
+
s3Client
|
|
62
|
+
} from "./chunk-IAQMTSGP.js";
|
|
63
|
+
import {
|
|
64
|
+
MAX_BATCH_FILES
|
|
65
|
+
} from "./chunk-UWIMSKL5.js";
|
|
66
|
+
import {
|
|
67
|
+
runMySqlScript
|
|
68
|
+
} from "./chunk-2RFTNIPS.js";
|
|
69
|
+
import {
|
|
70
|
+
runPgSqlScript
|
|
71
|
+
} from "./chunk-SOZL76ZM.js";
|
|
72
|
+
import {
|
|
73
|
+
connectToMongo
|
|
74
|
+
} from "./chunk-ECIP24BN.js";
|
|
75
|
+
import {
|
|
76
|
+
buildPath,
|
|
77
|
+
fileExistsAsync,
|
|
78
|
+
fileExistsSync,
|
|
79
|
+
getFileContentType,
|
|
80
|
+
getFileExtension,
|
|
81
|
+
getInAppBucketDownloadPath,
|
|
82
|
+
toUint8Array,
|
|
83
|
+
url_or_path
|
|
84
|
+
} from "./chunk-CBTP2HOO.js";
|
|
85
|
+
import {
|
|
86
|
+
ENV
|
|
87
|
+
} from "./chunk-EWQYVPOL.js";
|
|
88
|
+
import {
|
|
89
|
+
__name
|
|
90
|
+
} from "./chunk-7QVYU63E.js";
|
|
91
|
+
|
|
92
|
+
// src/engine/server/server.ts
|
|
93
|
+
import express from "express";
|
|
94
|
+
import * as http from "http";
|
|
95
|
+
import path from "path";
|
|
96
|
+
import { pathToFileURL } from "url";
|
|
97
|
+
|
|
98
|
+
// src/utility/utilis/server/server.ts
|
|
99
|
+
var getServer = /* @__PURE__ */ __name(() => {
|
|
100
|
+
return HTTP_SERVER;
|
|
101
|
+
}, "getServer");
|
|
102
|
+
|
|
103
|
+
// src/utility/libs/index.ts
|
|
104
|
+
var deleteFile2 = /* @__PURE__ */ __name(async (item_file) => {
|
|
105
|
+
return await deleteFile(item_file);
|
|
106
|
+
}, "deleteFile");
|
|
107
|
+
var deleteFiles2 = /* @__PURE__ */ __name(async (item_files) => {
|
|
108
|
+
return await deleteFiles(item_files);
|
|
109
|
+
}, "deleteFiles");
|
|
110
|
+
var downloadFile2 = /* @__PURE__ */ __name(async ({ url, outputPath }) => {
|
|
111
|
+
return await downloadFile({
|
|
112
|
+
url,
|
|
113
|
+
...outputPath && { outputPath }
|
|
114
|
+
});
|
|
115
|
+
}, "downloadFile");
|
|
116
|
+
var downloadFiles2 = /* @__PURE__ */ __name(async ({ files, globalPath }) => {
|
|
117
|
+
return await downloadFiles({
|
|
118
|
+
files,
|
|
119
|
+
...globalPath && { globalPath }
|
|
120
|
+
});
|
|
121
|
+
}, "downloadFiles");
|
|
122
|
+
var upload_file2 = /* @__PURE__ */ __name(async ({ file, path: path2 }) => {
|
|
123
|
+
return await upload_file({ file, path: path2 });
|
|
124
|
+
}, "upload_file");
|
|
125
|
+
var upload_files2 = /* @__PURE__ */ __name(async ({ files, globalPath, concurrency = 5 }) => {
|
|
126
|
+
return await upload_files({
|
|
127
|
+
files,
|
|
128
|
+
...globalPath && { globalPath },
|
|
129
|
+
concurrency
|
|
130
|
+
});
|
|
131
|
+
}, "upload_files");
|
|
132
|
+
var getS3Client = /* @__PURE__ */ __name(async () => {
|
|
133
|
+
return s3Client;
|
|
134
|
+
}, "getS3Client");
|
|
135
|
+
function handleError2(err, context) {
|
|
136
|
+
return handleError(err, context);
|
|
137
|
+
}
|
|
138
|
+
__name(handleError2, "handleError");
|
|
139
|
+
async function fileExistsAsync2(filePath) {
|
|
140
|
+
return await fileExistsAsync(filePath);
|
|
141
|
+
}
|
|
142
|
+
__name(fileExistsAsync2, "fileExistsAsync");
|
|
143
|
+
function fileExistsSync2(filePath) {
|
|
144
|
+
return fileExistsSync(filePath);
|
|
145
|
+
}
|
|
146
|
+
__name(fileExistsSync2, "fileExistsSync");
|
|
147
|
+
function getFileExtension2(input) {
|
|
148
|
+
return getFileExtension(input);
|
|
149
|
+
}
|
|
150
|
+
__name(getFileExtension2, "getFileExtension");
|
|
151
|
+
var url_or_path2 = /* @__PURE__ */ __name((val) => {
|
|
152
|
+
return url_or_path(val);
|
|
153
|
+
}, "url_or_path");
|
|
154
|
+
async function toUint8Array2(file) {
|
|
155
|
+
return await toUint8Array(file);
|
|
156
|
+
}
|
|
157
|
+
__name(toUint8Array2, "toUint8Array");
|
|
158
|
+
function buildPath2(options) {
|
|
159
|
+
return buildPath(options);
|
|
160
|
+
}
|
|
161
|
+
__name(buildPath2, "buildPath");
|
|
162
|
+
var getFileContentType2 = /* @__PURE__ */ __name(async (file) => {
|
|
163
|
+
return await getFileContentType(file);
|
|
164
|
+
}, "getFileContentType");
|
|
165
|
+
function getInAppBucketDownloadPath2({ segments = [], fileName } = {}) {
|
|
166
|
+
return getInAppBucketDownloadPath({
|
|
167
|
+
segments,
|
|
168
|
+
...fileName && { fileName }
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
__name(getInAppBucketDownloadPath2, "getInAppBucketDownloadPath");
|
|
172
|
+
function detectSQLDatabase2(url) {
|
|
173
|
+
return detectSQLDatabase(url);
|
|
174
|
+
}
|
|
175
|
+
__name(detectSQLDatabase2, "detectSQLDatabase");
|
|
176
|
+
function isMySQL2(url) {
|
|
177
|
+
return isMySQL(url);
|
|
178
|
+
}
|
|
179
|
+
__name(isMySQL2, "isMySQL");
|
|
180
|
+
function isPostgreSQL2(url) {
|
|
181
|
+
return isPostgreSQL(url);
|
|
182
|
+
}
|
|
183
|
+
__name(isPostgreSQL2, "isPostgreSQL");
|
|
184
|
+
function generateUniqueValue2(length, options) {
|
|
185
|
+
return generateUniqueValue(length, options);
|
|
186
|
+
}
|
|
187
|
+
__name(generateUniqueValue2, "generateUniqueValue");
|
|
188
|
+
function buildURL2({ end_point, path: path2 = [], fileName }) {
|
|
189
|
+
return buildURL({
|
|
190
|
+
...end_point && { end_point },
|
|
191
|
+
path: path2,
|
|
192
|
+
...fileName && { fileName }
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
__name(buildURL2, "buildURL");
|
|
196
|
+
var getKeyFromUrl2 = /* @__PURE__ */ __name((url) => {
|
|
197
|
+
return getKeyFromUrl(url);
|
|
198
|
+
}, "getKeyFromUrl");
|
|
199
|
+
var responseToClient2 = /* @__PURE__ */ __name(({ response, ...payload }) => {
|
|
200
|
+
return responseToClient({
|
|
201
|
+
response,
|
|
202
|
+
...payload
|
|
203
|
+
});
|
|
204
|
+
}, "responseToClient");
|
|
205
|
+
var mongoBulkWrite2 = /* @__PURE__ */ __name(async (params) => {
|
|
206
|
+
return await mongoBulkWrite(params);
|
|
207
|
+
}, "mongoBulkWrite");
|
|
208
|
+
var mongoDeleteDocument2 = /* @__PURE__ */ __name(async (params) => {
|
|
209
|
+
return await mongoDeleteDocument(params);
|
|
210
|
+
}, "mongoDeleteDocument");
|
|
211
|
+
var mongoInsertField2 = /* @__PURE__ */ __name(async (params) => {
|
|
212
|
+
return await mongoInsertField(params);
|
|
213
|
+
}, "mongoInsertField");
|
|
214
|
+
var mongoInsertFields2 = /* @__PURE__ */ __name(async (params) => {
|
|
215
|
+
return await mongoInsertFields(params);
|
|
216
|
+
}, "mongoInsertFields");
|
|
217
|
+
var mongoUpdateField2 = /* @__PURE__ */ __name(async (params) => {
|
|
218
|
+
return await mongoUpdateField(params);
|
|
219
|
+
}, "mongoUpdateField");
|
|
220
|
+
var upload_batch2 = /* @__PURE__ */ __name((fieldName = ENV.FILES, maxCount = MAX_BATCH_FILES) => {
|
|
221
|
+
return upload_batch(fieldName, maxCount);
|
|
222
|
+
}, "upload_batch");
|
|
223
|
+
var upload_single2 = /* @__PURE__ */ __name((fieldName = ENV.FILE) => {
|
|
224
|
+
return upload_single(fieldName);
|
|
225
|
+
}, "upload_single");
|
|
226
|
+
var executeQuery2 = /* @__PURE__ */ __name(async (query) => {
|
|
227
|
+
return await executeQuery(query);
|
|
228
|
+
}, "executeQuery");
|
|
229
|
+
var getPool2 = /* @__PURE__ */ __name(async () => {
|
|
230
|
+
return await getPool();
|
|
231
|
+
}, "getPool");
|
|
232
|
+
var getApp2 = /* @__PURE__ */ __name(() => {
|
|
233
|
+
return getApp();
|
|
234
|
+
}, "getApp");
|
|
235
|
+
var getServer2 = /* @__PURE__ */ __name(() => {
|
|
236
|
+
return getServer();
|
|
237
|
+
}, "getServer");
|
|
238
|
+
|
|
239
|
+
// src/engine/server/server.ts
|
|
240
|
+
var PORT = ENV.SERVER_PORT;
|
|
241
|
+
var SQL_URL = ENV.SQL_DB_URL;
|
|
242
|
+
var configPathTs = path.join(process.cwd(), "src/config/express.config.ts");
|
|
243
|
+
var configPathJs = path.join(process.cwd(), "src/config/express.config.js");
|
|
244
|
+
var apiPathTs = path.join(process.cwd(), "src/apis/apis.ts");
|
|
245
|
+
var apiPathJs = path.join(process.cwd(), "src/apis/apis.js");
|
|
246
|
+
var EXPRESS_APP = express();
|
|
247
|
+
var HTTP_SERVER = http.createServer(EXPRESS_APP);
|
|
248
|
+
var startServer = /* @__PURE__ */ __name(async () => {
|
|
249
|
+
try {
|
|
250
|
+
if (isPostgreSQL(SQL_URL)) {
|
|
251
|
+
await runPgSqlScript();
|
|
252
|
+
}
|
|
253
|
+
if (isMySQL(SQL_URL)) {
|
|
254
|
+
await runMySqlScript();
|
|
255
|
+
}
|
|
256
|
+
await connectToMongo();
|
|
257
|
+
const { express_configurations } = await import(pathToFileURL(await fileExistsAsync2(configPathJs) ? configPathJs : configPathTs).href);
|
|
258
|
+
express_configurations(EXPRESS_APP);
|
|
259
|
+
const { APIS } = await import(pathToFileURL(await fileExistsAsync2(apiPathJs) ? apiPathJs : apiPathTs).href);
|
|
260
|
+
APIS.forEach((api) => {
|
|
261
|
+
if ("get" in api) {
|
|
262
|
+
const middleware = api.get.middleware ? Array.isArray(api.get.middleware) ? api.get.middleware : [api.get.middleware] : [];
|
|
263
|
+
EXPRESS_APP.get(api.get.endpoint, ...middleware, api.get.callable);
|
|
264
|
+
}
|
|
265
|
+
if ("post" in api) {
|
|
266
|
+
const middleware = api.post.middleware ? Array.isArray(api.post.middleware) ? api.post.middleware : [api.post.middleware] : [];
|
|
267
|
+
EXPRESS_APP.post(api.post.endpoint, ...middleware, api.post.callable);
|
|
268
|
+
}
|
|
269
|
+
if ("put" in api) {
|
|
270
|
+
const middleware = api.put.middleware ? Array.isArray(api.put.middleware) ? api.put.middleware : [api.put.middleware] : [];
|
|
271
|
+
EXPRESS_APP.put(api.put.endpoint, ...middleware, api.put.callable);
|
|
272
|
+
}
|
|
273
|
+
if ("delete" in api) {
|
|
274
|
+
const middleware = api.delete.middleware ? Array.isArray(api.delete.middleware) ? api.delete.middleware : [api.delete.middleware] : [];
|
|
275
|
+
EXPRESS_APP.delete(api.delete.endpoint, ...middleware, api.delete.callable);
|
|
276
|
+
}
|
|
277
|
+
if ("patch" in api) {
|
|
278
|
+
const middleware = api.patch.middleware ? Array.isArray(api.patch.middleware) ? api.patch.middleware : [api.patch.middleware] : [];
|
|
279
|
+
EXPRESS_APP.patch(api.patch.endpoint, ...middleware, api.patch.callable);
|
|
280
|
+
}
|
|
281
|
+
});
|
|
282
|
+
HTTP_SERVER.listen(PORT, async () => {
|
|
283
|
+
console.log(`Server running on port ${PORT}`);
|
|
284
|
+
});
|
|
285
|
+
} catch (err) {
|
|
286
|
+
handleError(err);
|
|
287
|
+
}
|
|
288
|
+
}, "startServer");
|
|
289
|
+
|
|
290
|
+
// src/utility/utilis/server/app.ts
|
|
291
|
+
var getApp = /* @__PURE__ */ __name(() => {
|
|
292
|
+
return EXPRESS_APP;
|
|
293
|
+
}, "getApp");
|
|
294
|
+
|
|
295
|
+
export {
|
|
296
|
+
getApp,
|
|
297
|
+
getServer,
|
|
298
|
+
deleteFile2 as deleteFile,
|
|
299
|
+
deleteFiles2 as deleteFiles,
|
|
300
|
+
downloadFile2 as downloadFile,
|
|
301
|
+
downloadFiles2 as downloadFiles,
|
|
302
|
+
upload_file2 as upload_file,
|
|
303
|
+
upload_files2 as upload_files,
|
|
304
|
+
getS3Client,
|
|
305
|
+
handleError2 as handleError,
|
|
306
|
+
fileExistsAsync2 as fileExistsAsync,
|
|
307
|
+
fileExistsSync2 as fileExistsSync,
|
|
308
|
+
getFileExtension2 as getFileExtension,
|
|
309
|
+
url_or_path2 as url_or_path,
|
|
310
|
+
toUint8Array2 as toUint8Array,
|
|
311
|
+
buildPath2 as buildPath,
|
|
312
|
+
getFileContentType2 as getFileContentType,
|
|
313
|
+
getInAppBucketDownloadPath2 as getInAppBucketDownloadPath,
|
|
314
|
+
detectSQLDatabase2 as detectSQLDatabase,
|
|
315
|
+
isMySQL2 as isMySQL,
|
|
316
|
+
isPostgreSQL2 as isPostgreSQL,
|
|
317
|
+
generateUniqueValue2 as generateUniqueValue,
|
|
318
|
+
buildURL2 as buildURL,
|
|
319
|
+
getKeyFromUrl2 as getKeyFromUrl,
|
|
320
|
+
responseToClient2 as responseToClient,
|
|
321
|
+
mongoBulkWrite2 as mongoBulkWrite,
|
|
322
|
+
mongoDeleteDocument2 as mongoDeleteDocument,
|
|
323
|
+
mongoInsertField2 as mongoInsertField,
|
|
324
|
+
mongoInsertFields2 as mongoInsertFields,
|
|
325
|
+
mongoUpdateField2 as mongoUpdateField,
|
|
326
|
+
upload_batch2 as upload_batch,
|
|
327
|
+
upload_single2 as upload_single,
|
|
328
|
+
executeQuery2 as executeQuery,
|
|
329
|
+
getPool2 as getPool,
|
|
330
|
+
getApp2,
|
|
331
|
+
getServer2,
|
|
332
|
+
EXPRESS_APP,
|
|
333
|
+
HTTP_SERVER,
|
|
334
|
+
startServer
|
|
335
|
+
};
|
|
336
|
+
//# sourceMappingURL=chunk-QS4MDB5H.js.map
|