main
nocode 1 year ago
parent a0074f5eb4
commit 2f8c5a3bfc
  1. 42
      app/Http/Controllers/Api/AuthApiController.php
  2. 32
      app/Models/Agent.php
  3. 26
      app/Models/AgentUser.php
  4. 20
      app/Models/Currency.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;
}
}
}

@ -0,0 +1,32 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Agent extends Model
{
use HasFactory;
protected $table = 'se_agent';
protected $fillable = [
'id',
'name',
'root_path',
'code',
'grant',
'type',
'phone',
'addess',
'avatar',
'status',
'description',
'created_by',
'updated_by',
'created_at',
'updated_at',
'deleted',
'deleted_at'
];
}

@ -0,0 +1,26 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class AgentUser extends Model
{
use HasFactory;
protected $table = 'se_agent_user';
protected $fillable = [
'id',
'user_id',
'agent_root_id',
'root_id',
'status',
'created_by',
'updated_by',
'created_at',
'updated_at',
'deleted',
'deleted_at'
];
}

@ -1,20 +0,0 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class Currency extends Model
{
use HasFactory, SoftDeletes;
/**
* The table associated with the model.
*
* @var string
*/
protected $table = 'sys_currency';
protected $fillable = ['name', 'symbol', 'description', 'decimal_length', 'created_by', 'updated_by', 'actived'];
}
Loading…
Cancel
Save