from Ars.core import r from Ars.repositories import create_boost_suggestions,create_breakdown_by_domain,create_flagged_risk_areas,create_user_resilience from fastapi import UploadFile from Ars.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 Ars.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}