import { type NextRequest, NextResponse } from "next/server"
import { applicationDb } from "@/lib/db"
import type { ApiResponse } from "@/lib/types"

// Get current user's application
export async function GET(request: NextRequest) {
  try {
    // Get user ID from session cookie (simplified)
    const sessionCookie = request.cookies.get("session")
    if (!sessionCookie) {
      return NextResponse.json<ApiResponse>(
        {
          success: false,
          error: "Not authenticated",
        },
        { status: 401 },
      )
    }

    const session = JSON.parse(sessionCookie.value)
    const userId = session.userId

    const application = await applicationDb.findByUserId(userId)

    if (!application) {
      return NextResponse.json<ApiResponse>(
        {
          success: false,
          error: "Application not found",
        },
        { status: 404 },
      )
    }

    return NextResponse.json<ApiResponse>({
      success: true,
      data: application,
    })
  } catch (error) {
    console.error("Get application error:", error)
    return NextResponse.json<ApiResponse>(
      {
        success: false,
        error: "Internal server error",
      },
      { status: 500 },
    )
  }
}
