import type { ComputedRef, Ref } from 'vue' import type { H3Event } from 'h3' import type { User } from '#edgedb/interfaces' import { useNuxtApp } from '#imports' interface UseEdgeDbIdentityData { identity: Ref cookie: Ref update: (event?: H3Event) => Promise logout: (redirectTo?: string) => Promise isLoggedIn: ComputedRef } export function useEdgeDbIdentity(): UseEdgeDbIdentityData { const { $edgeDbIdentity: identity, $edgeDbCookie: cookie, $edgeDbUpdateIdentity: update, $edgeDbLogout: logout, $edgeDbIsLoggedIn: isLoggedIn, } = useNuxtApp() const identityData = { isLoggedIn, identity, cookie, update, logout, } as UseEdgeDbIdentityData return identityData }