From ed37fcbb073ea02de716a63c8e1335c5423ae309 Mon Sep 17 00:00:00 2001 From: InfinityPacer <160988576+InfinityPacer@users.noreply.github.com> Date: Thu, 5 Dec 2024 16:20:14 +0800 Subject: [PATCH] feat(subscribe): update get_by_state to handle multiple states --- app/db/models/subscribe.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/db/models/subscribe.py b/app/db/models/subscribe.py index 47d23cfc..7632d853 100644 --- a/app/db/models/subscribe.py +++ b/app/db/models/subscribe.py @@ -54,7 +54,7 @@ class Subscribe(Base): lack_episode = Column(Integer) # 附加信息 note = Column(JSON) - # 状态:N-新建, R-订阅中 + # 状态:N-新建 R-订阅中 P-待定 S-暂停 state = Column(String, nullable=False, index=True, default='N') # 最后更新时间 last_update = Column(String) @@ -98,7 +98,13 @@ class Subscribe(Base): @staticmethod @db_query def get_by_state(db: Session, state: str): - result = db.query(Subscribe).filter(Subscribe.state == state).all() + # 如果 state 为空或 None,返回所有订阅 + if not state: + result = db.query(Subscribe).all() + else: + # 如果传入的状态不为空,拆分成多个状态 + states = state.split(',') + result = db.query(Subscribe).filter(Subscribe.state.in_(states)).all() return list(result) @staticmethod