import { useApiInterceptor } from "./useApiInterceptor";

export type InterviewFeedbackPayload = {
  workStandard: number;
  errorFreeness: number;
  helpToImprove: number;
  communicationSkill: number;
  listeningSkill: number;
  informationSharing: number;
  remarks?: string;
};

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

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

export const useGetInterviewfeedback = useGetInterviewFeedback;
export const useStoreInterviewfeedback = useStoreInterviewFeedback;
