26 lines
763 B
TypeScript
26 lines
763 B
TypeScript
export default defineNuxtPlugin({
|
|
name: 'better-auth-fetch-plugin',
|
|
enforce: 'pre',
|
|
async setup(nuxtApp) {
|
|
const triplit = useTriplitClient();
|
|
|
|
// Flag if request is cached
|
|
nuxtApp.payload.isCached = Boolean(useRequestEvent()?.context.cache);
|
|
if (nuxtApp.payload.serverRendered && !nuxtApp.payload.prerenderedAt && !nuxtApp.payload.isCached) {
|
|
const { session, fetchSession } = useAuth();
|
|
|
|
if (!session.value) {
|
|
await fetchSession();
|
|
}
|
|
|
|
if (!session.value) return;
|
|
|
|
if ('updateOptions' in triplit) {
|
|
triplit.updateOptions({
|
|
token: session.value.token,
|
|
});
|
|
}
|
|
}
|
|
},
|
|
});
|