Загрузка приложения
IProductReview
Физическое объявление TypeScript из стартового проекта Nuxt со связанными типами и комментариями к полям.
IProductReviewОтзыв о товаре, автор, вложения и состояние обсуждения.
app/interfaces/orionplace/products/IProductFeedbackApi.tsexport interface IProductReview extends IProductFeedback {
// Текст отзыва или ответа.
text: string;
// Оценка товара от 1 до 5 звёзд. 0 — у ответа, который не оценивает товар,
// или у старого отзыва, сохранённого без звёзд.
rating: number;
// Автор отзыва или ответа.
user: IProductFeedbackUser;
// Состояние отзыва: `int` — `EProductFeedbackStatus.PENDING` (ожидает
// проверки), `EProductFeedbackStatus.APROOVED` (одобрен) или
// `EProductFeedbackStatus.DENIED` (отклонён); `text` — подпись.
status: {
// Код статуса отзыва: `EProductFeedbackStatus.PENDING` (ожидает модерации),
// `EProductFeedbackStatus.APROOVED` (одобрен) или
// `EProductFeedbackStatus.DENIED` (отклонён).
int: EProductFeedbackStatus;
// Текст отзыва или ответа.
text: string;
};
// Дата и время создания.
date_created: IApiDateTime;
// Количество лайков.
total_c_likes: number;
// Количество дизлайков.
total_c_dislikes: number;
// A root review: approved replies in its whole discussion; a reply: its approved direct replies.
// Количество одобренных ответов. Для первого отзыва — все ответы в его
// обсуждении. Для ответа — только ответы непосредственно на него.
total_c_approved_replies: number;
// Approved direct replies in this store group: the list reply_of_parent opens.
// Одобренные прямые ответы в этой группе магазинов — столько записей вернёт
// `filters.reply_of_parent` с ID этого отзыва. Показывайте число на кнопке
// ответов; `total_c_approved_replies` корневого отзыва считает всё
// обсуждение.
total_c_approved_direct_replies?: number;
// Количество всех ответов, включая ожидающие проверки и отклонённые. Поэтому
// число может быть больше длины `replies`. Для первого отзыва — все ответы в
// его обсуждении. Для ответа — только ответы непосредственно на него.
total_c_replies: number;
// До пяти фотографий, прикреплённых к этому отзыву.
images: IProductFeedbackImage[];
// Количество изображений, прикреплённых к этому отзыву.
c_images: number;
// `true` — покупатель поставил лайк; `false` — дизлайк; `null` — не оценивал
// отзыв. Для гостя поле отсутствует.
user_like?: boolean | null;
// `true` — покупатель уже ответил непосредственно на этот отзыв или ответ;
// `false` — ещё не ответил. Учитывается и ответ, который ожидает проверки или
// отклонён. Для гостя поле отсутствует.
my_reply_exist?: boolean;
// Одобренные ответы. В `products_feedbacks_mine_get` приходят автоматически;
// в `products_view_feedbacks_feedback_get` — при переданном `filters.id`.
replies?: IProductReview[];
// Связь с обсуждением: ID первого отзыва и непосредственного родителя. Для
// корневого отзыва оба значения равны `null`.
reply_info: {
// ID первого отзыва в обсуждении; `null` для корневого отзыва.
main_reply: number | null;
// ID отзыва или ответа, на который непосредственно отвечает этот ответ;
// `null` для корневого отзыва.
reply_to: number | null;
};
// Данные товара или `null`. Поле отсутствует при переданном
// `filters.reply_of_parent`.
product?: IProduct | null;
}