- HERENCIA-SIMCO.md actualizado con directivas v3.7 y v3.8 - Actualizaciones de configuracion Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
29 lines
1.7 KiB
TypeScript
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;
|
|
}
|