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.
25 lines (19 loc) • 849 B
text/typescript
import { EnsureUserIsLoggedInParams } from 'scrivito_sdk/app_support/auth_handler';
import { getUserInfoPath } from 'scrivito_sdk/app_support/user_info';
import { JrRestApi } from 'scrivito_sdk/client';
import { TimeoutType, setInterval } from 'scrivito_sdk/common';
let userLoggedInStatusInterval: TimeoutType | undefined;
export function startPollingLoggedInUser(): void {
if (userLoggedInStatusInterval) return;
userLoggedInStatusInterval = setInterval(fetchLoggedInUser, 60000);
}
export async function fetchLoggedInUser(
params?: EnsureUserIsLoggedInParams
): Promise<void> {
await JrRestApi.get(await getUserInfoPath(), params);
}
// For test purposes only
export function disableUserIsLoggedInPoll(): void {
if (userLoggedInStatusInterval) clearInterval(userLoggedInStatusInterval);
userLoggedInStatusInterval = undefined;
}