diff --git a/server/routes.ts b/server/routes.ts index 897453c..9f92d69 100644 --- a/server/routes.ts +++ b/server/routes.ts @@ -162,16 +162,21 @@ export async function registerRoutes( let path = `/library/${LIBRARY_ID}/videos?page=${page}&itemsPerPage=${perPage}&orderBy=date`; if (search) path += `&search=${encodeURIComponent(search)}`; const data = await bunnyFetch(path); - const videos = (data.items || []).map((v: any) => ({ - guid: v.guid, - title: (v.title || "").replace(/\.mp4$/i, ""), - length: v.length, - dateUploaded: v.dateUploaded, - thumbnail: `https://${CDN_HOST}/${v.guid}/${v.thumbnailFileName || "thumbnail.jpg"}`, - embedUrl: `https://player.mediadelivery.net/embed/${LIBRARY_ID}/${v.guid}`, - hlsUrl: `https://${CDN_HOST}/${v.guid}/playlist.m3u8`, - status: v.status, - })); + const videos = (data.items || []).map((v: any) => { + const descTag = (v.metaTags || []).find((t: any) => t.property === "description"); + return { + guid: v.guid, + title: (v.title || "").replace(/\.mp4$/i, ""), + description: descTag?.value || v.description || "", + length: v.length, + dateUploaded: v.dateUploaded, + thumbnail: `https://${CDN_HOST}/${v.guid}/${v.thumbnailFileName || "thumbnail.jpg"}`, + embedUrl: `https://player.mediadelivery.net/embed/${LIBRARY_ID}/${v.guid}`, + hlsUrl: `https://${CDN_HOST}/${v.guid}/playlist.m3u8`, + status: v.status, + category: v.category || "", + }; + }); res.json({ items: videos, totalItems: data.totalItems, currentPage: data.currentPage }); } catch (err: any) { res.status(500).json({ message: err.message }); @@ -181,15 +186,18 @@ export async function registerRoutes( app.get("/api/videos/:guid", async (req, res) => { try { const data = await bunnyFetch(`/library/${LIBRARY_ID}/videos/${req.params.guid}`); + const descTag = (data.metaTags || []).find((t: any) => t.property === "description"); res.json({ guid: data.guid, title: (data.title || "").replace(/\.mp4$/i, ""), + description: descTag?.value || data.description || "", length: data.length, dateUploaded: data.dateUploaded, thumbnail: `https://${CDN_HOST}/${data.guid}/${data.thumbnailFileName || "thumbnail.jpg"}`, embedUrl: `https://player.mediadelivery.net/embed/${LIBRARY_ID}/${data.guid}`, hlsUrl: `https://${CDN_HOST}/${data.guid}/playlist.m3u8`, status: data.status, + category: data.category || "", }); } catch (err: any) { res.status(500).json({ message: err.message });