import { axiosInstance } from './client';
import type {
  CoachingAssignment,
  CoachingAssignmentCreate,
  CoachingAssignmentUpdate,
} from '../types';

const baseUrl = '/api/company';

export async function getCoachingAssignments(
  companyId: string,
  params?: { status?: string }
): Promise<CoachingAssignment[]> {
  const response = await axiosInstance.get(`${baseUrl}/${companyId}/coaching-assignments`, { params });
  return response.data.coaching_assignments;
}

export async function createCoachingAssignment(
  companyId: string,
  data: CoachingAssignmentCreate
): Promise<CoachingAssignment> {
  const response = await axiosInstance.post(`${baseUrl}/${companyId}/coaching-assignments`, data);
  return response.data.coaching_assignment;
}

export async function updateCoachingAssignment(
  companyId: string,
  assignId: string,
  data: CoachingAssignmentUpdate
): Promise<CoachingAssignment> {
  const response = await axiosInstance.put(`${baseUrl}/${companyId}/coaching-assignments/${assignId}`, data);
  return response.data.coaching_assignment;
}

export async function deleteCoachingAssignment(
  companyId: string,
  assignId: string
): Promise<{ success: boolean }> {
  const response = await axiosInstance.delete(`${baseUrl}/${companyId}/coaching-assignments/${assignId}`);
  return response.data;
}