from re import S from typing import Optional from fastapi import APIRouter from fastapi import Depends from sqlalchemy.orm import Session from app import schemas import app.crud as crud from utils.sx_time import sxtimeit from utils.sx_web import web_try from fastapi_pagination import Page, add_pagination, paginate, Params from app import get_db router = APIRouter( prefix="/jpt/jm_homework", tags=["jm_homework-作业管理"], ) @router.post("/") @web_try() @sxtimeit def create_jm_homework(item: schemas.JmHomeworkCreate, db: Session = Depends(get_db)): # 根据获取到的文件路径另存一份并改变 return crud.create_jm_homework(db, item) @router.get("/") @web_try() @sxtimeit def get_jm_homeworks(project_id: str, db: Session = Depends(get_db)): return crud.get_jm_homeworks(db, project_id) @router.get("/info") @web_try() @sxtimeit def get_jm_homework_info(homework_id: str, db: Session = Depends(get_db)): return crud.get_jm_homework_info(db, homework_id) @router.put("/") @web_try() @sxtimeit def update_jm_homework(jm_id: int, update_item: schemas.JmHomeworkUpdate, db: Session = Depends(get_db)): # 根据获取到的文件路径另存一份并改变 return crud.update_jm_homework(db, jm_id, update_item) @router.delete("/") @web_try() @sxtimeit def delete_jm_homework(jm_id: int, db: Session = Depends(get_db)): jm_log_infos = crud.get_jm_job_infos(db) jm_job_ids = [jm_job.id for jm_job in jm_log_infos] res = crud.find_by_homework_and_job(db, jm_job_ids,jm_id) if len(res) > 0: raise Exception("该作业正在被定时任务使用,不可删除") return crud.delete_jm_homework(db, jm_id)