template-saas/apps/backend/dist/modules/storage/services/storage.service.d.ts
rckrdmrd 50a821a415
Some checks failed
CI / Backend CI (push) Has been cancelled
CI / Frontend CI (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / CI Summary (push) Has been cancelled
[SIMCO-V38] feat: Actualizar a SIMCO v3.8.0
- HERENCIA-SIMCO.md actualizado con directivas v3.7 y v3.8
- Actualizaciones de configuracion

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 08:53:08 -06:00

29 lines
1.7 KiB
TypeScript

import { Repository } from 'typeorm';
import { FileEntity } from '../entities/file.entity';
import { PendingUploadEntity } from '../entities/pending-upload.entity';
import { StorageUsageEntity } from '../entities/storage-usage.entity';
import { S3Provider } from '../providers/s3.provider';
import { GetUploadUrlDto, ConfirmUploadDto, ListFilesDto, UpdateFileDto, PresignedUrlResponseDto, FileResponseDto, FileListResponseDto, DownloadUrlResponseDto, StorageUsageResponseDto } from '../dto';
export declare class StorageService {
private readonly fileRepository;
private readonly pendingUploadRepository;
private readonly usageRepository;
private readonly s3Provider;
private readonly logger;
constructor(fileRepository: Repository<FileEntity>, pendingUploadRepository: Repository<PendingUploadEntity>, usageRepository: Repository<StorageUsageEntity>, s3Provider: S3Provider);
getUploadUrl(tenantId: string, userId: string, dto: GetUploadUrlDto): Promise<PresignedUrlResponseDto>;
confirmUpload(tenantId: string, userId: string, dto: ConfirmUploadDto): Promise<FileResponseDto>;
listFiles(tenantId: string, dto: ListFilesDto): Promise<FileListResponseDto>;
getFile(tenantId: string, fileId: string): Promise<FileResponseDto>;
getDownloadUrl(tenantId: string, fileId: string): Promise<DownloadUrlResponseDto>;
updateFile(tenantId: string, fileId: string, dto: UpdateFileDto): Promise<FileResponseDto>;
deleteFile(tenantId: string, fileId: string): Promise<void>;
getUsage(tenantId: string): Promise<StorageUsageResponseDto>;
private isAllowedMimeType;
private hasBlockedExtension;
private sanitizeFilename;
private canUpload;
private formatBytes;
private toFileResponse;
}