Files
veridian/app/plugins/auth.client.ts
T

30 lines
874 B
TypeScript

import { assert } from "~~/utils/assert";
export default defineNuxtPlugin({
name: 'better-auth-triplit',
enforce: 'pre',
async setup(nuxtApp) {
if (import.meta.client) {
const triplit = useTriplitClient();
const { session, fetchSession } = useAuth();
nuxtApp.hook('app:mounted', async () => {
if (!session.value) {
const result = await fetchSession();
if (!result.ok) {
console.warn('Failed to fetch session:', result.error);
return;
}
}
if (!session.value) {
return;
}
assert('startSession' in triplit)
await triplit.startSession(session.value.token);
});
}
},
});