26 lines
1004 B
TypeScript
26 lines
1004 B
TypeScript
import { OnModuleInit } from '@nestjs/common';
|
|
import { ConfigService } from '@nestjs/config';
|
|
export interface StoredFileResult {
|
|
bucket: string;
|
|
objectName: string;
|
|
url: string;
|
|
}
|
|
export declare class StorageService implements OnModuleInit {
|
|
private readonly configService;
|
|
private readonly logger;
|
|
private readonly client;
|
|
private readonly publicBucket;
|
|
private readonly privateBucket;
|
|
private readonly publicUrl?;
|
|
constructor(configService: ConfigService);
|
|
onModuleInit(): Promise<void>;
|
|
uploadPublicFile(file: Express.Multer.File, folder?: string): Promise<StoredFileResult>;
|
|
uploadPrivateFile(file: Express.Multer.File, folder?: string): Promise<StoredFileResult>;
|
|
deleteFile(bucket: string, objectName: string): Promise<void>;
|
|
deletePublicFileByUrl(fileUrl?: string | null): Promise<void>;
|
|
extractObjectName(fileUrl: string, bucket: string): string | null;
|
|
private upload;
|
|
private ensureBucket;
|
|
private buildPublicUrl;
|
|
}
|