From ffbb0e659f0f653dad4992d99f9f97de12224ae0 Mon Sep 17 00:00:00 2001 From: Luca <102960244+Luca-Timo@users.noreply.github.com> Date: Mon, 4 May 2026 12:28:46 +0200 Subject: [PATCH] refactor(events): type external-media list response, drop any casts --- frontend/src/pages/admin/EventDetailsPage.tsx | 4 +- .../src/services/externalMedia.service.ts | 50 +++++++++++++++---- 2 files changed, 41 insertions(+), 13 deletions(-) diff --git a/frontend/src/pages/admin/EventDetailsPage.tsx b/frontend/src/pages/admin/EventDetailsPage.tsx index f06ff64c..c81428f2 100644 --- a/frontend/src/pages/admin/EventDetailsPage.tsx +++ b/frontend/src/pages/admin/EventDetailsPage.tsx @@ -92,7 +92,7 @@ const FolderTreeNode: React.FC<{ staleTime: 30_000 }); - const dirs = (data?.entries || []).filter((e: any) => e.type === 'dir'); + const dirs = (data?.entries || []).filter(e => e.type === 'dir'); const showEmpty = isExpanded && !isLoading && !isError && dirs.length === 0; const indentStyle = { paddingLeft: depth * 16 + 4 }; const childIndentStyle = { paddingLeft: (depth + 1) * 16 + 4 }; @@ -158,7 +158,7 @@ const FolderTreeNode: React.FC<{ {t('events.externalFolderEmpty', 'No subfolders')} )} - {dirs.map((d: any) => { + {dirs.map(d => { const childPath = path ? `${path}/${d.name}` : d.name; return ( { + async list(pathRel: string = ''): Promise { const params = new URLSearchParams(); if (pathRel) params.set('path', pathRel); - const res = await api.get(`/admin/external-media/list?${params.toString()}`); + const res = await api.get(`/admin/external-media/list?${params.toString()}`); return res.data; }, - async importEvent(eventId: number, externalPath: string, options?: { recursive?: boolean; map?: { individual?: string; collages?: string } }): Promise<{ imported: number; skipped: number; thumbnailsQueued: number }> { - const res = await api.post(`/admin/external-media/events/${eventId}/import-external`, { - external_path: externalPath, - recursive: options?.recursive ?? true, - map: options?.map - }); + async importEvent( + eventId: number, + externalPath: string, + options?: ExternalMediaImportOptions + ): Promise { + const res = await api.post( + `/admin/external-media/events/${eventId}/import-external`, + { + external_path: externalPath, + recursive: options?.recursive ?? true, + map: options?.map + } + ); return res.data; } -} - +};