from typing import Optional, List from pydantic import BaseModel from datetime import datetime class JobBase(BaseModel): title: str company: str description: str requirements: Optional[str] = None location: Optional[str] = None job_type: Optional[str] = None salary_range: Optional[str] = None required_skills: Optional[List[str]] = None preferred_skills: Optional[List[str]] = None experience_level: Optional[str] = None education_requirement: Optional[str] = None class JobCreate(JobBase): pass class JobUpdate(BaseModel): title: Optional[str] = None company: Optional[str] = None description: Optional[str] = None requirements: Optional[str] = None location: Optional[str] = None job_type: Optional[str] = None salary_range: Optional[str] = None required_skills: Optional[List[str]] = None preferred_skills: Optional[List[str]] = None experience_level: Optional[str] = None education_requirement: Optional[str] = None is_active: Optional[bool] = None class JobResponse(JobBase): id: int recruiter_id: int is_active: bool created_at: datetime updated_at: Optional[datetime] = None class Config: from_attributes = True class Job(JobResponse): pass