import { NextRequest, NextResponse } from 'next/server';
import { adminDb } from '@/lib/firebase-admin';
import { COLLECTIONS } from '@/types/firestore';
import { verifyMember } from '@/lib/auth-middleware';

export async function GET(req: NextRequest) {
    try {
        const url = new URL(req.url);
        const jobId = url.searchParams.get('jobId');

        if (!jobId) {
            return NextResponse.json({ error: 'Job ID missing' }, { status: 400 });
        }

        // 인증 체크: Firebase ID Token 검증
        const authResult = await verifyMember(req);
        if (authResult instanceof NextResponse) return authResult;
        const { uid } = authResult;

        const jobSnapshot = await adminDb.collection(COLLECTIONS.JOBS).doc(jobId).get();
        if (!jobSnapshot.exists) {
            return NextResponse.json({ error: 'Job not found' }, { status: 404 });
        }

        const jobData = jobSnapshot.data();
        if (jobData?.userId !== uid) {
            return NextResponse.json({ error: 'Forbidden' }, { status: 403 });
        }

        return NextResponse.json(jobData, { status: 200 });

    } catch (error: any) {
        console.error('AI Query Status Error:', error);
        return NextResponse.json({ error: error.message }, { status: 500 });
    }
}
