import { api } from './api';
 
interface GetAnswerByIdResponse {
    success: boolean,
    message: string,
    info: CreateAnswerRequest
}
interface GetAnswersResponse {
    success: boolean,
    message: string,
    details: {
        docs: CreateAnswerRequest[],
        pages: 1,
        total: 1
    }
}

export interface CreateAnswerRequest {
    id?: string,
    answer?: string,
    status?: boolean,
    userTheoryTrainId: string
    choiceId: string, 
}

interface CreateAnswerResponse {
    success: boolean,
    message: string,
    result: CreateAnswerRequest
}
export const Answer = api.injectEndpoints({
    endpoints: (build) => ({
        CreateAnswer: build.mutation<CreateAnswerResponse, CreateAnswerRequest>({
            query: (body) => ({
                url: 'answer',
                method: 'POST',
                body,
            }),
            invalidatesTags: ['CreateAnswer'],
        }),
        getAnswers: build.query<GetAnswersResponse, any>({
            query: (params) => ({
                url: `answers/showall`,
                method: 'GET',
                // params,
            }),
            providesTags: ['getAnswer', "CreateAnswer"],
        }),
        getAnswerById: build.query<GetAnswerByIdResponse, { id: string }>({
            query: (params) => ({
                url: `answer`,
                method: 'GET',
                params,
            }),
            providesTags: ['getAnswerById', "CreateAnswer"],
        }),

    }),
});

export const {
    useCreateAnswerMutation,
    useGetAnswersQuery,
    useGetAnswerByIdQuery
} = Answer;