78 lines
1.1 KiB
Plaintext
78 lines
1.1 KiB
Plaintext
type UserRegisterInfo {
|
|
username: string;
|
|
name: string;
|
|
gender: string;
|
|
mail: string;
|
|
password: string;
|
|
salt: string;
|
|
}
|
|
|
|
type Token {
|
|
id: string;
|
|
special: boolean;
|
|
ip: string;
|
|
browser: string;
|
|
isthis: boolean;
|
|
}
|
|
|
|
enum Gender {
|
|
None = 0,
|
|
Male = 1,
|
|
Female = 2,
|
|
Other = 3
|
|
}
|
|
|
|
type Account {
|
|
id: string;
|
|
name: string;
|
|
username: string;
|
|
birthday: int;
|
|
gender: Gender;
|
|
}
|
|
|
|
type Mail {
|
|
mail: string;
|
|
verified: boolean;
|
|
primary: boolean;
|
|
}
|
|
|
|
type Phone {
|
|
phone: string;
|
|
verified: boolean;
|
|
primary: boolean;
|
|
}
|
|
|
|
type ContactInfo {
|
|
mail: Mail[];
|
|
phone: Phone[];
|
|
}
|
|
|
|
enum TFAType {
|
|
TOTP = 0,
|
|
BACKUP_CODE = 1,
|
|
WEBAUTHN = 2,
|
|
APP_ALLOW = 3
|
|
}
|
|
|
|
|
|
type TwoFactor {
|
|
id: string;
|
|
name?: string;
|
|
expires?: int;
|
|
tfatype: TFAType;
|
|
}
|
|
|
|
service AccountService {
|
|
Register(regcode: string, info: UserRegisterInfo): void;
|
|
GetProfile(): Account;
|
|
UpdateProfile(info: Account): void;
|
|
GetContactInfos(): ContactInfo;
|
|
}
|
|
|
|
service SecurityService {
|
|
GetTokens(): Token[];
|
|
RevokeToken(id: string): void;
|
|
|
|
GetTwofactorOptions(): TwoFactor[];
|
|
}
|