Загрузка приложения

IBlogComment

Физическое объявление TypeScript из стартового проекта Nuxt со связанными типами и комментариями к полям.

IBlogComment

Пользовательский комментарий блога.

interfaces/orionplace/blog/IBlogApi.ts
TypeScript
export interface IBlogComment {
  // ID комментария.
  id: number;
  // ID публикации; фильтр запроса называется `for_post`.
  post_id: number;
  // ID родительского комментария либо null для корневого. Ответы не вложены.
  parent_id: number | null;
  // Текст комментария.
  text: string;
  // ID автора, имя, фамилия для показа в комментариях и URL аватара либо null.
  user: {
    // ID комментария.
    id: number;
    // Значение поля first_name.
    first_name: string;
    // Значение поля last_name.
    last_name: string;
    // Значение поля avatar.
    avatar: string | null;
  };
  // Является ли текущий авторизованный аккаунт автором.
  is_owner: boolean;
  /** True only for the author while no approved reply exists. */
  can_edit: boolean;
  /** True only for the author while no reply of any status exists. */
  can_remove: boolean;
  // Значение `EBlogCommentStatus` в `int`, переведённая подпись в `text`.
  status: {
    // Значение поля int.
    int: EBlogCommentStatus;
    // Текст комментария.
    text: string;
  };
  // Время создания.
  date_created: IApiDateTime;
  // Время последнего изменения.
  date_modified: IApiDateTime;
  // Сохранённое число отметок «нравится»; этот метод не голосует.
  total_c_likes: number;
  // Сохранённое число отметок «не нравится».
  total_c_dislikes: number;
  // Количество ответов: в публичном списке учитываются одобренные ответы, в
  // списке комментариев пользователя и после сохранения комментария — все
  // ответы.
  total_c_replies: number;
}