fabric8-planner
Version:
A planner front-end for Fabric8.
47 lines (46 loc) • 1.63 kB
TypeScript
import { Store } from '@ngrx/store';
import { Profile, User, UserService as UserServiceClass } from 'ngx-login-client';
import { ConnectableObservable, Observable } from 'rxjs';
import { AppState } from './../states/app.state';
import { Mapper, MapTree, modelService, modelUI } from './common.model';
export interface UserService extends modelService {
attributes?: Profile;
links?: {
self?: string;
related?: string;
};
}
export interface UserUI extends modelUI {
avatar: string;
username: string;
currentUser: boolean;
}
export declare class UserMapper implements Mapper<UserService, UserUI> {
serviceToUiMapTree: MapTree;
uiToServiceMapTree: MapTree;
toUIModel(arg: UserService): UserUI;
toServiceModel(arg: UserUI): UserService;
}
export declare class UserQuery {
private store;
private userService;
constructor(store: Store<AppState>, userService: UserServiceClass);
private plannerSelector;
private userSelector;
private userSource;
private collaboratorIdsSelector;
private collaboratorSelector;
private collaboratorSource;
getUserObservableById(id: string): Observable<UserUI>;
getUserObservablesByIds(ids?: string[]): Observable<UserUI[]>;
getCollaborators(): Observable<UserUI[]>;
/**
* getCollaboratorAndLoggedInUserIds this function returns an
* array of all the collaborators IDs and loggedIn user IDs
*/
readonly getCollaboratorIds: Observable<string[]>;
/**
* This function returns the loggedInUser subject
*/
readonly getLoggedInUser: ConnectableObservable<User>;
}