mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-08-28 19:47:41 +08:00
feat(event): add SubscribeDeleted event
This commit is contained in:
@@ -8,6 +8,7 @@ from app import schemas
|
|||||||
from app.chain.subscribe import SubscribeChain
|
from app.chain.subscribe import SubscribeChain
|
||||||
from app.core.config import settings
|
from app.core.config import settings
|
||||||
from app.core.context import MediaInfo
|
from app.core.context import MediaInfo
|
||||||
|
from app.core.event import eventmanager
|
||||||
from app.core.metainfo import MetaInfo
|
from app.core.metainfo import MetaInfo
|
||||||
from app.core.security import verify_token, verify_apitoken
|
from app.core.security import verify_token, verify_apitoken
|
||||||
from app.db import get_db
|
from app.db import get_db
|
||||||
@@ -17,7 +18,7 @@ from app.db.models.user import User
|
|||||||
from app.db.user_oper import get_current_active_user
|
from app.db.user_oper import get_current_active_user
|
||||||
from app.helper.subscribe import SubscribeHelper
|
from app.helper.subscribe import SubscribeHelper
|
||||||
from app.scheduler import Scheduler
|
from app.scheduler import Scheduler
|
||||||
from app.schemas.types import MediaType
|
from app.schemas.types import MediaType, EventType
|
||||||
|
|
||||||
router = APIRouter()
|
router = APIRouter()
|
||||||
|
|
||||||
@@ -274,17 +275,27 @@ def delete_subscribe_by_mediaid(
|
|||||||
"""
|
"""
|
||||||
根据TMDBID或豆瓣ID删除订阅 tmdb:/douban:
|
根据TMDBID或豆瓣ID删除订阅 tmdb:/douban:
|
||||||
"""
|
"""
|
||||||
|
delete_subscribes = []
|
||||||
if mediaid.startswith("tmdb:"):
|
if mediaid.startswith("tmdb:"):
|
||||||
tmdbid = mediaid[5:]
|
tmdbid = mediaid[5:]
|
||||||
if not tmdbid or not str(tmdbid).isdigit():
|
if not tmdbid or not str(tmdbid).isdigit():
|
||||||
return schemas.Response(success=False)
|
return schemas.Response(success=False)
|
||||||
Subscribe().delete_by_tmdbid(db, int(tmdbid), season)
|
subscribes = Subscribe().get_by_tmdbid(db, int(tmdbid), season)
|
||||||
|
delete_subscribes.extend(subscribes)
|
||||||
elif mediaid.startswith("douban:"):
|
elif mediaid.startswith("douban:"):
|
||||||
doubanid = mediaid[7:]
|
doubanid = mediaid[7:]
|
||||||
if not doubanid:
|
if not doubanid:
|
||||||
return schemas.Response(success=False)
|
return schemas.Response(success=False)
|
||||||
Subscribe().delete_by_doubanid(db, doubanid)
|
subscribe = Subscribe().get_by_doubanid(db, doubanid)
|
||||||
|
if subscribe:
|
||||||
|
delete_subscribes.append(subscribe)
|
||||||
|
for subscribe in delete_subscribes:
|
||||||
|
Subscribe().delete(db, subscribe.id)
|
||||||
|
# 发送事件
|
||||||
|
eventmanager.send_event(EventType.SubscribeDeleted, {
|
||||||
|
"subscribe_id": subscribe.id,
|
||||||
|
"subscribe": subscribe.to_dict()
|
||||||
|
})
|
||||||
return schemas.Response(success=True)
|
return schemas.Response(success=True)
|
||||||
|
|
||||||
|
|
||||||
@@ -507,9 +518,14 @@ def delete_subscribe(
|
|||||||
subscribe = Subscribe.get(db, subscribe_id)
|
subscribe = Subscribe.get(db, subscribe_id)
|
||||||
if subscribe:
|
if subscribe:
|
||||||
subscribe.delete(db, subscribe_id)
|
subscribe.delete(db, subscribe_id)
|
||||||
# 统计订阅
|
# 发送事件
|
||||||
SubscribeHelper().sub_done_async({
|
eventmanager.send_event(EventType.SubscribeDeleted, {
|
||||||
"tmdbid": subscribe.tmdbid,
|
"subscribe_id": subscribe_id,
|
||||||
"doubanid": subscribe.doubanid
|
"subscribe": subscribe.to_dict()
|
||||||
})
|
})
|
||||||
|
# 统计订阅
|
||||||
|
SubscribeHelper().sub_done_async({
|
||||||
|
"tmdbid": subscribe.tmdbid,
|
||||||
|
"doubanid": subscribe.doubanid
|
||||||
|
})
|
||||||
return schemas.Response(success=True)
|
return schemas.Response(success=True)
|
||||||
|
|||||||
@@ -48,6 +48,8 @@ class EventType(Enum):
|
|||||||
NoticeMessage = "notice.message"
|
NoticeMessage = "notice.message"
|
||||||
# 订阅已添加
|
# 订阅已添加
|
||||||
SubscribeAdded = "subscribe.added"
|
SubscribeAdded = "subscribe.added"
|
||||||
|
# 订阅已删除
|
||||||
|
SubscribeDeleted = "subscribe.deleted"
|
||||||
# 订阅已完成
|
# 订阅已完成
|
||||||
SubscribeComplete = "subscribe.complete"
|
SubscribeComplete = "subscribe.complete"
|
||||||
# 系统错误
|
# 系统错误
|
||||||
|
|||||||
Reference in New Issue
Block a user