Takumon/mean-blog

View on GitHub
src/app/shared/models/article-with-user.model.ts

Summary

Maintainability
A
0 mins
Test Coverage
import { UserModel } from './user.model';
import { ImageModel } from './image.model';

import { CommentWithUserModel } from './comment-with-user.model';
import { CommentModel } from './comment.model';

/**
 * 記事(投稿したユーザ情報、いいね情報、コメント情報を含む)のモデル
 */
export class ArticleWithUserModel {
  /** id */
  _id: string;
  /** 記事タイトル */
  title: string;
  /** 記事本文 */
  body: string;
  /** 記事がマークダウン形式か(trueの場合はマークダウン形式、falseの場合はプレーンテキスト形式) */
  isMarkdown: boolean;
  /** 記事投稿者のユーザ情報 */
  author: UserModel;
  /** 記事に対するいいねしたユーザのリスト */
  vote?: Array<UserModel>;
  /** 記事に対するコメント(コメントしたユーザ情報を含む)のリスト */
  comments?: Array<CommentWithUserModel>;
  /** 記事本文で使用している画像情報のリスト */
  image?: Array<ImageModel>;
  /** 登録日時 */
  created: string;
  /** 更新日時 */
  updated: string;
  /** (論理)削除日時 */
  deleted?: string;

  /** (表示制御用)記事に対しての新規コメントのモデル*/
  newComment?: CommentModel;
  /** (表示制御用)記事一覧にて記事の詳細(いいねとコメント)を表示するか */
  showDetail?: boolean;
}