add quary status
This commit is contained in:
@@ -1,12 +1,27 @@
|
|||||||
|
from enum import Enum
|
||||||
from typing import Annotated
|
from typing import Annotated
|
||||||
|
|
||||||
from fastapi import Depends, Query
|
from fastapi import Depends, Query
|
||||||
from pydantic import BaseModel
|
from pydantic import BaseModel
|
||||||
|
|
||||||
|
|
||||||
|
class StatEnum(str, Enum):
|
||||||
|
open = "open"
|
||||||
|
closed = "closed"
|
||||||
|
in_progress = "in_progress"
|
||||||
|
todo = "todo"
|
||||||
|
|
||||||
|
|
||||||
class Pagination(BaseModel):
|
class Pagination(BaseModel):
|
||||||
page: int | None = Query(default=0, ge=0)
|
page: int | None = Query(default=0, ge=0)
|
||||||
limit: int | None = Query(default=30, ge=0, le=50)
|
limit: int | None = Query(default=30, ge=0, le=50)
|
||||||
|
|
||||||
|
|
||||||
PaginationTasks = Annotated[Pagination, Depends()]
|
PaginationTasksDep = Annotated[Pagination, Depends()]
|
||||||
|
|
||||||
|
|
||||||
|
class Status(BaseModel):
|
||||||
|
status: StatEnum | None = Query(default=None)
|
||||||
|
|
||||||
|
|
||||||
|
StatusTaskDep = Annotated[Status, Depends()]
|
||||||
@@ -3,7 +3,7 @@ from typing import Annotated
|
|||||||
from fastapi import APIRouter, Depends
|
from fastapi import APIRouter, Depends
|
||||||
|
|
||||||
from src.api.dependacies.db_dep import sessionDep
|
from src.api.dependacies.db_dep import sessionDep
|
||||||
from src.api.dependacies.task_dep import PaginationTasks
|
from src.api.dependacies.task_dep import PaginationTasksDep, StatusTaskDep
|
||||||
from src.api.dependacies.user_dep import ActiveUser, TaskOwnerDep
|
from src.api.dependacies.user_dep import ActiveUser, TaskOwnerDep
|
||||||
from src.schemas.tasks import TaskADDRequest
|
from src.schemas.tasks import TaskADDRequest
|
||||||
from src.services.tasks import TaskService
|
from src.services.tasks import TaskService
|
||||||
@@ -13,7 +13,7 @@ router = APIRouter(prefix="/tasks", tags=["Tasks"])
|
|||||||
|
|
||||||
|
|
||||||
@router.get("/")
|
@router.get("/")
|
||||||
async def get_tasks(session: sessionDep, user: ActiveUser, page: PaginationTasks):
|
async def get_tasks(session: sessionDep, user: ActiveUser, page: PaginationTasksDep, status: StatusTaskDep):
|
||||||
result = await UserService(session).get_user_with_tasks(user.id)
|
result = await UserService(session).get_user_with_tasks(user.id)
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user