Skip to content

Instantly share code, notes, and snippets.

@Cerwyn
Created April 15, 2020 02:18
Show Gist options
  • Save Cerwyn/cb8f32ba08da5be0d3473e75087d1dab to your computer and use it in GitHub Desktop.
Save Cerwyn/cb8f32ba08da5be0d3473e75087d1dab to your computer and use it in GitHub Desktop.
One-to-one
<?php
namespace App\Http\Controllers;
use App\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
class UserController extends Controller
{
public function register(Request $request)
{
$validator = $this->validateUser();
if($validator->fails()){
return response()->json($validator->messages(), 400);
}
$user = User::create([
'name' => $request->get('name'),
'email' => $request->get('email'),
'password' => Hash::make($request->get('password')),
]);
return response()->json(['message'=>'User Created','data'=>$user],200);
}
public function login(Request $request){
$validator = $this->validateEmail();
if ($validator->fails()){
return response()->json($validator->messages(),400);
}
$user = User::where('email',$request->email)->firstOrFail();
if(Hash::check($request->password,$user->password)){
return response()->json(['message'=>'Login Success','data'=>$user],200);
}
return response()->json(['message'=>'Login Failed','data'=>null],400);
}
public function show(User $user)
{
return response()->json(['message'=>'','data'=>$user],200);
}
public function show_address(User $user)
{
return response()->json(['message'=>'','data'=>$user->address],200);
}
public function validateUser(){
return Validator::make(request()->all(), [
'name' => 'required|string|max:255',
'email' => 'required|string|email|max:255|unique:users',
'password' => 'required|string|min:6|confirmed',
]);
}
public function validateEmail(){
return Validator::make(request()->all(), [
'email' => 'required|string|email|max:255',
]);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment