aboutsummaryrefslogtreecommitdiffstats
path: root/src/models/News.ts
blob: 3db812937fc7e53e39fce2d88ff108d26e6e139f (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
// @flow

interface INews {
  id: string;
  message: string;
  type: string;
  sticky: boolean | undefined;
}

export default class News {
  id: string = '';

  message: string = '';

  type: string = 'primary';

  sticky: boolean = false;

  constructor(data: INews) {
    if (!data.id) {
      throw Error('News requires Id');
    }

    this.id = data.id;
    this.message = data.message || this.message;
    this.type = data.type || this.type;
    this.sticky = data.sticky !== undefined ? data.sticky : this.sticky;
  }
}