diff --git a/server/routes/request.ts b/server/routes/request.ts index 1bde2259d..cd6ef8f7f 100644 --- a/server/routes/request.ts +++ b/server/routes/request.ts @@ -251,20 +251,19 @@ requestRoutes.post('/', async (req, res, next) => { } if (req.body.mediaType === MediaType.MOVIE) { - const existing = await requestRepository.findOne({ - where: { - media: { - tmdbId: tmdbMedia.id, - }, - is4k: req.body.is4k, - }, - }); + const existing = await requestRepository + .createQueryBuilder('request') + .leftJoin('request.media', 'media') + .where('request.is4k = :is4k', { is4k: req.body.is4k }) + .andWhere('media.tmdbId = :tmdbId', { tmdbId: tmdbMedia.id }) + .getOne(); if (existing) { logger.warn('Duplicate request for media blocked', { tmdbId: tmdbMedia.id, mediaType: req.body.mediaType, is4k: req.body.is4k, + label: 'Media Request', }); return next({ status: 409,