Refactor storage api paths

This commit is contained in:
Sam Becker 2024-01-20 22:39:23 -06:00
parent 2d244faec6
commit 5176649ad6
4 changed files with 11 additions and 8 deletions

View File

@ -9,7 +9,7 @@ import { handleUpload, type HandleUploadBody } from '@vercel/blob/client';
import { NextResponse } from 'next/server';
export async function POST(request: Request): Promise<NextResponse> {
const body = (await request.json()) as HandleUploadBody;
const body: HandleUploadBody = await request.json();
try {
const jsonResponse = await handleUpload({

View File

@ -18,6 +18,7 @@ import {
} from '@/site/config';
import { generateNanoid } from '@/utility/nanoid';
import { CLOUDFLARE_R2_BASE_URL_PUBLIC } from './cloudflare-r2';
import { PATH_API_PRESIGNED_URL } from '@/site/paths';
export const generateBlobId = () => generateNanoid(16);
@ -44,8 +45,6 @@ const blobBaseUrlForStorage = (type: StorageType) => {
export const BLOB_BASE_URL = blobBaseUrlForStorage(STORAGE_PREFERENCE);
const API_PATH_PRESIGNED_URL = '/api/storage/presigned-url';
const PREFIX_UPLOAD = 'upload';
const PREFIX_PHOTO = 'photo';
@ -84,7 +83,7 @@ export const uploadFromClientViaPresignedUrl = async (
? `${fileName}-${generateBlobId()}.${extension}`
: `${fileName}.${extension}`;
const url = await fetch(`${API_PATH_PRESIGNED_URL}/${key}`)
const url = await fetch(`${PATH_API_PRESIGNED_URL}/${key}`)
.then((response) => response.text());
return fetch(url, { method: 'PUT', body: file })

View File

@ -1,4 +1,4 @@
import { PATH_ADMIN_UPLOAD_BLOB } from '@/site/paths';
import { PATH_API_VERCEL_BLOB_UPLOAD } from '@/site/paths';
import { copy, del, list } from '@vercel/blob';
import { upload } from '@vercel/blob/client';
@ -18,7 +18,7 @@ export const vercelBlobUploadFromClient = async (
file,
{
access: 'public',
handleUploadUrl: PATH_ADMIN_UPLOAD_BLOB,
handleUploadUrl: PATH_API_VERCEL_BLOB_UPLOAD,
},
)
.then(({ url }) => url);

View File

@ -12,6 +12,7 @@ export const PATH_ROOT = '/';
export const PATH_GRID = '/grid';
export const PATH_SETS = '/sets';
export const PATH_ADMIN = '/admin';
export const PATH_API = '/api';
export const PATH_SIGN_IN = '/sign-in';
export const PATH_OG = '/og';
@ -31,9 +32,13 @@ const PATH_FILM_SIMULATION_DYNAMIC = `${PREFIX_FILM_SIMULATION}/[simulation]`;
export const PATH_ADMIN_PHOTOS = `${PATH_ADMIN}/photos`;
export const PATH_ADMIN_UPLOADS = `${PATH_ADMIN}/uploads`;
export const PATH_ADMIN_TAGS = `${PATH_ADMIN}/tags`;
export const PATH_ADMIN_UPLOAD_BLOB = `${PATH_ADMIN_UPLOADS}/blob`;
export const PATH_ADMIN_CONFIGURATION = `${PATH_ADMIN}/configuration`;
// API paths
export const PATH_API_STORAGE = `${PATH_API}/storage`;
export const PATH_API_VERCEL_BLOB_UPLOAD = `${PATH_API_STORAGE}/vercel-blob`;
export const PATH_API_PRESIGNED_URL = `${PATH_API_STORAGE}/presigned-url`;
// Modifiers
const SHARE = 'share';
const NEXT = 'next';
@ -44,7 +49,6 @@ export const PATHS_ADMIN = [
PATH_ADMIN_PHOTOS,
PATH_ADMIN_UPLOADS,
PATH_ADMIN_TAGS,
PATH_ADMIN_UPLOAD_BLOB,
PATH_ADMIN_CONFIGURATION,
];