from fastapi import APIRouter, Depends from sqlalchemy.orm import Session from .. import crud, schemas from ..database import SessionLocal router = APIRouter() @router.post("/tasks/", response_model=schemas.TaskCreate) def create_task(task: schemas.TaskCreate, db: Session = Depends(SessionLocal)): return crud.create_task(db=db, task=task) @router.get("/tasks/{task_id}", response_model=schemas.TaskCreate) def read_task(task_id: int, db: Session = Depends(SessionLocal)): task = crud.get_task(db=db, task_id=task_id) if task is None: raise HTTPException(status_code=404, detail="Task not found") return task @router.post("/tasks/{task_id}/like") def like_task(task_id: int, db: Session = Depends(get_db)): task = crud.get_task(db, task_id) if task: task.likes += 1 db.commit() return task raise HTTPException(status_code=404, detail="Task not found")