diff --git a/app/models/eduSchemas.py b/app/models/eduSchemas.py index 0033da2..963a0a5 100644 --- a/app/models/eduSchemas.py +++ b/app/models/eduSchemas.py @@ -27,6 +27,6 @@ class EducationItem(BaseModel): url: str -class EducationBookmarkRequest(TimestampMixin): +class EducationBookmarkRequest(BaseModel): user_id: int bookmarks: List[EducationItem] diff --git a/app/models/policySchemas.py b/app/models/policySchemas.py index 5f2289c..9003b26 100644 --- a/app/models/policySchemas.py +++ b/app/models/policySchemas.py @@ -25,6 +25,6 @@ class PolicyItem(BaseModel): url: str -class PolicySaveRequest(TimestampMixin): +class PolicySaveRequest(BaseModel): user_id: int policies: List[PolicyItem] diff --git a/app/models/resumeSchemas.py b/app/models/resumeSchemas.py index f9f3b2d..24bdc72 100644 --- a/app/models/resumeSchemas.py +++ b/app/models/resumeSchemas.py @@ -1,7 +1,8 @@ from pydantic import BaseModel from typing import Dict from enum import Enum -from app.models.common import TimestampMixin +from datetime import datetime +from typing import Optional class ResumeInitRequest(BaseModel): @@ -25,12 +26,17 @@ class ResumeCategory(str, Enum): ACADEMIC = "ACADEMIC" -class ResumeResult(TimestampMixin): +class ResumeResult(BaseModel): title: str sections: Dict[str, str] + created_at: Optional[datetime] = None + updated_at: Optional[datetime] = None + class Config: + orm_mode = True -class ResumeSaveRequest(TimestampMixin): + +class ResumeSaveRequest(BaseModel): user_id: int title: str sections: Dict[str, str] diff --git a/app/services/resume_service.py b/app/services/resume_service.py index b457464..83c9ba3 100644 --- a/app/services/resume_service.py +++ b/app/services/resume_service.py @@ -5,6 +5,7 @@ from langchain_openai import ChatOpenAI from app.db_models.resume import Resume from app.models.resumeSchemas import ResumeSaveRequest +from app.models.resumeSchemas import ResumeResult llm = ChatOpenAI(model="gpt-4", temperature=0.7) @@ -152,7 +153,7 @@ def save_resume_to_db(db: Session, data: ResumeSaveRequest): return resume -def get_resumes_by_user_id(db: Session, user_id: int): +def get_resumes_by_user_id(db: Session, user_id: int) -> list[ResumeResult]: resumes = db.query(Resume).filter(Resume.user_id == user_id).all() result = [] for r in resumes: @@ -160,5 +161,13 @@ def get_resumes_by_user_id(db: Session, user_id: int): content_dict = json.loads(r.content) except json.JSONDecodeError: content_dict = {} - result.append({"title": r.title, "sections": content_dict}) + + result.append( + ResumeResult( + title=r.title, + sections=content_dict, + created_at=r.created_at, + updated_at=r.updated_at, + ) + ) return result