mirror of
https://github.com/EstrellaXD/Auto_Bangumi.git
synced 2026-05-11 18:45:58 +08:00
86 lines
2.9 KiB
Python
86 lines
2.9 KiB
Python
from fastapi import Depends, HTTPException, status
|
|
from fastapi.responses import JSONResponse
|
|
|
|
from .log import router
|
|
|
|
from module.models import BangumiData
|
|
from module.manager import TorrentManager
|
|
from module.security import get_current_user
|
|
|
|
|
|
@router.get(
|
|
"/api/v1/bangumi/getAll", tags=["bangumi"], response_model=list[BangumiData]
|
|
)
|
|
async def get_all_data(current_user=Depends(get_current_user)):
|
|
if not current_user:
|
|
raise HTTPException(
|
|
status_code=status.HTTP_401_UNAUTHORIZED, detail="invalid token"
|
|
)
|
|
with TorrentManager() as torrent:
|
|
return torrent.search_all()
|
|
|
|
|
|
@router.get(
|
|
"/api/v1/bangumi/getData/{bangumi_id}", tags=["bangumi"], response_model=BangumiData
|
|
)
|
|
async def get_data(bangumi_id: str, current_user=Depends(get_current_user)):
|
|
if not current_user:
|
|
raise HTTPException(
|
|
status_code=status.HTTP_401_UNAUTHORIZED, detail="invalid token"
|
|
)
|
|
with TorrentManager() as torrent:
|
|
return torrent.search_one(bangumi_id)
|
|
|
|
|
|
@router.post("/api/v1/bangumi/updateRule", tags=["bangumi"])
|
|
async def update_rule(data: BangumiData, current_user=Depends(get_current_user)):
|
|
if not current_user:
|
|
raise HTTPException(
|
|
status_code=status.HTTP_401_UNAUTHORIZED, detail="invalid token"
|
|
)
|
|
with TorrentManager() as torrent:
|
|
return torrent.update_rule(data)
|
|
|
|
|
|
@router.delete("/api/v1/bangumi/deleteRule/{bangumi_id}", tags=["bangumi"])
|
|
async def delete_rule(bangumi_id: str, file: bool = False, current_user=Depends(get_current_user)):
|
|
if not current_user:
|
|
raise HTTPException(
|
|
status_code=status.HTTP_401_UNAUTHORIZED, detail="invalid token"
|
|
)
|
|
with TorrentManager() as torrent:
|
|
return torrent.delete_rule(bangumi_id, file)
|
|
|
|
|
|
@router.delete("/api/v1/bangumi/disableRule/{bangumi_id}", tags=["bangumi"])
|
|
async def disable_rule(
|
|
bangumi_id: str, file: bool = False, current_user=Depends(get_current_user)
|
|
):
|
|
if not current_user:
|
|
raise HTTPException(
|
|
status_code=status.HTTP_401_UNAUTHORIZED, detail="invalid token"
|
|
)
|
|
with TorrentManager() as torrent:
|
|
return torrent.disable_rule(bangumi_id, file)
|
|
|
|
|
|
@router.get("/api/v1/bangumi/enableRule/{bangumi_id}", tags=["bangumi"])
|
|
async def enable_rule(bangumi_id: str, current_user=Depends(get_current_user)):
|
|
if not current_user:
|
|
raise HTTPException(
|
|
status_code=status.HTTP_401_UNAUTHORIZED, detail="invalid token"
|
|
)
|
|
with TorrentManager() as torrent:
|
|
return torrent.enable_rule(bangumi_id)
|
|
|
|
|
|
@router.get("/api/v1/bangumi/resetAll", tags=["bangumi"])
|
|
async def reset_all(current_user=Depends(get_current_user)):
|
|
if not current_user:
|
|
raise HTTPException(
|
|
status_code=status.HTTP_401_UNAUTHORIZED, detail="invalid token"
|
|
)
|
|
with TorrentManager() as torrent:
|
|
torrent.delete_all()
|
|
return JSONResponse(status_code=200, content={"message": "OK"})
|