Add endpoint to fetch agents
This commit is contained in:
parent
33bd6d3d7f
commit
57ab240070
|
@ -257,4 +257,88 @@ class HelperController extends Controller
|
|||
Log::error($t->getMessage() . " :\n" . $t->getTraceAsString());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @OA\Post(
|
||||
* path="/agents",
|
||||
* summary="Rechercher un agent",
|
||||
* tags={"Agents"},
|
||||
* security={{"api_key":{}}},
|
||||
* @OA\RequestBody(
|
||||
* description="Corps de la requete",
|
||||
* required=true,
|
||||
* @OA\MediaType(
|
||||
* mediaType="application/json",
|
||||
* @OA\Schema(
|
||||
* @OA\Property(property="dial_code",
|
||||
* type="string",
|
||||
* description="Dial code du pays",
|
||||
* example= "+237",
|
||||
* ),
|
||||
* @OA\Property(property="name",
|
||||
* type="string",
|
||||
* example="tom",
|
||||
* description="Nom de l'agent"
|
||||
* ),
|
||||
* @OA\Property(property="phone",
|
||||
* type="string",
|
||||
* example="0452366562",
|
||||
* description="Numero de telephone"
|
||||
* ),
|
||||
* @OA\Property(property="id",
|
||||
* type="integer",
|
||||
* example = 12,
|
||||
* description="ID de l'agent"
|
||||
* )
|
||||
* )
|
||||
* )
|
||||
* ),
|
||||
* @OA\Response(
|
||||
* response=200,
|
||||
* description="OK",
|
||||
* @OA\JsonContent(
|
||||
* ref="#/components/schemas/ApiResponse",
|
||||
* example = {
|
||||
* "status" : 200,
|
||||
* "response" : "Votre requête de rattachement de votre compte bancaire a été prise en compte, vous recevrez un mail de confirmation dès lors que la banque aura validé votre code IBAN",
|
||||
* "error":null
|
||||
* }
|
||||
* )
|
||||
* )
|
||||
* )
|
||||
*/
|
||||
// Option de recherche des agents geolocalisés
|
||||
public function getAgents(Request $request)
|
||||
{
|
||||
$this->validate($request, [
|
||||
'name' => 'string',
|
||||
'phone' => 'string',
|
||||
'id' => 'integer',
|
||||
'dial_code' => 'required|string|min:2'
|
||||
]);
|
||||
|
||||
$name = $request->input('name');
|
||||
$phone = $request->input('phone');
|
||||
$id = $request->input('id');
|
||||
$dial_code = $request->input('dial_code');
|
||||
|
||||
$perPage = current(DB::select("SELECT valeur_int FROM adminConfig WHERE cle = 'pas_chargement' LIMIT 1"))->valeur_int ?? 10;
|
||||
|
||||
$query = AgentPlus::where('category', 'geolocated')->where('code_dial', $dial_code)->where('etat', 1)->distinct();
|
||||
|
||||
if (!empty($name)) {
|
||||
$query = $query->where('lastname', 'like', '%' . $name . '%')->orWhere('firstname', 'like', '%' . $name . '%');
|
||||
}
|
||||
|
||||
if (!empty($phone)) {
|
||||
$query = $query->where('phone', 'like', '%' . $phone . '%')->orWhere('transactionNumber', 'like', '%' . $phone . '%');
|
||||
}
|
||||
|
||||
if (!empty($id)) {
|
||||
$query = $query->where('id', $id);
|
||||
}
|
||||
|
||||
$agents = $query->selectRaw('id , firstname, lastname, adresse , email , longitude , latitude , phone , transactionNumber , openHours , closeHours , solde , network, country')->paginate($perPage);
|
||||
return $this->successResponse($agents);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -257,7 +257,10 @@ class UserGroupController extends Controller
|
|||
'password' => 'required',
|
||||
'limite_credit' => 'required|numeric|min:0|not_in:0',
|
||||
]);
|
||||
$group = UsersGroup::where('code_groupe', $request->code_groupe)->firstOrFail();
|
||||
$group = UsersGroup::where('code_groupe', $request->code_groupe)->first();
|
||||
if (!isset($group)) {
|
||||
return $this->errorResponse(trans('errors.users_group_not_found'));
|
||||
}
|
||||
$user = User::findOrFail($group->id_createur);
|
||||
if (!$this->checkPassword($request->password, $user->encrypted_password, $user->salt))
|
||||
return $this->errorResponse(trans('messages.incorrect_user_password'));
|
||||
|
@ -419,11 +422,17 @@ ug.date_creation as date_creation_groupe , ug.createur , ug.sponsor1 , ug.sponso
|
|||
'id_user' => 'required|integer|min:0|not_in:0'
|
||||
]);
|
||||
|
||||
$group = UsersGroup::where('code_groupe', $request->code_groupe)->firstOrFail();
|
||||
$group = UsersGroup::where('code_groupe', $request->code_groupe)->first();
|
||||
if (!isset($group)) {
|
||||
return $this->errorResponse(trans('errors.users_group_not_found'));
|
||||
}
|
||||
if (!$group->actif)
|
||||
return $this->errorResponse(trans('errors.group_not_active'));
|
||||
|
||||
$sponsor = User::where('user_code', $request->code_sponsor)->firstOrFail();
|
||||
$sponsor = User::where('user_code', $request->code_sponsor)->first();
|
||||
if (isset($sponsor)) {
|
||||
return $this->errorResponse(trans('errors.sponsor_not_found', ['id' => $request->code_sponsor]));
|
||||
}
|
||||
if (!in_array($sponsor->id, [$group->id_sponsor1, $group->id_sponsor2, $group->id_sponsor3]))
|
||||
return $this->errorResponse(trans('errors.sponsor_code_not_match'));
|
||||
|
||||
|
@ -488,7 +497,10 @@ ug.date_creation as date_creation_groupe , ug.createur , ug.sponsor1 , ug.sponso
|
|||
|
||||
$user = User::findOrFail($request->id_user);
|
||||
$country_user = $user->network->country->id;
|
||||
$group = UsersGroup::where('code_groupe', $request->code_groupe)->firstOrFail();
|
||||
$group = UsersGroup::where('code_groupe', $request->code_groupe)->first();
|
||||
if (!isset($group)) {
|
||||
return $this->errorResponse(trans('errors.users_group_not_found'));
|
||||
}
|
||||
if ($group->id_createur != $request->id_user)
|
||||
return $this->errorResponse(trans('errors.not_group_creator'));
|
||||
|
||||
|
|
|
@ -84,4 +84,5 @@ Paying network : :network :country',
|
|||
"wallet_not_linked_to_bank_account" => "Your wallet is not linked to a bank account",
|
||||
"update_banking_information" => "Update your banking information",
|
||||
"wallet_already_linked_to_bank_account" => "Your wallet is already linked to your bank account",
|
||||
"users_group_not_found" => "This group code does not exist",
|
||||
];
|
||||
|
|
|
@ -84,4 +84,5 @@ Réseau payeur : :network :country',
|
|||
"wallet_not_linked_to_bank_account" => "Votre wallet n'est pas rattaché à un compte bancaire",
|
||||
"update_banking_information" => "Mettez à jour vos informations bancaires",
|
||||
"wallet_already_linked_to_bank_account" => "Votre wallet est déjà rattaché à votre compte bancaire",
|
||||
"users_group_not_found" => "Ce code de groupe n'existe pas",
|
||||
];
|
||||
|
|
|
@ -128,8 +128,11 @@ $router->group(['prefix' => '', 'middleware' => 'auth'], function () use ($route
|
|||
//Notifications
|
||||
$router->post('notify-new-user', 'HelperController@notifyNewUser');
|
||||
|
||||
//QRCode for agents
|
||||
//QRCode
|
||||
$router->get('qrcode/generate', 'QRCodeController@generate');
|
||||
$router->get('qrcode/read', 'QRCodeController@read');
|
||||
$router->get('qrcode/image', 'QRCodeController@image');
|
||||
//User
|
||||
$router->post('agents', 'HelperController@getAgents');
|
||||
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue