import { apiSlice } from "./baseApi";
import { AnalyticsDashboardResponse } from "@/types/api";

const analyticsApi = apiSlice.injectEndpoints({
  endpoints: (builder) => ({
    getAnalyticsDashboard: builder.query<
      AnalyticsDashboardResponse,
      {
        pradeshId?: number;
        mandalId?: number;
        haridhamId?: string;
        fromDate?: string;
        toDate?: string;
      } | void
    >({
      query: (filters) => {
        const params = new URLSearchParams();

        if (filters?.pradeshId) params.append("pradeshId", String(filters.pradeshId));
        if (filters?.mandalId) params.append("mandalId", String(filters.mandalId));
        if (filters?.haridhamId) params.append("haridhamId", filters.haridhamId);
        if (filters?.fromDate) params.append("fromDate", filters.fromDate);
        if (filters?.toDate) params.append("toDate", filters.toDate);

        return {
          url: "/api/analytics/dashboard",
          method: "GET",
          params,
        };
      },
      providesTags: ["Analytics"],
    }),
  }),
});

export const { useGetAnalyticsDashboardQuery } = analyticsApi;
