fix(media): update delete media file logic to include is4k parameter (#1832)
* fix(media): update delete media file logic to include is4k parameter * fix(media): revert to MANAGE_REQUESTS permission
This commit is contained in:
@@ -6655,9 +6655,16 @@ paths:
|
|||||||
example: '1'
|
example: '1'
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
|
- in: query
|
||||||
|
name: is4k
|
||||||
|
description: Whether to remove from 4K service instance (true) or regular service instance (false)
|
||||||
|
required: false
|
||||||
|
example: false
|
||||||
|
schema:
|
||||||
|
type: boolean
|
||||||
responses:
|
responses:
|
||||||
'204':
|
'204':
|
||||||
description: Succesfully removed media item
|
description: Successfully removed media item
|
||||||
/media/{mediaId}/{status}:
|
/media/{mediaId}/{status}:
|
||||||
post:
|
post:
|
||||||
summary: Update media status
|
summary: Update media status
|
||||||
|
|||||||
@@ -197,8 +197,10 @@ mediaRoutes.delete(
|
|||||||
const media = await mediaRepository.findOneOrFail({
|
const media = await mediaRepository.findOneOrFail({
|
||||||
where: { id: Number(req.params.id) },
|
where: { id: Number(req.params.id) },
|
||||||
});
|
});
|
||||||
const is4k = media.serviceUrl4k !== undefined;
|
|
||||||
|
const is4k = req.query.is4k === 'true';
|
||||||
const isMovie = media.mediaType === MediaType.MOVIE;
|
const isMovie = media.mediaType === MediaType.MOVIE;
|
||||||
|
|
||||||
let serviceSettings;
|
let serviceSettings;
|
||||||
if (isMovie) {
|
if (isMovie) {
|
||||||
serviceSettings = settings.radarr.find(
|
serviceSettings = settings.radarr.find(
|
||||||
@@ -225,6 +227,7 @@ mediaRoutes.delete(
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!serviceSettings) {
|
if (!serviceSettings) {
|
||||||
logger.warn(
|
logger.warn(
|
||||||
`There is no default ${
|
`There is no default ${
|
||||||
@@ -239,6 +242,7 @@ mediaRoutes.delete(
|
|||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
let service;
|
let service;
|
||||||
if (isMovie) {
|
if (isMovie) {
|
||||||
service = new RadarrAPI({
|
service = new RadarrAPI({
|
||||||
|
|||||||
@@ -118,9 +118,11 @@ const ManageSlideOver = ({
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const deleteMediaFile = async () => {
|
const deleteMediaFile = async (is4k = false) => {
|
||||||
if (data.mediaInfo) {
|
if (data.mediaInfo) {
|
||||||
await axios.delete(`/api/v1/media/${data.mediaInfo.id}/file`);
|
await axios.delete(
|
||||||
|
`/api/v1/media/${data.mediaInfo.id}/file?is4k=${is4k}`
|
||||||
|
);
|
||||||
await axios.delete(`/api/v1/media/${data.mediaInfo.id}`);
|
await axios.delete(`/api/v1/media/${data.mediaInfo.id}`);
|
||||||
revalidate();
|
revalidate();
|
||||||
onClose();
|
onClose();
|
||||||
@@ -414,7 +416,7 @@ const ManageSlideOver = ({
|
|||||||
isDefaultService() && (
|
isDefaultService() && (
|
||||||
<div>
|
<div>
|
||||||
<ConfirmButton
|
<ConfirmButton
|
||||||
onClick={() => deleteMediaFile()}
|
onClick={() => deleteMediaFile(false)}
|
||||||
confirmText={intl.formatMessage(
|
confirmText={intl.formatMessage(
|
||||||
globalMessages.areyousure
|
globalMessages.areyousure
|
||||||
)}
|
)}
|
||||||
@@ -573,7 +575,7 @@ const ManageSlideOver = ({
|
|||||||
{isDefaultService() && (
|
{isDefaultService() && (
|
||||||
<div>
|
<div>
|
||||||
<ConfirmButton
|
<ConfirmButton
|
||||||
onClick={() => deleteMediaFile()}
|
onClick={() => deleteMediaFile(true)}
|
||||||
confirmText={intl.formatMessage(
|
confirmText={intl.formatMessage(
|
||||||
globalMessages.areyousure
|
globalMessages.areyousure
|
||||||
)}
|
)}
|
||||||
|
|||||||
@@ -343,7 +343,9 @@ const RequestItem = ({ request, revalidateList }: RequestItemProps) => {
|
|||||||
|
|
||||||
const deleteMediaFile = async () => {
|
const deleteMediaFile = async () => {
|
||||||
if (request.media) {
|
if (request.media) {
|
||||||
await axios.delete(`/api/v1/media/${request.media.id}/file`);
|
await axios.delete(
|
||||||
|
`/api/v1/media/${request.media.id}/file?is4k=${request.is4k}`
|
||||||
|
);
|
||||||
await axios.delete(`/api/v1/media/${request.media.id}`);
|
await axios.delete(`/api/v1/media/${request.media.id}`);
|
||||||
revalidateList();
|
revalidateList();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user