Advertisement
Guest User

Untitled

a guest
Feb 10th, 2019
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.68 KB | None | 0 0
  1. <?php
  2. namespace App\Http\Controllers\API;
  3.  
  4. use App\Classes\ResponseAttributParameterClass;
  5. use Illuminate\Http\Request;
  6. use App\Http\Controllers\Controller;
  7. use JWTAuth;
  8. use App\BusinessLayer\LoginBusinessLayer;
  9. use App\Classes\LoginParameterClass;
  10.  
  11. class ApplicationController extends Controller {
  12.     private $loginBusinessLayer;
  13.  
  14.     public function __construct()
  15.     {
  16.         $this->loginBusinessLayer = new LoginBusinessLayer;
  17.     }
  18.  
  19.     public function actionLogin(Request $request)
  20.     {
  21.         $username = $request->input('username');
  22.         $password = $request->input('password');
  23.  
  24.         $params = new LoginParameterClass();
  25.         $params->setUsername($username);
  26.         $params->setPassword($password);
  27.         $result = $this->loginBusinessLayer->createSession($params);
  28.  
  29.         if($result['code'] == 302){
  30.             try{
  31.                 $token = JWTAuth::fromUser($result['data']);
  32.                 $response = new ResponseAttributParameterClass(200, 'Data successfully get', $token);
  33.             }catch (\Exception $e){
  34.                 $data = null;
  35.                 $response = new ResponseAttributParameterClass(500, 'Something wrong with the server!', $data);
  36.             }
  37.  
  38.             return response()->json($response->getResponse(), 200);
  39.         }else{
  40.             $data = null;
  41.             $response = new ResponseAttributParameterClass(401, 'Unauthorized', $data);
  42.             return response()->json($response->getResponse(), 401);
  43.         }
  44.        
  45.     }
  46.  
  47.     public function getActiveUser(Request $request)
  48.     {
  49.         try{
  50.             $user = JWTAuth::parseToken()->toUser();
  51.             $response = new ResponseAttributParameterClass(200, 'Successfully get data', $user);
  52.             return response()->json($response->getResponse(), 200);
  53.         }catch(\Exception $e){
  54.             $user = null;
  55.             $response = new ResponseAttributParameterClass(500, 'Failed get data', $user);
  56.             return response()->json($response->getResponse(), 401);
  57.         }
  58.     }
  59.  
  60.     public function refreshToken(Request $request)
  61.     {
  62.         return response()->json(['message' => 'Success']);
  63.     }
  64.  
  65.     public function logout(Request $request)
  66.     {
  67.         try{
  68.             JWTAuth::invalidate();
  69.             $data  = null;
  70.             $response = new ResponseAttributParameterClass(200, 'Successfully logout', $data);
  71.             return response()->json($response->getResponse(), 200);
  72.         }catch(\Exception $e){
  73.             $data  = null;
  74.             $response = new ResponseAttributParameterClass(500, 'Failed on logout', $data);
  75.             return response()->json($response->getResponse(), 500);
  76.         }
  77.        
  78.     }
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement