import { useApiInterceptor } from "./useApiInterceptor";

export type InterviewRatingPayload = {
  overallExperience: number;
  interviewerProfessionalism: number;
  communicationClarity: number;
  fairnessOfQuestions: number;
  wouldRecommend: number;
  remarks?: string;
};

export const useGetInterviewRating = (interviewId: number) => {
  return new Promise(async (resolve, reject) => {
    try {
      const response = await useApiInterceptor().get(
        `/account/interviews/${interviewId}/rating`,
      );
      resolve({ resp: response.data, status: response.status });
    } catch (error) {
      console.error("Error fetching API (Interview Rating):", error);
      reject(error);
    }
  });
};

export const useStoreInterviewRating = (
  interviewId: number,
  payload: InterviewRatingPayload,
) => {
  return new Promise(async (resolve, reject) => {
    try {
      const response = await useApiInterceptor().post(
        `/account/interviews/${interviewId}/rating`,
        payload,
      );
      resolve({ resp: response.data, status: response.status });
    } catch (error) {
      console.error("Error posting API (Interview Rating):", error);
      reject(error);
    }
  });
};
