import { NextResponse } from 'next/server'
import { AdminApiError, requireAdminForApi } from '@/lib/admin-auth'
import { getShopDetail } from '@/lib/admin-data'

type RouteParams = {
  params: Promise<{ shopId: string }>
}

export async function GET(_request: Request, { params }: RouteParams) {
  try {
    await requireAdminForApi()
    const { shopId } = await params
    const data = await getShopDetail(shopId)
    return NextResponse.json(data)
  } catch (error) {
    if (error instanceof AdminApiError) {
      return NextResponse.json({ error: error.message }, { status: error.status })
    }

    console.error(error)
    return NextResponse.json({ error: 'Unexpected error' }, { status: 500 })
  }
}
