37 lines
912 B
Python
37 lines
912 B
Python
"""Схемы проектов."""
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
|
|
class ProjectCreate(BaseModel):
|
|
title: str = Field(..., min_length=5, max_length=255)
|
|
description: str = Field(..., min_length=20)
|
|
category: str | None = None
|
|
required_skills: list[str] = []
|
|
budget_min: float | None = None
|
|
budget_max: float | None = None
|
|
deadline: str | None = None # ISO format
|
|
|
|
|
|
class ProjectUpdate(BaseModel):
|
|
title: str | None = None
|
|
description: str | None = None
|
|
status: str | None = None
|
|
budget_min: float | None = None
|
|
budget_max: float | None = None
|
|
deadline: str | None = None
|
|
|
|
|
|
class ProjectResponse(BaseModel):
|
|
id: str
|
|
title: str
|
|
description: str
|
|
category: str | None
|
|
required_skills: list[str]
|
|
budget_min: float | None
|
|
budget_max: float | None
|
|
status: str
|
|
deadline: str | None
|
|
created_at: str
|
|
updated_at: str
|