From 6ec4bfbfe8e8204aa28ea2399ac2148cd05f6673 Mon Sep 17 00:00:00 2001 From: Sam Becker Date: Wed, 18 Jun 2025 10:20:20 -0500 Subject: [PATCH] Update upload action types --- src/photo/actions.ts | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/photo/actions.ts b/src/photo/actions.ts index 179e6cc7..a3934d56 100644 --- a/src/photo/actions.ts +++ b/src/photo/actions.ts @@ -106,7 +106,7 @@ const addUpload = async ({ hidden?: string takenAtLocal: string takenAtNaiveLocal: string - onStreamUpdate: ( + onStreamUpdate?: ( statusMessage: string, status?: UrlAddStatus['status'], ) => void @@ -125,7 +125,7 @@ const addUpload = async ({ if (formDataFromExif) { if (AI_TEXT_GENERATION_ENABLED) { - onStreamUpdate('Generating AI text'); + onStreamUpdate?.('Generating AI text'); } const { @@ -154,7 +154,7 @@ const addUpload = async ({ takenAtNaive: formDataFromExif.takenAtNaive || takenAtNaiveLocal, }; - onStreamUpdate('Transferring to photo storage'); + onStreamUpdate?.('Transferring to photo storage'); const updatedUrl = await convertUploadToPhoto({ urlOrigin: url, @@ -163,18 +163,23 @@ const addUpload = async ({ }); if (updatedUrl) { const subheadFinal = 'Adding to database'; - onStreamUpdate(subheadFinal); + onStreamUpdate?.(subheadFinal); const photo = await convertFormDataToPhotoDbInsertAndLookupRecipeTitle(form); photo.url = updatedUrl; await insertPhoto(photo); onFinish?.(url); // Re-submit with updated url - onStreamUpdate(subheadFinal, 'added'); + onStreamUpdate?.(subheadFinal, 'added'); } } }; +export const addUploadAction = async (args: Parameters[0]) => + runAuthenticatedAdminServerAction(async () => { + await addUpload(args); + }); + export const addUploadsAction = async ({ uploadUrls, uploadTitles, @@ -184,7 +189,10 @@ export const addUploadsAction = async ({ hidden, takenAtLocal, takenAtNaiveLocal, -}: Parameters[0] & { +}: Omit< + Parameters[0], + 'url' | 'onStreamUpdate' | 'onFinish' +> & { uploadUrls: string[] uploadTitles: string[] shouldRevalidateAllKeysAndPaths?: boolean