import { ExternalMemberRepository } from "@/internal/repository/members/external_members";
import { error, success } from "@/lib/response";
import type { Context } from "hono";

export const listAccountTypesHandler = async (c: Context) => {
  try {
    const memberDb = c.get("memberDatastore");
    const repo = new ExternalMemberRepository(memberDb);

    const accountTypes = await repo.getMembershipTypes();

    return success(
      c,
      accountTypes,
      "Member account types retrieved successfully",
    );
  } catch (e: any) {
    console.error("[MembershipController] Error:", e);
    return error(c, e.message || "Failed to list member account types", 500);
  }
};
