import request from '@/utils/request'; // Student API export const studentAPI = { // Get current logged-in student getCurrentStudent: () => request.get('/api/students/me'), // Get student list getList: (params) => request.get('/api/students', { params }), // Get student detail getDetail: (id) => request.get(`/api/students/${id}`), // Create student create: (data) => request.post('/api/students', data), // Update student update: (id, data) => request.put(`/api/students/${id}`, data), // Get student progress getProgress: (id) => request.get(`/api/students/${id}/progress`), }; // Course API export const courseAPI = { // Get course list getList: (params) => request.get('/api/courses', { params }), // Get course detail getDetail: (id) => request.get(`/api/courses/${id}`), // Create course create: (data) => request.post('/api/courses', data), // Update course update: (id, data) => request.put(`/api/courses/${id}`, data), // Enroll student in course enroll: (courseId, studentId) => request.post(`/api/courses/${courseId}/enroll`, { studentId }), // Update enrollment progress updateEnrollment: (courseId, enrollmentId, data) => request.put(`/api/courses/${courseId}/enrollment/${enrollmentId}`, data), // Get course students getStudents: (id) => request.get(`/api/courses/${id}/students`), }; // Job API export const jobAPI = { // Get job list getList: (params) => request.get('/api/jobs', { params }), // Get job detail getDetail: (id) => request.get(`/api/jobs/${id}`), // Create job create: (data) => request.post('/api/jobs', data), // Update job update: (id, data) => request.put(`/api/jobs/${id}`, data), // Get recommended jobs for student getRecommended: (studentId) => request.get(`/api/jobs/recommend/${studentId}`), }; // Company API export const companyAPI = { // Get company list getList: (params) => request.get('/api/companies', { params }), // Get company detail getDetail: (id) => request.get(`/api/companies/${id}`), // Create company create: (data) => request.post('/api/companies', data), // Update company update: (id, data) => request.put(`/api/companies/${id}`, data), // Get company jobs getJobs: (id) => request.get(`/api/companies/${id}/jobs`), }; // Resume API export const resumeAPI = { // Get resume list getList: (params) => request.get('/api/resumes', { params }), // Get resume detail getDetail: (id) => request.get(`/api/resumes/${id}`), // Create resume create: (data) => request.post('/api/resumes', data), // Update resume update: (id, data) => request.put(`/api/resumes/${id}`, data), // Delete resume delete: (id) => request.delete(`/api/resumes/${id}`), // Get student's active resume getStudentActive: (studentId) => request.get(`/api/resumes/student/${studentId}/active`), }; // Interview API export const interviewAPI = { // Get interview list getList: (params) => request.get('/api/interviews', { params }), // Get interview detail getDetail: (id) => request.get(`/api/interviews/${id}`), // Schedule interview schedule: (data) => request.post('/api/interviews', data), // Update interview update: (id, data) => request.put(`/api/interviews/${id}`, data), // Cancel interview cancel: (id, reason) => request.post(`/api/interviews/${id}/cancel`, { reason }), // Submit feedback submitFeedback: (id, data) => request.post(`/api/interviews/${id}/feedback`, data), // Get student interview history getStudentHistory: (studentId) => request.get(`/api/interviews/student/${studentId}/history`), }; // Class API export const classAPI = { // Get class list getList: (params) => request.get('/api/classes', { params }), // Get class detail getDetail: (id) => request.get(`/api/classes/${id}`), // Create class create: (data) => request.post('/api/classes', data), // Update class update: (id, data) => request.put(`/api/classes/${id}`, data), // Get class students getStudents: (id) => request.get(`/api/classes/${id}/students`), // Add student to class addStudent: (classId, studentId) => request.post(`/api/classes/${classId}/students`, { studentId }), // Remove student from class removeStudent: (classId, studentId) => request.delete(`/api/classes/${classId}/students/${studentId}`), // Get class statistics getStats: (id) => request.get(`/api/classes/${id}/stats`), }; // Learning Stage API export const stageAPI = { // Get all stages getList: () => request.get('/api/stages'), // Get stage detail getDetail: (id) => request.get(`/api/stages/${id}`), // Create stage create: (data) => request.post('/api/stages', data), // Update stage update: (id, data) => request.put(`/api/stages/${id}`, data), // Delete stage delete: (id) => request.delete(`/api/stages/${id}`), // Get stage courses getCourses: (id) => request.get(`/api/stages/${id}/courses`), // Get stage students getStudents: (id) => request.get(`/api/stages/${id}/students`), // Advance student to next stage advanceStudent: (stageId, studentId) => request.post(`/api/stages/${stageId}/advance/${studentId}`), }; // Auth API export const authAPI = { // Login login: (data) => request.post('/api/auth/login', data), // Register register: (data) => request.post('/api/auth/register', data), // Logout logout: () => request.post('/api/auth/logout'), // Get current user getCurrentUser: () => request.get('/api/auth/me'), }; // Health Check export const healthAPI = { check: () => request.get('/health'), checkDB: () => request.get('/health/db'), };