diff --git a/app/api/RoomsApi.php b/app/api/RoomsApi.php index 36a0912..37fb285 100644 --- a/app/api/RoomsApi.php +++ b/app/api/RoomsApi.php @@ -3,11 +3,34 @@ class RoomsApi extends ApiController{ public function default(){ - $this->requireAuth(); - $response = []; + //$this->requireAuth(); + $rooms = []; + $roomsData = RoomManager::getAllRooms(); + foreach ($roomsData as $roomKey => $roomData) { + $widgets = []; + $devicesData = DeviceManager::getAllDevicesInRoom($roomData['room_id']); + foreach ($devicesData as $deviceKey => $deviceData) { + $subDevicesData = SubDeviceManager::getAllSubDevices($deviceData['device_id']); + foreach ($subDevicesData as $subDeviceKey => $subDeviceData) { + $lastRecord = RecordManager::getLastRecord($subDeviceData['subdevice_id']); + $widgets[] = [ + 'subdevice_id' => $subDeviceData['subdevice_id'], + 'device_id' => $deviceData['device_id'], + 'name' => $deviceData['name'], + 'type' => $subDeviceData['type'], + 'icon' => $deviceData['icon'], + 'value' => $lastRecord['value'], + 'unit' => $subDeviceData['unit'], + ]; + } + } - // TODO: process the request - - $this->response($response); + $rooms[] = [ + 'room_id' => $roomData['room_id'], + 'name' => $roomData['name'], + 'widgets' => $widgets, + ]; + } + $this->response($rooms); } }