diff --git a/server/entity/MediaRequest.ts b/server/entity/MediaRequest.ts index cdfa17c3a..55f24fe59 100644 --- a/server/entity/MediaRequest.ts +++ b/server/entity/MediaRequest.ts @@ -332,9 +332,16 @@ export class MediaRequest { if (requestBody.mediaType === MediaType.MOVIE) { await mediaRepository.save(media); + if (!media.id) { + throw new Error( + `Failed to save media before creating request. Media type: ${requestBody.mediaType}, TMDB ID: ${requestBody.mediaId}, persisted media id: ${media.id}` + ); + } + const request = new MediaRequest({ type: MediaType.MOVIE, media, + mediaId: media.id, requestedBy: requestUser, // If the user is an admin or has the "auto approve" permission, automatically approve the request status: user.hasPermission( @@ -442,9 +449,16 @@ export class MediaRequest { await mediaRepository.save(media); + if (!media.id) { + throw new Error( + `Failed to save media before creating request. Media type: TV, TMDB ID: ${requestBody.mediaId}, is4k: ${requestBody.is4k}` + ); + } + const request = new MediaRequest({ type: MediaType.TV, media, + mediaId: media.id, requestedBy: requestUser, // If the user is an admin or has the "auto approve" permission, automatically approve the request status: user.hasPermission( @@ -521,6 +535,9 @@ export class MediaRequest { }) public media: Media; + @Column({ name: 'mediaId', nullable: true }) + public mediaId: number; + @ManyToOne(() => User, (user) => user.requests, { eager: true, onDelete: 'CASCADE',