import { notFound } from "next/navigation";

import { AssetDefinitionForm } from "../_components/asset-definition-form/asset-definition-form";
import { fetchBackendAssetDefinitionDetail } from "../_lib/asset-definition-server-api";

type PageProps = {
  params: Promise<{ id: string }>;
};

export default async function AssetDefinitionUpdatePage({ params }: PageProps) {
  const { id } = await params;

  let detail: Awaited<ReturnType<typeof fetchBackendAssetDefinitionDetail>>;
  try {
    detail = await fetchBackendAssetDefinitionDetail(decodeURIComponent(id));
  } catch {
    notFound();
  }

  return (
    <AssetDefinitionForm
      mode="update"
      initialRow={detail.row}
      moduleOptions={detail.moduleOptions}
    />
  );
}
