'use server'; // import { safeFetchApi } from '@/lib'; import { refreshApi } from '@/lib/refreshApi'; // Importa la nueva instancia import { cookies } from 'next/headers'; import { logoutResponseSchema } from '../schemas/logout'; export const logoutAction = async (user_id: string) => { try { const response = await refreshApi.post('/auth/sign-out', { user_id }); const parsed = logoutResponseSchema.safeParse(response.data); if (!parsed.success) { console.error('Error de validación en la respuesta de refresh token:', { errors: parsed.error.errors, receivedData: response.data, }); return null; } return parsed.data; } catch (error: any) { // Captura el error para acceso a error.response console.error('Error al cerrar sesion:', error.response?.data || error.message); return null; } // const payload = { user_id }; // const [error, data] = await safeFetchApi( // logoutResponseSchema, // '/auth/sign-out', // 'POST', // payload, // ); // if (error) { // console.error('Error:', error); // // Devuelve un objeto con la propiedad 'type' para que el callback de NextAuth lo reconozca como un error // return { // type: 'API_ERROR', // message: error.message, // }; // } (await cookies()).delete('refresh_token'); };