@social-mail/social-mail-web-server 1.4.771 → 1.4.772

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/api/site/snapshot/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAC7E,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAO5D;;;;GAIG;AAEH,MAAM,CAAC,OAAO,MAAO,SAAQ,IAAI;IAG7B,OAAO,CAAC,EAAE,CAAoB;IAG9B,OAAO,CAAC,cAAc,CAAiB;IAGvC,OAAO,CAAC,YAAY,CAAe;IAGnC,OAAO,CAAC,WAAW,CAAqB;IAGxC,OAAO,CAAC,GAAG,CAAkB;IAEvB,GAAG;IA8CH,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG;CA+ChD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/api/site/snapshot/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAC7E,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAU5D;;;;GAIG;AAEH,MAAM,CAAC,OAAO,MAAO,SAAQ,IAAI;IAG7B,OAAO,CAAC,EAAE,CAAoB;IAG9B,OAAO,CAAC,cAAc,CAAiB;IAGvC,OAAO,CAAC,YAAY,CAAe;IAGnC,OAAO,CAAC,WAAW,CAAqB;IAGxC,OAAO,CAAC,GAAG,CAAkB;IAEvB,GAAG;IAwDH,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG;CA+ChD"}
@@ -19,6 +19,8 @@ import RateLimiterService from "../../../../../server/services/rate-limiter/Rate
19
19
  import TimeSpan from "@entity-access/entity-access/dist/types/TimeSpan.js";
20
20
  import CacheService from "../../../../../server/services/cache/CacheService.js";
21
21
  import { globalEnv } from "../../../../../common/globalEnv.js";
22
+ import TimedCache from "@entity-access/entity-access/dist/common/cache/TimedCache.js";
23
+ const cache = new TimedCache();
22
24
  /**
23
25
  * Snapshot url format
24
26
  *
@@ -31,12 +33,21 @@ export default class default_1 extends Page {
31
33
  this.db.verifyFilters = false;
32
34
  this.db.raiseEvents = false;
33
35
  const appFile = await this.getFile(siteID, fileContentID);
34
- const hosts = await this.db.websiteFolderHosts
35
- .where({ siteID }, (p) => (x) => x.folderID === p.siteID)
36
- .toArray();
37
- if (hosts.length) {
38
- const webHosts = hosts.map((x) => `https://${x.host}`);
39
- this.response.setHeader("Access-Control-Allow-Origin", [globalEnv.host, ...webHosts].join(","));
36
+ const hostName = this.request.hostName?.toLocaleLowerCase();
37
+ const cors = await cache.getOrCreateAsync(hostName, async (x1) => {
38
+ if (globalEnv.cdn === hostName || globalEnv.host === hostName) {
39
+ return "*";
40
+ }
41
+ const host = await this.db.websiteFolderHosts
42
+ .where({ siteID, hostName }, (p) => (x) => x.folderID === p.siteID && x.host === p.hostName)
43
+ .first();
44
+ if (host) {
45
+ return "*";
46
+ }
47
+ return null;
48
+ });
49
+ if (cors) {
50
+ this.response.setHeader("Access-Control-Allow-Origin", cors);
40
51
  }
41
52
  this.cacheControl = "public, max-age=2592000, immutable";
42
53
  let file = await this.tfs.downloadAppFile(appFile);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/api/site/snapshot/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/api/site/snapshot/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@social-mail/social-mail-web-server",
3
- "version": "1.4.771",
3
+ "version": "1.4.772",
4
4
  "description": "## Phase 1",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -11,6 +11,9 @@ import RateLimiterService from "../../../../../server/services/rate-limiter/Rate
11
11
  import TimeSpan from "@entity-access/entity-access/dist/types/TimeSpan.js";
12
12
  import CacheService from "../../../../../server/services/cache/CacheService.js";
13
13
  import { globalEnv } from "../../../../../common/globalEnv.js";
14
+ import TimedCache from "@entity-access/entity-access/dist/common/cache/TimedCache.js";
15
+
16
+ const cache = new TimedCache();
14
17
 
15
18
  /**
16
19
  * Snapshot url format
@@ -45,13 +48,23 @@ export default class extends Page {
45
48
 
46
49
  const appFile = await this.getFile(siteID, fileContentID);
47
50
 
48
- const hosts = await this.db.websiteFolderHosts
49
- .where({ siteID }, (p) => (x) => x.folderID === p.siteID)
50
- .toArray();
51
+ const hostName = this.request.hostName?.toLocaleLowerCase();
52
+
53
+ const cors = await cache.getOrCreateAsync(hostName, async (x1) => {
54
+ if (globalEnv.cdn === hostName || globalEnv.host === hostName) {
55
+ return "*";
56
+ }
57
+ const host = await this.db.websiteFolderHosts
58
+ .where({ siteID, hostName }, (p) => (x) => x.folderID === p.siteID && x.host === p.hostName)
59
+ .first();
60
+ if (host) {
61
+ return "*";
62
+ }
63
+ return null;
64
+ });
51
65
 
52
- if (hosts.length) {
53
- const webHosts = hosts.map((x) => `https://${x.host}`);
54
- this.response.setHeader("Access-Control-Allow-Origin", [ globalEnv.host, ... webHosts].join(","));
66
+ if (cors) {
67
+ this.response.setHeader("Access-Control-Allow-Origin", cors);
55
68
  }
56
69
 
57
70
  this.cacheControl = "public, max-age=2592000, immutable";