From dd4308fa533e8a6d4dec35fa816eee69c45fbefd Mon Sep 17 00:00:00 2001 From: Mitch Downey Date: Fri, 17 Nov 2023 05:17:23 -0600 Subject: [PATCH 1/4] Include medium = videos in podcastsOnly queries --- src/controllers/episode.ts | 2 +- src/controllers/mediaRef.ts | 2 +- src/controllers/podcast.ts | 4 ++-- src/middleware/queryValidation/search.ts | 2 ++ 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/controllers/episode.ts b/src/controllers/episode.ts index 159db002..a2022b97 100644 --- a/src/controllers/episode.ts +++ b/src/controllers/episode.ts @@ -204,7 +204,7 @@ const generateEpisodeSelects = ( } if (podcastsOnly) { - qb.andWhere(`podcast.medium = 'podcast'`) + qb.andWhere(`podcast.medium = 'podcast' OR podcast."hasVideo" IS true`) } if (liveItemStatus) { diff --git a/src/controllers/mediaRef.ts b/src/controllers/mediaRef.ts index f9b21953..970569d7 100644 --- a/src/controllers/mediaRef.ts +++ b/src/controllers/mediaRef.ts @@ -214,7 +214,7 @@ const getMediaRefs = async (query, isFromManticoreSearch?, totalOverride?) => { } if (podcastsOnly) { - qb.andWhere(`podcast.medium = 'podcast'`) + qb.andWhere(`podcast.medium = 'podcast' OR podcast."hasVideo" IS true`) } const allowRandom = podcastIds.length > 0 || episodeIds.length > 0 diff --git a/src/controllers/podcast.ts b/src/controllers/podcast.ts index 472e43f4..624f34fa 100644 --- a/src/controllers/podcast.ts +++ b/src/controllers/podcast.ts @@ -148,7 +148,7 @@ const getPodcastsFromSearchEngine = async (query) => { } else if (isMusic) { extraQuery = `AND medium = 'music'` } else if (podcastsOnly) { - extraQuery = `AND medium = 'podcast'` + extraQuery = `AND medium = 'podcast' OR hasvideo = 1` } const safeSqlString = SqlString.format( @@ -271,7 +271,7 @@ const getPodcasts = async (query, countOverride?, isFromManticoreSearch?) => { } if (podcastsOnly) { - qb.andWhere(`podcast.medium = 'podcast'`) + qb.andWhere(`podcast.medium = 'podcast' OR podcast."hasVideo" IS true`) } const allowRandom = !!podcastIds diff --git a/src/middleware/queryValidation/search.ts b/src/middleware/queryValidation/search.ts index 97e594da..f4750f9c 100644 --- a/src/middleware/queryValidation/search.ts +++ b/src/middleware/queryValidation/search.ts @@ -40,6 +40,7 @@ const validateEpisodeSearch = async (ctx, next) => { isMusic: Joi.boolean(), maxResults: Joi.boolean(), podcastId: Joi.string(), + podcastsOnly: Joi.boolean(), searchTitle: Joi.string().min(2), sincePubDate: Joi.date().iso(), categories: Joi.string(), @@ -97,6 +98,7 @@ const validateMediaRefSearch = async (ctx, next) => { includePodcast: Joi.boolean(), isMusic: Joi.boolean(), podcastId: Joi.string(), + podcastsOnly: Joi.boolean(), searchTitle: Joi.string().min(2), page: Joi.number().integer().min(0), skip: Joi.number().integer().min(0), From f1d432cc04d94329f853d9e218fec0ab3efccaf2 Mon Sep 17 00:00:00 2001 From: Mitch Downey Date: Fri, 17 Nov 2023 05:18:00 -0600 Subject: [PATCH 2/4] Bump to version 4.15.4 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c25b2c2b..928b785a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "podverse-api", - "version": "4.15.3", + "version": "4.15.4", "description": "Data API, database migration scripts, and backend services for all Podverse models.", "contributors": [ "Mitch Downey" From 5b84ea9efb8812f0a7567c512bf233e03484fab1 Mon Sep 17 00:00:00 2001 From: Mitch Downey Date: Fri, 17 Nov 2023 09:06:54 -0600 Subject: [PATCH 3/4] Safe check that itunesEpisode and itunesSeason are numbers --- src/services/parser.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/services/parser.ts b/src/services/parser.ts index 70feafdd..d3f46357 100644 --- a/src/services/parser.ts +++ b/src/services/parser.ts @@ -962,9 +962,15 @@ const assignParsedEpisodeData = async ( episode.imageUrl = parsedEpisode.imageURL episode.isExplicit = parsedEpisode.explicit - episode.itunesEpisode = parsedEpisode && Math.floor(parsedEpisode.itunesEpisode) + if (typeof parsedEpisode?.itunesEpisode === 'number') { + episode.itunesEpisode = Math.floor(parsedEpisode.itunesEpisode) + } + episode.itunesEpisodeType = parsedEpisode.itunesEpisodeType - episode.itunesSeason = parsedEpisode.itunesSeason + + if (typeof parsedEpisode?.itunesSeason === 'number') { + episode.itunesSeason = Math.floor(parsedEpisode.itunesSeason) + } episode.linkUrl = parsedEpisode.link From 85ae98b5a6a3467bd783b7377fa074016c31a9fa Mon Sep 17 00:00:00 2001 From: Mitch Downey Date: Fri, 17 Nov 2023 09:07:15 -0600 Subject: [PATCH 4/4] Bump to version 4.15.5 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 928b785a..ae808dae 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "podverse-api", - "version": "4.15.4", + "version": "4.15.5", "description": "Data API, database migration scripts, and backend services for all Podverse models.", "contributors": [ "Mitch Downey"