fabric8-planner
Version:
A planner front-end for Fabric8.
76 lines (75 loc) • 2.14 kB
TypeScript
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;
}