feat(media): default to s3 with local upload fallback
This commit is contained in:
@@ -14,21 +14,29 @@ type StoredUpload = {
|
||||
}
|
||||
|
||||
export function resolveMediaStorageProvider(raw: string | undefined): MediaStorageProvider {
|
||||
if (raw?.toLowerCase() === "s3") {
|
||||
return "s3"
|
||||
if (raw?.toLowerCase() === "local") {
|
||||
return "local"
|
||||
}
|
||||
|
||||
return "local"
|
||||
return "s3"
|
||||
}
|
||||
|
||||
export async function storeUpload(params: StoreUploadParams): Promise<StoredUpload> {
|
||||
const provider = resolveMediaStorageProvider(process.env.CMS_MEDIA_STORAGE_PROVIDER)
|
||||
|
||||
if (provider === "s3") {
|
||||
const stored = await storeUploadToS3(params)
|
||||
return {
|
||||
...stored,
|
||||
provider,
|
||||
try {
|
||||
const stored = await storeUploadToS3(params)
|
||||
return {
|
||||
...stored,
|
||||
provider,
|
||||
}
|
||||
} catch {
|
||||
const fallbackStored = await storeUploadLocally(params)
|
||||
return {
|
||||
...fallbackStored,
|
||||
provider: "local",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user