Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace App\Http\Controllers\api;
- use App\Aslab;
- use App\Dosen;
- use App\User;
- use Illuminate\Http\Request;
- use App\Http\Controllers\Controller;
- use Illuminate\Support\Facades\Config;
- use Illuminate\Support\Facades\Hash;
- use Illuminate\Support\Facades\Validator;
- use Tymon\JWTAuth\Facades\JWTAuth;
- class LoginController extends Controller
- {
- public function login(Request $request) {
- // get email and password from request
- $validator = Validator::make($request->all(), [
- 'username' => 'required|string|max:255',
- 'password' => 'required|string',
- 'role' => 'required|string',
- ]);
- if ($validator->fails()) {
- return response()->json([
- "status" => "gagal",
- "pesan" => "Gagal Login",
- "data" => $validator->errors()
- ]);
- }
- if($request->role == "aslab"){
- $user = Aslab::where('username', $request->username)->first();
- if ($user) {
- if (Hash::check($request->password,$user->password)) {
- Config::set('jwt.user', 'App\Aslab');
- Config::set('auth.providers.users.model', \App\Aslab::class);
- return response()->json([
- "status" => "sukses",
- "pesan" => "Berhasil Login",
- "data" => [
- "token" => JWTAuth::fromUser($user),
- "user" => [
- "nama" => $user->nama,
- "username" => $user->username
- ]
- ]
- ]);
- }else{
- return response()->json([
- "status" => "gagal",
- "pesan" => "Gagal Login username atau password salah",
- "data" => []
- ]);
- }
- } else {
- return response()->json([
- "status" => "gagal",
- "pesan" => "Gagal Login username tidak terdaftar",
- "data" => []
- ]); }
- }else if($request->role == "dosen"){
- $user = User::where('user.username', $request->username)->where('user.jenis_user_id', 3)->first();
- if ($user) {
- if (Hash::check($request->password,$user->password)) {
- $dosen = Dosen::where('nip', $user->username)->first();
- Config::set('jwt.user', 'App\User');
- Config::set('auth.providers.users.model', \App\User::class);
- return response()->json([
- "status" => "sukses",
- "pesan" => "Berhasil Login",
- "data" => [
- "token" => JWTAuth::fromUser($user),
- "user" => [
- "nama" => $dosen->nama,
- "username" => $dosen->nip
- ]
- ]
- ]);
- }else{
- return response()->json([
- "status" => "gagal",
- "pesan" => "Gagal Login username atau password salah",
- "data" => []
- ]);
- }
- } else {
- return response()->json([
- "status" => "gagal",
- "pesan" => "Gagal Login username tidak terdaftar",
- "data" => []
- ]); }
- }else{
- return response()->json([
- "status" => "gagal",
- "pesan" => "Gagal Login username tidak terdaftar",
- "data" => []
- ]);
- }
- }
- public function logout(){
- auth()->logout();
- return response()->json([
- "status" => "sukses",
- "pesan" => "Berhasil Logout",
- "data" => []
- ]);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement