@datalayer/core
Version:
**Datalayer Core**
72 lines (71 loc) • 2 kB
TypeScript
import { IInvite } from "./Invite";
import { IIAMProviderLinked } from "./IAMProviderLinked";
import { IUserOnboarding } from './UserOnboarding';
import { IUserSettings } from './UserSettings';
import { IUserEvent } from './UserEvent';
export declare const ANONYMOUS_USER: undefined;
export declare const ANONYMOUS_USER_TOKEN: undefined;
export declare const ANONYMOUS_USER_EXTERNAL_TOKEN: undefined;
/**
* Get a random color from the list of colors.
*/
export declare const getUserRandomColor: () => string;
export declare class User implements IUser {
id: string;
handle: string;
email: string;
firstName: string;
lastName: string;
initials: string;
displayName: string;
joinDate?: Date;
roles: string[];
credits?: number;
creditsCustomerId?: string;
avatarUrl?: string;
origin?: string;
invites?: Array<IInvite>;
iamProviders: Array<IIAMProviderLinked>;
settings: IUserSettings;
unsubscribedFromOutbounds: boolean;
mfaUrl?: string;
onboarding: IUserOnboarding;
linkedContactId?: string;
events: Array<IUserEvent>;
constructor(u: any);
setRoles(roles: string[]): void;
}
/**
* Convert the raw user object to {@link IUser}.
*
* @param u Raw user object from DB
* @returns IUser
*/
export declare function asUser(u: any): IUser;
export type IBaseUser = {
email: string;
firstName: string;
lastName: string;
initials: string;
displayName: string;
joinDate?: Date;
roles: string[];
setRoles: (roles: string[]) => void;
};
export type IUser = IBaseUser & {
id: string;
handle: string;
credits?: number;
creditsCustomerId?: string;
avatarUrl?: string;
origin?: string;
invites?: Array<IInvite>;
iamProviders: Array<IIAMProviderLinked>;
settings: IUserSettings;
unsubscribedFromOutbounds: boolean;
mfaUrl?: string;
onboarding: IUserOnboarding;
linkedContactId?: string;
events: Array<IUserEvent>;
};
export default IUser;