when i'm try to use this function to getUser this error show
Unanswered
Asian black bear posted this in #help-forum
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
and same error
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