zet-lib 6.0.1 → 6.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/lib/zAppRouter.js +20 -2
  2. package/package.json +1 -2
package/lib/zAppRouter.js CHANGED
@@ -21,7 +21,6 @@ const zCache = require("./zCache");
21
21
  const getPm2 = require("./optionalPm2");
22
22
  const zFunction = require("./zFunction");
23
23
  const qs = require("qs");
24
- const zip = require("express-zip");
25
24
  const path = require("path");
26
25
 
27
26
  // Lazy load sharp with error handling for cross-platform compatibility
@@ -46,6 +45,25 @@ const fetch = require("isomorphic-fetch");
46
45
  const JSZip = require("jszip");
47
46
  const zDropbox = require("./zDropbox");
48
47
 
48
+ async function sendZipResponse(res, files, zipName) {
49
+ const archive = new JSZip();
50
+ for (const file of files) {
51
+ const content = await fs.readFile(file.path);
52
+ archive.file(file.name, content);
53
+ }
54
+
55
+ const buffer = await archive.generateAsync({
56
+ type: "nodebuffer",
57
+ compression: "DEFLATE",
58
+ compressionOptions: { level: 9 }
59
+ });
60
+
61
+ res.setHeader("Content-Type", "application/zip");
62
+ res.setHeader("Content-Disposition", `attachment; filename="${zipName}"`);
63
+ res.setHeader("Content-Length", buffer.length);
64
+ res.send(buffer);
65
+ }
66
+
49
67
  if (typeof global.dirRoot === 'undefined') {
50
68
  global.dirRoot = Util.dirRoot;
51
69
  }
@@ -1767,7 +1785,7 @@ router.get("/zdownloads-dropzone/:table/:field/:id", async (req, res) => {
1767
1785
  }
1768
1786
  }
1769
1787
  io.to(room).emit("message", `Zip files complete...`);
1770
- res.zip(arr, `${field}_${table}_${id}.zip`);
1788
+ await sendZipResponse(res, arr, `${field}_${table}_${id}.zip`);
1771
1789
  } catch (e) {
1772
1790
  console.log(e);
1773
1791
  res.json(e + "");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zet-lib",
3
- "version": "6.0.1",
3
+ "version": "6.0.2",
4
4
  "description": "zet is a library that part of zet generator.",
5
5
  "engines": {
6
6
  "node": ">=18"
@@ -31,7 +31,6 @@
31
31
  "dropbox": "^10.34.0",
32
32
  "ejs": "^6.0.1",
33
33
  "exceljsremake": "^0.1.5",
34
- "express-zip": "^3.0.0",
35
34
  "fs-extra": "^11.3.4",
36
35
  "isomorphic-fetch": "^3.0.0",
37
36
  "js-sha256": "^0.11.1",