diff --git a/client/components/modals/item/tabs/Match.vue b/client/components/modals/item/tabs/Match.vue index 41043be71..bf15ffc17 100644 --- a/client/components/modals/item/tabs/Match.vue +++ b/client/components/modals/item/tabs/Match.vue @@ -400,7 +400,9 @@ export default { this.$toast.warning(this.$strings.ToastTitleRequired) return } - this.persistProvider() + if (!this.isPodcast) { + this.persistProvider() + } this.runSearch() }, async runSearch() { diff --git a/server/models/Podcast.js b/server/models/Podcast.js index d99a66df4..a96e1dd02 100644 --- a/server/models/Podcast.js +++ b/server/models/Podcast.js @@ -82,6 +82,13 @@ class Podcast extends Model { const genres = Array.isArray(payload.metadata.genres) && payload.metadata.genres.every((g) => typeof g === 'string' && g.length) ? payload.metadata.genres : [] const tags = Array.isArray(payload.tags) && payload.tags.every((t) => typeof t === 'string' && t.length) ? payload.tags : [] + const stringKeys = ['title', 'author', 'releaseDate', 'feedUrl', 'imageUrl', 'description', 'itunesPageUrl', 'itunesId', 'itunesArtistId', 'language', 'type'] + stringKeys.forEach((key) => { + if (typeof payload.metadata[key] === 'number') { + payload.metadata[key] = String(payload.metadata[key]) + } + }) + return this.create( { title, @@ -205,6 +212,11 @@ class Podcast extends Model { if (payload.metadata) { const stringKeys = ['title', 'author', 'releaseDate', 'feedUrl', 'imageUrl', 'description', 'itunesPageUrl', 'itunesId', 'itunesArtistId', 'language', 'type'] stringKeys.forEach((key) => { + // Convert numbers to strings + if (typeof payload.metadata[key] === 'number') { + payload.metadata[key] = String(payload.metadata[key]) + } + let newKey = key if (key === 'type') { newKey = 'podcastType'