feat(event): add old_subscribe_info to event and update triggers

This commit is contained in:
InfinityPacer
2025-01-24 17:24:29 +08:00
parent ba1ca0819e
commit 3089c0c524
+18
View File
@@ -109,6 +109,7 @@ def update_subscribe(
if not subscribe: if not subscribe:
return schemas.Response(success=False, message="订阅不存在") return schemas.Response(success=False, message="订阅不存在")
# 避免更新缺失集数 # 避免更新缺失集数
old_subscribe_dict = subscribe.to_dict()
subscribe_dict = subscribe_in.dict() subscribe_dict = subscribe_in.dict()
if not subscribe_in.lack_episode: if not subscribe_in.lack_episode:
# 没有缺失集数时,缺失集数清空,避免更新为0 # 没有缺失集数时,缺失集数清空,避免更新为0
@@ -126,6 +127,7 @@ def update_subscribe(
# 发送订阅调整事件 # 发送订阅调整事件
eventmanager.send_event(EventType.SubscribeModified, { eventmanager.send_event(EventType.SubscribeModified, {
"subscribe_id": subscribe.id, "subscribe_id": subscribe.id,
"old_subscribe_info": old_subscribe_dict,
"subscribe_info": subscribe_dict, "subscribe_info": subscribe_dict,
}) })
return schemas.Response(success=True) return schemas.Response(success=True)
@@ -146,9 +148,17 @@ def update_subscribe_status(
valid_states = ["R", "P", "S"] valid_states = ["R", "P", "S"]
if state not in valid_states: if state not in valid_states:
return schemas.Response(success=False, message="无效的订阅状态") return schemas.Response(success=False, message="无效的订阅状态")
old_subscribe_dict = subscribe.to_dict()
subscribe.update(db, { subscribe.update(db, {
"state": state "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) return schemas.Response(success=True)
@@ -213,11 +223,19 @@ def reset_subscribes(
""" """
subscribe = Subscribe.get(db, subid) subscribe = Subscribe.get(db, subid)
if subscribe: if subscribe:
old_subscribe_dict = subscribe.to_dict()
subscribe.update(db, { subscribe.update(db, {
"note": [], "note": [],
"lack_episode": subscribe.total_episode, "lack_episode": subscribe.total_episode,
"state": "R" "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=True)
return schemas.Response(success=False, message="订阅不存在") return schemas.Response(success=False, message="订阅不存在")