42 lines
1.1 KiB
TypeScript
42 lines
1.1 KiB
TypeScript
import {validateBoolean, validateDate, validateString} from "../common/validators";
|
|
import {UserPublic} from "./UserPublic";
|
|
|
|
export class UserPrivate extends UserPublic {
|
|
|
|
constructor(
|
|
readonly privateUuid: string,
|
|
publicUuid: string,
|
|
readonly created: Date,
|
|
readonly lastAccess: Date,
|
|
name: string,
|
|
readonly password: boolean,
|
|
readonly email: string,
|
|
readonly emailConfirmed: boolean,
|
|
admin: boolean,
|
|
) {
|
|
super(publicUuid, name, admin);
|
|
}
|
|
|
|
static override fromJson(json: any): UserPrivate {
|
|
return new UserPrivate(
|
|
validateString(json['privateUuid']),
|
|
validateString(json['publicUuid']),
|
|
validateDate(json['created']),
|
|
validateDate(json['lastAccess']),
|
|
validateString(json['name']),
|
|
validateBoolean(json['password']),
|
|
validateString(json['email']),
|
|
validateBoolean(json['emailConfirmed']),
|
|
validateBoolean(json['admin']),
|
|
);
|
|
}
|
|
|
|
static fromJsonOrNull(json: any): UserPrivate | null {
|
|
if (json === null || json === undefined) {
|
|
return null;
|
|
}
|
|
return UserPrivate.fromJson(json);
|
|
}
|
|
|
|
}
|