From c246c036c984e9987f79da47988f12cc4c585ebc Mon Sep 17 00:00:00 2001 From: jxxghp Date: Thu, 24 Aug 2023 10:12:45 +0800 Subject: [PATCH] fix api bug --- app/api/endpoints/subscribe.py | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/app/api/endpoints/subscribe.py b/app/api/endpoints/subscribe.py index 2e98d46e..c4bf53d7 100644 --- a/app/api/endpoints/subscribe.py +++ b/app/api/endpoints/subscribe.py @@ -121,9 +121,15 @@ def subscribe_mediaid( 根据TMDBID或豆瓣ID查询订阅 tmdb:/douban: """ if mediaid.startswith("tmdb:"): - result = Subscribe.exists(db, int(mediaid[5:]), season) + tmdbid = mediaid[5:] + if not tmdbid or not str(tmdbid).isdigit(): + return Subscribe() + result = Subscribe.exists(db, int(tmdbid), season) elif mediaid.startswith("douban:"): - result = Subscribe.get_by_doubanid(db, mediaid[7:]) + doubanid = mediaid[7:] + if not doubanid: + return Subscribe() + result = Subscribe.get_by_doubanid(db, doubanid) else: result = None if result and result.sites: @@ -157,9 +163,15 @@ def delete_subscribe_by_mediaid( 根据TMDBID或豆瓣ID删除订阅 tmdb:/douban: """ if mediaid.startswith("tmdb:"): - Subscribe().delete_by_tmdbid(db, int(mediaid[5:]), season) + tmdbid = mediaid[5:] + if not tmdbid or not str(tmdbid).isdigit(): + return schemas.Response(success=False) + Subscribe().delete_by_tmdbid(db, int(tmdbid), season) elif mediaid.startswith("douban:"): - Subscribe().delete_by_doubanid(db, mediaid[7:]) + doubanid = mediaid[7:] + if not doubanid: + return schemas.Response(success=False) + Subscribe().delete_by_doubanid(db, doubanid) return schemas.Response(success=True)