Files
taskncoffee/src/api/dependacies/task_dep.py
2025-09-03 23:12:27 +03:00

27 lines
724 B
Python

from datetime import date
from typing import Annotated
from fastapi import Depends, Query
from fastapi.exceptions import HTTPException
from pydantic import BaseModel, model_validator
from src.schemas.tasks import TaskFilter
TaskFilterDep = Annotated[TaskFilter, Depends()]
class Date(BaseModel):
date_from: date | None = Query(default=None)
date_to: date | None = Query(default=None)
@model_validator(mode="after")
def check_dates(self):
if self.date_from and self.date_to and self.date_to < self.date_from:
raise HTTPException(
status_code=422, detail="date_to cannot be less than date_from"
)
return self
DateDep = Annotated[Date, Depends()]