/** * Check if a device is register for a certain mission * * @param $missionName * @param $deviceName */ public function isRegistered($missionId, $deviceUUID) { $device = Device::where('device_uuid', $deviceUUID)->whereHas('missions', function ($q) use($missionId) { $q->where('mission_id', $missionId); })->first(); if ($device == null) { return false; } return true; }
public function updateDevice(Request $request, $dev_key) { $model = Device::where('dev_key', '=', $dev_key)->first(); $status = $request->input('status'); if ($status !== null) { $model->status = $request->input('status'); $model->save(); } return response()->json($model); }
protected function getDeviceById($deviceId) { if ($this->dontNeedAuth) { $device = Device::where('id', $deviceId)->first(); } else { $device = Device::where('id', $deviceId)->where('user_id', $this->currentSession->user_id)->first(); } if (empty($device) || $device->isDisabled()) { throw new \Exception('Device is not registered or disabled', 201); } return $device; }
public static function device($parameter = "") { $from = \Carbon\Carbon::now()->modify('-3 month'); $to = \Carbon\Carbon::now(); if ($parameter == "") { return Md\Device::count(); } if ($parameter == "trial") { return Md\Device::where(function ($query) use($from, $to) { $query->whereBetween('created_at', array($from, $to)); })->count(); } if ($parameter == "active") { return Md\Device::where(function ($query) use($from, $to) { $query->whereBetween('created_at', array($from, $to))->Where('created_at', '<=', $from); })->count(); } }
/** * Validate the observation data before performing any action * */ private function validateObservation() { $response = new ApiResponse(); if (!\Request::has('device_uuid')) { $response->status = 'error'; $response->message = ['id' => '', 'code' => 'device_uuid_null', 'description' => 'The device uuid should not be null']; } else { $device = Device::where('device_uuid', \Request::get('device_uuid'))->first(); if ($device == null) { $response->status = 'error'; $response->message = ['id' => '', 'code' => 'device_not_found', 'description' => 'The device could not be found']; } } if (!\Request::has('mission_id')) { $response->status = 'error'; $response->message = ['id' => '', 'code' => 'mission_id_null', 'description' => 'The mission id should not be null']; } else { //check that the mission_id exists $this->mission = Mission::with('type')->find(\Request::get('mission_id')); if ($this->mission == null) { $response->status = 'error'; $response->message = ['id' => '', 'code' => 'mission_id_not_found', 'description' => 'The requested mission could not be found']; } } if (\Request::has('observation_date')) { if (!$this->validateDate(\Request::get('observation_date'))) { $response->status = 'error'; $response->message = ['id' => '', 'code' => 'wrong_date_format', 'description' => 'The date should be in the following format: Y-m-d hh:mm:ss']; } } if (\Request::has('latitude') && !is_numeric(\Request::get('latitude')) || \Request::has('longitude') && !is_numeric(\Request::get('longitude'))) { $response->status = 'error'; $response->message = ['id' => '', 'code' => 'coordinates_not_numeric', 'description' => 'The coordinates of the observation should be numeric']; } if (!\Request::has('measurements')) { $response->status = 'error'; $response->message = ['id' => '', 'code' => 'measurements_null', 'description' => 'The measurements should not be null']; } else { foreach (\Request::get('measurements') as $measurement) { if (!isset($measurement['latitude']) || $measurement['latitude'] == '' || !isset($measurement['longitude']) || $measurement['longitude'] == '') { $response->status = 'error'; $response->message = ['id' => '', 'code' => 'coordinates_null', 'description' => 'The coordinates of the measurements should not be null']; } else { if (!is_numeric($measurement['latitude']) || !is_numeric($measurement['longitude'])) { $response->status = 'error'; $response->message = ['id' => '', 'code' => 'coordinates_not_numeric', 'description' => 'The coordinates of the measurements should be numeric']; } } } } return $response; }
public function postList() { $userId = $this->currentSession->user_id; return array('data' => Device::where('user_id', $userId)->get()); }