@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.
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/wwwroot/routes/api/site/asset/index.d.ts.map +1 -1
- package/dist/wwwroot/routes/api/site/asset/index.js +7 -7
- package/dist/wwwroot/routes/api/site/asset/index.js.map +1 -1
- package/package.json +1 -1
- package/src/wwwroot/routes/api/site/asset/index.ts +9 -6
|
@@ -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;
|
|
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
|
|
29
|
-
.firstOrFail();
|
|
28
|
+
const path = `${siteID}/%`;
|
|
30
29
|
const fileVersion = await this.db.fileVersions
|
|
31
|
-
.where({ assetID, fileContentID }, (p) => (x) => x.fileID === p.assetID
|
|
32
|
-
.
|
|
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
|
-
|
|
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":";;;;;;;;;AAAA,OAAO,MAAM,EAAE,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,iBAAiB,MAAM,kDAAkD,CAAC;AACjF,OAAO,cAAc,MAAM,wDAAwD,CAAC;AACpF,OAAO,eAAe,MAAM,kDAAkD,CAAC;
|
|
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
|
@@ -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
|
-
|
|
40
|
-
|
|
40
|
+
|
|
41
|
+
const path = `${siteID}/%`;
|
|
41
42
|
|
|
42
43
|
const fileVersion = await this.db.fileVersions
|
|
43
|
-
.where({ assetID, fileContentID }, (p) => (x) =>
|
|
44
|
-
|
|
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
|
-
|
|
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)) {
|