This repository has been archived on 2022-08-14. You can view files and clone it, but cannot push or open issues or pull requests.
outline/app/models/User.js

37 lines
650 B
JavaScript

// @flow
import { computed } from "mobx";
import type { Role } from "shared/types";
import BaseModel from "./BaseModel";
class User extends BaseModel {
avatarUrl: string;
id: string;
name: string;
email: string;
color: string;
isAdmin: boolean;
isViewer: boolean;
lastActiveAt: string;
isSuspended: boolean;
createdAt: string;
language: string;
@computed
get isInvited(): boolean {
return !this.lastActiveAt;
}
@computed
get role(): Role {
if (this.isAdmin) {
return "admin";
} else if (this.isViewer) {
return "viewer";
} else {
return "member";
}
}
}
export default User;