Files
taskncoffee/src/api/v1/tasks.py
2025-08-16 12:37:39 +03:00

45 lines
1.1 KiB
Python

from typing import Annotated
from fastapi import APIRouter, Depends
from src.api.dependacies.db_dep import sessionDep
from src.api.dependacies.user_dep import ActiveUser, TaskOwnerDep
from src.schemas.tasks import TaskADDRequest
from src.services.tasks import TaskService
from src.services.users import UserService
router = APIRouter(prefix="/tasks", tags=["Tasks"])
@router.get("/")
async def get_tasks(session: sessionDep, user: ActiveUser):
result = await UserService(session).get_user_with_tasks(user.id)
return result
@router.get("/{id}")
async def get_task_id(session: sessionDep, id: int, _: TaskOwnerDep):
task = await TaskService(session).get_task(id)
return task
@router.post("/")
async def post_task(
task_data: Annotated[TaskADDRequest, Depends()],
session: sessionDep,
user: ActiveUser,
):
result = await TaskService(session).create_task(
user_id=user.id, task_data=task_data
)
return result
@router.delete("/{id}")
async def delete_task(
session: sessionDep,
id: int,
_: TaskOwnerDep,
):
await TaskService(session).delete_task(id)