UNPKG

piral-auth

Version:

Plugin for handling authentication in Piral.

51 lines (42 loc) 1.2 kB
declare module 'piral-core/lib/types/custom' { interface PiletCustomApi extends PiletAuthApi {} interface PiralCustomEventMap { 'change-user': PiralChangeUserEvent; } interface PiralCustomState { /** * The currently authenticated user, if any. */ user: UserInfo | undefined; } interface PiralCustomActions { /** * Sets the currently logged in user. * @param user The current user or undefined is anonymous. * @param features The features for the current user, if any. * @param permissions The permissions of the current user, if any. */ setUser(user: UserInfo, features: UserFeatures, permissions: UserPermissions): void; } } export type UserFeatures = Record<string, boolean>; export type UserPermissions = Record<string, any>; export interface UserInfo { id: string; firstName: string; lastName: string; mail: string; language: string; permissions: UserPermissions; features: UserFeatures; } export interface PiralChangeUserEvent { previous: UserInfo; current: UserInfo; } export interface PiletAuthApi { /** * Gets the currently authenticated user, if any. */ getUser(): UserInfo | undefined; }