@social-mail/social-mail-web-server 1.5.115 → 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.
@@ -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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"}