aboutsummaryrefslogtreecommitdiffhomepage
path: root/client/src/app/shared/users/user.model.ts
blob: 1c2b481e34d41bb695ca81d72b919a1b9ecc0b39 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import { User as UserServerModel, UserRole } from '../../../../../shared'

export class User implements UserServerModel {
  id: number
  username: string
  email: string
  role: UserRole
  displayNSFW: boolean
  createdAt: Date

  constructor (hash: {
    id: number,
    username: string,
    email: string,
    role: UserRole,
    displayNSFW?: boolean,
    createdAt?: Date
  }) {
    this.id = hash.id
    this.username = hash.username
    this.email = hash.email
    this.role = hash.role
    this.displayNSFW = hash.displayNSFW

    if (hash.createdAt) {
      this.createdAt = hash.createdAt
    }
  }

  isAdmin () {
    return this.role === 'admin'
  }
}