File size: 859 Bytes
4b63522
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# routes/api.py
from flask import Blueprint, request, jsonify
from ..ranker import rank_resumes_by_semantic_similarity  # <-- updated import
from ..decorators import require_api_key

api = Blueprint('api', __name__)

@api.route('/api/rank-resumes', methods=['POST'])
@require_api_key
def rank_resumes():
    job_description = request.form.get('job_description')
    resume_files = request.files.getlist('resumes')

    if not job_description or not resume_files:
        return jsonify({'error': 'Missing job description or resumes'}), 400

    try:
        results = rank_resumes_by_semantic_similarity(resume_files, job_description)
        return jsonify({
            'results': results,
            'count': len(results),
            'requested_by': request.user.email
        })
    except Exception as e:
        return jsonify({'error': str(e)}), 500