Source code for app.schemas.update_project_schema

from typing import Optional

from pydantic import BaseModel, Field, field_validator

from app.utils import is_valid_datestring
from app.models.project_model import Project

from app.utils import ProjectStateEnum

[docs] class UpdateProjectSchema(BaseModel): name: Optional[str] = Field(default=None) state: Optional[ProjectStateEnum] = Field(default=None) start_date: Optional[str] = Field(default=None) end_date: Optional[str] = Field(default=None) description: Optional[str] = Field(default=None)
[docs] @field_validator("start_date", "end_date") @classmethod def validate_datestring(cls, v: str): if v is None: return None if not is_valid_datestring(v): raise ValueError( f'Invalid date format: "{v}". Expected format is "YYYY-MM-DD"' ) return v