diff --git a/app/api/endpoints/subscribe.py b/app/api/endpoints/subscribe.py index e5cd278e..83805c00 100644 --- a/app/api/endpoints/subscribe.py +++ b/app/api/endpoints/subscribe.py @@ -109,6 +109,7 @@ def update_subscribe( if not subscribe: return schemas.Response(success=False, message="订阅不存在") # 避免更新缺失集数 + old_subscribe_dict = subscribe.to_dict() subscribe_dict = subscribe_in.dict() if not subscribe_in.lack_episode: # 没有缺失集数时,缺失集数清空,避免更新为0 @@ -126,6 +127,7 @@ def update_subscribe( # 发送订阅调整事件 eventmanager.send_event(EventType.SubscribeModified, { "subscribe_id": subscribe.id, + "old_subscribe_info": old_subscribe_dict, "subscribe_info": subscribe_dict, }) return schemas.Response(success=True) @@ -146,9 +148,17 @@ def update_subscribe_status( valid_states = ["R", "P", "S"] if state not in valid_states: return schemas.Response(success=False, message="无效的订阅状态") + old_subscribe_dict = subscribe.to_dict() subscribe.update(db, { "state": state }) + subscribe_dict = subscribe.to_dict() + # 发送订阅调整事件 + eventmanager.send_event(EventType.SubscribeModified, { + "subscribe_id": subscribe.id, + "old_subscribe_info": old_subscribe_dict, + "subscribe_info": subscribe_dict, + }) return schemas.Response(success=True) @@ -213,11 +223,19 @@ def reset_subscribes( """ subscribe = Subscribe.get(db, subid) if subscribe: + old_subscribe_dict = subscribe.to_dict() subscribe.update(db, { "note": [], "lack_episode": subscribe.total_episode, "state": "R" }) + subscribe_dict = subscribe.to_dict() + # 发送订阅调整事件 + eventmanager.send_event(EventType.SubscribeModified, { + "subscribe_id": subscribe.id, + "old_subscribe_info": old_subscribe_dict, + "subscribe_info": subscribe_dict, + }) return schemas.Response(success=True) return schemas.Response(success=False, message="订阅不存在")