50 lines
1.1 KiB
TypeScript

export interface User {
id: string;
username: string;
email: string;
emailHash?: string;
emailObfuscated?: string;
roles: string;
avatarSource: string | null;
bannedReason: string;
usernameNorm: string;
bannedTerms?: string;
bannedBy: string;
lastActive: number;
banSnapshot: string;
inactiveWarning: number;
adminNotifications: number;
loginAttempts: string;
timesheets: string;
socialLookup: number;
payload?: string;
mfa?: boolean;
mfaRequired?: boolean;
authenticated?: boolean;
code?: null;
codeKey?: string | null;
}
export interface Account {
token: string;
account: User;
}
export interface Admin {
username: string;
teamName: string;
locale: string;
avatar: string;
credentials: string[] | null;
credentialsLevel: number | null;
credentialsName: string | null;
}
export interface Authenticator {
id: string;
userId: string | null;
type: string;
payload: string | Record<string, string>;
validUntil: number | null;
}