accounts/dashboard/lib/mail/auth.ts

32 lines
777 B
TypeScript

'use client'
import { useMemo } from 'react'
import { useUser } from '@lib/userStore'
export function useTenantAuthContext() {
const { user } = useUser()
return useMemo(() => {
const memberships = user?.tenants ?? []
const defaultTenant =
memberships.find((tenant) => tenant.id === user?.tenantId) ?? memberships[0] ?? (user?.tenantId ? { id: user.tenantId } : null)
return {
user,
defaultTenantId: defaultTenant?.id,
tenants: memberships,
}
}, [user])
}
export function buildTenantHeaders(tenantId: string, token?: string) {
const headers: Record<string, string> = {
'x-tenant-id': tenantId,
}
if (token) {
headers.Authorization = token.startsWith('Bearer ') ? token : `Bearer ${token}`
}
return headers
}