30 lines
874 B
TypeScript
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);
|
|
});
|
|
}
|
|
},
|
|
});
|