@social-mail/social-mail-web-server 1.4.765 → 1.4.766

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/asset/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAC7E,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAI5D,MAAM,CAAC,OAAO,MAAO,SAAQ,IAAI;IAG7B,OAAO,CAAC,EAAE,CAAoB;IAI9B,OAAO,CAAC,YAAY,CAAe;IAGnC,OAAO,CAAC,cAAc,CAAiB;IAGvC,OAAO,CAAC,WAAW,CAAqB;IAGxC,OAAO,CAAC,GAAG,CAAkB;IAEvB,GAAG;CAiDZ"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/api/site/asset/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAC7E,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAK5D,MAAM,CAAC,OAAO,MAAO,SAAQ,IAAI;IAG7B,OAAO,CAAC,EAAE,CAAoB;IAI9B,OAAO,CAAC,YAAY,CAAe;IAGnC,OAAO,CAAC,cAAc,CAAiB;IAGvC,OAAO,CAAC,WAAW,CAAqB;IAGxC,OAAO,CAAC,GAAG,CAAkB;IAEvB,GAAG;CAmDZ"}
@@ -11,13 +11,13 @@ import Inject, { ServiceProvider } from "@entity-access/entity-access/dist/di/di
11
11
  import SocialMailContext from "../../../../../server/model/SocialMailContext.js";
12
12
  import WebSiteService from "../../../../../server/services/files/WebSiteService.js";
13
13
  import TempFileService from "../../../../../server/storage/TempFileService.js";
14
- import mime from "mime-types";
15
14
  import ImageConverterService from "../../../../../server/services/image-converter/ImageConverterService.js";
16
15
  import { TempFileResult } from "@entity-access/server-pages/dist/Content.js";
17
16
  import Page from "@entity-access/server-pages/dist/Page.js";
18
17
  import RateLimiterService from "../../../../../server/services/rate-limiter/RateLimiterService.js";
19
18
  import CacheService from "../../../../../server/services/cache/CacheService.js";
20
19
  import TimeSpan from "@entity-access/entity-access/dist/types/TimeSpan.js";
20
+ import Sql from "@entity-access/entity-access/dist/sql/Sql.js";
21
21
  export default class default_1 extends Page {
22
22
  async run() {
23
23
  const [type, siteID, assetID, fileContentID, fileName] = this.childPath;
@@ -25,19 +25,19 @@ export default class default_1 extends Page {
25
25
  // draft is only visible to logged in user
26
26
  this.db.verifyFilters = false;
27
27
  this.db.raiseEvents = false;
28
- const site = await this.db.websiteFolders.where({ siteID }, (p) => (x) => x.folderID === p.siteID)
29
- .firstOrFail();
28
+ const path = `${siteID}/%`;
30
29
  const fileVersion = await this.db.fileVersions
31
- .where({ assetID, fileContentID }, (p) => (x) => x.fileID === p.assetID && x.fileContentID === p.fileContentID)
32
- .include((x) => x.fileContent)
30
+ .where({ assetID, fileContentID, path }, (p) => (x) => x.fileID === p.assetID
31
+ && x.fileContentID === p.fileContentID
32
+ && Sql.text.like(x.file.path, p.path))
33
+ .include((x) => [x.fileContent, x.file])
33
34
  .first();
34
35
  if (!fileVersion) {
35
36
  return this.notFound();
36
37
  }
37
38
  const { fileContent } = fileVersion;
38
39
  this.cacheControl = "public, max-age=2592000, immutable";
39
- const contentType = mime.lookup(fileName) || "application/octet-data";
40
- let file = await this.tfs.downloadFileContent(fileContent, { name: fileName, contentType });
40
+ let file = await this.tfs.downloadFileContent(fileContent, fileVersion.file);
41
41
  // transform here...
42
42
  if (/^(size|jpg|png|webp|gif|face\-circle)\(/i.test(type)) {
43
43
  // resize...
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/api/site/asset/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/api/site/asset/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.765",
3
+ "version": "1.4.766",
4
4
  "description": "## Phase 1",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -9,6 +9,7 @@ import Page from "@entity-access/server-pages/dist/Page.js";
9
9
  import RateLimiterService from "../../../../../server/services/rate-limiter/RateLimiterService.js";
10
10
  import CacheService from "../../../../../server/services/cache/CacheService.js";
11
11
  import TimeSpan from "@entity-access/entity-access/dist/types/TimeSpan.js";
12
+ import Sql from "@entity-access/entity-access/dist/sql/Sql.js";
12
13
  export default class extends Page {
13
14
 
14
15
  @Inject
@@ -36,20 +37,22 @@ export default class extends Page {
36
37
  // draft is only visible to logged in user
37
38
  this.db.verifyFilters = false;
38
39
  this.db.raiseEvents = false;
39
- const site = await this.db.websiteFolders.where({ siteID }, (p) => (x) => x.folderID === p.siteID)
40
- .firstOrFail();
40
+
41
+ const path = `${siteID}/%`;
41
42
 
42
43
  const fileVersion = await this.db.fileVersions
43
- .where({ assetID, fileContentID }, (p) => (x) => x.fileID === p.assetID && x.fileContentID === p.fileContentID)
44
- .include((x) => x.fileContent)
44
+ .where({ assetID, fileContentID, path }, (p) => (x) =>
45
+ x.fileID === p.assetID
46
+ && x.fileContentID === p.fileContentID
47
+ && Sql.text.like(x.file.path, p.path))
48
+ .include((x) => [x.fileContent, x.file])
45
49
  .first();
46
50
  if (!fileVersion) {
47
51
  return this.notFound();
48
52
  }
49
53
  const { fileContent } = fileVersion;
50
54
  this.cacheControl = "public, max-age=2592000, immutable";
51
- const contentType = mime.lookup(fileName) || "application/octet-data";
52
- let file = await this.tfs.downloadFileContent(fileContent, { name: fileName, contentType });
55
+ let file = await this.tfs.downloadFileContent(fileContent, fileVersion.file);
53
56
 
54
57
  // transform here...
55
58
  if (/^(size|jpg|png|webp|gif|face\-circle)\(/i.test(type)) {