template-saas/apps/backend/dist/modules/storage/providers/s3.provider.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

37 lines
1.2 KiB
TypeScript

import { OnModuleInit } from '@nestjs/common';
import { ConfigService } from '@nestjs/config';
import { StorageProvider } from '../entities/file.entity';
export interface PresignedUrlOptions {
bucket: string;
key: string;
contentType: string;
contentLength: number;
expiresIn?: number;
metadata?: Record<string, string>;
}
export interface PresignedUrlResult {
url: string;
expiresAt: Date;
}
export declare class S3Provider implements OnModuleInit {
private configService;
private readonly logger;
private client;
private bucket;
private provider;
private configured;
constructor(configService: ConfigService);
onModuleInit(): void;
isConfigured(): boolean;
getBucket(): string;
getProvider(): StorageProvider;
getUploadUrl(options: PresignedUrlOptions): Promise<PresignedUrlResult>;
getDownloadUrl(key: string, expiresIn?: number): Promise<PresignedUrlResult>;
deleteObject(key: string): Promise<void>;
headObject(key: string): Promise<{
contentLength: number;
contentType: string;
} | null>;
generatePath(tenantId: string, folder: string, uploadId: string, filename: string): string;
}