import { axiosInstance } from './client';
import type {
  CoachingScorecard,
  CoachingScorecardCreate,
  CoachingScorecardUpdate,
} from '../types';

const baseUrl = '/api/company';

export async function getCoachingScorecards(companyId: string): Promise<CoachingScorecard[]> {
  const response = await axiosInstance.get(`${baseUrl}/${companyId}/coaching-scorecards`);
  return response.data.coaching_scorecards;
}

export async function createCoachingScorecard(
  companyId: string,
  data: CoachingScorecardCreate
): Promise<CoachingScorecard> {
  const response = await axiosInstance.post(`${baseUrl}/${companyId}/coaching-scorecards`, data);
  return response.data.coaching_scorecard;
}

export async function updateCoachingScorecard(
  companyId: string,
  scoreId: string,
  data: CoachingScorecardUpdate
): Promise<CoachingScorecard> {
  const response = await axiosInstance.put(`${baseUrl}/${companyId}/coaching-scorecards/${scoreId}`, data);
  return response.data.coaching_scorecard;
}

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