public function apiRegister(Request $request)
 {
     $model = $request->Input('model');
     $manufacturer = $request->Input('manufacturer');
     $product = $request->Input('product');
     $sdk_version = $request->Input('sdk_version');
     $serial_number = $request->Input('serial_number');
     $latitude = $request->Input('latitude');
     $longitude = $request->input('longitude');
     // Check if serial number exists in database
     $newDevice = Device::where('serial_number', '=', $serial_number)->first();
     if (null == $newDevice) {
         $newDevice = new Device();
         $newDevice->model = $model;
         $newDevice->manufacturer = $manufacturer;
         $newDevice->product = $product;
         $newDevice->sdk_version = $sdk_version;
         $newDevice->serial_number = $serial_number;
         $newDevice->latitude = $latitude;
         $newDevice->longitude = $longitude;
         $newDevice->save();
     }
     return $newDevice->jsonSerializable();
 }
 public function store(Request $request)
 {
     $path = config('path');
     $device = $request->input('device');
     $location = $request->input('location');
     $interval = $request->input('interval');
     $types = $request->input('types');
     $valid = Validator::make($request->all(), ['device' => 'required', 'location' => 'required', 'interval' => 'required|integer']);
     if ($valid->fails()) {
         $error = $valid->errors()->all();
         return "false";
     }
     $check = $this->check_type($types);
     if (!$check) {
         return "false";
     }
     $new_device = new Device();
     $new_device->name = $device;
     $new_device->location = $location;
     $new_device->interval = $interval;
     $new_device->save();
     $result = shell_exec('python ' . $path . 'publish.py /regis/device/' . config('local') . ' ' . escapeshellarg(json_encode($new_device)));
     for ($i = 0; $i < count($types); $i++) {
         $mapping = new Mapping();
         $mapping->device_id = $new_device->id;
         $mapping->type_id = $types[$i]['type_id'];
         $mapping->unit_id = $types[$i]['unit_id'];
         $mapping->min_threshold = $types[$i]['min_threshold'];
         $mapping->max_threshold = $types[$i]['max_threshold'];
         $mapping->formula = $types[$i]['formula'];
         $mapping->save();
         $result = shell_exec('python ' . $path . 'publish.py /regis/mapping/' . config('local') . ' ' . escapeshellarg(json_encode($mapping)));
     }
     return "true";
 }
Example #3
0
 /**
  * 绑定设备,用户尚未绑定用户
  * @return \Illuminate\Http\JsonResponse
  */
 public function bind()
 {
     $token = Input::get('token');
     $data = Input::all();
     /**
      * @var Token $token
      */
     $token = Token::whereValue($token)->valid()->first();
     if (!$token) {
         return Response::error(Lang::get("errors.expired_token"), 403);
     }
     $device = Device::whereUniqueId(Input::get('unique_id'))->with('user')->whereUserId($token->owner)->first();
     if ($device) {
         $device->fill($data);
     } else {
         $validator = Validator::make($data, Device::create_rules($token->owner), Device::messages());
         if ($validator->fails()) {
             return Response::errors($validator->errors(), 400);
         }
         $device = new Device($data);
         $device->token = Token::generateValue();
         $device->user_id = $token->owner;
     }
     $device->save();
     return Response::json(['device' => $device, 'user' => $device->user, 'token' => $device->token]);
 }
 /**
  * Store newly a device
  * 
  * @param  AddDeviceRequest $request
  * @return Response
  */
 public function store(AddDeviceRequest $request)
 {
     $vld = Device::validate($request->all());
     $vld = Device::validate($request->all());
     if (!$vld->passes()) {
         return redirect()->route('devices.create')->with('messageNo', $vld->messages());
     }
     $device = new Device($request->all());
     $device->save();
     return redirect()->route('devices.index')->with('messageOk', 'Add device successfully!');
 }
 public function testDeviceDelete()
 {
     $admin = User::find(1);
     $device = new Device();
     $device->model = "Nexus 6P";
     $device->manufacturer = "LGE";
     $device->product = "bullhead";
     $device->sdk_version = "23";
     $device->serial_number = "009f582e7941a8e7";
     $device->latitude = "51.5034070";
     $device->longitude = "-0.1275920";
     $device->save();
     $savedDevice = Device::where('serial_number', '=', '009f582e7941a8e7')->first();
     $this->actingAs($admin)->withSession(['foo' => 'bar'])->visit($this->modelUrl . (string) $savedDevice->id)->press('Delete')->seePageIs($this->modelUrl);
 }
Example #6
0
 public function storeData(Request $request)
 {
     $parameter = $request->input('parameter');
     $local = $request->input('local');
     $data = json_decode($request->input('data'));
     $local = Local::where('name', '=', $local)->get();
     switch ($parameter) {
         case 'device':
             $device = new Device();
             $device->id = (int) $data->id + (int) $local[0]->constant;
             $device->name = $data->name;
             $device->location = $data->location;
             $device->interval = $data->interval;
             $device->local_id = $local[0]->id;
             $device->save();
             break;
         case 'mapping':
             $mapping = new Mapping();
             $mapping->id = (int) $data->id + (int) $local[0]->constant;
             $mapping->device_id = (int) $data->device_id + (int) $local[0]->constant;
             $mapping->type_id = $data->type_id;
             $mapping->unit_id = $data->unit_id;
             $mapping->min_threshold = $data->min_threshold;
             $mapping->max_threshold = $data->max_threshold;
             $mapping->save();
             break;
         case 'data':
             $mapping_id = (int) $data->mapping_id + (int) $local[0]->constant;
             $mapping = Mapping::where('id', '=', $mapping_id)->get();
             $device_id = $mapping[0]->device_id;
             $type_id = $mapping[0]->type_id;
             $unit = Unit::find($mapping[0]->unit_id)->unit;
             $convert = new Convert();
             $convert->device_id = $device_id;
             $convert->type_id = $type_id;
             $convert->value = $this->convert($data->value, $type_id, $unit);
             $convert->timestamp = $data->timestamp;
             $convert->save();
             break;
         default:
             break;
     }
     return 'true';
 }
Example #7
0
 public static function importDevice($request)
 {
     $new_device = new Device();
     $new_device->id = $request->get('id');
     $new_device->name = $request->get("name");
     $new_device->category_id = $request->get('category_id');
     $new_device->owner_id = $request->get('owner_id');
     $new_device->status_id = $request->get('status_id');
     $new_device->comment = $request->get('comment');
     $new_device->availability = $request->get('availability');
     $new_device->save();
 }
Example #8
0
| and give it the controller to call when that URI is requested.
|
*/
use App\Device;
use Illuminate\Http\Request;
/**
 * Show Device Dashboard
 */
Route::get('/', function () {
    return view('devices', ['devices' => Device::orderBy('created_at', 'asc')->get()]);
});
/**
 * Add New Device
 */
Route::post('/device', function (Request $request) {
    $validator = Validator::make($request->all(), ['name' => 'required|max:255']);
    if ($validator->fails()) {
        return redirect('/')->withInput()->withErrors($validator);
    }
    $device = new Device();
    $device->name = $request->name;
    $device->save();
    return redirect('/');
});
/**
 * Delete Device
 */
Route::delete('/device/{id}', function ($id) {
    Device::findOrFail($id)->delete();
    return redirect('/');
});