mirror of
https://github.com/sct/overseerr.git
synced 2025-09-17 17:24:35 +02:00
feat(frontend): buttonWithDropdown component added (no hookups yet)
This commit is contained in:
@@ -9,6 +9,7 @@ import {
|
||||
AfterInsert,
|
||||
getRepository,
|
||||
OneToMany,
|
||||
AfterRemove,
|
||||
} from 'typeorm';
|
||||
import { User } from './User';
|
||||
import Media from './Media';
|
||||
@@ -67,6 +68,15 @@ export class MediaRequest {
|
||||
}
|
||||
}
|
||||
|
||||
@AfterRemove()
|
||||
private async handleRemoveParentUpdate() {
|
||||
const mediaRepository = getRepository(Media);
|
||||
if (!this.media.requests || this.media.requests.length === 0) {
|
||||
this.media.status = MediaStatus.UNKNOWN;
|
||||
mediaRepository.save(this.media);
|
||||
}
|
||||
}
|
||||
|
||||
@AfterUpdate()
|
||||
@AfterInsert()
|
||||
private async sendToRadarr() {
|
||||
|
@@ -7,6 +7,7 @@ import TheMovieDb from '../api/themoviedb';
|
||||
import Media from '../entity/Media';
|
||||
import { MediaStatus, MediaRequestStatus, MediaType } from '../constants/media';
|
||||
import SeasonRequest from '../entity/SeasonRequest';
|
||||
import logger from '../logger';
|
||||
|
||||
const requestRoutes = Router();
|
||||
|
||||
@@ -63,6 +64,11 @@ requestRoutes.post(
|
||||
mediaType: req.body.mediaType,
|
||||
});
|
||||
await mediaRepository.save(media);
|
||||
} else {
|
||||
if (media.status === MediaStatus.UNKNOWN) {
|
||||
media.status = MediaStatus.PENDING;
|
||||
await mediaRepository.save(media);
|
||||
}
|
||||
}
|
||||
|
||||
if (req.body.mediaType === 'movie') {
|
||||
@@ -164,7 +170,8 @@ requestRoutes.delete('/:requestId', async (req, res, next) => {
|
||||
|
||||
if (
|
||||
!req.user?.hasPermission(Permission.MANAGE_REQUESTS) &&
|
||||
(request.requestedBy.id !== req.user?.id || request.status > 0)
|
||||
request.requestedBy.id !== req.user?.id &&
|
||||
request.status !== 1
|
||||
) {
|
||||
return next({
|
||||
status: 401,
|
||||
@@ -172,10 +179,11 @@ requestRoutes.delete('/:requestId', async (req, res, next) => {
|
||||
});
|
||||
}
|
||||
|
||||
await requestRepository.delete(request.id);
|
||||
await requestRepository.remove(request);
|
||||
|
||||
return res.status(200).json(request);
|
||||
return res.status(204).send();
|
||||
} catch (e) {
|
||||
logger.error(e.message);
|
||||
next({ status: 404, message: 'Request not found' });
|
||||
}
|
||||
});
|
||||
|
Reference in New Issue
Block a user