diff --git a/app/Dashboard.php b/app/Dashboard.php new file mode 100644 index 0000000..bfce08c --- /dev/null +++ b/app/Dashboard.php @@ -0,0 +1,41 @@ + 'datetime', + ]; +} diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php index e7b684a..d5a0816 100644 --- a/app/Http/Controllers/Auth/LoginController.php +++ b/app/Http/Controllers/Auth/LoginController.php @@ -11,6 +11,8 @@ use Illuminate\Foundation\Auth\AuthenticatesUsers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Http; +use App\Dashboard; + class LoginController extends Controller { /* @@ -57,8 +59,9 @@ class LoginController extends Controller $credentials = $request->only('email', 'password'); - if (Auth::attempt($credentials)) { - $auth_user = Auth::user(); + if (Auth::guard('web')->attempt($credentials)) { + $auth_user = Auth::guard('web')->user(); + dd($auth_user); $api_url = config('api.url'); if($auth_user['roles'] == 'teller'){ if($auth_user['role_harian'] == 'teller'){ @@ -84,6 +87,58 @@ class LoginController extends Controller return redirect('login')->with('error', 'Oppes! You have entered invalid credentials'); } + public function loginDashboard(Request $request) + { + $request->validate([ + 'email' => 'required|string|email', + 'password' => 'required|string', + ]); + + $credentials = $request->only('email', 'password'); + + if (Auth::guard('dashboard')->attempt($credentials)) { + $auth_user = Auth::guard('dashboard')->user(); + + $user_login['nama'] = $auth_user['name']; + $user_login['email'] = $auth_user['email']; + $user_login['password'] = $auth_user['password']; + $user_login['icno'] = $auth_user['no_kp']; + $user_login['apitoken'] = $auth_user['remember_token']; + return response()->json([ + 'success' => true, + 'user' => $user_login + ]); + } else { + //if authentication is unsuccessfull, notice how I return json parameters + return response()->json([ + 'success' => false, + 'message' => 'Invalid Email or Password', + ], 401); + } + } + + public function logoutDashboard(Request $res) + { + $login_detail = Dashboard::where([['no_kp','=',$res->nokp],['remember_token','=',$res->header('Authorization')]])->first(); + // dd($login_detail); + if ($login_detail) { + // dd($login_detail); + $logout_user = Dashboard::where([['no_kp','=',$res->nokp],['remember_token','=',$res->header('Authorization')]])->update(array( + 'remember_token' => null + )); + // dd($logout_user); + return response()->json([ + 'success' => true, + 'message' => 'Logout successfully' + ]); + }else { + return response()->json([ + 'success' => false, + 'message' => 'Unable to Logout' + ]); + } + } + public function logout(){ Auth::logout(); Session::flush(); diff --git a/app/Http/Controllers/KakitanganController.php b/app/Http/Controllers/KakitanganController.php index 8817299..91993f9 100644 --- a/app/Http/Controllers/KakitanganController.php +++ b/app/Http/Controllers/KakitanganController.php @@ -31,10 +31,20 @@ class KakitanganController extends Controller 'email' => 'required|email', 'nokp' => 'required', 'telefon' => 'required', - 'cawangan' => 'required', 'role' => 'required' ]); + if($request->role == 'operasi'){ + $new_dashboard = Dashboard::create([ + 'name' => $request->nama, + 'email' => $request->email, + 'password' => Hash::make($request->nokp), + 'no_kp' => $request->nokp, + 'no_telefon' => $request->telefon, + 'roles' => $request->role + ]); + } + $new_staff = User::create([ 'name' => $request->nama, 'email' => $request->email, diff --git a/app/User.php b/app/User.php index f1419d9..c7c24fc 100644 --- a/app/User.php +++ b/app/User.php @@ -10,13 +10,14 @@ class User extends Authenticatable { use Notifiable; + protected $guard = 'web'; /** * The attributes that are mass assignable. * * @var array */ protected $fillable = [ - 'name', 'email', 'password','roles','no_kp','no_telefon','cawangan','role_harian','perubatan','role_dashboard', + 'name', 'email', 'password','roles','no_kp','no_telefon','cawangan','role_harian','perubatan', ]; /** diff --git a/config/auth.php b/config/auth.php index aaf982b..3d86590 100644 --- a/config/auth.php +++ b/config/auth.php @@ -40,7 +40,10 @@ return [ 'driver' => 'session', 'provider' => 'users', ], - + 'dashboard' => [ + 'driver' => 'session', + 'provider' => 'dashboard', + ], 'api' => [ 'driver' => 'token', 'provider' => 'users', @@ -69,7 +72,10 @@ return [ 'users' => [ 'driver' => 'eloquent', 'model' => App\User::class, - ], + ],'dashboard' => [ + 'driver' => 'eloquent', + 'model' => App\Dashboard::class, + ] // 'users' => [ // 'driver' => 'database', diff --git a/routes/api.php b/routes/api.php index bf0c272..4744c2f 100644 --- a/routes/api.php +++ b/routes/api.php @@ -18,10 +18,7 @@ Route::middleware('auth:api')->get('/user', function (Request $request) { return $request->user(); }); -Route::group(['prefix' => 'mobile'], function () { - Route::post('/login', 'MobileController@login'); - Route::get('/all', 'MobileController@index'); - Route::post('/logout', 'MobileController@logout'); - Route::post('/register/customer','Auth/RegisterController@registerCustomerMobile'); - Route::post('password/email', 'ForgotPasswordMobileController@forgot'); +Route::group(['prefix' => 'dashboard'], function () { + Route::post('/login', 'Auth\LoginController@loginDashboard'); + Route::post('/logout', 'Auth\LoginController@logoutDashboard'); }); \ No newline at end of file