export type GetCommentaryAPI = {
  commentaryID: number;
  avatarName: string;
  text: string;
  date: string;
}[];

export type GetEssayAPI = {
  forumTitle: string;
  title: string;
  text: string;
  date: string;
  avatarID: string;
  avatarName: string;
  hitCount: number;
  essayBefore: EssayAPIEssay;
  essayLater: EssayAPIEssay;
};

export type EssayAPIEssay = {
  essayID: number;
  avatarID: string;
  avatarName: string;
  date: string;
  title: string;
  commentCount: number;
  hitCount: number;
  essayBefore?: Essay;
  essayLater?: Essay;
};

export type GetCommentAPI = {
  commentID: number;
  date: string;
  avatarID: string;
  avatarName: string;
  text: string;
  comments: GetCommentAPI[number][];
}[];

export type GetForumAPI = {
  title: string;
  text: string;
  essays: EssayAPIEssay[];
  essayCount: number;
  level: number;
};

export type GetAutoEssayAPI = {
  autoEssayID: number;
  date: string;
  title: string;
  text: string;
}[];

export type GetForumsAPI = {
  forumID: string;
  title: string;
  essays: EssayAPIEssay[];
}[];

export type GetLatestAPI = {
  avatarID: string;
  avatarName: string;
  date: string;
}[];

export type GetLatestCommentAPI = {
  commentID: number;
  date: string;
  avatarID: string;
  avatarName: string;
  text: string;
  forumID: string;
  essayID: number;
}[];

export type GetLatestEssayAPI = {
  essayID: number;
  avatarID: string;
  avatarName: string;
  date: string;
  title: string;
  commentCount: number;
  hitCount: number;
  forumTitle?: string;
  forumID?: string;
}[];

export type GetWantAPIEssay = {
  essayID: number;
  avatarID: string;
  avatarName: string;
  date: string;
  title: string;
  commentCount: number;
  hitCount: number;
  forumTitle?: string;
  forumID?: string;
};

export type GetWantAPIComment = {
  commentID: number;
  date: string;
  avatarID: string;
  avatarName: string;
  text: string;
  forumID: string;
  essayID: number;
};
