From 58cda9cc7fb79ca9df6746de7f9662bc08dc156a Mon Sep 17 00:00:00 2001 From: Stefan Malzner Date: Fri, 13 Oct 2017 12:29:40 +0200 Subject: initial commit --- src/models/User.js | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/models/User.js (limited to 'src/models/User.js') diff --git a/src/models/User.js b/src/models/User.js new file mode 100644 index 000000000..94b579928 --- /dev/null +++ b/src/models/User.js @@ -0,0 +1,41 @@ +import { observable } from 'mobx'; + +export default class User { + id = null; + @observable email = null; + @observable firstname = null; + @observable lastname = null; + @observable organization = null; + @observable accountType = null; + @observable emailIsConfirmed = true; // better assume it's confirmed to avoid noise + @observable subscription = {}; + @observable isSubscriptionOwner = false; + @observable isPremium = false; + @observable beta = false; + @observable donor = {}; + @observable isDonor = false; + @observable isMiner = false; + + constructor(data: Object) { + if (!data.id) { + throw Error('User requires Id'); + } + + this.id = data.id; + this.email = data.email || this.email; + this.firstname = data.firstname || this.firstname; + this.lastname = data.lastname || this.lastname; + this.organization = data.organization || this.organization; + this.accountType = data.accountType || this.accountType; + this.isPremium = data.isPremium || this.isPremium; + this.beta = data.beta || this.beta; + this.donor = data.donor || this.donor; + this.isDonor = data.isDonor || this.isDonor; + this.isSubscriptionOwner = data.isSubscriptionOwner || this.isSubscriptionOwner; + this.isMiner = data.isMiner || this.isMiner; + } + + // @computed get isPremium() { + // + // } +} -- cgit v1.2.3-54-g00ecf