From 5cfd063817f84d1f0defab4eee29ea04ecbfb126 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Sun, 16 Jul 2023 10:13:40 +0800 Subject: [PATCH] feat site reset --- app/api/endpoints/site.py | 12 ++++++++++++ app/chain/cookiecloud.py | 2 ++ app/db/models/site.py | 5 +++++ 3 files changed, 19 insertions(+) diff --git a/app/api/endpoints/site.py b/app/api/endpoints/site.py index 828e7778..d512bb4c 100644 --- a/app/api/endpoints/site.py +++ b/app/api/endpoints/site.py @@ -72,6 +72,18 @@ def cookie_cloud_sync(background_tasks: BackgroundTasks, return schemas.Response(success=True, message="CookieCloud同步任务已启动!") +@router.get("/reset", summary="重置站点", response_model=schemas.Response) +def cookie_cloud_sync(background_tasks: BackgroundTasks, + db: Session = Depends(get_db), + _: schemas.TokenPayload = Depends(verify_token)) -> Any: + """ + 清空所有站点数据并重新同步CookieCloud站点信息 + """ + Site.reset(db) + CookieCloudChain().process(manual=True) + return schemas.Response(success=True, message="站点已重置!") + + @router.get("/cookie/{site_id}", summary="更新站点Cookie&UA", response_model=schemas.Response) def update_cookie( site_id: int, diff --git a/app/chain/cookiecloud.py b/app/chain/cookiecloud.py index 53a682a3..8fc7f7fe 100644 --- a/app/chain/cookiecloud.py +++ b/app/chain/cookiecloud.py @@ -58,6 +58,8 @@ class CookieCloudChain(ChainBase): cookies, msg = self.cookiecloud.download() if not cookies: logger.error(f"CookieCloud同步失败:{msg}") + if manual: + self.message.put(f"CookieCloud同步失败: {msg}") return False, msg # 保存Cookie或新增站点 _update_count = 0 diff --git a/app/db/models/site.py b/app/db/models/site.py index 7c47b7ee..b9defde5 100644 --- a/app/db/models/site.py +++ b/app/db/models/site.py @@ -57,3 +57,8 @@ class Site(Base): @staticmethod def list_order_by_pri(db: Session): return db.query(Site).order_by(Site.pri).all() + + @staticmethod + def reset(db: Session): + db.query(Site).delete() + db.commit()