dashboard login

This commit is contained in:
Afiq
2021-01-20 09:12:24 +08:00
parent d7a3a336bc
commit a35432fd68
6 changed files with 122 additions and 12 deletions
+41
View File
@@ -0,0 +1,41 @@
<?php
namespace App;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
class Dashboard extends Authenticatable
{
use Notifiable;
protected $guard = 'dashboard';
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'email', 'password','roles','no_kp','no_telefon','perubatan',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
/**
* The attributes that should be cast to native types.
*
* @var array
*/
protected $casts = [
'email_verified_at' => 'datetime',
];
}
+57 -2
View File
@@ -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();
+11 -1
View File
@@ -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,
+2 -1
View File
@@ -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',
];
/**
+8 -2
View File
@@ -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',
+3 -6
View File
@@ -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');
});