@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
55 lines • 6.49 kB
JavaScript
import { Injectable } from '@angular/core';
import { of, ReplaySubject } from 'rxjs';
import { User } from '../../../user/models/user';
import * as i0 from "@angular/core";
export class MockUserService {
_userChange$;
_user;
constructor() {
this._userChange$ = new ReplaySubject(1);
}
get user$() {
return this._userChange$.asObservable();
}
get user() {
return this._user;
}
set user(user) {
this._user = user;
}
hasRoleById(roleStringId) {
if (!roleStringId || !this._user.roles) {
return false;
}
return this._user.roles.some(r => r.stringId === roleStringId);
}
hasRoleByName(roleName, netIdentifier) {
if (!roleName || !netIdentifier || !this._user.roles) {
return false;
}
return this._user.roles.some(r => r.stringId === roleName && r.netImportId === netIdentifier);
}
hasAuthority() {
return true;
}
isUserEmpty(user) {
return !user || (!user.id && user.roles.length === 0);
}
isCurrentUserEmpty() {
return this.isUserEmpty(this.user);
}
logout() {
this._user = this.emptyUser();
this._userChange$.next(this._user);
return of({});
}
emptyUser() {
return new User('', '', '', '', '', '', [], [], [], []);
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MockUserService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MockUserService });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MockUserService, decorators: [{
type: Injectable
}], ctorParameters: () => [] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9jay11c2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL3V0aWxpdHkvdGVzdHMvbW9ja3MvbW9jay11c2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQWEsRUFBRSxFQUFFLGFBQWEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7O0FBRy9DLE1BQU0sT0FBTyxlQUFlO0lBRWQsWUFBWSxDQUFzQjtJQUNsQyxLQUFLLENBQU87SUFFdEI7UUFDSSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksYUFBYSxDQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQUksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBSSxJQUFJLENBQUMsSUFBVTtRQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxXQUFXLENBQUMsWUFBb0I7UUFDbkMsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFO1lBQ3BDLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxLQUFLLFlBQVksQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFTSxhQUFhLENBQUMsUUFBZ0IsRUFBRSxhQUFxQjtRQUN4RCxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUU7WUFDbEQsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEtBQUssUUFBUSxJQUFJLENBQUMsQ0FBQyxXQUFXLEtBQUssYUFBYSxDQUFDLENBQUM7SUFDbEcsQ0FBQztJQUVELFlBQVk7UUFDUixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU0sV0FBVyxDQUFDLElBQVU7UUFDekIsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU0sa0JBQWtCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDdEMsQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQTtRQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkMsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVTLFNBQVM7UUFDZixPQUFPLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzVELENBQUM7d0dBdkRRLGVBQWU7NEdBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGUsIG9mLCBSZXBsYXlTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7VXNlcn0gZnJvbSAnLi4vLi4vLi4vdXNlci9tb2RlbHMvdXNlcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNb2NrVXNlclNlcnZpY2Uge1xuXG4gICAgcHJvdGVjdGVkIF91c2VyQ2hhbmdlJDogUmVwbGF5U3ViamVjdDxVc2VyPjtcbiAgICBwcm90ZWN0ZWQgX3VzZXI6IFVzZXI7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5fdXNlckNoYW5nZSQgPSBuZXcgUmVwbGF5U3ViamVjdDxVc2VyPigxKTtcbiAgICB9XG5cbiAgICBnZXQgdXNlciQoKTogT2JzZXJ2YWJsZTxVc2VyPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl91c2VyQ2hhbmdlJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBnZXQgdXNlcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3VzZXI7XG4gICAgfVxuXG4gICAgc2V0IHVzZXIodXNlcjogVXNlcikge1xuICAgICAgICB0aGlzLl91c2VyID0gdXNlcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFzUm9sZUJ5SWQocm9sZVN0cmluZ0lkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFyb2xlU3RyaW5nSWQgfHwgIXRoaXMuX3VzZXIucm9sZXMpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fdXNlci5yb2xlcy5zb21lKHIgPT4gci5zdHJpbmdJZCA9PT0gcm9sZVN0cmluZ0lkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFzUm9sZUJ5TmFtZShyb2xlTmFtZTogc3RyaW5nLCBuZXRJZGVudGlmaWVyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFyb2xlTmFtZSB8fCAhbmV0SWRlbnRpZmllciB8fCAhdGhpcy5fdXNlci5yb2xlcykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl91c2VyLnJvbGVzLnNvbWUociA9PiByLnN0cmluZ0lkID09PSByb2xlTmFtZSAmJiByLm5ldEltcG9ydElkID09PSBuZXRJZGVudGlmaWVyKTtcbiAgICB9XG5cbiAgICBoYXNBdXRob3JpdHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc1VzZXJFbXB0eSh1c2VyOiBVc2VyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdXNlciB8fCAoIXVzZXIuaWQgJiYgdXNlci5yb2xlcy5sZW5ndGggPT09IDApO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0N1cnJlbnRVc2VyRW1wdHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVXNlckVtcHR5KHRoaXMudXNlcilcbiAgICB9XG5cbiAgICBsb2dvdXQoKSB7XG4gICAgICAgIHRoaXMuX3VzZXIgPSB0aGlzLmVtcHR5VXNlcigpXG4gICAgICAgIHRoaXMuX3VzZXJDaGFuZ2UkLm5leHQodGhpcy5fdXNlcik7XG4gICAgICAgIHJldHVybiBvZih7fSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGVtcHR5VXNlcigpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBVc2VyKCcnLCAnJywgJycsICcnLCAnJywgJycsIFtdLCBbXSwgW10sIFtdKTtcbiAgICB9XG59XG4iXX0=