add date_to date_from endpoints
This commit is contained in:
@@ -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()]
|
||||
|
||||
Reference in New Issue
Block a user