Files
drop/server/composables/user.ts
T
DecDuck 38c11567ef Variety of bug fixes (#432)
* Fix #414

* Implement #268

* Add #269
2026-06-21 20:07:59 +10:00

28 lines
814 B
TypeScript

import type { UserModel } from "~/prisma/client/models";
// undefined = haven't check
// null = check, no user
// {} = check, user
export const useUser = () => useState<UserModel | undefined | null>(undefined);
export const updateUser = async () => {
const user = useUser();
if (user.value === null) return;
user.value = await $dropFetch<UserModel | null>("/api/v1/user", {
// Forward headers manually when called outside a component
headers: import.meta.server
? useRequestHeaders(["cookie", "authorization"])
: undefined,
});
};
export async function completeSignin() {
const route = useRoute();
const router = useRouter();
const user = useUser();
user.value = await $dropFetch<UserModel | null>("/api/v1/user");
router.push(route.query.redirect?.toString() ?? "/");
}