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}