import { NextRequest, NextResponse } from 'next/server';
import { cookies } from 'next/headers';

const API_BASE_URL = process.env.API_BASE_URL || "https://admin.mymorni.com/api/v1";

export async function POST(req: NextRequest) {
  try {
    const cookieStore = await cookies();
    const token = cookieStore.get('token')?.value;

    // Call backend logout if token exists
    if (token) {
      try {
        await fetch(`${API_BASE_URL}/logout`, {
          method: 'POST',
          headers: {
            Authorization: `Bearer ${token}`,
          },
        });
      } catch (error) {
        console.error('Backend logout request failed');
        // Continue with local logout even if backend fails
      }
    }

    // Clear all auth cookies
    cookieStore.delete('token');
    cookieStore.delete('getUser');

    return NextResponse.json({
      success: true,
      message: 'Logout successful',
    });
  } catch (error: any) {
    console.error(
      error instanceof Error ? error.message : 'Logout request failed'
    );
    return NextResponse.json(
      { success: false, message: 'Logout failed' },
      { status: 500 }
    );
  }
}
