feat: setup and roles

This commit is contained in:
Zoe
2026-10-08 13:08:20 -05:00
parent 4bba529ba8
commit 7b0800882a
13 changed files with 3502 additions and 2 deletions
+3
View File
@@ -15,6 +15,7 @@ export enum AuthError {
export type AuthUser = InferUserFromClient<BetterAuthClientOptions> & {
twoFactorEnabled?: boolean | null;
role?: string | null;
};
type sessionData = {
@@ -35,6 +36,7 @@ export const useAuth = () => {
const session = useState<InferSessionFromClient<BetterAuthClientOptions> | null>('auth:session', () => null);
const user = useState<AuthUser | null>('auth:user', () => null);
const sessionFetching = import.meta.server ? ref(false) : useState('auth:sessionFetching', () => false);
const isAdmin = computed(() => user.value?.role === 'admin');
let sessionPromise: Promise<Result<sessionData, AuthError>> | null = null;
@@ -244,6 +246,7 @@ export const useAuth = () => {
client: authClient,
session,
user,
isAdmin,
loggedIn: computed(() => !!session.value),
signIn,
verifyTwoFactor,