Example #1
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]);
 }