31 lines
772 B
Python
31 lines
772 B
Python
from pydantic import BaseModel
|
|
from typing import Optional, List
|
|
from datetime import datetime
|
|
from bson import ObjectId
|
|
|
|
|
|
class ParsedResume(BaseModel):
|
|
name: Optional[str] = None
|
|
email: Optional[str] = None
|
|
phone: Optional[str] = None
|
|
linkedin: Optional[str] = None
|
|
github: Optional[str] = None
|
|
website: Optional[str] = None
|
|
objective: Optional[str] = None
|
|
skills: List[str] = []
|
|
languages: List[str] = []
|
|
interests: List[str] = []
|
|
projects: List[dict] = []
|
|
education: List[dict] = []
|
|
experience: List[dict] = []
|
|
raw_text: str = ""
|
|
|
|
|
|
class ResumeOut(BaseModel):
|
|
id: str
|
|
filename: str
|
|
file_type: str
|
|
uploaded_by: str
|
|
parsed: ParsedResume
|
|
uploaded_at: str
|
|
gridfs_id: Optional[str] = None
|