Home Reference Source Repository

js/models/user.js

import log from 'logger';
import {Model} from 'models/base';

export default class User extends Model {

    get fullname() {
        return this.first_name + ' ' + this.last_name;
    }

    get is_admin() {
        return this.has_role('admin');
    }

    fetch(ident) {
        ident = ident || this.id || this.slug;
        if (ident) {
            this.$api('users.get_user', {user: ident}, this.on_fetched);
        } else {
            log.error('Unable to fetch User: no identifier specified');
        }
        return this;
    }

    update(data) {
        this.$api('users.update_user', {
            user: this.id,
            payload: JSON.stringify(data)
        }, this.on_fetched);
    }

    has_role(name) {
        return this.roles && this.roles.indexOf(name) >= 0;
    }
}