Next.js Discord

Discord Forum

when i'm try to use this function to getUser this error show

Unanswered
Asian black bear posted this in #help-forum
Open in Discord
Asian black bearOP
import { createClient } from "@/utils/supabase/server";
import { User } from "@supabase/supabase-js";

async function GetUserIDK(): Promise<{ userData: User | null; logged: boolean }> {
    try {
        const supabase = await createClient();
       const session = await (await supabase.auth.getSession()).data.session

       if(!session?.user){
          return { userData: null, logged: false} 
       }

       return { userData: session.user, logged: true };
    } catch {
        throw new Error('Failed to create chat');
    }
}

const GetUser = async () => await GetUserIDK()

export { GetUser }

⨯ Internal error: Error: Only plain objects, and a few built-ins, can be passed to Client Components from Server Components. Classes or null prototypes are not supported.

4 Replies

Original message was deleted
Asian black bearOP
okay done
Pteromalid wasp
Hey, just use the proper object
Please use JSON.parse to convert it into a plain object
@Pteromalid wasp Please use JSON.parse to convert it into a plain object
Asian black bearOP
hey
import { createClient } from "@/utils/supabase/server";
import { User } from "@supabase/supabase-js";

export async function GetUser(): Promise<{ userData: Record<string, any> | null; logged: boolean }> {
    try {
        const supabase = await createClient();
        const session = await (await supabase.auth.getSession()).data.session;

        if (!session?.user) {
            return { userData: null, logged: false };
        }

        // Convert the Supabase User object into a plain object
        const userData = JSON.parse(JSON.stringify(session.user));

        return { userData, logged: true };
    } catch {
        throw new Error("Failed to fetch user");
    }
}

and same error