from enum import Enum from pydantic import BaseModel from typing import Optional from datetime import date import uuid class EmploymentType(str,Enum): PERMANENT = "permanent" CONTRACT = "contract" TEMPORARY = "temporary" INTERNEE="internee" class Position(BaseModel): department_id:uuid.UUID department:Optional[str] title:Optional[str] date:Optional[date] date_needed:Optional[date] type:Optional[EmploymentType] job_description:Optional[str] period_from:Optional[date]=None period_to:Optional[date]=None jd_available:Optional[bool]=None class InternalRecommendate(BaseModel): employee_name:Optional[str]=None employee_department:Optional[str]=None entity:Optional[str]=None class ReplacementFor(BaseModel): to_replace:Optional[str] grade:Optional[str] title:Optional[str] date_separated:Optional[date] justification:Optional[str] budget:Optional[str] recommended_grade:Optional[str]