Add administration interface for managing videos and viewing platform statistics

Implements a new /bunny-admin route with a dedicated page for video management and statistics, integrates a BunnyVideoModal for video playback and sharing, and adds backend API endpoints for Bunny.net statistics and video deletion.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: d7424866-83d1-4486-a212-ac12b4c7becf
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/8cc42625-c1f5-4e43-99bd-77f2c4dedee2/d7424866-83d1-4486-a212-ac12b4c7becf/plFksdF
This commit is contained in:
sebastjanartic
2025-08-08 21:10:03 +00:00
parent 27358b647a
commit 78b5327e59
7 changed files with 688 additions and 6 deletions
+15 -4
View File
@@ -62,15 +62,26 @@ export class BunnyService {
return {
id: bunnyVideo.guid,
title: bunnyVideo.title || 'Untitled Video',
description: null, // Bunny API doesn't return description in list view
description: "", // Bunny API doesn't return description in list view
thumbnailUrl,
customThumbnailUrl: null,
videoUrl: hlsUrl, // Signed HLS URL
videoUrlMp4: undefined, // Remove MP4 since it likely won't work for private videos
videoUrlMp4: null, // Remove MP4 since it likely won't work for private videos
videoUrlIframe: iframeUrl, // iframe fallback
duration: Math.floor(bunnyVideo.length || 0),
views: bunnyVideo.views || 0,
category: bunnyVideo.category || null,
createdAt: new Date(bunnyVideo.dateUploaded)
category: bunnyVideo.category || "",
tags: [],
isPublic: true,
uploadStatus: "completed",
originalFileName: null,
fileSize: null,
bitrate: null,
resolution: null,
format: null,
encoding: null,
createdAt: new Date(bunnyVideo.dateUploaded),
updatedAt: new Date(bunnyVideo.dateUploaded)
};
}