import { NextResponse } from 'next/server'; import type { NextRequest } from 'next/server'; import { cookies } from 'next/headers'; import { getGetSponsorSponsorshipsUseCase } from '@/lib/di-container'; import { SponsorSponsorshipsPresenter } from '@/lib/presenters/SponsorSponsorshipsPresenter'; export async function GET(request: NextRequest) { try { // Get sponsor ID from cookie (set during demo login) const cookieStore = await cookies(); const sponsorId = cookieStore.get('gridpilot_sponsor_id')?.value; if (!sponsorId) { return NextResponse.json( { error: 'Not authenticated as sponsor' }, { status: 401 } ); } const presenter = new SponsorSponsorshipsPresenter(); const useCase = getGetSponsorSponsorshipsUseCase(); await useCase.execute({ sponsorId }, presenter); const sponsorships = presenter.getData(); if (!sponsorships) { return NextResponse.json( { error: 'Sponsor not found' }, { status: 404 } ); } return NextResponse.json(sponsorships); } catch (error) { const message = error instanceof Error ? error.message : 'Failed to get sponsor sponsorships'; return NextResponse.json({ error: message }, { status: 500 }); } }