diff --git a/server/routes/media.ts b/server/routes/media.ts index b83f9dd0..d7962825 100644 --- a/server/routes/media.ts +++ b/server/routes/media.ts @@ -315,12 +315,12 @@ mediaRoutes.get<{ id: string }, MediaWatchDataResponse>( if (media.ratingKey) { const watchStats = await tautulli.getMediaWatchStats(media.ratingKey); const watchUsers = await tautulli.getMediaWatchUsers(media.ratingKey); + const plexIds = watchUsers.map((u) => u.user_id); + if (!plexIds.length) plexIds.push(-1); const users = await userRepository .createQueryBuilder('user') - .where('user.plexId IN (:...plexIds)', { - plexIds: watchUsers.map((u) => u.user_id), - }) + .where('user.plexId IN (:...plexIds)', { plexIds }) .getMany(); const playCount = @@ -347,12 +347,12 @@ mediaRoutes.get<{ id: string }, MediaWatchDataResponse>( const watchUsers4k = await tautulli.getMediaWatchUsers( media.ratingKey4k ); + const plexIds4k = watchUsers4k.map((u) => u.user_id); + if (!plexIds4k.length) plexIds4k.push(-1); const users = await userRepository .createQueryBuilder('user') - .where('user.plexId IN (:...plexIds)', { - plexIds: watchUsers4k.map((u) => u.user_id), - }) + .where('user.plexId IN (:...plexIds)', { plexIds: plexIds4k }) .getMany(); const playCount = diff --git a/server/routes/settings/index.ts b/server/routes/settings/index.ts index 68353968..12b57465 100644 --- a/server/routes/settings/index.ts +++ b/server/routes/settings/index.ts @@ -494,13 +494,16 @@ settingsRoutes.get( thumb: string; }[] = []; + const plexIds = plexUsers.map((plexUser) => plexUser.id); + const plexEmails = plexUsers.map((plexUser) => + plexUser.email.toLowerCase() + ); + if (!plexIds.length) plexIds.push('-1'); + if (!plexEmails.length) plexEmails.push('@'); + const existingUsers = await qb - .where('user.plexId IN (:...plexIds)', { - plexIds: plexUsers.map((plexUser) => plexUser.id), - }) - .orWhere('user.email IN (:...plexEmails)', { - plexEmails: plexUsers.map((plexUser) => plexUser.email.toLowerCase()), - }) + .where('user.plexId IN (:...plexIds)', { plexIds }) + .orWhere('user.email IN (:...plexEmails)', { plexEmails }) .getMany(); await Promise.all(