Add music/book request flow support

- Add permission checks for music/book in MediaRequest.request()
- Add quota checks for music/book types
- Add externalServiceId and externalServiceTitle columns to Media entity
- Add foreignId/foreignTitle to MediaRequestBody interface
- Add requestMusicOrBook() method for simplified music/book requests
- Make TMDB lookup conditional (skip for music/book)
- Update request route filtering for music/book types
- Handle duplicate detection for foreign ID based media
This commit is contained in:
root
2026-04-03 21:11:34 -05:00
parent 1cf0d541d6
commit 466db07e37
4 changed files with 147 additions and 14 deletions

View File

@@ -173,6 +173,16 @@ requestRoutes.get<Record<string, unknown>, RequestResultsResponse>(
type: MediaType.TV,
});
break;
case 'music':
query = query.andWhere('request.type = :type', {
type: MediaType.MUSIC,
});
break;
case 'book':
query = query.andWhere('request.type = :type', {
type: MediaType.BOOK,
});
break;
}
const [requests, requestCount] = await query