Revert "ci: 重构"

This reverts commit 6eee3f885f.
This commit is contained in:
mazxd
2025-03-25 22:04:45 +08:00
parent 6eee3f885f
commit e7a9a8adec
28 changed files with 346 additions and 101 deletions
+9
View File
@@ -0,0 +1,9 @@
from fastapi import APIRouter
from app.api.v1.endpoints import auth, users, utils, todos
api_router = APIRouter()
api_router.include_router(auth.router, prefix="/auth", tags=["auth"])
api_router.include_router(users.router, prefix="/users", tags=["users"])
api_router.include_router(utils.router, prefix="/utils", tags=["utils"])
api_router.include_router(todos.router, prefix="/todos", tags=["todos"])
+75
View File
@@ -0,0 +1,75 @@
from typing import List
from fastapi import APIRouter, Depends, HTTPException
from sqlalchemy.orm import Session
from app.api import deps
from app.schemas.todo import Todo, TodoCreate, TodoUpdate
from app.models.todo import Todo as TodoModel
from app.crud.todo import todo
router = APIRouter()
@router.get("/", response_model=List[Todo])
def read_todos(
db: Session = Depends(deps.get_db),
skip: int = 0,
limit: int = 100,
):
"""
Retrieve todos.
"""
return todo.get_multi(db, skip=skip, limit=limit)
@router.post("/", response_model=Todo)
def create_todo(
*,
db: Session = Depends(deps.get_db),
todo_in: TodoCreate,
):
"""
Create new todo.
"""
return todo.create(db=db, obj_in=todo_in)
@router.put("/{id}", response_model=Todo)
def update_todo(
*,
db: Session = Depends(deps.get_db),
id: int,
todo_in: TodoUpdate,
):
"""
Update a todo.
"""
todo_current = todo.get(db=db, id=id)
if not todo_current:
raise HTTPException(status_code=404, detail="Todo not found")
return todo.update(db=db, db_obj=todo_current, obj_in=todo_in)
@router.get("/{id}", response_model=Todo)
def read_todo(
*,
db: Session = Depends(deps.get_db),
id: int,
):
"""
Get todo by ID.
"""
todo_current = todo.get(db=db, id=id)
if not todo_current:
raise HTTPException(status_code=404, detail="Todo not found")
return todo_current
@router.delete("/{id}", response_model=Todo)
def delete_todo(
*,
db: Session = Depends(deps.get_db),
id: int,
):
"""
Delete todo.
"""
todo_current = todo.get(db=db, id=id)
if not todo_current:
raise HTTPException(status_code=404, detail="Todo not found")
return todo.remove(db=db, id=id)