27 lines
713 B
TypeScript
27 lines
713 B
TypeScript
export default class User {
|
|
user_id: string;
|
|
password: string | null;
|
|
is_guest: boolean;
|
|
|
|
constructor(user_id: string, password: string | null, is_guest?: boolean) {
|
|
this.user_id = user_id;
|
|
this.password = password;
|
|
this.is_guest = is_guest || false;
|
|
}
|
|
|
|
static localPart(user_id: string | null) {
|
|
if (user_id && user_id.startsWith("@") && user_id.includes(":")) {
|
|
const parts = user_id.split(":");
|
|
return parts[0].substring(1);
|
|
}
|
|
return user_id;
|
|
}
|
|
|
|
static domainPart(user_id: string | null) {
|
|
if (user_id && user_id.startsWith("@") && user_id.includes(":")) {
|
|
const parts = user_id.split(":");
|
|
return parts[1];
|
|
}
|
|
return undefined;
|
|
}
|
|
}
|