const Job = require('../models/Job'); const { successResponse, errorResponse } = require('../utils/apiResponse'); class JobController { static async getAllJobs(req, res) { try { const jobs = await Job.findAll(); successResponse(res, jobs); } catch (err) { errorResponse(res, err); } } static async getActiveJobs(req, res) { try { const [rows] = await db.query("SELECT * FROM jobs WHERE status = 'active'"); const jobs = rows.map(row => ({ ...row, pendingResumes: row.pending_resumes, passedResumes: row.passed_resumes, aiCriteria: JSON.parse(row.ai_criteria), createdAt: row.created_at, updatedAt: row.updated_at })); successResponse(res, jobs); } catch (err) { errorResponse(res, err); } } static async getJob(req, res) { try { const job = await Job.findById(req.params.id); if (!job) { return errorResponse(res, 'Job not found', 404); } successResponse(res, job); } catch (err) { errorResponse(res, err); } } static async createJob(req, res) { try { const newJob = await Job.create(req.body); successResponse(res, newJob, 201); } catch (err) { errorResponse(res, err); } } static async updateJob(req, res) { try { const updatedJob = await Job.update(req.params.id, req.body); successResponse(res, updatedJob); } catch (err) { errorResponse(res, err); } } static async triggerScreening(req, res) { try { const job = await Job.triggerScreening(req.params.id); successResponse(res, job); } catch (err) { errorResponse(res, err); } } } module.exports = JobController;