#include "apiNewsController.h" #include #include ApiNewsController::ApiNewsController(const QSharedPointer &newsModel, const std::shared_ptr &settings, QObject *parent) : QObject(parent), m_newsModel(newsModel), m_settings(settings) { } void ApiNewsController::fetchNews() { GatewayController gatewayController(m_settings->getGatewayEndpoint(), m_settings->isDevGatewayEnv(), apiDefs::requestTimeoutMsecs, m_settings->isStrictKillSwitchEnabled()); QByteArray responseBody; ErrorCode errorCode = gatewayController.get(QString("%1v1/news"), responseBody); qDebug() << "fetchNews" << errorCode; if (errorCode != ErrorCode::NoError) { emit errorOccurred(errorCode); return; } QJsonDocument doc = QJsonDocument::fromJson(responseBody); QJsonArray newsArray; if (doc.isArray()) { newsArray = doc.array(); } else if (doc.isObject()) { QJsonObject obj = doc.object(); if (obj.value("news").isArray()) { newsArray = obj.value("news").toArray(); } } m_newsModel->updateModel(newsArray); }