Merge branch 'jack/auth' of gitlab.com:CIEFWorldwideSdnBhd/izyim-api into jack/auth

# Conflicts:
#	app/Http/Controllers/AuthController.php
#	tests/Feature/LoginTest.php
#	tests/Feature/RegisterTest.php
This commit is contained in:
jack
2018-05-22 19:57:15 +08:00
79 changed files with 16575 additions and 20 deletions
+26 -20
View File
@@ -22,7 +22,7 @@ class AuthController extends Controller
$this->hasher = $hasher;
}
/**
* API Send verification code
* API Send verification code
*
* @param Request $request
* @return \Illuminate\Http\JsonResponse
@@ -34,7 +34,7 @@ class AuthController extends Controller
];
$validator = Validator::make($credentials, $rules);
// create user if not exist
// create user if not exist
$user = User::firstOrNew([
'phone' => $request->phone
]);
@@ -61,7 +61,7 @@ class AuthController extends Controller
return response()->json(['success'=> true, 'message'=> 'A verification code has been send to your mobile number.' ]);
}
/**
* API Verify User
*
@@ -72,7 +72,7 @@ class AuthController extends Controller
{
$credentials = $request->only('phone', 'token');
// check if user already verified
// check if user already verified
$check_user = User::where('phone', $request->phone)->first();
if(!is_null($check_user)){
if($check_user->is_verified == 1){
@@ -89,7 +89,7 @@ class AuthController extends Controller
]);
}
// check and verify valid token
// check and verify valid token
$check_token = $check_user->phoneVerification()->where('token', $request->token)->first();
if(!is_null($check_token)){
$check_user->is_verified = 1;
@@ -101,10 +101,10 @@ class AuthController extends Controller
}
// all good so return the token
return response()->json(['success' => true, 'data'=> [ 'token' => $userToken ]]);
}
}
return response()->json(['success'=> false, 'error'=> "Verification code is invalid."]);
}
/**
* API Register
*
@@ -114,28 +114,34 @@ class AuthController extends Controller
public function updateUser(Request $request)
{
$credentials = $request->only('role', 'name', 'password', 'password_confirmation');
$rules = [
'name' => 'required|max:255',
'role' => 'required',
'password' => 'required|confirmed|min:6'
];
$validator = Validator::make($credentials, $rules);
if($validator->fails()) {
return response()->json(['success'=> false, 'error'=> $validator->messages()]);
}
<<<<<<< HEAD
=======
>>>>>>> d8a439fa425cb71cda9f9fe4f2864e4394138198
$name = $request->name;
$password = $request->password;
$role = $request->role;
// find role
// find role
$role = Role::where('name','=',$role)->first();
$user = Auth::user();
// attach role to user
// attach role to user
$user->attachRole($role);
$user->update(['name' => $name, 'password' => Hash::make($password)]);
return response()->json(['success'=> true, 'message'=> 'Profile updated.']);
@@ -151,7 +157,7 @@ class AuthController extends Controller
public function login(Request $request)
{
$credentials = $request->only('phone', 'password');
$rules = [
'phone' => 'required|digits:11',
'password' => 'required',
@@ -160,9 +166,9 @@ class AuthController extends Controller
if($validator->fails()) {
return response()->json(['success'=> false, 'error'=> $validator->messages()]);
}
$credentials['is_verified'] = 1;
try {
// attempt to verify the credentials and create a token for the user
if (! $token = JWTAuth::attempt($credentials)) {
@@ -185,7 +191,7 @@ class AuthController extends Controller
*/
public function logout(Request $request) {
$this->validate($request, ['token' => 'required']);
try {
JWTAuth::invalidate($request->input('token'));
return response()->json(['success' => true, 'message'=> "You have successfully logged out."]);
@@ -203,7 +209,7 @@ class AuthController extends Controller
*/
public function recover(Request $request)
{
$credentials = $request->only('phone');
$rules = [
@@ -220,7 +226,7 @@ class AuthController extends Controller
if ($user){
$token = str_random(64);
DB::table(config('auth.passwords.users.table'))->insert([
'phone' => $user->phone,
'phone' => $user->phone,
'token' => $token
]);
return response()->json([
@@ -229,7 +235,7 @@ class AuthController extends Controller
}
/*
todo
todo
send SMS
*/
@@ -247,7 +253,7 @@ class AuthController extends Controller
*/
public function reset(Request $request)
{
$credentials = $request->only('token', 'password', 'password_confirmation');
$rules = [