diff --git a/src/videoag/api/types.ts b/src/videoag/api/types.ts index b00c370d67489b9093d887231e2f5e53896e75bc..8e7b4489fa9614a93f0b4653b1b52228aeddbcbb 100644 --- a/src/videoag/api/types.ts +++ b/src/videoag/api/types.ts @@ -111,8 +111,8 @@ export interface publish_medium { medium_metadata: medium_metadata; title: string; url: string; + download_url?: string; visible?: boolean; - allow_download: boolean; include_in_player: boolean; } diff --git a/src/videoag/course/DownloadManager.tsx b/src/videoag/course/DownloadManager.tsx index 27b232835150ae167360e819e55f45f675399613..97473c177fb799f268a0fd5d4399f544ba1aa45c 100644 --- a/src/videoag/course/DownloadManager.tsx +++ b/src/videoag/course/DownloadManager.tsx @@ -229,7 +229,7 @@ async function downloadMedia( filesToDownload.push({ lectureId: lecture.id, - url: medium.url, + url: medium.download_url!, // TODO file ending mp4 // TODO lecture date and not id filename: `videoag_${course.handle}_${lecture.id}_${getMediumQualityName(medium)}.mp4`, @@ -353,7 +353,7 @@ function DownloadAllLectureListItem({ } else { const selectedMedium = media.find((m) => m.id == selectedMediumId); displayedProgress = ( - <a href={selectedMedium?.url} download target="_blank"> + <a href={selectedMedium?.download_url} download target="_blank"> <button type="button" className="btn btn-primary" diff --git a/src/videoag/course/Medium.tsx b/src/videoag/course/Medium.tsx index 8694cd1ecc9fcbe2aa47ece7932988580121f18b..54b50c72ca1eb37d61ac9470adcd4b71de4d0571 100644 --- a/src/videoag/course/Medium.tsx +++ b/src/videoag/course/Medium.tsx @@ -65,7 +65,7 @@ export function sortPublishMediaByQuality(media: publish_medium[]): publish_medi } export function getSortedDownloadablePublishMedia(media: publish_medium[]): publish_medium[] { - return sortPublishMediaByQuality(media.filter((m) => m.allow_download)); + return sortPublishMediaByQuality(media.filter((m) => m.download_url !== undefined)); } export function getSortedPlayerPublishMedia(media: publish_medium[]): publish_medium[] { @@ -87,7 +87,7 @@ export function PublishMediumList({ publish_media }: { publish_media: publish_me } > <span className="bi bi-download" /> - <a href={medium.url} className="mx-1"> + <a href={medium.download_url} className="mx-1"> {name} </a> {editMode && ( @@ -147,7 +147,7 @@ export function PublishMediumDownloadButton({ return ( <div key={medium.id} className={"d-flex align-items-center " + bgColor}> - <Dropdown.Item href={medium.url} download> + <Dropdown.Item href={medium.download_url} download> {name} </Dropdown.Item> {editMode && (