UNPKG

scrivito

Version:

Scrivito is a professional, yet easy to use SaaS Enterprise Content Management Service, built for digital agencies and medium to large businesses. It is completely maintenance-free, cost-effective, and has unprecedented performance and security.

32 lines (25 loc) 835 B
import { JrRestApi } from 'scrivito_sdk/client'; import { fetchConfiguredTenant } from 'scrivito_sdk/common'; import { createLoadableData } from 'scrivito_sdk/loadable'; export interface UserInfo { sub: string; name: string; email: string; picture?: string; } export function getUserInfo(): UserInfo | null | undefined { return loadableUserInfo.get(); } export async function getUserInfoPath(): Promise<string> { const tenant = await fetchConfiguredTenant(); return `iam/instances/${tenant}/userinfo`; } // For test purposes only export function setUserInfo(userinfo: UserInfo | null): void { loadableUserInfo.set(userinfo); } const loadableUserInfo = createLoadableData<UserInfo | null>({ name: 'userinfo', loader: async () => JrRestApi.getWithoutLogin(await getUserInfoPath()) as Promise<UserInfo>, });