@qodalis/angular-cli
Version:
A lightweight and flexible command-line interface (CLI) tool designed to streamline workflows and automate tasks for developers.
42 lines • 5.07 kB
JavaScript
import { Inject, Injectable } from '@angular/core';
import { BehaviorSubject } from 'rxjs';
import { ICliUsersStoreService_TOKEN } from '../tokens';
import * as i0 from "@angular/core";
export class CliUserSessionService {
constructor(usersService) {
this.usersService = usersService;
this.userSessionSubject = new BehaviorSubject({
user: {
id: 'anonymous',
name: 'Anonymous',
email: 'anonymous',
},
});
this.usersService.getUsers().subscribe((users) => {
const user = users.find((u) => u.id === 'root');
if (user) {
this.setUserSession({
user,
});
}
});
}
async setUserSession(session) {
this.userSessionSubject.next(session);
}
getUserSession() {
return this.userSessionSubject.asObservable();
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CliUserSessionService, deps: [{ token: ICliUsersStoreService_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CliUserSessionService, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CliUserSessionService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root',
}]
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
type: Inject,
args: [ICliUsersStoreService_TOKEN]
}] }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLXVzZXItc2Vzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpL3NyYy9saWIvY2xpL3NlcnZpY2VzL2NsaS11c2VyLXNlc3Npb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU1uRCxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFLeEQsTUFBTSxPQUFPLHFCQUFxQjtJQVc5QixZQUVxQixZQUFtQztRQUFuQyxpQkFBWSxHQUFaLFlBQVksQ0FBdUI7UUFaaEQsdUJBQWtCLEdBQUcsSUFBSSxlQUFlLENBRTlDO1lBQ0UsSUFBSSxFQUFFO2dCQUNGLEVBQUUsRUFBRSxXQUFXO2dCQUNmLElBQUksRUFBRSxXQUFXO2dCQUNqQixLQUFLLEVBQUUsV0FBVzthQUNyQjtTQUNKLENBQUMsQ0FBQztRQU1DLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDN0MsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxNQUFNLENBQUMsQ0FBQztZQUNoRCxJQUFJLElBQUksRUFBRTtnQkFDTixJQUFJLENBQUMsY0FBYyxDQUFDO29CQUNoQixJQUFJO2lCQUNQLENBQUMsQ0FBQzthQUNOO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWMsQ0FBQyxPQUF3QjtRQUN6QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxjQUFjO1FBQ1YsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbEQsQ0FBQzsrR0EvQlEscUJBQXFCLGtCQVlsQiwyQkFBMkI7bUhBWjlCLHFCQUFxQixjQUZsQixNQUFNOzs0RkFFVCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFhUSxNQUFNOzJCQUFDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBJQ2xpVXNlclNlc3Npb25TZXJ2aWNlLFxuICAgIElDbGlVc2VyU2Vzc2lvbixcbiAgICBJQ2xpVXNlcnNTdG9yZVNlcnZpY2UsXG59IGZyb20gJ0Bxb2RhbGlzL2NsaS1jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSUNsaVVzZXJzU3RvcmVTZXJ2aWNlX1RPS0VOIH0gZnJvbSAnLi4vdG9rZW5zJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ2xpVXNlclNlc3Npb25TZXJ2aWNlIGltcGxlbWVudHMgSUNsaVVzZXJTZXNzaW9uU2VydmljZSB7XG4gICAgcHJpdmF0ZSB1c2VyU2Vzc2lvblN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFxuICAgICAgICBJQ2xpVXNlclNlc3Npb24gfCB1bmRlZmluZWRcbiAgICA+KHtcbiAgICAgICAgdXNlcjoge1xuICAgICAgICAgICAgaWQ6ICdhbm9ueW1vdXMnLFxuICAgICAgICAgICAgbmFtZTogJ0Fub255bW91cycsXG4gICAgICAgICAgICBlbWFpbDogJ2Fub255bW91cycsXG4gICAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChJQ2xpVXNlcnNTdG9yZVNlcnZpY2VfVE9LRU4pXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlcnNTZXJ2aWNlOiBJQ2xpVXNlcnNTdG9yZVNlcnZpY2UsXG4gICAgKSB7XG4gICAgICAgIHRoaXMudXNlcnNTZXJ2aWNlLmdldFVzZXJzKCkuc3Vic2NyaWJlKCh1c2VycykgPT4ge1xuICAgICAgICAgICAgY29uc3QgdXNlciA9IHVzZXJzLmZpbmQoKHUpID0+IHUuaWQgPT09ICdyb290Jyk7XG4gICAgICAgICAgICBpZiAodXNlcikge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0VXNlclNlc3Npb24oe1xuICAgICAgICAgICAgICAgICAgICB1c2VyLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBhc3luYyBzZXRVc2VyU2Vzc2lvbihzZXNzaW9uOiBJQ2xpVXNlclNlc3Npb24pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdGhpcy51c2VyU2Vzc2lvblN1YmplY3QubmV4dChzZXNzaW9uKTtcbiAgICB9XG5cbiAgICBnZXRVc2VyU2Vzc2lvbigpOiBPYnNlcnZhYmxlPElDbGlVc2VyU2Vzc2lvbiB8IHVuZGVmaW5lZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy51c2VyU2Vzc2lvblN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxufVxuIl19