import { constants, utils } from '@spglobal/ca-mfe-package-utils';
import { endpoints } from '@root/constants/endpoints';
import { createApi } from '@reduxjs/toolkit/query/react';
import { getDataSourceHeader } from '@root/utils/common';

export const scoringInputsApi = createApi({
    reducerPath: 'scoringInputsApi',
    baseQuery: utils.serviceLayerAPI.fetchBaseQuery({
        baseUrl: constants.endpoints.SERVICEHOST
    }),
    endpoints: builder => ({
        getScoringInputs: builder.mutation({
            query: ({ datasource, ...data }) => utils.serviceLayerAPI.reduxPost(endpoints.SCORING_LOAD_INPUTS, data,
                getDataSourceHeader(datasource))
        }),
        getInputDefinitions: builder.query({
            query: () => endpoints.SCORING_INPUT_DEFINITIONS
        })
    })
});

export const { useGetScoringInputsMutation,
     useGetInputDefinitionsQuery, useLazyGetInputDefinitionsQuery } = scoringInputsApi;
