Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace App\BusinessLayer;
- use App\Classes\LoginParameterClass;
- use App\Classes\ResponseAttributParameterClass;
- use App\Models\User;
- use Illuminate\Support\Facades\Log;
- class LoginBusinessLayer {
- public function createSession(LoginParameterClass $params)
- {
- $username = $params->getUsername();
- $password = $params->getPassword();
- if(is_null($username) || $username == ""){
- $response = new ResponseAttributParameterClass(404, 'Parameter username tidak tersedia', null);
- return $response->getResponse();
- }
- if(is_null($password) || $password == ""){
- $response = new ResponseAttributParameterClass(404, 'Parameter password tidak tersedia', null);
- return $response->getResponse();
- }
- $activeUser = User::where(['username' => $username])->first();
- if(!is_null($activeUser)){
- if($activeUser->password != sha1($password)){
- $response = new ResponseAttributParameterClass(404, 'Password tidak sesuai', null);
- return $response->getResponse();
- }else{
- $response = new ResponseAttributParameterClass(302, 'Proses authentifikasi berhasil', $activeUser);
- return $response->getResponse();
- }
- }else{
- $response = new ResponseAttributParameterClass(404, 'Username tidak valid', null);
- return $response->getResponse();
- }
- }
- public function APICreateSession(LoginParameterClass $params)
- {
- try {
- $username = $params->getUsername();
- $password = $params->getPassword();
- if(is_null($username) || $username == ""){
- $response = new ResponseAttributParameterClass(404, 'username is required', []);
- return $response->getResponse();
- }
- if(is_null($password) || $password == ""){
- $response = new ResponseAttributParameterClass(404, 'password is required', []);
- return $response->getResponse();
- }
- $activeUser = User::where(['username' => $username])->first();
- if(!is_null($activeUser)){
- if($activeUser->password != sha1($password)){
- $response = new ResponseAttributParameterClass(404, 'password does not match', []);
- return $response->getResponse();
- }else{
- if(!empty($activeUser->getEmployee)){
- if(empty($activeUser->getEmployee->getEmployeeCompany)){
- $response = new ResponseAttributParameterClass(404, 'employee company data not found', []);
- return $response->getResponse();
- }
- }
- $structureData = $this->getStructural($activeUser);
- $response = new ResponseAttributParameterClass(200, 'authentication successful', $structureData);
- return $response->getResponse();
- }
- }else{
- $response = new ResponseAttributParameterClass(404, 'invalid username', []);
- return $response->getResponse();
- }
- } catch (\Exception $e) {
- Log::error('LoginBusinessLayer.php error message : '.$e->getMessage());
- Log::error("LoginBusinessLayer.php error trace : \n".$e->getTraceAsString());
- $response = new ResponseAttributParameterClass(500, 'There was an error on the server', []);
- return $response->getResponse();
- }
- }
- private function getStructural($userData)
- {
- $data = [];
- if(!empty($userData)){
- $currentData['userId'] = $userData['user_id'];
- $currentData['name'] = $userData['name'];
- $currentData['username'] = $userData['username'];
- $currentData['email'] = $userData['email'];
- $currentData['phoneNumber'] = $userData['phone_number'];
- $currentData['mobileNumber'] = $userData['mobile_number'];
- $currentData['birthDate'] = $userData['birth_date'];
- $currentData['photo'] = $userData['photo'];
- $currentData['lastLogin'] = $userData['last_login'];
- $currentData['isActive'] = $userData['is_active'];
- $currentData['fcmId']=is_null($userData['fcm_id'])?null:$userData['fcm_id'];
- $currentData['roleId'] = '-';
- $currentData['roleName'] = '-';
- $currentData['companyId'] = '-';
- $currentData['companyName'] = '-';
- if(!empty($role = $userData->getRole)){
- $currentData['roleId'] = $role->role_id;
- $currentData['roleName'] = $role->name;
- }
- if(!empty($company=$userData->getEmployee)){
- $currentData['companyId'] = $company->getEmployeeCompany->company_id;
- $currentData['companyName'] = $company->getEmployeeCompany->getCompany->name;
- $currentData['companyCityId'] = $company->getEmployeeCompany->getCompany->city_id;
- $currentData['companyAdress'] = $company->getEmployeeCompany->getCompany->address;
- $currentData['companyPhoneNumber'] = $company->getEmployeeCompany->getCompany->phone_number;
- $currentData['companyEmail'] = $company->getEmployeeCompany->getCompany->email;
- $currentData['companyTypeId'] = $company->getEmployeeCompany->getCompany->carfix_type_id;
- $currentData['companyTypeName'] = $company->getEmployeeCompany->getCompany->getCarfixType->name;
- }
- $data = $currentData;
- }
- return $data;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement