UserController.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\User;
  4. use Validator;
  5. use Illuminate\Http\Request;
  6. use App\Http\Controllers\Controller;
  7. use Illuminate\Support\Facades\Auth;
  8. class UserController extends Controller
  9. {
  10. public function login()
  11. {
  12. $credentials = [
  13. 'email' => request('email'),
  14. 'password' => request('password')
  15. ];
  16. if (Auth::attempt($credentials)) {
  17. $success['token'] = Auth::user()->createToken('MyApp')->accessToken;
  18. return response()->json(['success' => $success]);
  19. }
  20. return response()->json(['error' => 'Unauthorised'], 401);
  21. }
  22. public function register(Request $request)
  23. {
  24. $validator = Validator::make($request->all(), [
  25. 'name' => 'required',
  26. 'email' => 'required|email',
  27. 'password' => 'required',
  28. ]);
  29. if ($validator->fails()) {
  30. return response()->json(['error' => $validator->errors()], 401);
  31. }
  32. $input = $request->all();
  33. $input['password'] = bcrypt($input['password']);
  34. $user = User::create($input);
  35. $success['token'] = $user->createToken('MyApp')->accessToken;
  36. $success['name'] = $user->name;
  37. return response()->json(['success' => $success]);
  38. }
  39. public function getDetails()
  40. {
  41. return response()->json(['success' => Auth::user()]);
  42. }
  43. }