@social-mail/social-mail-web-server 1.16.310 → 1.16.312

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 (35) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/common/globalEnv.d.ts +0 -3
  3. package/dist/common/globalEnv.d.ts.map +1 -1
  4. package/dist/common/globalEnv.js +0 -3
  5. package/dist/common/globalEnv.js.map +1 -1
  6. package/dist/server/services/EmailAddressService.d.ts +3 -3
  7. package/dist/server/services/EmailAddressService.d.ts.map +1 -1
  8. package/dist/server/services/EmailAddressService.js +15 -15
  9. package/dist/server/services/EmailAddressService.js.map +1 -1
  10. package/dist/server/services/geo-ip/GeoIPService.d.ts +3 -3
  11. package/dist/server/services/geo-ip/GeoIPService.d.ts.map +1 -1
  12. package/dist/server/services/geo-ip/GeoIPService.js +2 -2
  13. package/dist/server/services/geo-ip/GeoIPService.js.map +1 -1
  14. package/dist/server/smtp/services/DomainReputationService.d.ts +3 -3
  15. package/dist/server/smtp/services/DomainReputationService.d.ts.map +1 -1
  16. package/dist/server/smtp/services/DomainReputationService.js +2 -2
  17. package/dist/server/smtp/services/DomainReputationService.js.map +1 -1
  18. package/dist/wwwroot/routes/social-mail/site/preview/[host]/[type]/[cacheKey]/get.js +1 -1
  19. package/dist/wwwroot/routes/social-mail/site/preview/[host]/[type]/[cacheKey]/get.js.map +1 -1
  20. package/package.json +1 -1
  21. package/src/common/globalEnv.ts +0 -3
  22. package/src/server/services/EmailAddressService.ts +17 -17
  23. package/src/server/services/geo-ip/GeoIPService.ts +4 -4
  24. package/src/server/smtp/services/DomainReputationService.ts +4 -4
  25. package/src/wwwroot/routes/social-mail/site/preview/[host]/[type]/[cacheKey]/get.tsx +1 -1
  26. package/dist/common/JsonClient.d.ts +0 -13
  27. package/dist/common/JsonClient.d.ts.map +0 -1
  28. package/dist/common/JsonClient.js +0 -203
  29. package/dist/common/JsonClient.js.map +0 -1
  30. package/dist/common/LocalCache.d.ts +0 -21
  31. package/dist/common/LocalCache.d.ts.map +0 -1
  32. package/dist/common/LocalCache.js +0 -120
  33. package/dist/common/LocalCache.js.map +0 -1
  34. package/src/common/JsonClient.ts +0 -228
  35. package/src/common/LocalCache.ts +0 -148
@@ -42,7 +42,7 @@ export default class extends Page {
42
42
 
43
43
  const snapshot = await this.wcs.getCurrentSnapshotFolder(this.host);
44
44
 
45
- if (!snapshot.isTemplate) {
45
+ if (!snapshot?.isTemplate) {
46
46
  return this.notFound();
47
47
  }
48
48
 
@@ -1,13 +0,0 @@
1
- export default class JsonClient {
2
- private readonly socketPath;
3
- private socket;
4
- private pending;
5
- constructor(socketPath: string);
6
- sendCommand<TIn = any, TOut = any>(msg: {
7
- cmd: any;
8
- } & TIn, log?: boolean): Promise<TOut>;
9
- private resolveReferences;
10
- private recursiveGenerate;
11
- private init;
12
- }
13
- //# sourceMappingURL=JsonClient.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"JsonClient.d.ts","sourceRoot":"","sources":["../../src/common/JsonClient.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,OAAO,OAAO,UAAU;IAMf,OAAO,CAAC,QAAQ,CAAC,UAAU;IAJvC,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,OAAO,CAAkD;IAEjE,YAA6B,UAAU,EAAE,MAAM,EAE9C;IAEY,WAAW,CAAC,GAAG,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,EAAE,GAAG,EAAE;QAAE,GAAG,MAAA;KAAE,GAAG,GAAG,EAAE,GAAG,UAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAyB7F;IAED,OAAO,CAAC,iBAAiB;IA2BzB,OAAO,CAAE,iBAAiB;YAgGZ,IAAI;CA8DrB"}
@@ -1,203 +0,0 @@
1
- import { connect } from "node:net";
2
- import TimeoutError from "./errors/TimeoutError.js";
3
- let nextId = 1;
4
- export default class JsonClient {
5
- constructor(socketPath) {
6
- this.socketPath = socketPath;
7
- this.pending = new Map();
8
- }
9
- async sendCommand(msg, log = true) {
10
- await this.init();
11
- const id = (nextId++).toString(36);
12
- let resolve;
13
- let reject;
14
- const p = new Promise((res, rej) => (resolve = res, reject = rej));
15
- const timeout = setTimeout(() => {
16
- this.pending.delete(id);
17
- reject(new TimeoutError());
18
- }, 15000);
19
- this.pending.set(id, { resolve, reject, timeout });
20
- msg.id = id;
21
- let line = "";
22
- for (const text of this.recursiveGenerate(msg)) {
23
- line += text;
24
- }
25
- this.socket.write(`${line}\n`, (error) => error && console.error(error));
26
- // if (log) {
27
- // console.log(line);
28
- // }
29
- const v = await p;
30
- if (v?.value) {
31
- this.resolveReferences(v, new Map());
32
- }
33
- return v;
34
- }
35
- resolveReferences(v, map) {
36
- if (!v) {
37
- return v;
38
- }
39
- if (Array.isArray(v)) {
40
- return v.map((i) => this.resolveReferences(i, map));
41
- }
42
- if (typeof v !== "object") {
43
- return v;
44
- }
45
- const { $ref, $id } = v;
46
- if ($ref) {
47
- return map.get($ref);
48
- }
49
- if ($id) {
50
- map.set($id, v);
51
- }
52
- for (const key in v) {
53
- if (!Object.hasOwn(v, key)) {
54
- continue;
55
- }
56
- v[key] = this.resolveReferences(v[key], map);
57
- }
58
- return v;
59
- }
60
- *recursiveGenerate(model, doneMap = new Map()) {
61
- if (model === null) {
62
- yield "null";
63
- return;
64
- }
65
- if (model === void 0) {
66
- return;
67
- }
68
- switch (typeof model) {
69
- case "bigint":
70
- case "string":
71
- yield JSON.stringify(model.toString());
72
- return;
73
- case "number":
74
- yield model.toString();
75
- return;
76
- case "boolean":
77
- yield model ? "true" : "false";
78
- return;
79
- case "undefined":
80
- return;
81
- }
82
- if (model instanceof Date) {
83
- yield `"${model.toJSON()}"`;
84
- return;
85
- }
86
- let suffix = "";
87
- if (Array.isArray(model)) {
88
- yield "[";
89
- for (const element of model) {
90
- if (element === void 0) {
91
- continue;
92
- }
93
- if (suffix) {
94
- yield suffix;
95
- }
96
- else {
97
- suffix = ",";
98
- }
99
- yield* this.recursiveGenerate(element, doneMap);
100
- }
101
- yield "]";
102
- return;
103
- }
104
- let $id = doneMap.get(model);
105
- if ($id) {
106
- yield `{"$ref": ${$id}}`;
107
- return;
108
- }
109
- $id = doneMap.size + 1;
110
- doneMap.set(model, $id);
111
- yield `{"$id": ${$id}`;
112
- for (const key in model) {
113
- if (Object.hasOwn(model, key)) {
114
- const element = model[key];
115
- if (element === void 0) {
116
- continue;
117
- }
118
- yield ",";
119
- yield JSON.stringify(key);
120
- yield `:`;
121
- if (element === null) {
122
- yield "null";
123
- continue;
124
- }
125
- switch (typeof element) {
126
- case "bigint":
127
- yield JSON.stringify(element.toString());
128
- continue;
129
- case "boolean":
130
- yield element ? "true" : "false";
131
- continue;
132
- case "string":
133
- case "number":
134
- yield JSON.stringify(element);
135
- continue;
136
- }
137
- if (element instanceof Date) {
138
- yield `"${element.toJSON()}"`;
139
- continue;
140
- }
141
- yield* this.recursiveGenerate(element, doneMap);
142
- }
143
- }
144
- yield `}`;
145
- }
146
- async init() {
147
- const n = "\n".charCodeAt(0);
148
- const s = this.socket = await new Promise((resolve, reject) => {
149
- const s1 = connect({ path: this.socketPath }, () => {
150
- resolve(s1);
151
- });
152
- });
153
- s.on("error", (error) => {
154
- console.error(error);
155
- });
156
- s.on("end", () => delete this.init);
157
- s.on("close", () => delete this.init);
158
- let buffer = null;
159
- s.on("data", (d) => {
160
- try {
161
- // console.log(d.toString("utf-8"));
162
- for (;;) {
163
- const i = d.indexOf(n);
164
- if (i === -1) {
165
- buffer = buffer ? Buffer.concat([buffer, d]) : d;
166
- return;
167
- }
168
- const prefix = d.subarray(0, i);
169
- const line = buffer ? Buffer.concat([buffer, prefix]) : prefix;
170
- const lineText = line.toString("utf-8");
171
- const parsed = JSON.parse(lineText);
172
- const { id, error } = parsed;
173
- const pending = this.pending.get(id);
174
- if (pending) {
175
- const { timeout } = pending;
176
- clearTimeout(timeout);
177
- this.pending.delete(id);
178
- if (error) {
179
- pending.reject(error);
180
- }
181
- else {
182
- pending.resolve(parsed);
183
- }
184
- }
185
- if (prefix.length === d.length) {
186
- buffer = null;
187
- break;
188
- }
189
- d = d.subarray(i + 1);
190
- }
191
- }
192
- catch (error) {
193
- console.error(error);
194
- }
195
- });
196
- setInterval(() => {
197
- this.sendCommand({ cmd: "ping" }, false).catch(console.error);
198
- }, 5000);
199
- const p = Promise.resolve();
200
- Object.defineProperty(this, "init", { value: () => p, configurable: true });
201
- }
202
- }
203
- //# sourceMappingURL=JsonClient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"JsonClient.js","sourceRoot":"","sources":["../../src/common/JsonClient.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- interface ILocalCacheClient {
2
- get(key: string): Promise<any>;
3
- delete(key: string): Promise<void>;
4
- set(key: string, value: string, ttl: any, maxAge: any): Promise<void>;
5
- clear(): any;
6
- }
7
- export declare class ObjectLocalCache<T> implements Disposable {
8
- private readonly bucketName;
9
- private readonly ttl?;
10
- private cache;
11
- constructor(bucketName: string, ttl?: any);
12
- for(name: keyof T): ILocalCacheClient;
13
- clear(name?: keyof T): void;
14
- [Symbol.dispose](): void;
15
- }
16
- export interface ILocalCacheContainer<T> {
17
- cache: ObjectLocalCache<T> | undefined;
18
- }
19
- export declare function localCache<T>(): any;
20
- export {};
21
- //# sourceMappingURL=LocalCache.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LocalCache.d.ts","sourceRoot":"","sources":["../../src/common/LocalCache.ts"],"names":[],"mappings":"AAKA,UAAU,iBAAiB;IACvB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAA,EAAE,MAAM,KAAA,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,KAAK,QAAG;CACX;AAuED,qBAAa,gBAAgB,CAAC,CAAC,CAAE,YAAW,UAAU;IAItC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAAU,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;IAFtE,OAAO,CAAC,KAAK,CAA0C;IAEvD,YAA6B,UAAU,EAAE,MAAM,EAAmB,GAAG,CAAC,KAAA,EAErE;IAED,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,qBAShB;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,QASnB;IAED,CAAC,MAAM,CAAC,OAAO,CAAC,SAIf;CACJ;AAED,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACnC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;CAC1C;AAGD,wBAAgB,UAAU,CAAC,CAAC,KAuBnB,GAAG,CACX"}
@@ -1,120 +0,0 @@
1
- import { globalEnv } from "./globalEnv.js";
2
- import JsonClient from "./JsonClient.js";
3
- const localCacheJsonClient = new JsonClient(globalEnv.localCache.port);
4
- class LocalCacheClient {
5
- constructor(bucket, ttlSeconds = 60, maxAge = 4) {
6
- this.bucket = bucket;
7
- this.ttlSeconds = ttlSeconds;
8
- this.maxAge = maxAge;
9
- }
10
- async get(key) {
11
- const r = await localCacheJsonClient.sendCommand({ cmd: "get", bucket: this.bucket, key });
12
- const value = r.value;
13
- if (!value) {
14
- return void 0;
15
- }
16
- return value.value;
17
- }
18
- async delete(key) {
19
- await localCacheJsonClient.sendCommand({ cmd: "delete", bucket: this.bucket, key });
20
- }
21
- async set(key, value, ttl = this.ttlSeconds, maxAge = this.maxAge) {
22
- await localCacheJsonClient.sendCommand({ cmd: "set", bucket: this.bucket, key, value: { value }, ttl, maxAge });
23
- }
24
- clear() {
25
- localCacheJsonClient.sendCommand({ cmd: "clear", bucket: this.bucket }).catch(console.error);
26
- }
27
- async getOrCreateAsync(key, factory) {
28
- let r = await this.get(key);
29
- if (r === void 0) {
30
- r = await factory(key);
31
- await this.set(key, r);
32
- }
33
- return r;
34
- }
35
- }
36
- class TestLocalCacheClient {
37
- constructor(...a) {
38
- this.map = new Map();
39
- // do nothing
40
- }
41
- async get(key) {
42
- return this.map.get(key);
43
- }
44
- async delete(key) {
45
- this.map.delete(key);
46
- }
47
- async set(key, value, ttl, maxAge) {
48
- this.map.set(key, value);
49
- }
50
- clear() {
51
- this.map.clear();
52
- }
53
- async getOrCreateAsync(key, factory) {
54
- let r = await this.get(key);
55
- if (r === void 0) {
56
- r = await factory(key);
57
- await this.set(key, r, 0, 0);
58
- }
59
- return r;
60
- }
61
- }
62
- export class ObjectLocalCache {
63
- constructor(bucketName, ttl) {
64
- this.bucketName = bucketName;
65
- this.ttl = ttl;
66
- this.cache = new Map();
67
- }
68
- for(name) {
69
- let tc = this.cache.get(name);
70
- if (!tc) {
71
- tc = globalEnv.isLocalTestMode
72
- ? new TestLocalCacheClient(`${this.bucketName}.${name}`, this.ttl)
73
- : new LocalCacheClient(`${this.bucketName}.${name}`, this.ttl);
74
- this.cache.set(name, tc);
75
- }
76
- return tc;
77
- }
78
- clear(name) {
79
- if (!name) {
80
- for (const element of this.cache.values()) {
81
- element.clear();
82
- }
83
- this.cache.clear();
84
- return;
85
- }
86
- this.cache.get(name)?.clear();
87
- }
88
- [Symbol.dispose]() {
89
- for (const element of this.cache.values()) {
90
- element.clear();
91
- }
92
- }
93
- }
94
- ;
95
- export function localCache() {
96
- return function (target, key) {
97
- const oldMethod = target[key];
98
- function value(...a) {
99
- const cache = (this.cache ??= new ObjectLocalCache(`${globalEnv.serverID}:${target.constructor.name}`)).for(key);
100
- const cacheKey = a.join();
101
- return cache.getOrCreateAsync(cacheKey, (k) => {
102
- const nv = oldMethod.apply(this, a);
103
- nv?.catch((error) => {
104
- console.error(`${key}(${cacheKey}) failed with`);
105
- console.error(error);
106
- cache.delete(cacheKey);
107
- });
108
- return nv;
109
- });
110
- }
111
- const d = {
112
- value,
113
- enumerable: true,
114
- configurable: true
115
- };
116
- Object.defineProperty(target, key, d);
117
- return d;
118
- };
119
- }
120
- //# sourceMappingURL=LocalCache.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LocalCache.js","sourceRoot":"","sources":["../../src/common/LocalCache.ts"],"names":[],"mappings":"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"}
@@ -1,228 +0,0 @@
1
- import { connect, Socket } from "node:net";
2
- import TimeoutError from "./errors/TimeoutError.js";
3
-
4
- let nextId = 1;
5
-
6
- export default class JsonClient {
7
-
8
- private socket: Socket;
9
-
10
- private pending = new Map<string,{ resolve, reject, timeout }>();
11
-
12
- constructor(private readonly socketPath: string) {
13
-
14
- }
15
-
16
- public async sendCommand<TIn = any, TOut = any>(msg: { cmd } & TIn, log = true): Promise<TOut> {
17
- await this.init();
18
- const id = (nextId++).toString(36);
19
- let resolve;
20
- let reject;
21
- const p = new Promise<TOut>((res, rej) => (resolve = res, reject = rej));
22
- const timeout = setTimeout(() => {
23
- this.pending.delete(id);
24
- reject(new TimeoutError());
25
- }, 15000);
26
- this.pending.set(id, { resolve, reject, timeout});
27
- (msg as any).id = id;
28
- let line = "";
29
- for (const text of this.recursiveGenerate(msg)) {
30
- line += text;
31
- }
32
- this.socket.write(`${line}\n`, (error) => error && console.error(error));
33
- // if (log) {
34
- // console.log(line);
35
- // }
36
- const v: any = await p;
37
- if(v?.value) {
38
- this.resolveReferences(v, new Map());
39
- }
40
- return v;
41
- }
42
-
43
- private resolveReferences(v, map: Map<any,any>) {
44
- if (!v) {
45
- return v;
46
- }
47
- if (Array.isArray(v)) {
48
- return v.map((i) => this.resolveReferences(i, map));
49
- }
50
- if (typeof v !== "object") {
51
- return v;
52
- }
53
- const { $ref, $id } = v;
54
- if ($ref) {
55
- return map.get($ref);
56
- }
57
- if ($id) {
58
- map.set($id, v);
59
- }
60
-
61
- for (const key in v) {
62
- if (!Object.hasOwn(v, key)) {
63
- continue;
64
- }
65
- v[key] = this.resolveReferences(v[key], map);
66
- }
67
- return v;
68
- }
69
-
70
- private *recursiveGenerate(model, doneMap: Map<any,any> = new Map()): Generator<any, any, any> {
71
-
72
- if (model === null) {
73
- yield "null";
74
- return;
75
- }
76
-
77
- if (model === void 0) {
78
- return;
79
- }
80
-
81
- switch(typeof model) {
82
- case "bigint":
83
- case "string":
84
- yield JSON.stringify(model.toString());
85
- return;
86
- case "number":
87
- yield model.toString();
88
- return;
89
- case "boolean":
90
- yield model ? "true" : "false";
91
- return;
92
- case "undefined":
93
- return;
94
- }
95
-
96
- if (model instanceof Date) {
97
- yield `"${model.toJSON()}"`;
98
- return;
99
- }
100
-
101
- let suffix = "";
102
-
103
- if (Array.isArray(model)) {
104
- yield "[";
105
- for (const element of model) {
106
- if (element === void 0) {
107
- continue;
108
- }
109
- if (suffix) {
110
- yield suffix;
111
- } else {
112
- suffix = ",";
113
- }
114
- yield * this.recursiveGenerate(element, doneMap);
115
- }
116
- yield "]";
117
- return;
118
- }
119
-
120
- let $id = doneMap.get(model);
121
- if ($id) {
122
- yield `{"$ref": ${$id}}`;
123
- return;
124
- }
125
- $id = doneMap.size + 1;
126
- doneMap.set(model, $id);
127
-
128
- yield `{"$id": ${$id}`;
129
- for (const key in model) {
130
- if (Object.hasOwn(model, key)) {
131
- const element = model[key];
132
- if (element === void 0) {
133
- continue;
134
- }
135
- yield ",";
136
- yield JSON.stringify(key);
137
- yield `:`;
138
- if (element === null) {
139
- yield "null";
140
- continue;
141
- }
142
- switch(typeof element) {
143
- case "bigint":
144
- yield JSON.stringify(element.toString());
145
- continue;
146
- case "boolean":
147
- yield element ? "true": "false";
148
- continue;
149
- case "string":
150
- case "number":
151
- yield JSON.stringify(element);
152
- continue;
153
- }
154
- if (element instanceof Date) {
155
- yield `"${element.toJSON()}"`;
156
- continue;
157
- }
158
- yield *this.recursiveGenerate(element, doneMap);
159
- }
160
- }
161
-
162
- yield `}`;
163
-
164
- }
165
-
166
- private async init() {
167
- const n = "\n".charCodeAt(0) as any;
168
- const s = this.socket = await new Promise<Socket>((resolve, reject) => {
169
- const s1 = connect({ path: this.socketPath }, () => {
170
- resolve(s1);
171
- });
172
- });
173
-
174
- s.on("error", (error) => {
175
- console.error(error);
176
- });
177
- s.on("end", () => delete this.init);
178
- s.on("close", () => delete this.init);
179
- let buffer = null as Buffer;
180
- s.on("data", (d: Buffer) => {
181
- try {
182
- // console.log(d.toString("utf-8"));
183
- for(;;) {
184
- const i = d.indexOf(n);
185
- if (i === -1) {
186
- buffer = buffer ? Buffer.concat([buffer, d]): d;
187
- return;
188
- }
189
- const prefix = d.subarray(0, i);
190
-
191
- const line = buffer ? Buffer.concat([buffer, prefix]) : prefix;
192
- const lineText = line.toString("utf-8");
193
- const parsed = JSON.parse(lineText);
194
- const { id, error } = parsed;
195
- const pending = this.pending.get(id);
196
- if (pending) {
197
- const { timeout} = pending;
198
- clearTimeout(timeout);
199
- this.pending.delete(id);
200
- if (error) {
201
- pending.reject(error);
202
- } else {
203
- pending.resolve(parsed);
204
- }
205
- }
206
- if (prefix.length === d.length) {
207
- buffer = null;
208
- break;
209
- }
210
- d = d.subarray(i+1);
211
- }
212
- } catch (error) {
213
- console.error(error);
214
- }
215
-
216
- });
217
-
218
- setInterval(() => {
219
-
220
- this.sendCommand({ cmd: "ping"}, false).catch(console.error);
221
-
222
- }, 5000);
223
-
224
- const p = Promise.resolve();
225
- Object.defineProperty(this, "init", { value: () => p, configurable: true});
226
- }
227
-
228
- }