Files
litlyx/dashboard/composables/useLoggedUser.ts
2024-10-02 17:05:34 +02:00

35 lines
802 B
TypeScript

import type { AuthContext } from "~/server/middleware/01-authorization";
const loggedUser = ref<AuthContext | undefined>();
const setLoggedUser = (authContext?: AuthContext) => {
loggedUser.value = authContext;
};
function getUserRoles() {
const isPremium = computed(() => {
if (!loggedUser.value?.logged) return false;
return loggedUser.value.user.roles.includes('PREMIUM');
});
const isAdmin = computed(() => {
if (!loggedUser.value?.logged) return false;
return loggedUser.value.user.roles.includes('ADMIN');
});
return { isPremium, isAdmin }
}
export const isAdminHidden = ref<boolean>(false);
export function useLoggedUser() {
return {
user: loggedUser,
userRoles: getUserRoles(),
setLoggedUser
}
}