@hed-hog/core 0.0.360 → 0.0.362

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 (153) hide show
  1. package/dist/access-log/access-log.controller.d.ts +1 -1
  2. package/dist/access-log/access-log.service.d.ts +1 -1
  3. package/dist/access-log/access-log.service.d.ts.map +1 -1
  4. package/dist/access-log/access-log.service.js +43 -1
  5. package/dist/access-log/access-log.service.js.map +1 -1
  6. package/dist/ai/ai.service.d.ts +1 -1
  7. package/dist/auth/auth.controller.d.ts +27 -26
  8. package/dist/auth/auth.controller.d.ts.map +1 -1
  9. package/dist/auth/auth.controller.js +6 -2
  10. package/dist/auth/auth.controller.js.map +1 -1
  11. package/dist/auth/auth.service.d.ts +35 -34
  12. package/dist/auth/auth.service.d.ts.map +1 -1
  13. package/dist/auth/auth.service.js +15 -5
  14. package/dist/auth/auth.service.js.map +1 -1
  15. package/dist/auth/guards/auth.guard.d.ts +1 -0
  16. package/dist/auth/guards/auth.guard.d.ts.map +1 -1
  17. package/dist/auth/guards/auth.guard.js +11 -4
  18. package/dist/auth/guards/auth.guard.js.map +1 -1
  19. package/dist/challenge/challenge.service.d.ts +12 -12
  20. package/dist/core/system.controller.d.ts +2 -2
  21. package/dist/core/system.service.d.ts +2 -2
  22. package/dist/dashboard/dashboard/dashboard.controller.d.ts +66 -66
  23. package/dist/dashboard/dashboard/dashboard.service.d.ts +66 -66
  24. package/dist/dashboard/dashboard-component/dashboard-component.controller.d.ts +26 -26
  25. package/dist/dashboard/dashboard-component/dashboard-component.service.d.ts +26 -26
  26. package/dist/dashboard/dashboard-component-role/dashboard-component-role.controller.d.ts +34 -34
  27. package/dist/dashboard/dashboard-component-role/dashboard-component-role.service.d.ts +34 -34
  28. package/dist/dashboard/dashboard-core/dashboard-core.controller.d.ts +8 -8
  29. package/dist/dashboard/dashboard-core/dashboard-core.service.d.ts +8 -8
  30. package/dist/dashboard/dashboard-item/dashboard-item.controller.d.ts +5 -5
  31. package/dist/dashboard/dashboard-item/dashboard-item.service.d.ts +5 -5
  32. package/dist/dashboard/dashboard-role/dashboard-role.controller.d.ts +25 -25
  33. package/dist/dashboard/dashboard-role/dashboard-role.service.d.ts +25 -25
  34. package/dist/file/file.controller.d.ts +6 -6
  35. package/dist/file/file.module.d.ts.map +1 -1
  36. package/dist/file/file.module.js +3 -2
  37. package/dist/file/file.module.js.map +1 -1
  38. package/dist/file/file.service.d.ts +121 -25
  39. package/dist/file/file.service.d.ts.map +1 -1
  40. package/dist/file/file.service.js +217 -32
  41. package/dist/file/file.service.js.map +1 -1
  42. package/dist/file/image-optimization.service.d.ts +20 -0
  43. package/dist/file/image-optimization.service.d.ts.map +1 -0
  44. package/dist/file/image-optimization.service.js +126 -0
  45. package/dist/file/image-optimization.service.js.map +1 -0
  46. package/dist/file/provider/local.provider.d.ts +1 -1
  47. package/dist/file/provider/local.provider.d.ts.map +1 -1
  48. package/dist/file/provider/local.provider.js +2 -9
  49. package/dist/file/provider/local.provider.js.map +1 -1
  50. package/dist/index.d.ts +1 -0
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +1 -0
  53. package/dist/index.js.map +1 -1
  54. package/dist/integration-profile/integration-profile.controller.d.ts +15 -15
  55. package/dist/integration-profile/integration-profile.service.d.ts +15 -15
  56. package/dist/locale/locale.controller.d.ts +4 -4
  57. package/dist/locale/locale.service.d.ts +4 -4
  58. package/dist/mail/mail.controller.d.ts +7 -7
  59. package/dist/mail/mail.service.d.ts +7 -7
  60. package/dist/mail-sent/mail-sent.controller.d.ts +12 -12
  61. package/dist/mail-sent/mail-sent.service.d.ts +12 -12
  62. package/dist/mcp/mcp-api-key.controller.d.ts +2 -2
  63. package/dist/mcp/mcp-api-key.service.d.ts +2 -2
  64. package/dist/mcp/tools/core-users.mcp-tools.d.ts +1 -1
  65. package/dist/mcp/tools/core-users.mcp-tools.d.ts.map +1 -1
  66. package/dist/mcp/tools/core-users.mcp-tools.js +2 -2
  67. package/dist/mcp/tools/core-users.mcp-tools.js.map +1 -1
  68. package/dist/mcp-chat/mcp-chat.controller.d.ts +8 -8
  69. package/dist/mcp-chat/mcp-chat.service.d.ts +8 -8
  70. package/dist/menu/menu.controller.d.ts +10 -10
  71. package/dist/menu/menu.service.d.ts +10 -10
  72. package/dist/notification/notification.controller.d.ts +36 -36
  73. package/dist/notification/notification.service.d.ts +36 -36
  74. package/dist/profile/profile.controller.d.ts +16 -16
  75. package/dist/profile/profile.service.d.ts +16 -16
  76. package/dist/profile/profile.service.d.ts.map +1 -1
  77. package/dist/profile/profile.service.js +44 -23
  78. package/dist/profile/profile.service.js.map +1 -1
  79. package/dist/role/role.controller.d.ts +6 -6
  80. package/dist/role/role.service.d.ts +6 -6
  81. package/dist/screen/screen.controller.d.ts +3 -3
  82. package/dist/screen/screen.service.d.ts +3 -3
  83. package/dist/session/session.controller.d.ts +2 -2
  84. package/dist/session/session.service.d.ts +6 -6
  85. package/dist/session/session.service.d.ts.map +1 -1
  86. package/dist/session/session.service.js +7 -2
  87. package/dist/session/session.service.js.map +1 -1
  88. package/dist/setting/setting.controller.d.ts +18 -18
  89. package/dist/setting/setting.service.d.ts +18 -18
  90. package/dist/setting/setting.service.d.ts.map +1 -1
  91. package/dist/setting/setting.service.js +0 -1
  92. package/dist/setting/setting.service.js.map +1 -1
  93. package/dist/token/token.service.d.ts +1 -0
  94. package/dist/token/token.service.d.ts.map +1 -1
  95. package/dist/token/token.service.js +23 -6
  96. package/dist/token/token.service.js.map +1 -1
  97. package/dist/user/user.controller.d.ts +30 -30
  98. package/dist/user/user.controller.d.ts.map +1 -1
  99. package/dist/user/user.controller.js +4 -3
  100. package/dist/user/user.controller.js.map +1 -1
  101. package/dist/user/user.service.d.ts +68 -68
  102. package/dist/user/user.service.d.ts.map +1 -1
  103. package/dist/user/user.service.js +6 -6
  104. package/dist/user/user.service.js.map +1 -1
  105. package/dist/webhook-integration/webhook-integration.controller.d.ts +2 -2
  106. package/dist/webhook-integration/webhook-integration.service.d.ts +2 -2
  107. package/hedhog/data/route.yaml +2 -0
  108. package/hedhog/data/setting_group.yaml +117 -26
  109. package/hedhog/data/setting_subgroup.yaml +8 -0
  110. package/hedhog/frontend/app/access-log/page.tsx.ejs +170 -11
  111. package/hedhog/frontend/app/account/components/remove-mfa-dialog.tsx.ejs +1 -1
  112. package/hedhog/frontend/app/account/components/verify-before-add-dialog.tsx.ejs +1 -1
  113. package/hedhog/frontend/app/configurations/[slug]/components/setting-field.tsx.ejs +113 -38
  114. package/hedhog/frontend/app/users/page.tsx.ejs +7 -7
  115. package/hedhog/frontend/app/users/permissions.tsx.ejs +137 -83
  116. package/hedhog/frontend/app/users/user-access-sheet.tsx.ejs +28 -26
  117. package/hedhog/frontend/app/users/user-sheet.tsx.ejs +207 -75
  118. package/hedhog/frontend/messages/en.json +9 -2
  119. package/hedhog/frontend/messages/pt.json +9 -2
  120. package/hedhog/table/setting_runtime_state.yaml +9 -0
  121. package/package.json +12 -6
  122. package/src/access-log/access-log.service.ts +19 -1
  123. package/src/auth/auth.controller.ts +5 -0
  124. package/src/auth/auth.service.ts +14 -4
  125. package/src/auth/guards/auth.guard.ts +10 -3
  126. package/src/file/file.module.ts +3 -2
  127. package/src/file/file.service.ts +448 -46
  128. package/src/file/image-optimization.service.ts +123 -0
  129. package/src/file/provider/local.provider.ts +2 -9
  130. package/src/index.ts +1 -0
  131. package/src/mcp/tools/core-users.mcp-tools.ts +267 -267
  132. package/src/profile/profile.service.ts +40 -22
  133. package/src/session/session.service.ts +10 -2
  134. package/src/setting/setting.service.ts +0 -1
  135. package/src/token/token.service.ts +26 -6
  136. package/src/user/user.controller.ts +5 -2
  137. package/src/user/user.service.ts +11 -8
  138. package/dist/menu/menu.service.spec.d.ts +0 -1
  139. package/dist/menu/menu.service.spec.d.ts.map +0 -1
  140. package/dist/menu/menu.service.spec.js +0 -208
  141. package/dist/menu/menu.service.spec.js.map +0 -1
  142. package/dist/route/route.service.spec.d.ts +0 -1
  143. package/dist/route/route.service.spec.d.ts.map +0 -1
  144. package/dist/route/route.service.spec.js +0 -262
  145. package/dist/route/route.service.spec.js.map +0 -1
  146. package/dist/screen/screen.service.spec.d.ts +0 -1
  147. package/dist/screen/screen.service.spec.d.ts.map +0 -1
  148. package/dist/screen/screen.service.spec.js +0 -259
  149. package/dist/screen/screen.service.spec.js.map +0 -1
  150. package/dist/user/user.service.spec.d.ts +0 -1
  151. package/dist/user/user.service.spec.d.ts.map +0 -1
  152. package/dist/user/user.service.spec.js +0 -261
  153. package/dist/user/user.service.spec.js.map +0 -1
@@ -14,6 +14,9 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
14
14
  var FileService_1;
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
16
  exports.FileService = void 0;
17
+ const client_s3_1 = require("@aws-sdk/client-s3");
18
+ const client_lambda_1 = require("@aws-sdk/client-lambda");
19
+ const client_sts_1 = require("@aws-sdk/client-sts");
17
20
  const api_locale_1 = require("@hed-hog/api-locale");
18
21
  const api_pagination_1 = require("@hed-hog/api-pagination");
19
22
  const api_prisma_1 = require("@hed-hog/api-prisma");
@@ -24,6 +27,7 @@ const path_1 = require("path");
24
27
  const promises_1 = require("stream/promises");
25
28
  const integration_profile_utils_1 = require("../integration-profile/integration-profile.utils");
26
29
  const setting_service_1 = require("../setting/setting.service");
30
+ const image_optimization_service_1 = require("./image-optimization.service");
27
31
  const provider_factory_1 = require("./provider/provider.factory");
28
32
  let FileService = FileService_1 = class FileService {
29
33
  resolveProviderPath(file) {
@@ -46,11 +50,12 @@ let FileService = FileService_1 = class FileService {
46
50
  const decoded = Buffer.from(filename, 'latin1').toString('utf8');
47
51
  return this.hasMojibake(decoded) ? filename : decoded;
48
52
  }
49
- constructor(prismaService, paginationService, settingService, jwtService) {
53
+ constructor(prismaService, paginationService, settingService, jwtService, imageOptimizationService) {
50
54
  this.prismaService = prismaService;
51
55
  this.paginationService = paginationService;
52
56
  this.settingService = settingService;
53
57
  this.jwtService = jwtService;
58
+ this.imageOptimizationService = imageOptimizationService;
54
59
  this.logger = new common_1.Logger(FileService_1.name);
55
60
  this.mimetypes = {};
56
61
  }
@@ -295,16 +300,17 @@ let FileService = FileService_1 = class FileService {
295
300
  throw new common_1.BadRequestException(`File too large: ${fileBuffer.size} bytes`);
296
301
  }
297
302
  const normalizedFilename = this.normalizeUploadedFilename(fileBuffer.originalname);
298
- const normalizedFile = Object.assign(Object.assign({}, fileBuffer), { originalname: normalizedFilename });
303
+ const optimized = await this.imageOptimizationService.optimizeBuffer(fileBuffer.buffer, fileBuffer.mimetype, normalizedFilename);
304
+ const normalizedFile = Object.assign(Object.assign({}, fileBuffer), { buffer: optimized.buffer, mimetype: optimized.mimetype, originalname: optimized.originalname, size: optimized.buffer.length });
299
305
  const url = await provider.upload(destination, normalizedFile);
300
306
  const file = await this.prismaService.file.create({
301
307
  data: {
302
- filename: normalizedFilename,
308
+ filename: optimized.originalname,
303
309
  path: url,
304
310
  provider_id: this.providerId,
305
311
  location: destination,
306
- mimetype_id: await this.getMimeType(fileBuffer.mimetype),
307
- size: fileBuffer.size,
312
+ mimetype_id: await this.getMimeType(optimized.mimetype),
313
+ size: optimized.buffer.length,
308
314
  },
309
315
  });
310
316
  return file;
@@ -330,38 +336,29 @@ let FileService = FileService_1 = class FileService {
330
336
  if (!(await this.maxFileSize(size))) {
331
337
  throw new common_1.BadRequestException(`File too large: ${size} bytes`);
332
338
  }
339
+ // Read buffer to allow image optimization regardless of provider support
340
+ const rawBuffer = await fs_1.promises.readFile(filePath);
341
+ const optimized = await this.imageOptimizationService.optimizeBuffer(rawBuffer, mimetype, originalname);
333
342
  const provider = await this.getProvider();
334
- const providerWithPathUpload = provider;
335
- let url;
336
- if (typeof providerWithPathUpload.uploadFromPath === 'function') {
337
- url = await providerWithPathUpload.uploadFromPath(destination, filePath, {
338
- filename: originalname,
339
- mimetype,
340
- });
341
- }
342
- else {
343
- // Fallback explícito para providers legados sem suporte nativo por path.
344
- const buffer = await fs_1.promises.readFile(filePath);
345
- url = await provider.upload(destination, {
346
- fieldname: 'file',
347
- originalname,
348
- encoding: (_e = metadata === null || metadata === void 0 ? void 0 : metadata.encoding) !== null && _e !== void 0 ? _e : '7bit',
349
- mimetype,
350
- size,
351
- destination: '',
352
- filename: originalname,
353
- path: filePath,
354
- buffer,
355
- });
356
- }
343
+ const url = await provider.upload(destination, {
344
+ fieldname: 'file',
345
+ originalname: optimized.originalname,
346
+ encoding: (_e = metadata === null || metadata === void 0 ? void 0 : metadata.encoding) !== null && _e !== void 0 ? _e : '7bit',
347
+ mimetype: optimized.mimetype,
348
+ size: optimized.buffer.length,
349
+ destination: '',
350
+ filename: optimized.originalname,
351
+ path: filePath,
352
+ buffer: optimized.buffer,
353
+ });
357
354
  const file = await this.prismaService.file.create({
358
355
  data: {
359
- filename: originalname,
356
+ filename: optimized.originalname,
360
357
  path: url,
361
358
  provider_id: this.providerId,
362
359
  location: destination,
363
- mimetype_id: await this.getMimeType(mimetype),
364
- size,
360
+ mimetype_id: await this.getMimeType(optimized.mimetype),
361
+ size: optimized.buffer.length,
365
362
  },
366
363
  });
367
364
  return file;
@@ -499,6 +496,192 @@ let FileService = FileService_1 = class FileService {
499
496
  }
500
497
  return url;
501
498
  }
499
+ async getTemporaryCredentials(params) {
500
+ const stsClient = new client_sts_1.STSClient({
501
+ region: params.region,
502
+ credentials: Object.assign({ accessKeyId: params.accessKeyId, secretAccessKey: params.secretAccessKey }, (params.sessionToken ? { sessionToken: params.sessionToken } : {})),
503
+ });
504
+ let creds;
505
+ if (params.roleArn) {
506
+ const result = await stsClient.send(new client_sts_1.AssumeRoleCommand(Object.assign({ RoleArn: params.roleArn, RoleSessionName: params.sessionName, DurationSeconds: params.durationSeconds }, (params.externalId ? { ExternalId: params.externalId } : {}))));
507
+ creds = result.Credentials;
508
+ }
509
+ else {
510
+ const result = await stsClient.send(new client_sts_1.GetSessionTokenCommand({ DurationSeconds: params.durationSeconds }));
511
+ creds = result.Credentials;
512
+ }
513
+ if (!(creds === null || creds === void 0 ? void 0 : creds.AccessKeyId) || !creds.SecretAccessKey || !creds.SessionToken) {
514
+ throw new common_1.BadRequestException('Could not generate temporary AWS credentials.');
515
+ }
516
+ return {
517
+ AccessKeyId: creds.AccessKeyId,
518
+ SecretAccessKey: creds.SecretAccessKey,
519
+ SessionToken: creds.SessionToken,
520
+ Expiration: creds.Expiration,
521
+ };
522
+ }
523
+ async headS3Object(params) {
524
+ const s3 = new client_s3_1.S3Client({
525
+ region: params.region,
526
+ credentials: Object.assign({ accessKeyId: params.accessKeyId, secretAccessKey: params.secretAccessKey }, (params.sessionToken ? { sessionToken: params.sessionToken } : {})),
527
+ });
528
+ const result = await s3.send(new client_s3_1.HeadObjectCommand({ Bucket: params.bucket, Key: params.key }));
529
+ return {
530
+ ContentLength: result.ContentLength,
531
+ ETag: result.ETag,
532
+ };
533
+ }
534
+ async headS3Bucket(params) {
535
+ const s3 = new client_s3_1.S3Client({
536
+ region: params.region,
537
+ credentials: Object.assign({ accessKeyId: params.accessKeyId, secretAccessKey: params.secretAccessKey }, (params.sessionToken ? { sessionToken: params.sessionToken } : {})),
538
+ });
539
+ await s3.send(new client_s3_1.HeadBucketCommand({ Bucket: params.bucket }));
540
+ }
541
+ async getLambdaFunctionConfiguration(params) {
542
+ const lambda = new client_lambda_1.LambdaClient({
543
+ region: params.region,
544
+ credentials: Object.assign({ accessKeyId: params.accessKeyId, secretAccessKey: params.secretAccessKey }, (params.sessionToken ? { sessionToken: params.sessionToken } : {})),
545
+ });
546
+ return lambda.send(new client_lambda_1.GetFunctionConfigurationCommand({
547
+ FunctionName: params.functionName,
548
+ }));
549
+ }
550
+ async updateLambdaEnvironmentVariables(params) {
551
+ var _a, _b, _c, _d;
552
+ const lambda = new client_lambda_1.LambdaClient({
553
+ region: params.region,
554
+ credentials: Object.assign({ accessKeyId: params.accessKeyId, secretAccessKey: params.secretAccessKey }, (params.sessionToken ? { sessionToken: params.sessionToken } : {})),
555
+ });
556
+ const current = await lambda.send(new client_lambda_1.GetFunctionConfigurationCommand({
557
+ FunctionName: params.functionName,
558
+ }));
559
+ const merged = Object.assign(Object.assign({}, ((_b = (_a = current.Environment) === null || _a === void 0 ? void 0 : _a.Variables) !== null && _b !== void 0 ? _b : {})), params.environmentVariables);
560
+ await lambda.send(new client_lambda_1.UpdateFunctionConfigurationCommand({
561
+ FunctionName: params.functionName,
562
+ Environment: {
563
+ Variables: merged,
564
+ },
565
+ }));
566
+ return {
567
+ functionName: (_c = current.FunctionName) !== null && _c !== void 0 ? _c : params.functionName,
568
+ functionArn: (_d = current.FunctionArn) !== null && _d !== void 0 ? _d : null,
569
+ };
570
+ }
571
+ async createLambdaFunctionIfMissing(params) {
572
+ var _a, _b, _c, _d, _e;
573
+ const lambda = new client_lambda_1.LambdaClient({
574
+ region: params.region,
575
+ credentials: Object.assign({ accessKeyId: params.accessKeyId, secretAccessKey: params.secretAccessKey }, (params.sessionToken ? { sessionToken: params.sessionToken } : {})),
576
+ });
577
+ try {
578
+ const existing = await lambda.send(new client_lambda_1.GetFunctionConfigurationCommand({
579
+ FunctionName: params.functionName,
580
+ }));
581
+ return {
582
+ created: false,
583
+ functionName: (_a = existing.FunctionName) !== null && _a !== void 0 ? _a : params.functionName,
584
+ functionArn: (_b = existing.FunctionArn) !== null && _b !== void 0 ? _b : null,
585
+ };
586
+ }
587
+ catch (error) {
588
+ if (String((_c = error === null || error === void 0 ? void 0 : error.name) !== null && _c !== void 0 ? _c : '') !== 'ResourceNotFoundException') {
589
+ throw error;
590
+ }
591
+ }
592
+ const baseInput = {
593
+ FunctionName: params.functionName,
594
+ Role: params.roleArn,
595
+ PackageType: params.packageType,
596
+ Timeout: params.timeout,
597
+ MemorySize: params.memorySize,
598
+ Environment: params.environmentVariables
599
+ ? {
600
+ Variables: params.environmentVariables,
601
+ }
602
+ : undefined,
603
+ };
604
+ const created = params.packageType === 'Image'
605
+ ? await lambda.send(new client_lambda_1.CreateFunctionCommand(Object.assign(Object.assign({}, baseInput), { Code: {
606
+ ImageUri: params.imageUri,
607
+ } })))
608
+ : await lambda.send(new client_lambda_1.CreateFunctionCommand(Object.assign(Object.assign({}, baseInput), { Handler: params.handler, Runtime: params.runtime, Code: Object.assign({}, (params.zipFile
609
+ ? {
610
+ ZipFile: params.zipFile,
611
+ }
612
+ : Object.assign({ S3Bucket: params.s3Bucket, S3Key: params.s3Key }, (params.s3ObjectVersion
613
+ ? {
614
+ S3ObjectVersion: params.s3ObjectVersion,
615
+ }
616
+ : {})))) })));
617
+ return {
618
+ created: true,
619
+ functionName: (_d = created.FunctionName) !== null && _d !== void 0 ? _d : params.functionName,
620
+ functionArn: (_e = created.FunctionArn) !== null && _e !== void 0 ? _e : null,
621
+ };
622
+ }
623
+ async allowS3InvokeLambda(params) {
624
+ var _a, _b;
625
+ const lambda = new client_lambda_1.LambdaClient({
626
+ region: params.region,
627
+ credentials: Object.assign({ accessKeyId: params.accessKeyId, secretAccessKey: params.secretAccessKey }, (params.sessionToken ? { sessionToken: params.sessionToken } : {})),
628
+ });
629
+ const statementId = (_a = params.statementId) !== null && _a !== void 0 ? _a : `lms-bulk-upload-${params.bucketName.replace(/[^a-zA-Z0-9-_]/g, '-')}`;
630
+ try {
631
+ await lambda.send(new client_lambda_1.AddPermissionCommand(Object.assign({ FunctionName: params.functionName, StatementId: statementId.slice(0, 100), Action: 'lambda:InvokeFunction', Principal: 's3.amazonaws.com', SourceArn: `arn:aws:s3:::${params.bucketName}` }, (params.sourceAccount
632
+ ? {
633
+ SourceAccount: params.sourceAccount,
634
+ }
635
+ : {}))));
636
+ }
637
+ catch (error) {
638
+ if (String((_b = error === null || error === void 0 ? void 0 : error.name) !== null && _b !== void 0 ? _b : '') === 'ResourceConflictException') {
639
+ return;
640
+ }
641
+ throw error;
642
+ }
643
+ }
644
+ async configureS3BucketLambdaNotification(params) {
645
+ var _a;
646
+ const s3 = new client_s3_1.S3Client({
647
+ region: params.region,
648
+ credentials: Object.assign({ accessKeyId: params.accessKeyId, secretAccessKey: params.secretAccessKey }, (params.sessionToken ? { sessionToken: params.sessionToken } : {})),
649
+ });
650
+ const configurationId = (_a = params.configurationId) !== null && _a !== void 0 ? _a : 'lms-bulk-upload-object-created';
651
+ const existing = await s3.send(new client_s3_1.GetBucketNotificationConfigurationCommand({
652
+ Bucket: params.bucketName,
653
+ }));
654
+ const lambdaConfigurations = Array.isArray(existing === null || existing === void 0 ? void 0 : existing.LambdaFunctionConfigurations)
655
+ ? existing.LambdaFunctionConfigurations.filter((cfg) => (cfg === null || cfg === void 0 ? void 0 : cfg.Id) !== configurationId)
656
+ : [];
657
+ lambdaConfigurations.push(Object.assign({ Id: configurationId, LambdaFunctionArn: params.lambdaArn, Events: ['s3:ObjectCreated:*'] }, (params.prefix
658
+ ? {
659
+ Filter: {
660
+ Key: {
661
+ FilterRules: [
662
+ {
663
+ Name: 'prefix',
664
+ Value: params.prefix,
665
+ },
666
+ ],
667
+ },
668
+ },
669
+ }
670
+ : {})));
671
+ await s3.send(new client_s3_1.PutBucketNotificationConfigurationCommand({
672
+ Bucket: params.bucketName,
673
+ NotificationConfiguration: {
674
+ TopicConfigurations: Array.isArray(existing === null || existing === void 0 ? void 0 : existing.TopicConfigurations)
675
+ ? existing.TopicConfigurations
676
+ : [],
677
+ QueueConfigurations: Array.isArray(existing === null || existing === void 0 ? void 0 : existing.QueueConfigurations)
678
+ ? existing.QueueConfigurations
679
+ : [],
680
+ EventBridgeConfiguration: existing === null || existing === void 0 ? void 0 : existing.EventBridgeConfiguration,
681
+ LambdaFunctionConfigurations: lambdaConfigurations,
682
+ },
683
+ }));
684
+ }
502
685
  createDownloadToken(filepath, expires = 3600) {
503
686
  if (!filepath) {
504
687
  throw new common_1.BadRequestException(`No file path provided`);
@@ -516,9 +699,11 @@ exports.FileService = FileService = FileService_1 = __decorate([
516
699
  __param(1, (0, common_1.Inject)((0, common_1.forwardRef)(() => api_pagination_1.PaginationService))),
517
700
  __param(2, (0, common_1.Inject)((0, common_1.forwardRef)(() => setting_service_1.SettingService))),
518
701
  __param(3, (0, common_1.Inject)((0, common_1.forwardRef)(() => jwt_1.JwtService))),
702
+ __param(4, (0, common_1.Inject)((0, common_1.forwardRef)(() => image_optimization_service_1.ImageOptimizationService))),
519
703
  __metadata("design:paramtypes", [api_prisma_1.PrismaService,
520
704
  api_pagination_1.PaginationService,
521
705
  setting_service_1.SettingService,
522
- jwt_1.JwtService])
706
+ jwt_1.JwtService,
707
+ image_optimization_service_1.ImageOptimizationService])
523
708
  ], FileService);
524
709
  //# sourceMappingURL=file.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file.service.js","sourceRoot":"","sources":["../../src/file/file.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAoD;AACpD,4DAA2E;AAC3E,oDAAoD;AACpD,2CAQwB;AACxB,qCAAyC;AACzC,2BAAuD;AACvD,+BAAyC;AACzC,8CAA2C;AAC3C,gGAI0D;AAC1D,gEAA4D;AAG5D,kEAA8D;AAGvD,IAAM,WAAW,mBAAjB,MAAM,WAAW;IAKd,mBAAmB,CAAC,IAAwC;QAClE,8EAA8E;QAC9E,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7D,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAED,OAAO,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;IACzC,CAAC;IAEO,WAAW,CAAC,KAAa;QAC/B,OAAO,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IAEO,yBAAyB,CAAC,QAAgB;QAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;IACxD,CAAC;IAED,YAEE,aAA6C,EAE7C,iBAAqD,EAErD,cAA+C,EAE/C,UAAuC;QANtB,kBAAa,GAAb,aAAa,CAAe;QAE5B,sBAAiB,GAAjB,iBAAiB,CAAmB;QAEpC,mBAAc,GAAd,cAAc,CAAgB;QAE9B,eAAU,GAAV,UAAU,CAAY;QAtCxB,WAAM,GAAG,IAAI,eAAM,CAAC,aAAW,CAAC,IAAI,CAAC,CAAC;QAE/C,cAAS,GAA2B,EAAE,CAAC;IAqC3C,CAAC;IAEL,KAAK,CAAC,YAAY;QAChB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,2EAA2E;YAC3E,+DAA+D;YAC/D,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,0CAA0C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACnG,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC;QACzF,MAAM,YAAY,GAAG,QAAQ,CAAC,yBAAyB,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QAEvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,4BAAmB,CAAC,yFAAyF,CAAC,CAAC;QAC3H,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,UAAU,CAAC;YACtE,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;YACxB,OAAO,EAAE;gBACP,gBAAgB,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;gBAC5C,oBAAoB,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;aACjD;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,0BAAiB,CAAC,2BAA2B,SAAS,aAAa,CAAC,CAAC;QACjF,CAAC;QAED,IAAI,OAAO,CAAC,gBAAgB,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAChD,MAAM,IAAI,4BAAmB,CAC3B,+BAA+B,SAAS,4BAA4B,CACrE,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC;QACvD,MAAM,MAAM,GAAG,IAAA,6DAAiC,EAAC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/E,MAAM,YAAY,GAAG,IAAA,sDAA0B,EAAC,YAAY,CAAC,CAAC;QAC9D,MAAM,gBAAgB,GAAG,IAAA,mDAAuB,EAAC,YAAY,CAAC,CAAC;QAE/D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC;YACpE,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE;YACjC,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE;SACrB,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,4BAAmB,CAAC,YAAY,gBAAgB,aAAa,CAAC,CAAC;QAC3E,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,EAAE,CAAC;QAClC,OAAO,MAAM,kCAAe,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAgB;QAEhC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,4BAAmB,CAAC,sBAAsB,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC;YAC5D,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;aACf;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC;gBACrD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;iBACf;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,QAAgB;QACpC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,4BAAmB,CAAC,sBAAsB,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC;QACzF,MAAM,eAAe,GAAG,QAAQ,CAAC,yBAAyB,CAAC,CAAC;QAC5D,OAAO,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAY;QAC5B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,4BAAmB,CAAC,kBAAkB,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAClF,OAAO,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,WAAmB,EACnB,QAAgB,EAChB,WAAmB,EACnB,QAAQ,GAAG,YAAY;QAGvB,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,4BAAmB,CAAC,0BAA0B,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,4BAAmB,CAAC,yBAAyB,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,4BAAmB,CAAC,sBAAsB,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAE1C,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,4BAAmB,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,gBAAgB,CACzC,WAAW,EACX,QAAQ,EACR,WAAW,EACX,QAAQ,CACT,CAAC;QAEF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;YAChD,IAAI,EAAE;gBACJ,QAAQ;gBACR,IAAI,EAAE,GAAG;gBACT,WAAW,EAAE,IAAI,CAAC,UAAU;gBAC5B,QAAQ,EAAE,WAAW;gBACrB,WAAW,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;gBAC7C,IAAI,EAAE,WAAW,CAAC,MAAM;aACzB;SACF,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,uBAAuB,CAAC,KAAU,EAAE,MAAc;;QACxD,MAAM,gBAAgB,GACpB,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,WAAW;YAC3B,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,WAAW;YAC3B,CAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,0CAAE,cAAc,MAAK,GAAG,CAAC;QAE3C,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,IAAI,0BAAiB,CAAC,8BAA8B,MAAM,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,MAAc;;QACrC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,4BAAmB,CAAC,qBAAqB,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;YACpD,KAAK,EAAE;gBACL,EAAE,EAAE,MAAM;aACX;YACD,OAAO,EAAE;gBACP,aAAa,EAAE,IAAI;aACpB;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,0BAAiB,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAEpD,IAAI,QAAa,CAAC;QAClB,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACnD,CAAC;QAAC,WAAM,CAAC;YACP,QAAQ,GAAG,SAAS,CAAC;QACvB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YACvD,OAAO;gBACL,IAAI;gBACJ,MAAM;gBACN,IAAI,EAAE,MAAA,IAAI,CAAC,IAAI,mCAAI,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC;aAC1D,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,MAAc,EACd,eAAuB,EACvB,OAA+B;QAE/B,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,4BAAmB,CAAC,8BAA8B,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAErE,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,KAAI,IAAI,IAAI,IAAI,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;YACzD,MAAM,IAAI,4BAAmB,CAC3B,0CAA0C,IAAI,eAAe,OAAO,CAAC,QAAQ,GAAG,CACjF,CAAC;QACJ,CAAC;QAED,MAAM,aAAE,CAAC,KAAK,CAAC,IAAA,cAAO,EAAC,eAAe,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE9D,IAAI,CAAC;YACH,MAAM,IAAA,mBAAQ,EAAC,MAAM,EAAE,IAAA,sBAAiB,EAAC,eAAe,CAAC,CAAC,CAAC;YAC3D,MAAM,KAAK,GAAG,MAAM,aAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAE7C,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,KAAI,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACvD,MAAM,aAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBACxD,MAAM,IAAI,4BAAmB,CAC3B,0CAA0C,KAAK,CAAC,IAAI,eAAe,OAAO,CAAC,QAAQ,GAAG,CACvF,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,IAAI;gBACJ,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,aAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACxD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAc;;QAE5B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,4BAAmB,CAAC,qBAAqB,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;YACpD,KAAK,EAAE;gBACL,EAAE,EAAE,MAAM;aACX;YACD,OAAO,EAAE;gBACP,aAAa,EAAE,IAAI;aACpB;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,0BAAiB,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAEpD,IAAI,cAAsB,CAAC;QAC3B,IAAI,CAAC;YACH,cAAc,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,gBAAgB,GACpB,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,WAAW;gBAC3B,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,WAAW;gBAC3B,CAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,0CAAE,cAAc,MAAK,GAAG,CAAC;YAE3C,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,IAAI,0BAAiB,CAAC,8BAA8B,MAAM,EAAE,CAAC,CAAC;YACtE,CAAC;YAED,MAAM,KAAK,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAE3C,OAAO;YACL,IAAI;YACJ,MAAM;SACP,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,GAAQ;QACzC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACtD,GAAG,CAAC,GAAG,CAAC;YACN,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI;YACvC,gBAAgB,EAAE,MAAM,CAAC,MAAM;SAChC,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,WAAmB,EAAE,UAAsB;QAEtD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,4BAAmB,CAAC,kBAAkB,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,4BAAmB,CAAC,yBAAyB,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAE1C,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YACvD,MAAM,IAAI,4BAAmB,CAC3B,sBAAsB,UAAU,CAAC,QAAQ,EAAE,CAC5C,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,4BAAmB,CAAC,mBAAmB,UAAU,CAAC,IAAI,QAAQ,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,yBAAyB,CACvD,UAAU,CAAC,YAAY,CACxB,CAAC;QAEF,MAAM,cAAc,mCACf,UAAU,KACb,YAAY,EAAE,kBAAkB,GACjC,CAAC;QAEF,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAE/D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;YAChD,IAAI,EAAE;gBACJ,QAAQ,EAAE,kBAAkB;gBAC5B,IAAI,EAAE,GAAG;gBACT,WAAW,EAAE,IAAI,CAAC,UAAU;gBAC5B,QAAQ,EAAE,WAAW;gBACrB,WAAW,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC;gBACxD,IAAI,EAAE,UAAU,CAAC,IAAI;aACtB;SACF,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,WAAmB,EACnB,QAAgB,EAChB,QAMC;;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,4BAAmB,CAAC,uBAAuB,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,4BAAmB,CAAC,yBAAyB,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,aAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9B,MAAM,IAAI,0BAAiB,CAAC,wBAAwB,QAAQ,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,IAAI,GAAG,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,mCAAI,KAAK,CAAC,IAAI,CAAC;QAC1C,MAAM,QAAQ,GAAG,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,mCAAI,0BAA0B,CAAC;QAClE,MAAM,YAAY,GAAG,IAAI,CAAC,yBAAyB,CACjD,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,YAAY,mCAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,mCAAI,IAAA,eAAQ,EAAC,QAAQ,CAAC,CACnE,CAAC;QAEF,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,4BAAmB,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,4BAAmB,CAAC,mBAAmB,IAAI,QAAQ,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,sBAAsB,GAAG,QAM9B,CAAC;QAEF,IAAI,GAAW,CAAC;QAChB,IAAI,OAAO,sBAAsB,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;YAChE,GAAG,GAAG,MAAM,sBAAsB,CAAC,cAAc,CAAC,WAAW,EAAE,QAAQ,EAAE;gBACvE,QAAQ,EAAE,YAAY;gBACtB,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,yEAAyE;YACzE,MAAM,MAAM,GAAG,MAAM,aAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC3C,GAAG,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE;gBACvC,SAAS,EAAE,MAAM;gBACjB,YAAY;gBACZ,QAAQ,EAAE,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,mCAAI,MAAM;gBACtC,QAAQ;gBACR,IAAI;gBACJ,WAAW,EAAE,EAAE;gBACf,QAAQ,EAAE,YAAY;gBACtB,IAAI,EAAE,QAAQ;gBACd,MAAM;aACP,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;YAChD,IAAI,EAAE;gBACJ,QAAQ,EAAE,YAAY;gBACtB,IAAI,EAAE,GAAG;gBACT,WAAW,EAAE,IAAI,CAAC,UAAU;gBAC5B,QAAQ,EAAE,WAAW;gBACrB,WAAW,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;gBAC7C,IAAI;aACL;SACF,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAa,EAAC,EAAE,GAAG,EAAa;QAC3C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC;YACnD,KAAK,EAAE;gBACL,EAAE,EAAE;oBACF,EAAE,EAAE,GAAG;iBACR;aACF;YACD,MAAM,EAAE;gBACN,EAAE,EAAE,IAAI;gBACR,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,IAAI;aACX;SACF,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,IAAI,4BAAmB,CAAC,IAAA,0BAAa,EAAC,4BAA4B,EAAE,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC;QAC7G,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;YAExE,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;gBACvC,KAAK,EAAE;oBACL,EAAE,EAAE,IAAI,CAAC,EAAE;iBACZ;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,gBAA+B;QAC5C,MAAM,MAAM,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACpC,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,uBAAuB,CACnD,MAAM,EACN,gBAAgB,CACjB,CAAC;QAEF,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CACpC,IAAI,CAAC,aAAa,CAAC,IAAI,EACvB,gBAAgB,EAChB;YACE,KAAK,EAAE;gBACL,EAAE;aACH;SACF,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,MAAc;QACtB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;YACpD,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;SACtB,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,0BAAiB,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAAgB;QAC/B,OAAO,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC;IAEO,uBAAuB,CAAC,QAAa;QAC3C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtC,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAED,IAAI,OAAO,QAAQ,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;YAC/C,OAAO,QAAQ,CAAC,aAAa,CAAC;QAChC,CAAC;QAED,IAAI,OAAO,QAAQ,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;YAC/C,OAAO,QAAQ,CAAC,aAAa,CAAC;QAChC,CAAC;QAED,IACE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YACvB,QAAQ,CAAC,CAAC,CAAC;YACX,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,EAC9B,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACzC,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;QACrD,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAAa,EAAE,KAAa;;QACzC,IAAI,CAAC;YACH,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE;gBACjD,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;aAC/B,CAAC,CAAC;YAEH,gEAAgE;YAChE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;gBACnD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,OAAO,EAAE;oBACP,aAAa,EAAE,IAAI;iBACpB;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,0BAAiB,CAAC,IAAA,0BAAa,EAAC,yBAAyB,EAAE,MAAM,EAAE,cAAc,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC1G,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YACpD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YACvD,MAAM,IAAI,GAAG,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;YAEpD,OAAO;gBACL,MAAM;gBACN,QAAQ,EAAE,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,KAAI,UAAU;gBACtC,QAAQ,EAAE,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,0CAAE,IAAI,KAAI,0BAA0B;gBACjE,IAAI;aACL,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,IAAI,4BAAmB,CAAC,IAAA,0BAAa,EAAC,6BAA6B,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACrG,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAAc,EAAE,MAAc;;QAC3C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;YACnD,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;YACrB,OAAO,EAAE;gBACP,aAAa,EAAE,IAAI;aACpB;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,0BAAiB,CACzB,IAAA,0BAAa,EAAC,yBAAyB,EAAE,MAAM,EAAE,cAAc,MAAM,EAAE,CAAC,CACzE,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QAEpD,OAAO;YACL,MAAM;YACN,QAAQ,EAAE,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,KAAI,UAAU;YACtC,QAAQ,EAAE,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,0CAAE,IAAI,KAAI,0BAA0B;YACjE,IAAI;SACL,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,QAAgB,EAAE,OAAO,GAAG,IAAI;QAC5C,OAAO,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAgB,EAAE,OAAO,GAAG,IAAI;QAChD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAElD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED,mBAAmB,CAAC,QAAgB,EAAE,OAAO,GAAG,IAAI;QAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,4BAAmB,CAAC,uBAAuB,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CACzB,EAAE,QAAQ,EAAE,EACZ;YACE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;YAC9B,SAAS,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,GAAG;SACtD,CACF,CAAC;IACJ,CAAC;CACF,CAAA;AA9oBY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;IAiCR,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,0BAAa,CAAC,CAAC,CAAA;IAEvC,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,kCAAiB,CAAC,CAAC,CAAA;IAE3C,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,gCAAc,CAAC,CAAC,CAAA;IAExC,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,gBAAU,CAAC,CAAC,CAAA;qCALL,0BAAa;QAET,kCAAiB;QAEpB,gCAAc;QAElB,gBAAU;GAvC9B,WAAW,CA8oBvB"}
1
+ {"version":3,"file":"file.service.js","sourceRoot":"","sources":["../../src/file/file.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { SettingService } from '../setting/setting.service';
2
+ export interface OptimizedImage {
3
+ buffer: Buffer;
4
+ mimetype: string;
5
+ originalname: string;
6
+ }
7
+ export declare class ImageOptimizationService {
8
+ private readonly settingService;
9
+ private readonly logger;
10
+ constructor(settingService: SettingService);
11
+ private parseArraySetting;
12
+ private replaceExtension;
13
+ /**
14
+ * Applies image compression and/or WebP conversion to the given buffer
15
+ * based on the current settings. Returns the original data unchanged if
16
+ * the settings are disabled or the MIME type is not in the configured lists.
17
+ */
18
+ optimizeBuffer(buffer: Buffer, mimetype: string, originalname: string): Promise<OptimizedImage>;
19
+ }
20
+ //# sourceMappingURL=image-optimization.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-optimization.service.d.ts","sourceRoot":"","sources":["../../src/file/image-optimization.service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,qBACa,wBAAwB;IAKjC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAJjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6C;gBAIjD,cAAc,EAAE,cAAc;IAGjD,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,gBAAgB;IAKxB;;;;OAIG;IACG,cAAc,CAClB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,cAAc,CAAC;CA8E3B"}
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var __importDefault = (this && this.__importDefault) || function (mod) {
15
+ return (mod && mod.__esModule) ? mod : { "default": mod };
16
+ };
17
+ var ImageOptimizationService_1;
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.ImageOptimizationService = void 0;
20
+ const common_1 = require("@nestjs/common");
21
+ const path_1 = require("path");
22
+ const sharp_1 = __importDefault(require("sharp"));
23
+ const setting_service_1 = require("../setting/setting.service");
24
+ let ImageOptimizationService = ImageOptimizationService_1 = class ImageOptimizationService {
25
+ constructor(settingService) {
26
+ this.settingService = settingService;
27
+ this.logger = new common_1.Logger(ImageOptimizationService_1.name);
28
+ }
29
+ parseArraySetting(raw) {
30
+ if (!raw)
31
+ return [];
32
+ try {
33
+ const parsed = JSON.parse(raw);
34
+ return Array.isArray(parsed) ? parsed : [];
35
+ }
36
+ catch (_a) {
37
+ return [];
38
+ }
39
+ }
40
+ replaceExtension(filename, newExt) {
41
+ const base = (0, path_1.basename)(filename, (0, path_1.extname)(filename));
42
+ return `${base}.${newExt}`;
43
+ }
44
+ /**
45
+ * Applies image compression and/or WebP conversion to the given buffer
46
+ * based on the current settings. Returns the original data unchanged if
47
+ * the settings are disabled or the MIME type is not in the configured lists.
48
+ */
49
+ async optimizeBuffer(buffer, mimetype, originalname) {
50
+ if (!mimetype.startsWith('image/')) {
51
+ return { buffer, mimetype, originalname };
52
+ }
53
+ const settings = await this.settingService.getSettingValues([
54
+ 'image-compression-enabled',
55
+ 'image-compression-quality',
56
+ 'image-compression-types',
57
+ 'image-webp-conversion-enabled',
58
+ 'image-webp-convert-types',
59
+ ]);
60
+ const compressionEnabled = settings['image-compression-enabled'] === 'true';
61
+ const webpEnabled = settings['image-webp-conversion-enabled'] === 'true';
62
+ if (!compressionEnabled && !webpEnabled) {
63
+ return { buffer, mimetype, originalname };
64
+ }
65
+ const quality = Math.min(100, Math.max(1, Number(settings['image-compression-quality']) || 80));
66
+ const compressionTypes = this.parseArraySetting(settings['image-compression-types']);
67
+ const webpConvertTypes = this.parseArraySetting(settings['image-webp-convert-types']);
68
+ // WebP conversion has priority over plain compression
69
+ if (webpEnabled && webpConvertTypes.includes(mimetype)) {
70
+ try {
71
+ const optimized = await (0, sharp_1.default)(buffer).webp({ quality }).toBuffer();
72
+ return {
73
+ buffer: optimized,
74
+ mimetype: 'image/webp',
75
+ originalname: this.replaceExtension(originalname, 'webp'),
76
+ };
77
+ }
78
+ catch (err) {
79
+ this.logger.warn(`WebP conversion failed for "${originalname}" (${mimetype}): ${err instanceof Error ? err.message : String(err)}. Falling back to original.`);
80
+ return { buffer, mimetype, originalname };
81
+ }
82
+ }
83
+ if (compressionEnabled && compressionTypes.includes(mimetype)) {
84
+ try {
85
+ let instance = (0, sharp_1.default)(buffer);
86
+ if (mimetype === 'image/jpeg') {
87
+ instance = instance.jpeg({ quality });
88
+ }
89
+ else if (mimetype === 'image/png') {
90
+ // sharp compressionLevel is 0-9 (9 = max); invert from quality scale
91
+ const compressionLevel = Math.round(((100 - quality) / 100) * 9);
92
+ instance = instance.png({ compressionLevel });
93
+ }
94
+ else if (mimetype === 'image/webp') {
95
+ instance = instance.webp({ quality });
96
+ }
97
+ else if (mimetype === 'image/bmp' || mimetype === 'image/tiff') {
98
+ // Convert to PNG as a compressed lossless alternative
99
+ instance = instance.png({ compressionLevel: Math.round(((100 - quality) / 100) * 9) });
100
+ return {
101
+ buffer: await instance.toBuffer(),
102
+ mimetype: 'image/png',
103
+ originalname: this.replaceExtension(originalname, 'png'),
104
+ };
105
+ }
106
+ else {
107
+ return { buffer, mimetype, originalname };
108
+ }
109
+ const optimized = await instance.toBuffer();
110
+ return { buffer: optimized, mimetype, originalname };
111
+ }
112
+ catch (err) {
113
+ this.logger.warn(`Image compression failed for "${originalname}" (${mimetype}): ${err instanceof Error ? err.message : String(err)}. Falling back to original.`);
114
+ return { buffer, mimetype, originalname };
115
+ }
116
+ }
117
+ return { buffer, mimetype, originalname };
118
+ }
119
+ };
120
+ exports.ImageOptimizationService = ImageOptimizationService;
121
+ exports.ImageOptimizationService = ImageOptimizationService = ImageOptimizationService_1 = __decorate([
122
+ (0, common_1.Injectable)(),
123
+ __param(0, (0, common_1.Inject)((0, common_1.forwardRef)(() => setting_service_1.SettingService))),
124
+ __metadata("design:paramtypes", [setting_service_1.SettingService])
125
+ ], ImageOptimizationService);
126
+ //# sourceMappingURL=image-optimization.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-optimization.service.js","sourceRoot":"","sources":["../../src/file/image-optimization.service.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ export declare class LocalProvider extends AbstractProvider {
6
6
  private jwt;
7
7
  constructor(setting: Record<string, string>, jwt: JwtService);
8
8
  initValidation(): Promise<void>;
9
- createFolderRecursive(path: string): Promise<void>;
9
+ createFolderRecursive(folderPath: string): Promise<void>;
10
10
  private resolveFilepath;
11
11
  uploadFromString(destination: string, filename: string, fileContent: string, mimetype?: string): Promise<any>;
12
12
  upload(destination: string, file: MulterFile): Promise<any>;
@@ -1 +1 @@
1
- {"version":3,"file":"local.provider.d.ts","sourceRoot":"","sources":["../../../src/file/provider/local.provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKzC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,qBAAa,aAAc,SAAQ,gBAAgB;IAE/C,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,GAAG;gBADH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,GAAG,EAAE,UAAU;IAKnB,cAAc;IAYd,qBAAqB,CAAC,IAAI,EAAE,MAAM;IAWxC,OAAO,CAAC,eAAe;IAKjB,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,GAAG,CAAC;IA2BT,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;IAuB3D,cAAc,CAClB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GACjD,OAAO,CAAC,GAAG,CAAC;IAsBT,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAUtC,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAU7C,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAYxC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUzC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,SAAO,GAAG,OAAO,CAAC,GAAG,CAAC;CAkB9D"}
1
+ {"version":3,"file":"local.provider.d.ts","sourceRoot":"","sources":["../../../src/file/provider/local.provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKzC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,qBAAa,aAAc,SAAQ,gBAAgB;IAE/C,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,GAAG;gBADH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,GAAG,EAAE,UAAU;IAKnB,cAAc;IAYd,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9D,OAAO,CAAC,eAAe;IAKjB,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,GAAG,CAAC;IA2BT,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;IAuB3D,cAAc,CAClB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GACjD,OAAO,CAAC,GAAG,CAAC;IAsBT,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAUtC,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAU7C,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAYxC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUzC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,SAAO,GAAG,OAAO,CAAC,GAAG,CAAC;CAkB9D"}
@@ -54,15 +54,8 @@ class LocalProvider extends abstract_provider_1.AbstractProvider {
54
54
  await this.createFolderRecursive(this.setting['storage-local-path']);
55
55
  }
56
56
  }
57
- async createFolderRecursive(path) {
58
- const folders = (0, path_1.join)(path).split(path_1.sep);
59
- let currentPath = '';
60
- for (const folder of folders) {
61
- currentPath = (0, path_1.join)(currentPath, folder);
62
- if (!(0, fs_1.existsSync)(currentPath)) {
63
- await (0, promises_1.mkdir)(currentPath, { recursive: true });
64
- }
65
- }
57
+ async createFolderRecursive(folderPath) {
58
+ await (0, promises_1.mkdir)(folderPath, { recursive: true });
66
59
  }
67
60
  resolveFilepath(filepath) {
68
61
  if (path.isAbsolute(filepath))