diff --git a/src/app/api/popi/media/upload/route.ts b/src/app/api/popi/media/upload/route.ts index dc0ced94..b59519d6 100644 --- a/src/app/api/popi/media/upload/route.ts +++ b/src/app/api/popi/media/upload/route.ts @@ -65,6 +65,10 @@ function mediaResourceUrl(media: PopiMedia): string | null { return media.url || media.originUrl || media.path || media.originPath || null; } +function isPopiMedia(value: PopiMediaUploadData): value is PopiMedia { + return "url" in value || "originUrl" in value || "path" in value || "originPath" in value; +} + function uploadedMediaUrls(data: PopiMediaUploadData | undefined): string[] { if (!data) return []; if (Array.isArray(data)) { @@ -81,6 +85,7 @@ function uploadedMediaUrls(data: PopiMediaUploadData | undefined): string[] { if (list) { return list.map(mediaResourceUrl).filter((url): url is string => Boolean(url)); } + if (!isPopiMedia(data)) return []; const single = mediaResourceUrl(data); return single ? [single] : []; }