All files / src user-helper.ts

0% Statements 0/29
0% Branches 0/1
0% Functions 0/1
0% Lines 0/29

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39                                                                             
import { createClient } from '@tuturuuu/supabase/next/server';
import { WorkspaceUser } from '@tuturuuu/types/primitives/WorkspaceUser';
import { notFound, redirect } from 'next/navigation';
 
export async function getCurrentSupabaseUser() {
  const supabase = await createClient();
 
  const {
    data: { user },
  } = await supabase.auth.getUser();
 
  return user;
}
 
export async function getCurrentUser(noRedirect?: boolean) {
  const supabase = await createClient();
 
  const {
    data: { user },
  } = await supabase.auth.getUser();
 
  if (!user) {
    if (noRedirect) return null;
    redirect('/login');
  }
 
  const { data, error } = await supabase
    .from('users')
    .select(
      'id, display_name, avatar_url, handle, created_at, user_private_details(email, new_email, birthday)'
    )
    .eq('id', user.id)
    .single();
 
  if (error) notFound();
  const { user_private_details, ...rest } = data;
  return { ...rest, ...user_private_details } as WorkspaceUser;
}