coderound / backend /src /schemas /candidate.py
ketannnn's picture
feat: implement multi-stage candidate ingestion and matching pipeline with UI tracking and backend schema support
72d1c14
from uuid import UUID
from typing import Any
from pydantic import BaseModel
class CandidateResponse(BaseModel):
id: UUID
name: str | None = None
email: str | None = None
role_type: str | None = None
engineer_type: str | None = None
years_of_experience: float | None = None
most_recent_company: str | None = None
parsed_summary: str | None = None
parsed_skills: str | None = None
programming_languages: list[str] = []
backend_frameworks: list[str] = []
frontend_technologies: list[str] = []
growth_velocity: float = 0.5
gen_ai_experience: bool | None = None
looking_for: str | None = None
open_to_working_at: str | None = None
is_actively_or_passively_looking: str | None = None
model_config = {"from_attributes": True}
class UploadResponse(BaseModel):
task_id: str # First task ID (backward compat)
task_ids: list[str] = [] # ALL task IDs — poll all to confirm full ingestion
queued: int
message: str
class TaskStatusResponse(BaseModel):
task_id: str
status: str
result: Any | None = None