import { NextRequest, NextResponse } from 'next/server'
import path from 'path'
import { authenticateH5FromCookieHeader, getCookieHeaderFromRequest } from '@/lib/h5/auth'
import { h5PageRepo } from '@/lib/database/repositories/h5-page.repo'
import { workspaceMemberRepo } from '@/lib/database/repositories/workspace-member.repo'

export const runtime = 'nodejs'
export const dynamic = 'force-dynamic'

/**
 * GET /api/h5/page
 *   返回当前外部用户所在 H5 分享页面的元信息。
 *   鉴权：forge_h5 cookie。
 */
export async function GET(req: NextRequest): Promise<NextResponse> {
  const auth = authenticateH5FromCookieHeader(getCookieHeaderFromRequest(req))
  if (!auth) {
    return NextResponse.json({ error: 'Session expired' }, { status: 401 })
  }

  const { pageRow } = auth
  const workspace = workspaceMemberRepo.findById(pageRow.workspaceId)
  const workspaceName = workspace ? path.basename(workspace.path) : ''

  return NextResponse.json({
    pageTitle: pageRow.pageTitle || workspaceName,
    assistantName: pageRow.assistantName,
    workspaceName,
    description: pageRow.description,
    welcomeMessage: pageRow.welcomeMessage,
    iconEmoji: pageRow.iconEmoji,
  })
}
