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

export async function POST(request: NextRequest) {
  try {
    // Récupérer le token d'authentification
    const authToken = request.cookies.get('auth_token');

    if (!authToken) {
      return NextResponse.json(
        { error: 'Authentication token not found' },
        { status: 401 }
      );
    }

    // Envoyer la requête de déconnexion à l'API Laravel
    const response = await fetch(`${process.env.LARAVEL_API_URL}/auth/logout`, {
      method: 'POST',
      headers: {
        'Authorization': `Bearer ${authToken.value}`,
        'Content-Type': 'application/json',
      },
    });

    if (!response.ok) {
      throw new Error(`Logout failed: ${response.statusText}`);
    }

    // Créer la réponse
    const apiResponse = NextResponse.json({ 
      success: true,
      message: 'Successfully logged out'
    });
    
    // Supprimer les cookies
    apiResponse.cookies.delete('AuthUser');
    apiResponse.cookies.delete('auth_token');
    
    return apiResponse;
  } catch (error) {
    console.error('Error during logout:', error);
    return NextResponse.json(
      { 
        error: 'Server error during logout',
        details: error instanceof Error ? error.message : 'Unknown error'
      },
      { status: 500 }
    );
  }
} 