diff --git a/backend/download/serializers.py b/backend/download/serializers.py index 2ae56bb7..4ae1b180 100644 --- a/backend/download/serializers.py +++ b/backend/download/serializers.py @@ -56,7 +56,7 @@ class AddDownloadItemSerializer(serializers.Serializer): """serialize single item to add""" youtube_id = serializers.CharField() - status = serializers.ChoiceField(choices=["pending"]) + status = serializers.ChoiceField(choices=["pending", "ignore-force"]) class AddToDownloadListSerializer(serializers.Serializer): diff --git a/frontend/src/api/actions/updateDownloadQueueStatusById.ts b/frontend/src/api/actions/updateDownloadQueueStatusById.ts index 9673aab7..6b6f4eeb 100644 --- a/frontend/src/api/actions/updateDownloadQueueStatusById.ts +++ b/frontend/src/api/actions/updateDownloadQueueStatusById.ts @@ -1,6 +1,6 @@ import APIClient from '../../functions/APIClient'; -export type DownloadQueueStatus = 'ignore' | 'pending' | 'priority'; +export type DownloadQueueStatus = 'ignore' | 'ignore-force' | 'pending' | 'priority'; const updateDownloadQueueStatusById = async (youtubeId: string, status: DownloadQueueStatus) => { return APIClient(`/api/download/${youtubeId}/`, { diff --git a/frontend/src/pages/Video.tsx b/frontend/src/pages/Video.tsx index 18dd241b..2d1d81fe 100644 --- a/frontend/src/pages/Video.tsx +++ b/frontend/src/pages/Video.tsx @@ -40,6 +40,7 @@ import useIsAdmin from '../functions/useIsAdmin'; import ToggleConfig from '../components/ToggleConfig'; import { PlaylistType } from '../api/loader/loadPlaylistById'; import { useAppSettingsStore } from '../stores/AppSettingsStore'; +import updateDownloadQueueStatusById from '../api/actions/updateDownloadQueueStatusById'; const isInPlaylist = (videoId: string, playlist: PlaylistType) => { return playlist.playlist_entries.some(entry => { @@ -358,7 +359,15 @@ const Video = () => { navigate(Routes.Channel(video.channel.channel_id)); }} /> - +