@social-mail/social-mail-web-server 1.7.547 → 1.7.549

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 (37) hide show
  1. package/dist/server/model/entities/StoreItem.d.ts.map +1 -1
  2. package/dist/server/model/entities/StoreItem.js.map +1 -1
  3. package/dist/server/model/entities/StoreMediaFile.d.ts.map +1 -1
  4. package/dist/server/model/entities/StoreMediaFile.js.map +1 -1
  5. package/dist/server/model/events/StoreItemEvents.d.ts +4 -1
  6. package/dist/server/model/events/StoreItemEvents.d.ts.map +1 -1
  7. package/dist/server/model/events/StoreItemEvents.js +6 -6
  8. package/dist/server/model/events/StoreItemEvents.js.map +1 -1
  9. package/dist/server/model/events/StoreMediaFileEvents.d.ts +2 -2
  10. package/dist/server/model/events/StoreMediaFileEvents.d.ts.map +1 -1
  11. package/dist/server/model/events/StoreMediaFileEvents.js +9 -46
  12. package/dist/server/model/events/StoreMediaFileEvents.js.map +1 -1
  13. package/dist/server/services/SignerService.d.ts +1 -15
  14. package/dist/server/services/SignerService.d.ts.map +1 -1
  15. package/dist/server/services/SignerService.js +46 -54
  16. package/dist/server/services/SignerService.js.map +1 -1
  17. package/dist/tsconfig.tsbuildinfo +1 -1
  18. package/dist/wwwroot/routes/api/signed/get1.d.ts +2 -0
  19. package/dist/wwwroot/routes/api/signed/get1.d.ts.map +1 -0
  20. package/dist/wwwroot/routes/api/signed/get1.js +68 -0
  21. package/dist/wwwroot/routes/api/signed/get1.js.map +1 -0
  22. package/dist/wwwroot/routes/social-mail/sd/[type]/[publicFolderID]/[fileID]/index.d.ts.map +1 -1
  23. package/dist/wwwroot/routes/social-mail/sd/[type]/[publicFolderID]/[fileID]/index.js +2 -1
  24. package/dist/wwwroot/routes/social-mail/sd/[type]/[publicFolderID]/[fileID]/index.js.map +1 -1
  25. package/package.json +2 -2
  26. package/src/server/model/entities/StoreItem.ts +0 -4
  27. package/src/server/model/entities/StoreMediaFile.ts +0 -3
  28. package/src/server/model/events/StoreItemEvents.ts +7 -7
  29. package/src/server/model/events/StoreMediaFileEvents.ts +8 -46
  30. package/src/server/services/SignerService.ts +45 -45
  31. package/src/wwwroot/routes/api/signed/get1.tsx +79 -0
  32. package/src/wwwroot/routes/social-mail/sd/[type]/[publicFolderID]/[fileID]/index.ts +3 -1
  33. package/dist/wwwroot/routes/api/signed/get.d.ts +0 -10
  34. package/dist/wwwroot/routes/api/signed/get.d.ts.map +0 -1
  35. package/dist/wwwroot/routes/api/signed/get.js +0 -81
  36. package/dist/wwwroot/routes/api/signed/get.js.map +0 -1
  37. package/src/wwwroot/routes/api/signed/get.tsx +0 -80
@@ -1,80 +0,0 @@
1
- import Inject, { ServiceProvider } from "@entity-access/entity-access/dist/di/di.js";
2
- import SocialMailContext from "../../../../server/model/SocialMailContext.js";
3
- import TempFileService from "../../../../server/storage/TempFileService.js";
4
- import ImageConverterService from "../../../../server/services/image-converter/ImageConverterService.js";
5
- import { TempFileResult } from "@entity-access/server-pages/dist/Content.js";
6
- import Page from "@entity-access/server-pages/dist/Page.js";
7
- import CacheService from "../../../../server/services/cache/CacheService.js";
8
- import TimeSpan from "@entity-access/entity-access/dist/types/TimeSpan.js";
9
- import FileConversionService from "../../../../server/services/convert/FileConversionService.js";
10
- import SignerService from "../../../../server/services/SignerService.js";
11
- import AppFile from "../../../../server/model/entities/AppFile.js";
12
-
13
- export default class extends Page {
14
-
15
- @Inject
16
- private tfs: TempFileService;
17
-
18
- @Inject
19
- private cacheService: CacheService;
20
-
21
- @Inject
22
- private db: SocialMailContext;
23
-
24
- @Inject
25
- private signerService: SignerService;
26
-
27
- async run() {
28
-
29
- const type = this.childPath[0];
30
- // we will not convert as BigInt might have loss of data
31
- const fileID = this.childPath[1] as unknown as number;
32
- const fileContentID = this.childPath[2] as unknown as number;
33
- const signature = this.childPath[3];
34
- const expiry = this.childPath[4];
35
-
36
- // verify hash ....
37
- this.signerService.signer<AppFile>().verify({ appFileID: fileID , fileContentID }, signature, expiry);
38
-
39
- this.db.verifyFilters = true;
40
- const fc = await this.db.appFiles
41
- .where({ fileID, fileContentID },
42
- (p) => (x) => x.fileContentID === p.fileContentID
43
- && x.appFileID === p.fileID)
44
- .include((x) => x.fileContent)
45
- .firstOrFail();
46
- this.db.verifyFilters = false;
47
- this.db.raiseEvents = false;
48
- this.cacheControl = "public, max-age=2592000, immutable";
49
- let file = await this.tfs.downloadFileContent(fc.fileContent, fc);
50
-
51
- const key = this.request.path;
52
-
53
- const ttl = TimeSpan.fromDays(30);
54
-
55
- // transform here...
56
- if (/^(size|jpg|png|webp|gif|face\-circle)\(/i.test(type)) {
57
- file = await this.cacheService.get({ key, ttl, factory: async () => {
58
- // resize...
59
- const ics = ServiceProvider.resolve(this, ImageConverterService);
60
- return await ics.transform(type, file, this.childPath[this.childPath.length-1] );
61
- } });
62
- } else if (/^(pdf|html|webm)$/i.test(type)) {
63
- file = await this.cacheService.get({ key, ttl, factory: async () => {
64
- const ics = ServiceProvider.resolve(this, FileConversionService);
65
- return await ics[type.toLowerCase()](file, this.childPath[this.childPath.length-1] );
66
- } });
67
- }
68
-
69
- return new TempFileResult(
70
- file,
71
- {
72
- contentDisposition: type === "download"
73
- ? "attachment"
74
- : "inline",
75
- immutable: true,
76
- etag: false
77
- }
78
- );
79
- }
80
- }