/** * @param Request $request * @return \Symfony\Component\HttpFoundation\Response */ public function register(Request $request) { $request = $request->all(); $validator = Validator::make($request, ['email' => 'required|email|unique:users|min:6', 'name' => 'required|min:3', 'password' => 'required|min:6']); if ($validator->fails()) { return response()->json($validator->messages(), 422); } $user = new User(); $user->email = $request['email']; $user->name = $request['name']; $user->password = bcrypt($request['password']); $user->save(); $token = new tokenGenerator(); $user->setAttribute('token', $token->uuid); // add token to returned object UserSessionHandler::startUserSession($user->id, $token->uuid); // starts session return response()->json($user, 200); }