* Select user role while sending invite * Add tests to check for role * Update app/scenes/Invite.js Co-authored-by: Tom Moor <tom.moor@gmail.com> * Use select * Use inviteUser policy * Remove unnecessary code * Normalize rank/role Fix text sizing of select input, fix alignment on users invite form * Move component to root * cleanup Co-authored-by: Tom Moor <tom.moor@gmail.com>
36 lines
633 B
JavaScript
36 lines
633 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;
|
|
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;
|