/**
  * 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;
 }
Example #2
0
 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);
 }
Example #3
0
 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;
 }
Example #4
0
 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;
 }
Example #6
0
 public function postList()
 {
     $userId = $this->currentSession->user_id;
     return array('data' => Device::where('user_id', $userId)->get());
 }