From f3b46361ab2a0045fa7a7706678f4a2520dda634 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20St=C3=BCrz?= Date: Thu, 13 Aug 2015 12:46:20 +0200 Subject: [PATCH] set states for each device of REST call /api/v1/devices --- server/rest/devicesresource.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/server/rest/devicesresource.cpp b/server/rest/devicesresource.cpp index 899d11f0..bf3d5614 100644 --- a/server/rest/devicesresource.cpp +++ b/server/rest/devicesresource.cpp @@ -196,7 +196,18 @@ HttpReply *DevicesResource::getConfiguredDevices() const { qCDebug(dcRest) << "Get all configured devices"; HttpReply *reply = createSuccessReply(); - reply->setPayload(QJsonDocument::fromVariant(JsonTypes::packConfiguredDevices()).toJson()); + QVariantList devices = JsonTypes::packConfiguredDevices(); + + QVariantList finalDevices; + foreach (const QVariant &deviceVariant, devices) { + QVariantMap deviceMap = deviceVariant.toMap(); + Device* device = GuhCore::instance()->findConfiguredDevice(DeviceId(deviceMap.value("id").toString())); + QVariantList deviceStates = JsonTypes::packDeviceStates(device); + deviceMap.insert("states", deviceStates); + finalDevices.append(deviceMap); + } + + reply->setPayload(QJsonDocument::fromVariant(finalDevices).toJson()); return reply; }