import ngModule from '../module';

class AclService {
    constructor($http) {
        this.$http = $http;
    }

    reset() {
        this.user = null;
        this.roles = null;
    }

    load() {
        return this.$http.get('VnUsers/acl').then(res => {
            this.user = res.data.user;
            this.roles = {};

            for (let role of res.data.roles) {
                if (role.role)
                    this.roles[role.role.name] = true;
            }
        });
    }

    hasAny(roles) {
        if (this.roles) {
            for (let role of roles) {
                if (this.roles[role])
                    return true;
            }
        }
        return false;
    }
}
AclService.$inject = ['$http'];

ngModule.service('aclService', AclService);