validate($request, [ 'user_id' => 'required|integer', 'type' => 'required|in:user,agent' ]); $type = $request->input('type'); $user_id = $request->input('user_id'); try { $qr_code_pdf = $this->generateQRCode($user_id, $type); // $recipients = [preg_replace("/\s+/", "", $email)]; // Supprimer les espaces dans le mail // Mail::mailer('smtp')->raw($messageText, function ($message) use ($recipients, $title, $pdf, $notice) { // $message->subject($title) // ->to($recipients) // ->attachData($pdf->output(), $title . ' - ' . $notice->id_tax_notice . ".pdf"); // }); return $this->successResponse(trans('messages.successful_transaction')); } catch (\Throwable $t) { Log::error('-------- Mail not sent -----------'); Log::error($t->getMessage()); return $this->errorResponse(trans('errors.unexpected_error')); } } /** * @OA\Get( * path="/qrcode/read", * summary="Lire les informations à partir de l'id de l'utilisateur obtenu en scanant le QRCode", * tags={"QRCode"}, * security={{"api_key":{}}}, * @OA\Parameter( * parameter="id_user", * name="id_user", * description="ID de l'utilisateur", * @OA\Schema( * type="integer" * ), * in="query", * required=true * ), * @OA\Parameter( * parameter="type", * name="type", * description="Type d'utilisateur", * @OA\Schema( * type="string", * enum={"user","agent"} * ), * in="query", * required=true * ), * @OA\Response( * response=200, * description="OK", * @OA\JsonContent( * ref="#/components/schemas/ApiResponse", * example = { * "status" : 200, * "response" : {"id":349,"uid":"5fcb90ab7197f8.26608831", * "firstname":null,"lastname":"Tom Di","phone":"+237690716648","email":"ddoubletom@gmail.com","user_code":"vdVtq7ym9S","numero_carte":null, * "expiration_date":null,"adresse":"kotto","solde":0,"salt":"dbbaea33d9","validation_code":"xuty8dbq","active":1,"date_modified":"2020-12-05T14:52:43.000000Z", * "date_created":"2020-12-05T14:52:43.000000Z","network_id":185,"group_id":null,"balance_credit":0,"balance_epargne":0,"balance_nano_health":11335000, * "date_adhesion":null,"id_bank_country":null,"iban":null}, * "error":null * } * ) * ) * ) */ //Lire les infos d'un utilisateur à partir de son id public function read(Request $request) { $this->validate($request, [ 'user_id' => 'required|integer', 'type' => 'required|in:user,agent' ]); $type = $request->input('type'); $user_id = $request->input('user_id'); if ($type == 'user') { $user = User::findOrFail($user_id); } else { $user = Agent::findOrFail($user_id); } return $this->successResponse($user); } /** * @OA\Get( * path="/qrcode/image", * summary="Generer l'image du QRCode d'un utilisateur à partir de son id", * tags={"QRCode"}, * security={{"api_key":{}}}, * @OA\Parameter( * parameter="id_user", * name="id_user", * description="ID de l'utilisateur", * @OA\Schema( * type="integer" * ), * in="query", * required=true * ), * @OA\Parameter( * parameter="type", * name="type", * description="Type d'utilisateur", * @OA\Schema( * type="string", * enum={"user","agent"} * ), * in="query", * required=true * ), * @OA\Response( * response=200, * description="OK", * @OA\JsonContent( * ref="#/components/schemas/ApiResponse", * example = { * "status" : 200, * "response" : "image en base64", * "error":null * } * ) * ) * ) */ //Generer l'image du QRCode d'un utilisateur à partir de son id public function image(Request $request) { $this->validate($request, [ 'user_id' => 'required|integer', 'type' => 'required|in:user,agent' ]); $type = $request->input('type'); $user_id = $request->input('user_id'); if ($type == 'user') { $user = User::findOrFail($user_id); } else { $user = Agent::findOrFail($user_id); } $data = 'type=' . $type . '&id=' . $user->id; return $this->successResponse(base64_encode(\SimpleSoftwareIO\QrCode\Facades\QrCode::format('svg') ->size(300)->errorCorrection('H') ->generate($data))); } }