diff --git a/media_manager/tv/service.py b/media_manager/tv/service.py index 2640194..9329b78 100644 --- a/media_manager/tv/service.py +++ b/media_manager/tv/service.py @@ -247,7 +247,7 @@ class TvService: show = self.tv_repository.get_show_by_external_id( external_id=result.external_id, metadata_provider=metadata_provider.name ) - result.id = show.id + result.id = str(show.id) except Exception: log.error(f"Unable to find internal show ID for {result.external_id} on {metadata_provider.name}") return results diff --git a/web/src/lib/api/api.d.ts b/web/src/lib/api/api.d.ts index 7d7ae11..2180f54 100644 --- a/web/src/lib/api/api.d.ts +++ b/web/src/lib/api/api.d.ts @@ -728,6 +728,24 @@ export interface paths { patch?: never; trace?: never; }; + "/api/v1/movies/{movie_id}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get Movie By Id */ + get: operations["get_movie_by_id_api_v1_movies__movie_id__get"]; + put?: never; + post?: never; + /** Delete A Movie */ + delete: operations["delete_a_movie_api_v1_movies__movie_id__delete"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; "/api/v1/movies/importable": { parameters: { query?: never; @@ -876,23 +894,6 @@ export interface paths { patch: operations["authorize_request_api_v1_movies_requests__movie_request_id__patch"]; trace?: never; }; - "/api/v1/movies/{movie_id}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** Get Movie By Id */ - get: operations["get_movie_by_id_api_v1_movies__movie_id__get"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; "/api/v1/movies/{movie_id}/torrents": { parameters: { query?: never; @@ -1306,8 +1307,6 @@ export interface components { added: boolean; /** Vote Average */ vote_average?: number | null; - /** Id */ - id?: string | null; }; /** Movie */ Movie: { @@ -3439,6 +3438,67 @@ export interface operations { }; }; }; + get_movie_by_id_api_v1_movies__movie_id__get: { + parameters: { + query?: never; + header?: never; + path: { + movie_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["PublicMovie"]; + }; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; + delete_a_movie_api_v1_movies__movie_id__delete: { + parameters: { + query?: never; + header?: never; + path: { + /** @description The ID of the movie */ + movie_id: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Successful Response */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description Validation Error */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["HTTPValidationError"]; + }; + }; + }; + }; get_all_importable_movies_api_v1_movies_importable_get: { parameters: { query?: { @@ -3752,37 +3812,6 @@ export interface operations { }; }; }; - get_movie_by_id_api_v1_movies__movie_id__get: { - parameters: { - query?: never; - header?: never; - path: { - movie_id: string; - }; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description Successful Response */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["PublicMovie"]; - }; - }; - /** @description Validation Error */ - 422: { - headers: { - [name: string]: unknown; - }; - content: { - "application/json": components["schemas"]["HTTPValidationError"]; - }; - }; - }; - }; get_all_available_torrents_for_a_movie_api_v1_movies__movie_id__torrents_get: { parameters: { query?: { diff --git a/web/src/routes/dashboard/movies/[movieId=uuid]/+page.svelte b/web/src/routes/dashboard/movies/[movieId=uuid]/+page.svelte index 0d344af..3ab74e5 100644 --- a/web/src/routes/dashboard/movies/[movieId=uuid]/+page.svelte +++ b/web/src/routes/dashboard/movies/[movieId=uuid]/+page.svelte @@ -29,6 +29,10 @@ let deleteFilesOnDisk = $state(false); async function delete_movie() { + if (!movie.id) { + toast.error('Movie ID is missing'); + return; + } // TODO: Implement delete_files_on_disk parameter in backend API const { response } = await client.DELETE('/api/v1/movies/{movie_id}', { params: {