Skip to content

Instantly share code, notes, and snippets.

@sadam1807
Created June 30, 2019 06:03
Show Gist options
  • Save sadam1807/2a042f458df372486395658a78d0e426 to your computer and use it in GitHub Desktop.
Save sadam1807/2a042f458df372486395658a78d0e426 to your computer and use it in GitHub Desktop.
<?php
namespace App\Http\Controllers\API;
use Illuminate\Http\Request;
use App\Http\Controllers\API\ResponseController as ResponseController;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Auth;
use App\User;
use Validator;
class AuthController extends ResponseController
{
//create user
public function signup(Request $request)
{
$validator = Validator::make($request->all(), [
'name' => 'required|string|',
'email' => 'required|string|email|unique:users',
'password' => 'required',
'confirm_password' => 'required|same:password'
]);
if($validator->fails()){
return $this->sendError($validator->errors());
}
$input = $request->all();
$input['password'] = bcrypt($input['password']);
$user = User::create($input);
if($user){
$success['token'] = $user->createToken('token')->accessToken;
$success['message'] = "Registration successfull..";
return $this->sendResponse($success);
}
else{
$error = "Sorry! Registration is not successfull.";
return $this->sendError($error, 401);
}
}
//login
public function login(Request $request)
{
$validator = Validator::make($request->all(), [
'email' => 'required|string|email',
'password' => 'required'
]);
if($validator->fails()){
return $this->sendError($validator->errors());
}
$credentials = request(['email', 'password']);
if(!Auth::attempt($credentials)){
$error = "Unauthorized";
return $this->sendError($error, 401);
}
$user = $request->user();
$success['token'] = $user->createToken('token')->accessToken;
return $this->sendResponse($success);
}
//logout
public function logout(Request $request)
{
$isUser = $request->user()->token()->revoke();
if($isUser){
$success['message'] = "Successfully logged out.";
return $this->sendResponse($success);
}
else{
$error = "Something went wrong.";
return $this->sendResponse($error);
}
}
//getuser
public function getUser(Request $request)
{
//$id = $request->user()->id;
$user = $request->user();
if($user){
return $this->sendResponse($user);
}
else{
$error = "user not found";
return $this->sendResponse($error);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment