| from uuid import UUID | |
| from datetime import datetime | |
| from typing import Any | |
| from pydantic import BaseModel, Field | |
| class JDCreate(BaseModel): | |
| title: str | |
| raw_text: str | |
| session_id: UUID | None = None | |
| class JDResponse(BaseModel): | |
| id: UUID | |
| title: str | |
| raw_text: str | |
| status: str | |
| min_yoe: float | None = None | |
| role_type: str | None = None | |
| engineer_type: str | None = None | |
| location: str | None = None | |
| required_skills: list[str] = [] | |
| jd_quality: dict[str, Any] = {} | |
| custom_weights: dict[str, float] = {} | |
| created_at: datetime | |
| model_config = {"from_attributes": True} | |
| class JDListItem(BaseModel): | |
| id: UUID | |
| title: str | |
| status: str | |
| session_id: UUID | None = None | |
| jd_quality: dict[str, Any] = {} | |
| created_at: datetime | |
| model_config = {"from_attributes": True} | |