add date_to date_from endpoints

This commit is contained in:
IluaAir
2025-08-29 21:48:38 +03:00
parent 3e6468fa38
commit 07f14b0564
3 changed files with 36 additions and 8 deletions

View File

@@ -1,8 +1,10 @@
from datetime import date
from enum import Enum
from typing import Annotated
from fastapi import Depends, Query
from pydantic import BaseModel
from fastapi.exceptions import HTTPException
from pydantic import BaseModel, model_validator
class StatEnum(str, Enum):
@@ -24,4 +26,18 @@ class Status(BaseModel):
status: StatEnum | None = Query(default=None)
StatusTaskDep = Annotated[Status, Depends()]
StatusTaskDep = Annotated[Status, 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()]