import { notFound } from "next/navigation";

import { SecurityTickerForm } from "../_components/security-ticker-form/security-ticker-form";
import { fetchBackendSecurityTickerById, fetchBackendSecurityTickerParentOptions } from "../_lib/security-ticker-server-api";

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

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

  if (!Number.isFinite(recordId)) {
    notFound();
  }

  const [{ securityTicker: record }, securityNameOptions] = await Promise.all([
    fetchBackendSecurityTickerById(recordId),
    fetchBackendSecurityTickerParentOptions(),
  ]);

  if (!record) {
    notFound();
  }

  return <SecurityTickerForm mode="update" initial={record} securityNameOptions={securityNameOptions} />;
}
