mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/izyim-api.git
synced 2026-08-19 04:24:01 +00:00
added frontend & login function tested completely
This commit is contained in:
@@ -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,29 +34,29 @@ 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
|
||||
]);
|
||||
$user->save();
|
||||
|
||||
// create token if not exist, update if exist
|
||||
$token = mt_rand(0000,9999);
|
||||
// create token if not exist, update if exist
|
||||
$token = mt_rand(0000,9999);
|
||||
$user_verification = $user->phoneVerification()->firstOrNew([
|
||||
'user_id' => $user->id,
|
||||
]);
|
||||
$user_verification->token = $token;
|
||||
$user_verification->save();
|
||||
|
||||
// send token to phone
|
||||
// ** switching to nexmo **
|
||||
// send token to phone
|
||||
// ** switching to nexmo **
|
||||
//$message = "IZYIM verification code : ". $token;
|
||||
//$twilio = new Twilio(env('TWILIO_ACC'), env('TWILIO_TOKEN'), env('TWILIO_NUMBER'));
|
||||
//$twilio->message($request->phone, $message);
|
||||
return response()->json(['success'=> true, 'message'=> 'A verification code has been send to your mobile number.' ]);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* API Verify User
|
||||
*
|
||||
@@ -67,7 +67,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){
|
||||
@@ -84,7 +84,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;
|
||||
@@ -96,10 +96,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
|
||||
*
|
||||
@@ -109,30 +109,30 @@ 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()]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
$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.']);
|
||||
@@ -148,7 +148,7 @@ class AuthController extends Controller
|
||||
public function login(Request $request)
|
||||
{
|
||||
$credentials = $request->only('phone', 'password');
|
||||
|
||||
|
||||
$rules = [
|
||||
'phone' => 'required|digits:11',
|
||||
'password' => 'required',
|
||||
@@ -157,9 +157,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)) {
|
||||
@@ -182,7 +182,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."]);
|
||||
@@ -200,7 +200,7 @@ class AuthController extends Controller
|
||||
*/
|
||||
public function recover(Request $request)
|
||||
{
|
||||
|
||||
|
||||
$credentials = $request->only('phone');
|
||||
|
||||
$rules = [
|
||||
@@ -217,7 +217,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([
|
||||
@@ -226,7 +226,7 @@ class AuthController extends Controller
|
||||
}
|
||||
|
||||
/*
|
||||
todo
|
||||
todo
|
||||
|
||||
send SMS
|
||||
*/
|
||||
@@ -244,7 +244,7 @@ class AuthController extends Controller
|
||||
*/
|
||||
public function reset(Request $request)
|
||||
{
|
||||
|
||||
|
||||
$credentials = $request->only('token', 'password', 'password_confirmation');
|
||||
|
||||
$rules = [
|
||||
|
||||
Reference in New Issue
Block a user