resume-api / Ars /controllers.py
Nattyboi's picture
added ars route
1aa5032
raw
history blame
1.58 kB
from core import r
from repositories import create_boost_suggestions,create_breakdown_by_domain,create_flagged_risk_areas,create_user_resilience
from fastapi import UploadFile
from ai_functions import resume_analysis,calculate_automation_risk,calculate_Ai_collab_readiness,calculate_skill_depth,generate_boost_suggestion,generate_domain_breakdown,generate_flagged_risk_areas
from objects import AICollabReadiness,SkillDepthResult,AutomationRiskResult
async def resilience_analysis(file:UploadFile):
resume= await resume_analysis(file)
risk = calculate_automation_risk(resume)
risk = AutomationRiskResult(**risk.model_dump())
skill_depth = calculate_skill_depth(resume)
skill_depth= SkillDepthResult(**skill_depth.model_dump())
ai_readiness = calculate_Ai_collab_readiness(resume)
ai_readiness = AICollabReadiness(**ai_readiness.model_dump())
ResilienceScore = ((1-(risk.result/100))*0.5+(skill_depth.result/100)*0.3+(ai_readiness.result/100)*0.2)
flagged_risk =generate_flagged_risk_areas(resume=resume,skil_depth=skill_depth,risk=risk,ai_readiness=ai_readiness)
boost_suggestion = generate_boost_suggestion(resume=resume,skil_depth=skill_depth,risk=risk,ai_readiness=ai_readiness)
domain_breakdown = generate_domain_breakdown(resume=resume,skil_depth=skill_depth,risk=risk,ai_readiness=ai_readiness)
return {"overall score": ResilienceScore,"flagged Risk": flagged_risk,"boost suggestion":boost_suggestion,"domain breakdown":domain_breakdown,"resume":resume,"skil_depth":skill_depth,"risk":risk,"ai_readiness":ai_readiness}