File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
import type { Metadata } from 'next';
import { verifySession } from '@/lib/auth/dal';
import { fetchCommonCodes } from '@/lib/data/repositories/common-code-repository';
import { fetchMerchantDetailCandidates } from '@/lib/data/repositories/merchant-detail-repository';
import { CODE_GROUP } from '@/lib/domain/common-code';
import { MerchantDetailForm } from '../[frcsNo]/_components/merchant-detail-form';
export const metadata: Metadata = { title: '가맹몰 상세 정보' };
export const dynamic = 'force-dynamic';
interface PageProps {
searchParams: Promise<Record<string, string | string[] | undefined>>;
}
/** 등록 화면 — 상세가 없는 가맹점 중 하나를 골라 상세를 붙인다. `?frcsNo=`로 미리 고를 수 있다. */
export default async function Page({ searchParams }: PageProps) {
await verifySession();
const params = await searchParams;
const requested = Array.isArray(params.frcsNo) ? params.frcsNo[0] : params.frcsNo;
const [candidates, categories] = await Promise.all([
fetchMerchantDetailCandidates(),
fetchCommonCodes(CODE_GROUP.merchantType),
]);
const initialFrcsNo = candidates.some((row) => row.id === requested) ? requested : undefined;
return (
<MerchantDetailForm
candidates={candidates}
initialFrcsNo={initialFrcsNo}
categories={categories}
/>
);
}