"use server"; import {cookies} from "next/headers"; import { IS_GUEST } from "@/utils/constants"; import { serverGraphqlFetch } from "@utils/bagisto"; import {CUSTOMER_LOGOUT} from "@/graphql/customer/mutations"; import type { LogoutData } from "@/types/types"; export async function logoutAction() { try { const res = await serverGraphqlFetch({ query: CUSTOMER_LOGOUT, }); let success = true; let msg = ""; if(res.error) { success = false; msg = res.error.message; } else { success = res.data?.createLogout?.logout?.success ?? false; msg = res.data?.createLogout?.logout?.message ?? ""; if(success || (!success && msg === "Unauthenticated. Please login to perform this action")) { const cookieStore = await cookies(); // 设置游客状态 cookieStore.set(IS_GUEST, "true"); success = true; } } return { success, message: msg, }; } catch (error: unknown) { return { success: false, message: error instanceof Error ? error.message : "Something went wrong", }; } }