@social-mail/social-mail-web-server 1.5.114 → 1.5.116

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 (27) hide show
  1. package/dist/server/services/convert/FileConversionService.d.ts +12 -0
  2. package/dist/server/services/convert/FileConversionService.d.ts.map +1 -1
  3. package/dist/server/services/convert/FileConversionService.js +44 -1
  4. package/dist/server/services/convert/FileConversionService.js.map +1 -1
  5. package/dist/tsconfig.tsbuildinfo +1 -1
  6. package/dist/wwwroot/routes/api/channel/file/get.d.ts +9 -0
  7. package/dist/wwwroot/routes/api/channel/file/get.d.ts.map +1 -0
  8. package/dist/wwwroot/routes/api/channel/file/get.js +67 -0
  9. package/dist/wwwroot/routes/api/channel/file/get.js.map +1 -0
  10. package/dist/wwwroot/routes/api/emails/attachment/get.d.ts +8 -0
  11. package/dist/wwwroot/routes/api/emails/attachment/get.d.ts.map +1 -0
  12. package/dist/wwwroot/routes/api/emails/attachment/get.js +59 -0
  13. package/dist/wwwroot/routes/api/emails/attachment/get.js.map +1 -0
  14. package/dist/wwwroot/routes/api/emails/channel/content/attachment/index.d.ts +1 -0
  15. package/dist/wwwroot/routes/api/emails/channel/content/attachment/index.d.ts.map +1 -1
  16. package/dist/wwwroot/routes/api/emails/channel/content/attachment/index.js +9 -3
  17. package/dist/wwwroot/routes/api/emails/channel/content/attachment/index.js.map +1 -1
  18. package/dist/wwwroot/routes/api/files/get.d.ts +1 -2
  19. package/dist/wwwroot/routes/api/files/get.d.ts.map +1 -1
  20. package/dist/wwwroot/routes/api/files/get.js +11 -29
  21. package/dist/wwwroot/routes/api/files/get.js.map +1 -1
  22. package/package.json +1 -1
  23. package/src/server/services/convert/FileConversionService.ts +61 -1
  24. package/src/wwwroot/routes/api/channel/file/get.ts +70 -0
  25. package/src/wwwroot/routes/api/emails/attachment/get.ts +63 -0
  26. package/src/wwwroot/routes/api/emails/channel/content/attachment/index.ts +10 -4
  27. package/src/wwwroot/routes/api/files/get.ts +10 -23
@@ -1,8 +1,20 @@
1
1
  import { LocalFile } from "@entity-access/server-pages/dist/core/LocalFile.js";
2
+ import AppFile from "../../model/entities/AppFile.js";
3
+ interface IDownloadConvertedFile {
4
+ appFile: AppFile;
5
+ fileContentID?: number;
6
+ type: string;
7
+ fileName: string;
8
+ key?: string;
9
+ }
2
10
  export default class FileConversionService {
3
11
  private tempFileService;
12
+ private cacheService;
13
+ downloadConvertedFile({ appFile, fileContentID, type, fileName, key }: IDownloadConvertedFile): Promise<LocalFile>;
14
+ downloadFileContent(appFile: AppFile, fileContentID?: number): Promise<LocalFile>;
4
15
  pdf(file: LocalFile): Promise<LocalFile>;
5
16
  html(file: LocalFile): Promise<LocalFile>;
6
17
  webm(file: LocalFile): Promise<LocalFile>;
7
18
  }
19
+ export {};
8
20
  //# sourceMappingURL=FileConversionService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileConversionService.d.ts","sourceRoot":"","sources":["../../../../src/server/services/convert/FileConversionService.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,oDAAoD,CAAC;AAM/E,MAAM,CAAC,OAAO,OAAO,qBAAqB;IAGtC,OAAO,CAAC,eAAe,CAAkB;IAEnC,GAAG,CAAC,IAAI,EAAE,SAAS;IAUnB,IAAI,CAAC,IAAI,EAAE,SAAS;IAiCpB,IAAI,CAAC,IAAI,EAAE,SAAS;CAW7B"}
1
+ {"version":3,"file":"FileConversionService.d.ts","sourceRoot":"","sources":["../../../../src/server/services/convert/FileConversionService.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,oDAAoD,CAAC;AAI/E,OAAO,OAAO,MAAM,iCAAiC,CAAC;AAMtD,UAAU,sBAAsB;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,CAAC,OAAO,OAAO,qBAAqB;IAGtC,OAAO,CAAC,eAAe,CAAkB;IAGzC,OAAO,CAAC,YAAY,CAAe;IAE7B,qBAAqB,CAAC,EAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,GAA0D,EAAE,EAAE,sBAAsB;IAgCnJ,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,MAAM;IAY5D,GAAG,CAAC,IAAI,EAAE,SAAS;IAUnB,IAAI,CAAC,IAAI,EAAE,SAAS;IAiCpB,IAAI,CAAC,IAAI,EAAE,SAAS;CAW7B"}
@@ -7,12 +7,51 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
- import Inject, { RegisterScoped } from "@entity-access/entity-access/dist/di/di.js";
10
+ import Inject, { RegisterScoped, ServiceProvider } from "@entity-access/entity-access/dist/di/di.js";
11
11
  import TempFileService from "../../storage/TempFileService.js";
12
12
  import { Convert } from "./Convert.js";
13
13
  import PdfDoc from "../extract/pdf/PdfDoc.js";
14
14
  import FFCommand from "./FFCommand.js";
15
+ import TimeSpan from "@entity-access/entity-access/dist/types/TimeSpan.js";
16
+ import CacheService from "../cache/CacheService.js";
17
+ import ImageConverterService from "../image-converter/ImageConverterService.js";
18
+ import SocialMailContext from "../../model/SocialMailContext.js";
15
19
  let FileConversionService = class FileConversionService {
20
+ async downloadConvertedFile({ appFile, fileContentID, type, fileName, key = `/file/${type}/${appFile.fileContentID}/${fileName}` }) {
21
+ let file;
22
+ const ttl = TimeSpan.fromDays(30);
23
+ // transform here...
24
+ if (/^(size|jpg|png|webp|gif|face\-circle)\(/i.test(type)) {
25
+ return await this.cacheService.get({ key, ttl,
26
+ factory: async () => {
27
+ file = await this.downloadFileContent(appFile, fileContentID);
28
+ // resize...
29
+ const ics = ServiceProvider.resolve(this, ImageConverterService);
30
+ return await ics.transform(type, file, fileName);
31
+ }
32
+ });
33
+ }
34
+ if (/^(pdf|html|webm)$/i.test(type)) {
35
+ return await this.cacheService.get({ key, ttl,
36
+ factory: async () => {
37
+ file = await this.downloadFileContent(appFile, fileContentID);
38
+ const ics = this;
39
+ return await ics[type.toLowerCase()](file, fileName);
40
+ }
41
+ });
42
+ }
43
+ return await this.downloadFileContent(appFile, fileContentID);
44
+ }
45
+ async downloadFileContent(appFile, fileContentID) {
46
+ if (!fileContentID || fileContentID === appFile.fileContentID) {
47
+ return this.tempFileService.downloadAppFile(appFile);
48
+ }
49
+ const db = ServiceProvider.resolve(this, SocialMailContext);
50
+ const fc = await db.fileContents
51
+ .where({ fileContentID }, (p) => (x) => x.fileContentID === p.fileContentID)
52
+ .firstOrFail();
53
+ return this.tempFileService.downloadFileContent(fc, appFile);
54
+ }
16
55
  async pdf(file) {
17
56
  if (/pdf/i.test(file.contentType) || /\.pdf$/i.test(file.fileName)) {
18
57
  return file;
@@ -60,6 +99,10 @@ __decorate([
60
99
  Inject,
61
100
  __metadata("design:type", TempFileService)
62
101
  ], FileConversionService.prototype, "tempFileService", void 0);
102
+ __decorate([
103
+ Inject,
104
+ __metadata("design:type", CacheService)
105
+ ], FileConversionService.prototype, "cacheService", void 0);
63
106
  FileConversionService = __decorate([
64
107
  RegisterScoped
65
108
  ], FileConversionService);
@@ -1 +1 @@
1
- {"version":3,"file":"FileConversionService.js","sourceRoot":"","sources":["../../../../src/server/services/convert/FileConversionService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FileConversionService.js","sourceRoot":"","sources":["../../../../src/server/services/convert/FileConversionService.ts"],"names":[],"mappings":"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"}