From 6751654216683d18dd75e4b73c308cf87ba658cd Mon Sep 17 00:00:00 2001 From: = Date: Sat, 8 Aug 2020 09:50:32 +1000 Subject: [PATCH] Refactor login route --- app/Http/Controllers/Auth/LoginController.php | 9 +++++++-- app/Models/CompanyToken.php | 8 ++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php index ecc72ff77040..243599641780 100644 --- a/app/Http/Controllers/Auth/LoginController.php +++ b/app/Http/Controllers/Auth/LoginController.php @@ -19,6 +19,7 @@ use App\Jobs\Account\CreateAccount; use App\Libraries\MultiDB; use App\Libraries\OAuth\OAuth; use App\Libraries\OAuth\Providers\Google; +use App\Models\CompanyToken; use App\Models\CompanyUser; use App\Models\User; use App\Transformers\CompanyUserTransformer; @@ -177,9 +178,13 @@ class LoginController extends BaseController ->increment() ->batch(); - $user = $this->guard()->user(); + $company_token = CompanyToken::with(['user','company']) + ->whereRaw("BINARY `token`= ?", [$request->header('X-API-TOKEN')]) + ->first(); + + $user = $company_token->user; - $user->setCompany($user->company_user->account->default_company); + $user->setCompany($company_token->company); // $ct = CompanyUser::whereUserId($user->id)->with('company'); $ct = CompanyUser::whereUserId($user->id); diff --git a/app/Models/CompanyToken.php b/app/Models/CompanyToken.php index 432f6717d6fe..3ecc905573df 100644 --- a/app/Models/CompanyToken.php +++ b/app/Models/CompanyToken.php @@ -49,4 +49,12 @@ class CompanyToken extends BaseModel { return $this->belongsTo(Company::class); } + + public function company_user() + { + return $this->hasOne(CompanyUser::class,'user_id','user_id') + ->where('company_id', $this->company_id) + ->where('user_id', $this->user_id); + } + }