From 2f8c5a3bfc0fddcdf1287c0dbcb5058ae95d0834 Mon Sep 17 00:00:00 2001 From: nocode Date: Wed, 10 Jul 2024 14:06:28 +0700 Subject: [PATCH] NEW: API --- .../Controllers/Api/AuthApiController.php | 42 +++++++++++++++---- app/Models/Agent.php | 32 ++++++++++++++ app/Models/AgentUser.php | 26 ++++++++++++ app/Models/Currency.php | 20 --------- 4 files changed, 92 insertions(+), 28 deletions(-) create mode 100755 app/Models/Agent.php create mode 100755 app/Models/AgentUser.php delete mode 100755 app/Models/Currency.php diff --git a/app/Http/Controllers/Api/AuthApiController.php b/app/Http/Controllers/Api/AuthApiController.php index 5916cd5..edae0db 100755 --- a/app/Http/Controllers/Api/AuthApiController.php +++ b/app/Http/Controllers/Api/AuthApiController.php @@ -7,10 +7,14 @@ use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use App\Http\Controllers\Api\BaseAuthApiController as BaseAuthApiController; use Illuminate\Support\Facades\Hash; +use App\Models\User; +use App\Models\Agent; +use App\Models\AgentUser; class AuthApiController extends BaseAuthApiController { public $_default_usertype = 'agents'; + // public function login(Request $request) { @@ -21,12 +25,12 @@ class AuthApiController extends BaseAuthApiController if ($validator->fails()) { return $this->sendError('Validation Error.', $validator->errors()); } - + if (!Auth::attempt(['email' => $request->username, 'password' => $request->password])) { return $this->sendError('Unauthorised.', ['error' => 'Unauthorised']); } - $user = \App\Models\User::where('email', $request->username)->first(); - + $user = User::where('email', $request->username)->first(); + if (empty($user)) { $this->sendError('Error: ', ['error' => 'Email invalid']); } @@ -41,11 +45,19 @@ class AuthApiController extends BaseAuthApiController 'phone' => $user->phone, 'last_login' => $user->last_login, ]; - $data['general_agents_code'] = ''; - $data['general_agents_name'] = ''; - $data['downline_register'] = ''; - $data['promotional_link'] = ''; - $data['role'] = ''; + $agentUser = AgentUser::where('user_id', $user->id)->latest()->first(); + if(!empty($agentUser->agent_root_id)){ + $agentRootInfo = Agent::find($agentUser->agent_root_id); + } + if(!empty($agentUser->agent_id)){ + $myAgent = Agent::find($agentUser->agent_id); + } + $myAgentCode = $myAgent->code??null; + $data['general_agents_code'] = $agentRootInfo->code??''; + $data['general_agents_name'] = $agentRootInfo->name??''; + $data['downline_register'] = $this->getLinkParam('downline_register', $myAgentCode); + $data['promotional_link'] = $this->getLinkParam('promotional_link', $myAgentCode); + $data['role'] = $user->gender; // Creating a token without scopes... $token = $user->createToken($user->id . ' token ' . time(), ['*'])->accessToken; @@ -133,4 +145,18 @@ class AuthApiController extends BaseAuthApiController } return null; } + function getLinkParam($type, $agentCode){ + $arr = [ + 'downline_register' => 'daisu.sundayenglish.com', + 'promotional_link' => 'thongtin.sundayenglish.com' + ]; + $domain = $arr[$type]??''; + if(empty($agentCode)){ + return $domain; + }else{ + $params = http_build_query(['mdl' => $agentCode]); + return $domain.'?'.$params; + } + + } } diff --git a/app/Models/Agent.php b/app/Models/Agent.php new file mode 100755 index 0000000..078ef78 --- /dev/null +++ b/app/Models/Agent.php @@ -0,0 +1,32 @@ +