import { createCoreAPIClient } from "../coreClient";
import type { MembershipClubChargeCenter } from "./models";

const coreClient = createCoreAPIClient();

export async function createMembershipClubChargeCenter(
  payload: MembershipClubChargeCenter,
) {
  try {
    const response = await coreClient<MembershipClubChargeCenter>(
      "/v1/admin/memberships/charge-centers",
      {
        method: "POST",
        body: JSON.stringify(payload),
      },
    );
    return response;
  } catch (error) {
    return {
      success: false,
      data: null,
      error: (error as Error)?.message ?? "Failed to create charge center",
    };
  }
}

export async function updateMembershipClubChargeCenter(
  id: string,
  payload: MembershipClubChargeCenter,
) {
  try {
    const response = await coreClient<MembershipClubChargeCenter>(
      `/v1/admin/memberships/charge-centers/${id}`,
      {
        method: "PUT",
        body: JSON.stringify(payload),
      },
    );
    return response;
  } catch (error) {
    return {
      success: false,
      data: null,
      error: (error as Error)?.message ?? "Failed to update charge center",
    };
  }
}
