mirror of
https://github.com/alkimake/paperclip.git
synced 2026-06-14 18:10:39 +09:00
19 lines
686 B
TypeScript
19 lines
686 B
TypeScript
|
|
import type { Config } from "../config.js";
|
||
|
|
import type { StorageProvider } from "./types.js";
|
||
|
|
import { createLocalDiskStorageProvider } from "./local-disk-provider.js";
|
||
|
|
import { createS3StorageProvider } from "./s3-provider.js";
|
||
|
|
|
||
|
|
export function createStorageProviderFromConfig(config: Config): StorageProvider {
|
||
|
|
if (config.storageProvider === "local_disk") {
|
||
|
|
return createLocalDiskStorageProvider(config.storageLocalDiskBaseDir);
|
||
|
|
}
|
||
|
|
|
||
|
|
return createS3StorageProvider({
|
||
|
|
bucket: config.storageS3Bucket,
|
||
|
|
region: config.storageS3Region,
|
||
|
|
endpoint: config.storageS3Endpoint,
|
||
|
|
prefix: config.storageS3Prefix,
|
||
|
|
forcePathStyle: config.storageS3ForcePathStyle,
|
||
|
|
});
|
||
|
|
}
|