@nodeject/ui-components
Version:
UI library for non-trivial components
62 lines (61 loc) • 1.38 kB
TypeScript
/// <reference types="react" />
export declare type User = {
id: string;
oauthId: string;
display: string;
picture: string;
likes?: Comment[];
dislikes?: Comment[];
bookmarks?: Comment[];
authorOf?: Comment[];
starterOf?: Conversation[];
unreadMessagesInConversations?: Conversation[];
};
export declare type Attachment = {
id: string;
name: string;
createdAt: Date;
mediaType: string;
comment: Comment;
};
export declare type Comment = {
id: string;
author: User;
content: string;
createdAt: Date;
parentConversation: {
id: string;
};
parentComment?: {
id: string;
};
comments: Comment[];
bookmarkedBy: User[];
likedBy: User[];
dislikedBy: User[];
attachments?: Attachment[];
};
export declare type Conversation = {
id: string;
parent: Parent;
organization: string;
bookmarkedBy: User[];
title: React.ReactNode;
author: User;
createdAt: Date;
comments?: Comment[];
unreadMessagesBy?: User[];
};
export declare type Parent = {
id: string;
parent: string;
type: ParentType;
conversations?: Conversation[];
};
export declare enum ParentType {
Organization = 0,
Portfolio = 1,
Project = 2,
WbsComponent = 3,
WorkItem = 4
}