import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react";
import {
  PassengerCountResponse,
  PassengerCountParams,
} from "../types/passengerCount";

export const passengerCountApi = createApi({
  reducerPath: "passengerCountApi",
  refetchOnFocus: false,

  baseQuery: fetchBaseQuery({
    baseUrl: process.env.NEXT_PUBLIC_TRACKING_DASHBOARD,
    timeout: 30000,
    prepareHeaders: (headers) => {
      headers.set("Content-Type", "application/json");
      return headers;
    },
  }),

  tagTypes: ["PassengerCount"],

  endpoints: (builder) => ({
    getAllPCSummary: builder.query<
      PassengerCountResponse,
      PassengerCountParams
    >({
      query: ({ vehId, startDate, endDate }) =>
        `getAllPCsummarydtWs?vehId=${vehId}&startdate=${startDate}&enddate=${endDate}`,
      providesTags: ["PassengerCount"],
    }),
  }),
});

export const { useGetAllPCSummaryQuery, useLazyGetAllPCSummaryQuery } =
  passengerCountApi;
