Advertisement
Guest User

Untitled

a guest
Feb 10th, 2019
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.72 KB | None | 0 0
  1. <?php
  2. namespace App\BusinessLayer;
  3. use App\Classes\LoginParameterClass;
  4. use App\Classes\ResponseAttributParameterClass;
  5. use App\Models\User;
  6. use Illuminate\Support\Facades\Log;
  7.  
  8. class LoginBusinessLayer {
  9.     public function createSession(LoginParameterClass $params)
  10.     {
  11.         $username = $params->getUsername();
  12.         $password = $params->getPassword();
  13.  
  14.         if(is_null($username) || $username == ""){
  15.             $response = new ResponseAttributParameterClass(404, 'Parameter username tidak tersedia', null);
  16.             return $response->getResponse();
  17.         }
  18.  
  19.         if(is_null($password) || $password == ""){
  20.             $response = new ResponseAttributParameterClass(404, 'Parameter password tidak tersedia', null);
  21.             return $response->getResponse();
  22.         }
  23.  
  24.         $activeUser = User::where(['username' => $username])->first();
  25.         if(!is_null($activeUser)){
  26.             if($activeUser->password != sha1($password)){
  27.                 $response = new ResponseAttributParameterClass(404, 'Password tidak sesuai', null);
  28.                 return $response->getResponse();
  29.             }else{
  30.                 $response = new ResponseAttributParameterClass(302, 'Proses authentifikasi berhasil', $activeUser);
  31.                 return $response->getResponse();
  32.             }
  33.         }else{
  34.             $response = new ResponseAttributParameterClass(404, 'Username tidak valid', null);
  35.             return $response->getResponse();
  36.         }
  37.  
  38.     }
  39.     public function APICreateSession(LoginParameterClass $params)
  40.     {
  41.         try {
  42.             $username = $params->getUsername();
  43.             $password = $params->getPassword();
  44.  
  45.             if(is_null($username) || $username == ""){
  46.                 $response = new ResponseAttributParameterClass(404, 'username is required', []);
  47.                 return $response->getResponse();
  48.             }
  49.  
  50.             if(is_null($password) || $password == ""){
  51.                 $response = new ResponseAttributParameterClass(404, 'password is required', []);
  52.                 return $response->getResponse();
  53.             }
  54.  
  55.             $activeUser = User::where(['username' => $username])->first();
  56.             if(!is_null($activeUser)){
  57.                 if($activeUser->password != sha1($password)){
  58.                     $response = new ResponseAttributParameterClass(404, 'password does not match', []);
  59.                     return $response->getResponse();
  60.                 }else{
  61.                     if(!empty($activeUser->getEmployee)){
  62.                         if(empty($activeUser->getEmployee->getEmployeeCompany)){
  63.                             $response = new ResponseAttributParameterClass(404, 'employee company data not found', []);
  64.                             return $response->getResponse();
  65.                         }
  66.                     }
  67.                     $structureData = $this->getStructural($activeUser);
  68.                     $response = new ResponseAttributParameterClass(200, 'authentication successful', $structureData);
  69.                     return $response->getResponse();
  70.                 }
  71.             }else{
  72.                 $response = new ResponseAttributParameterClass(404, 'invalid username', []);
  73.                 return $response->getResponse();
  74.             }
  75.         } catch (\Exception $e) {
  76.             Log::error('LoginBusinessLayer.php error message : '.$e->getMessage());
  77.             Log::error("LoginBusinessLayer.php error trace : \n".$e->getTraceAsString());
  78.             $response = new ResponseAttributParameterClass(500, 'There was an error on the server', []);
  79.             return $response->getResponse();
  80.         }
  81.     }
  82.  
  83.     private function getStructural($userData)
  84.     {
  85.         $data = [];
  86.         if(!empty($userData)){
  87.             $currentData['userId'] = $userData['user_id'];
  88.             $currentData['name'] = $userData['name'];
  89.             $currentData['username'] = $userData['username'];
  90.             $currentData['email'] = $userData['email'];
  91.             $currentData['phoneNumber'] = $userData['phone_number'];
  92.             $currentData['mobileNumber'] = $userData['mobile_number'];
  93.             $currentData['birthDate'] = $userData['birth_date'];
  94.             $currentData['photo'] = $userData['photo'];
  95.             $currentData['lastLogin'] = $userData['last_login'];
  96.             $currentData['isActive'] = $userData['is_active'];
  97.             $currentData['fcmId']=is_null($userData['fcm_id'])?null:$userData['fcm_id'];
  98.             $currentData['roleId'] = '-';
  99.             $currentData['roleName'] = '-';
  100.             $currentData['companyId'] = '-';
  101.             $currentData['companyName'] = '-';
  102.             if(!empty($role = $userData->getRole)){
  103.                 $currentData['roleId'] = $role->role_id;
  104.                 $currentData['roleName'] = $role->name;
  105.             }
  106.             if(!empty($company=$userData->getEmployee)){
  107.                 $currentData['companyId'] = $company->getEmployeeCompany->company_id;
  108.                 $currentData['companyName'] = $company->getEmployeeCompany->getCompany->name;
  109.                 $currentData['companyCityId'] = $company->getEmployeeCompany->getCompany->city_id;
  110.                 $currentData['companyAdress'] = $company->getEmployeeCompany->getCompany->address;
  111.                 $currentData['companyPhoneNumber'] = $company->getEmployeeCompany->getCompany->phone_number;
  112.                 $currentData['companyEmail'] = $company->getEmployeeCompany->getCompany->email;
  113.                 $currentData['companyTypeId'] = $company->getEmployeeCompany->getCompany->carfix_type_id;
  114.                 $currentData['companyTypeName'] = $company->getEmployeeCompany->getCompany->getCarfixType->name;
  115.             }
  116.             $data = $currentData;
  117.         }
  118.  
  119.         return $data;
  120.     }
  121. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement