postio / libraries /nestjs-libraries /src /upload /upload.factory.ts
Leon4gr45's picture
Upload folder using huggingface_hub (part 10)
a271c58 verified
Raw
History Blame Contribute Delete
866 Bytes
import { CloudflareStorage } from './cloudflare.storage';
import { IUploadProvider } from './upload.interface';
import { LocalStorage } from './local.storage';
export class UploadFactory {
static createStorage(): IUploadProvider {
const storageProvider = process.env.STORAGE_PROVIDER || 'local';
switch (storageProvider) {
case 'local':
return new LocalStorage(process.env.UPLOAD_DIRECTORY!);
case 'cloudflare':
return new CloudflareStorage(
process.env.CLOUDFLARE_ACCOUNT_ID!,
process.env.CLOUDFLARE_ACCESS_KEY!,
process.env.CLOUDFLARE_SECRET_ACCESS_KEY!,
process.env.CLOUDFLARE_REGION!,
process.env.CLOUDFLARE_BUCKETNAME!,
process.env.CLOUDFLARE_BUCKET_URL!
);
default:
throw new Error(`Invalid storage type ${storageProvider}`);
}
}
}