/
var
/
www
/
html
/
cravings
/
app
/
Http
/
Controllers
/
Auth
/
Upload File
HOME
<?php namespace App\Http\Controllers\Auth; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Validator; use Illuminate\Support\Str; use App\User; class ApiAuthController extends Controller { public function register (Request $request) { $data = $request->all(); $data['email'] = strtolower($data['email']); $validator = Validator::make($data, [ 'name' => 'required|string|max:255', 'email' => 'required|string|email|max:255|unique:users', 'password' => 'required|string|min:6', ]); if ($validator->fails()) { return response()->json(['errors' => $validator->errors()->all()], 200, ['Content-Type' => 'application/json']); } $response = [ 'token' => '', 'message' => '', 'errors' => [] ]; $request['password'] = Hash::make($request['password']); $request['api_token'] = Str::random(60); $user = User::create($request->toArray()); $response = ['user' => $user]; return response()->json($response); } public function login (Request $request) { $validator = Validator::make($request->all(), [ 'email' => 'required|string|email|max:255', 'password' => 'required|string|min:6', ]); if ($validator->fails()) { return response()->json(['errors'=>$validator->errors()->all()], 422, ['Content-Type' => 'application/json']); } $user = User::where('email', $request->email)->first(); $response = [ 'user' => [], 'message' => '', 'errors' => [] ]; if ($user) { if (Hash::check($request->password, $user->password)) { if(!$user->api_token) { $user->api_token = Str::random(60); $user->save(); } $response['user'] = $user; } else { $response['errors'][] = "Email and/or password incorrect"; } } else { $response['errors'][] = "User does not exist"; } return response()->json($response); } public function logout (Request $request) { $token = $request->user()->token(); $token->revoke(); $response = ['message' => 'You have been successfully logged out!']; return response($response, 200); } }