/**
* The register method is responsible for checking/validating
* the given input (email and password) and either return an error code or
* create a new user.
*
* @return mixed
*/
public function register()
{
$validateUser = $this->validateUser();
if ($validateUser->status == 'error') {
return \Response::json($validateUser);
} else {
//All's good, create a new user
$user = User::create(['name' => \Request::get('name'), 'email' => \Request::get('email'), 'password' => bcrypt(\Request::get('password'))]);
if (!\Request::has('role')) {
$role['role'] = 'mobile';
} else {
$role['role'] = 'web';
}
//assign role to user
$role = Role::where('name', $role)->first();
$user->roles()->save($role);
$device = $this->sanitizeDevice($user->id);
$this->deviceService->store($user->id, $device);
//Retrieve the JWT and send back to the Controller
$token = \JWTAuth::fromUser($user);
$response = new ApiResponse();
$response->status = 'success';
$response->message = ['token' => $token];
}
return \Response::json($response);
}