import { IStorageDriver } from "./interface/storage.interface";
import { FileSystemDriver } from "./drivers/filesytem.driver" ;
import { S3Driver } from './drivers/s3.driver';

export class StorageFactory {
  /*
  --------------------------------------------
  Create correct driver
  --------------------------------------------
  */
  static create(name: string, config: any): IStorageDriver {
    switch (name) {
      case 'filesystem':
        return new FileSystemDriver(config);

      case 's3':
        return new S3Driver(config);

      default:
        throw new Error(`Unsupported storage provider: ${name}`);
    }
  }
}
