import prismadb from "@/lib/prisma";

import { PaymentMethodsClient, PaymentMethodsInformations } from "./components/client";

const PaymentMethodsPage = async ({
  params
}: {
  params: { storeId: string }
}) => {
  const paymentMethods = await prismadb.paymentMethods.findMany({
    include: {
      paymentMethodsToStore: {
        select: {
          address: true,
          addressGoogleMap: true,
          iban: true,
          bic: true,
          testKey: true,
          liveKey: true,
          testMode: true,
          active: true,
          store: true
        }
      }
    },
    orderBy: {
      name: "asc"
    }
  });

  const formattedPaymentMethods: PaymentMethodsInformations[] = paymentMethods.map((item) => {
    const paymentMethodsToStore = item.paymentMethodsToStore?.[0];
  
    return {
      id: item.id,
      name: item.name,
      type: item.type,
      image: item.image,
      link: item.link,
      active: paymentMethodsToStore?.active || false,
      testMode: paymentMethodsToStore?.testMode || false,
    };
  });
  

  return (
    <div className="flex-col">
      <div className="flex-1 space-y-4 p-8 pt-6">
        <PaymentMethodsClient data={formattedPaymentMethods} />
      </div>
    </div>
  );
}

export default PaymentMethodsPage;