import { Injectable } from '@nestjs/common';
import { LocalStorageService } from './local-storage.service';
import { CDNUploadService } from './cdn-upload.service';
@Injectable()
export class StorageService {
constructor(
private readonly localStorage: LocalStorageService,
private readonly cdnUpload: CDNUploadService,
) {}
async saveLocal(buffer: Buffer, directory: string, filename: string): Promise<string> {
const localPath = await this.localStorage.save(buffer, directory, filename);
await this.cdnUpload.upload(localPath, directory, filename);
return localPath;
}
async delete(path: string): Promise<void> {
await this.localStorage.delete(path);
}
async getUrl(path: string): Promise<string> {
return this.cdnUpload.getUrl(path);
}
}