Value ServicesTable::CommentsAccessor(const Value& row) { Service::Ptr service = static_cast<Service::Ptr>(row); if (!service) return Empty; ArrayData result; for (const Comment::Ptr& comment : service->GetComments()) { if (comment->IsExpired()) continue; result.push_back(comment->GetLegacyId()); } return new Array(std::move(result)); }
Value ServicesTable::CommentsWithExtraInfoAccessor(const Value& row) { Service::Ptr service = static_cast<Service::Ptr>(row); if (!service) return Empty; ArrayData result; for (const Comment::Ptr& comment : service->GetComments()) { if (comment->IsExpired()) continue; result.push_back(new Array({ comment->GetLegacyId(), comment->GetAuthor(), comment->GetText(), comment->GetEntryType(), static_cast<int>(comment->GetEntryTime()) })); } return new Array(std::move(result)); }