Refine storage check logic
This commit is contained in:
parent
e4be4ad980
commit
1801660e64
@ -25,6 +25,7 @@ export const awsS3Client = () => new S3Client({
|
||||
const urlForKey = (key?: string) => `${AWS_S3_BASE_URL}/${key}`;
|
||||
|
||||
export const isUrlFromAwsS3 = (url: string) =>
|
||||
Boolean(AWS_S3_BASE_URL) &&
|
||||
url.startsWith(AWS_S3_BASE_URL);
|
||||
|
||||
export const awsS3PutObjectCommandForKey = (Key: string) =>
|
||||
|
||||
@ -40,8 +40,11 @@ const urlForKey = (key?: string, isPublic = true) => isPublic
|
||||
: `${CLOUDFLARE_R2_BASE_URL_PRIVATE}/${key}`;
|
||||
|
||||
export const isUrlFromCloudflareR2 = (url: string) =>
|
||||
url.startsWith(CLOUDFLARE_R2_BASE_URL_PRIVATE) ||
|
||||
url.startsWith(CLOUDFLARE_R2_BASE_URL_PUBLIC);
|
||||
Boolean(CLOUDFLARE_R2_BASE_URL_PRIVATE) &&
|
||||
Boolean(CLOUDFLARE_R2_BASE_URL_PUBLIC) && (
|
||||
url.startsWith(CLOUDFLARE_R2_BASE_URL_PRIVATE) ||
|
||||
url.startsWith(CLOUDFLARE_R2_BASE_URL_PUBLIC)
|
||||
);
|
||||
|
||||
export const cloudflareR2PutObjectCommandForKey = (Key: string) =>
|
||||
new PutObjectCommand({ Bucket: CLOUDFLARE_R2_BUCKET, Key });
|
||||
|
||||
@ -130,7 +130,7 @@ export const convertUploadToPhoto = async (
|
||||
): Promise<string> => {
|
||||
const fileName = photoId ? `${PREFIX_PHOTO}-${photoId}` : `${PREFIX_PHOTO}`;
|
||||
const fileExtension = getExtensionFromStorageUrl(uploadUrl);
|
||||
const photoUrl = `${fileName}.${fileExtension ?? 'jpg'}`;
|
||||
const photoPath = `${fileName}.${fileExtension ?? 'jpg'}`;
|
||||
|
||||
const storageType = storageTypeFromUrl(uploadUrl);
|
||||
|
||||
@ -139,17 +139,17 @@ export const convertUploadToPhoto = async (
|
||||
// Copy file
|
||||
switch (storageType) {
|
||||
case 'vercel-blob':
|
||||
url = await vercelBlobCopy(uploadUrl, photoUrl, photoId === undefined);
|
||||
url = await vercelBlobCopy(uploadUrl, photoPath, photoId === undefined);
|
||||
break;
|
||||
case 'cloudflare-r2':
|
||||
url = await cloudflareR2Copy(
|
||||
getFileNameFromStorageUrl(uploadUrl),
|
||||
photoUrl,
|
||||
photoPath,
|
||||
photoId === undefined,
|
||||
);
|
||||
break;
|
||||
case 'aws-s3':
|
||||
url = await awsS3Copy(uploadUrl, photoUrl, photoId === undefined);
|
||||
url = await awsS3Copy(uploadUrl, photoPath, photoId === undefined);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user