@social-mail/social-mail-web-server 1.9.138 → 1.9.141
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/common/FileApi.d.ts +1 -0
- package/dist/common/FileApi.d.ts.map +1 -1
- package/dist/common/FileApi.js +12 -0
- package/dist/common/FileApi.js.map +1 -1
- package/dist/common/RunOnce.d.ts.map +1 -1
- package/dist/common/RunOnce.js +7 -11
- package/dist/common/RunOnce.js.map +1 -1
- package/dist/server/services/http/HttpProxyService.d.ts.map +1 -1
- package/dist/server/services/http/HttpProxyService.js +0 -1
- package/dist/server/services/http/HttpProxyService.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/wwwroot/routes/api/emails/d/get.d.ts.map +1 -1
- package/dist/wwwroot/routes/api/emails/d/get.js +0 -1
- package/dist/wwwroot/routes/api/emails/d/get.js.map +1 -1
- package/package.json +3 -3
- package/src/common/FileApi.ts +12 -0
- package/src/common/RunOnce.ts +7 -10
- package/src/server/services/http/HttpProxyService.ts +0 -1
- package/src/wwwroot/routes/api/emails/d/get.ts +0 -1
package/dist/common/FileApi.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export declare function ensureParentFolder(filePath: string): void;
|
|
2
2
|
export default function ensureDir(folder: string): void;
|
|
3
3
|
export declare const deleteIfExists: (path: any) => void;
|
|
4
|
+
export declare const fileInfo: (filePath: string) => Promise<import("node:fs").Stats>;
|
|
4
5
|
export declare const areFilesEqual: (file1: string, file2: string) => Promise<boolean>;
|
|
5
6
|
//# sourceMappingURL=FileApi.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileApi.d.ts","sourceRoot":"","sources":["../../src/common/FileApi.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FileApi.d.ts","sourceRoot":"","sources":["../../src/common/FileApi.ts"],"names":[],"mappings":"AAMA,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,QAElD;AAED,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,MAAM,EAAE,MAAM,QAgB/C;AAED,eAAO,MAAM,cAAc,GAAI,SAAI,SAAiD,CAAC;AAErF,eAAO,MAAM,QAAQ,GAAU,UAAU,MAAM,qCAS9C,CAAC;AAEF,eAAO,MAAM,aAAa,GAAU,OAAO,MAAM,EAAE,OAAO,MAAM,qBAyB/D,CAAC"}
|
package/dist/common/FileApi.js
CHANGED
|
@@ -53,6 +53,7 @@ var __disposeResources = (this && this.__disposeResources) || (function (Suppres
|
|
|
53
53
|
import { existsSync, unlinkSync, mkdirSync } from "fs";
|
|
54
54
|
import { dirname } from "path";
|
|
55
55
|
import { AsyncFileStream } from "./AsyncStream.js";
|
|
56
|
+
import { stat } from "fs/promises";
|
|
56
57
|
export function ensureParentFolder(filePath) {
|
|
57
58
|
ensureDir(dirname(filePath));
|
|
58
59
|
}
|
|
@@ -72,6 +73,17 @@ export default function ensureDir(folder) {
|
|
|
72
73
|
}
|
|
73
74
|
}
|
|
74
75
|
export const deleteIfExists = (path) => existsSync(path) ? unlinkSync(path) : void 0;
|
|
76
|
+
export const fileInfo = async (filePath) => {
|
|
77
|
+
try {
|
|
78
|
+
return await stat(filePath);
|
|
79
|
+
}
|
|
80
|
+
catch (error) {
|
|
81
|
+
if (error.code === "ENOENT") {
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
throw error;
|
|
85
|
+
}
|
|
86
|
+
};
|
|
75
87
|
export const areFilesEqual = async (file1, file2) => {
|
|
76
88
|
const env_1 = { stack: [], error: void 0, hasError: false };
|
|
77
89
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileApi.js","sourceRoot":"","sources":["../../src/common/FileApi.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAEvD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"FileApi.js","sourceRoot":"","sources":["../../src/common/FileApi.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAEvD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IAC/C,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,MAAc;IAE5C,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACrB,OAAO;IACX,CAAC;IAED,IAAI,CAAC;QACD,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACrB,OAAO;QACX,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,MAAM,KAAK,CAAC;IAChB,CAAC;AAEL,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAErF,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAAE,QAAgB,EAAE,EAAE;IAC/C,IAAI,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,KAAK,CAAC;IAChB,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,KAAa,EAAE,KAAa,EAAE,EAAE;;;QAEhE,MAAM,EAAE,kCAAG,IAAI,eAAe,CAAC,KAAK,CAAC,QAAA,CAAC;QACtC,MAAM,EAAE,kCAAG,IAAI,eAAe,CAAC,KAAK,CAAC,QAAA,CAAC;QAEtC,IAAG,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,SAAQ,CAAC;YACL,MAAM,CAAC,EAAE,EAAC,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC1D,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;gBACd,IAAG,EAAE,KAAK,IAAI,EAAE,CAAC;oBACb,OAAO,EAAE,CAAC,YAAY,KAAK,EAAE,CAAC,YAAY,CAAC;gBAC/C,CAAC;gBACD,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;gBACd,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;gBACjB,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;;;;;;;;;CAEJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunOnce.d.ts","sourceRoot":"","sources":["../../src/common/RunOnce.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,OAAO,OAAO,OAAO;WAEX,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,SAAU;
|
|
1
|
+
{"version":3,"file":"RunOnce.d.ts","sourceRoot":"","sources":["../../src/common/RunOnce.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,OAAO,OAAO,OAAO;WAEX,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,SAAU;CAsBpD"}
|
package/dist/common/RunOnce.js
CHANGED
|
@@ -1,28 +1,24 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
|
-
import {
|
|
3
|
-
import { stat, unlink, writeFile } from "node:fs/promises";
|
|
2
|
+
import { utimes, writeFile } from "node:fs/promises";
|
|
4
3
|
import { join } from "node:path";
|
|
4
|
+
import { fileInfo } from "./FileApi.js";
|
|
5
5
|
export default class RunOnce {
|
|
6
6
|
static async canRun(key, maxAge = 60 * 1000) {
|
|
7
7
|
const sha256 = createHash("sha256");
|
|
8
8
|
const hash = sha256.update(`run-once-file-${key}`).digest("hex");
|
|
9
9
|
const lockFile = join("/tmp", hash + ".last-run");
|
|
10
|
-
|
|
10
|
+
const info = await fileInfo(lockFile);
|
|
11
|
+
if (!info) {
|
|
11
12
|
await writeFile(lockFile, "running");
|
|
12
13
|
return true;
|
|
13
14
|
}
|
|
14
15
|
const past = Date.now() - maxAge;
|
|
15
|
-
|
|
16
|
-
if (s.mtimeMs > past) {
|
|
16
|
+
if (info.mtimeMs > past) {
|
|
17
17
|
return false;
|
|
18
18
|
}
|
|
19
|
-
try {
|
|
20
|
-
await unlink(lockFile);
|
|
21
|
-
}
|
|
22
|
-
catch {
|
|
23
|
-
// ignore error...
|
|
24
|
-
}
|
|
25
19
|
await writeFile(lockFile, "running");
|
|
20
|
+
const now = new Date();
|
|
21
|
+
await utimes(lockFile, now, now);
|
|
26
22
|
return true;
|
|
27
23
|
}
|
|
28
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunOnce.js","sourceRoot":"","sources":["../../src/common/RunOnce.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"RunOnce.js","sourceRoot":"","sources":["../../src/common/RunOnce.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,CAAC,OAAO,OAAO,OAAO;IAExB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAW,EAAE,MAAM,GAAG,EAAE,GAAC,IAAI;QAE7C,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,WAAW,CAAC,CAAC;QAElD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,MAAM,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YACrC,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;QACjC,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,MAAM,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;CAEJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpProxyService.d.ts","sourceRoot":"","sources":["../../../../src/server/services/http/HttpProxyService.ts"],"names":[],"mappings":"AAGA,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAE5D,OAAO,OAAO,MAAM,6CAA6C,CAAC;AASlE,8BAAsB,aAAc,SAAQ,IAAI;IAE5C,KAAK,CAAC,EAAE,QAAiB,EAAE,MAAe,EAAE;;;KAAA;CAO/C;AAED,MAAM,CAAC,OAAO,OAAO,gBAAgB;WAEpB,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,KAAA;
|
|
1
|
+
{"version":3,"file":"HttpProxyService.d.ts","sourceRoot":"","sources":["../../../../src/server/services/http/HttpProxyService.ts"],"names":[],"mappings":"AAGA,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAE5D,OAAO,OAAO,MAAM,6CAA6C,CAAC;AASlE,8BAAsB,aAAc,SAAQ,IAAI;IAE5C,KAAK,CAAC,EAAE,QAAiB,EAAE,MAAe,EAAE;;;KAAA;CAO/C;AAED,MAAM,CAAC,OAAO,OAAO,gBAAgB;WAEpB,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,KAAA;CA4ErC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpProxyService.js","sourceRoot":"","sources":["../../../../src/server/services/http/HttpProxyService.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"HttpProxyService.js","sourceRoot":"","sources":["../../../../src/server/services/http/HttpProxyService.ts"],"names":[],"mappings":"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"}
|