UNPKG

fabric8-planner

Version:
76 lines (75 loc) 2.14 kB
import { Store } from '@ngrx/store'; import { User, UserService } from 'ngx-login-client'; import { Observable } from 'rxjs'; import { AppState } from './../states/app.state'; import { Mapper, MapTree, modelService } from './common.model'; import { UserQuery, UserUI } from './user'; export declare class Comment extends modelService { attributes: CommentAttributes; relationships: { creator?: { data: { id: string; type: string; }; }; parent?: { data: { id: string; type: string; }; }; }; links: CommentLink; relationalData?: RelationalData; } export declare class CommentLink { self: string; } export declare class CommentAttributes { body: string; 'body.rendered': string; 'markup': string; 'created-at': string; } export declare class Comments { data: Comment[]; } export declare class RelationalData { creator?: User; } export interface CommentUI { id: string; body: string; markup: string; createdAt: string; creatorId: string; creator?: Observable<UserUI>; bodyRendered: string; selfLink: string; parentId: string; children?: CommentUI[]; allowEdit?: boolean; } export interface CommentService extends Comment { } export declare class CommentMapper implements Mapper<CommentService, CommentUI> { constructor(); serviceToUiMapTree: MapTree; uiToServiceMapTree: MapTree; toUIModel(arg: CommentService): CommentUI; toServiceModel(arg: CommentUI): CommentService; } export declare class CommentQuery { private store; private userQuery; private userService; private commentSource; constructor(store: Store<AppState>, userQuery: UserQuery, userService: UserService); getComments(commentIds: string[]): void; getCommentsWithCreators(): Observable<CommentUI[]>; getCommentsWithChildren(): Observable<CommentUI[]>; createComment(url: string, comment: CommentUI): void; updateComment(comment: CommentUI): void; dispatchGet(url: string): void; }