nanosanteservice/app/Http/Controllers/InsuredController.php

82 lines
2.9 KiB
PHP
Raw Normal View History

<?php
namespace App\Http\Controllers;
use App\Models\Network;
use App\Models\NhInsurance;
use App\Models\User;
use App\Models\WalletsUser;
use App\Traits\ApiResponser;
use App\Traits\Helper;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Log;
use stdClass;
class InsuredController extends Controller
{
use ApiResponser;
use Helper;
/**
* @OA\Get(
2021-11-15 15:59:42 +00:00
* path="/insured",
* summary="Rechercher un assuré",
* tags={"Assurés"},
* security={{"api_key":{}}},
* @OA\Parameter(
* parameter="name",
* name="name",
* description="Nom de l'utilisateur",
* @OA\Schema(
* type="string"
* ),
* in="query",
* required=false
* ),
* @OA\Parameter(
* parameter="phone",
* name="phone",
* description="Telephone de l'utilisateur",
* @OA\Schema(
* type="string"
* ),
* in="query",
* required=false
* ),
* @OA\Response(
* response=200,
* description="OK",
* @OA\JsonContent(
* ref="#/components/schemas/ApiResponse",
* example = {
* "status" : 200,
* "response" : {{"id":4,"network_id":250,"user_id":349,"insured_id":"GJKS8ZGBEJTL","number_of_months":3,"bonus_amount":"150000.00",
* "number_of_beneficiaries":2,"total_bonus_amount":"495000.00","start_at":"2021-11-11T21:54:02.000000Z","end_at":"2022-02-11T21:54:02.000000Z",
* "state":"PAID","created_at":"2021-11-11T20:54:02.000000Z","updated_at":"2021-11-11T20:54:02.000000Z","user":{"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},"network":{"id":250,"name":"Cnamgs-pharmacies"}}},
* "error":null
* }
* )
* )
* )
*/
2021-11-15 15:59:42 +00:00
public function getInsured(Request $request)
{
$name = $request->input('name');
$phone = $request->input('phone');
$insured = NhInsurance::with(['user', 'network:id,name'])->whereHas('user', function ($query) use ($name, $phone) {
$query->where('lastname', 'like', '%' . $name . '%')->orWhere('phone', 'like', '%' . $phone . '%');
})->limit(20)->get();
return $this->successResponse($insured);
}
}