import { cache } from 'react'; import { createAccountsApi } from '@kit/accounts/api'; import { getSupabaseServerClient } from '@kit/supabase/server-client'; export type Accounts = Awaited>; /** * @name loadUserAccount * @description * Load the user account. It's a cached per-request function that fetches the user workspace data. * It can be used across the server components to load the user workspace data. */ export const loadAccounts = cache(accountsLoader); export async function loadCurrentUserAccounts() { const client = getSupabaseServerClient(); const { data: { user }, } = await client.auth.getUser(); return user?.identities?.[0]?.id ? await loadAccounts() : []; } async function accountsLoader() { const client = getSupabaseServerClient(); const api = createAccountsApi(client); return api.loadUserAccounts(); }