import type { APIContext } from 'astro';
import { authService } from '@/lib/authService';
import PocketBase from 'pocketbase';

export const prerender = false;

export async function POST({ request, locals }: APIContext) {
    try {
        const pb: PocketBase = (locals as any).pb || authService.createClientFromRequest(request);

        // Очищаем аутентификацию в инстансе PB
        pb.authStore.clear();

        const response = new Response(
            JSON.stringify({ success: true }),
            {
                status: 200,
                headers: {
                    "Content-Type": "application/json",
                }
            }
        );

        // ПРИНУДИТЕЛЬНОЕ УДАЛЕНИЕ КУКИ
        // Max-Age=0 удаляет куку немедленно
        response.headers.append(
            'Set-Cookie',
            'pb_auth=; Path=/; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax'
        );

        return response;
    } catch (error) {
        console.error('Logout error:', error);
        return new Response(
            JSON.stringify({ error: 'Logout failed' }),
            {
                status: 500,
                headers: { "Content-Type": "application/json" }
            }
        );
    }
}