You've already forked RekomenciBackend
40 lines
1007 B
Python
40 lines
1007 B
Python
from decimal import Decimal
|
|
|
|
from template_project.application.common.data_structure import to_data_structure
|
|
from template_project.application.common.interactor import to_interactor
|
|
from template_project.application.resume.entity import ResumeId
|
|
|
|
|
|
@to_data_structure
|
|
class VacancyInput:
|
|
vacancy_id: str
|
|
from_salary: Decimal
|
|
to_salary: Decimal
|
|
key_skills: list[str]
|
|
resume_similarity: float
|
|
|
|
|
|
@to_data_structure
|
|
class PredictSalaryRequest:
|
|
resume_id: ResumeId
|
|
key_skills: list[str]
|
|
vacancies: list[VacancyInput]
|
|
|
|
|
|
@to_data_structure
|
|
class PredictSalaryResponse:
|
|
salary_from: Decimal
|
|
salary_to: Decimal
|
|
recommended_skills: list[str]
|
|
|
|
|
|
@to_interactor
|
|
class PredictSalaryInteractor:
|
|
async def execute(self, request: PredictSalaryRequest) -> PredictSalaryResponse:
|
|
return PredictSalaryResponse(
|
|
salary_from=Decimal("50000"),
|
|
salary_to=Decimal("80000"),
|
|
recommended_skills=["python", "django", "postgresql"],
|
|
)
|
|
|