2022-02-16 13:12:27 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
|
2022-04-14 14:21:57 +00:00
|
|
|
use App\Models\AgentPlus;
|
|
|
|
use App\Models\User;
|
2022-02-16 13:12:27 +00:00
|
|
|
use Illuminate\Http\Request;
|
2022-04-06 09:50:29 +00:00
|
|
|
use Illuminate\Support\Facades\DB;
|
2022-02-16 13:12:27 +00:00
|
|
|
|
|
|
|
class HelperController extends Controller
|
|
|
|
{
|
2022-02-16 14:03:56 +00:00
|
|
|
/**
|
|
|
|
* @OA\Get(
|
|
|
|
* path="/pdf-viewer",
|
|
|
|
* summary="Afficher le PDF de la facture dans une web view",
|
|
|
|
* tags={"Factures"},
|
|
|
|
* @OA\Parameter(
|
|
|
|
* parameter="url",
|
|
|
|
* name="url",
|
|
|
|
* description="URL du fichier",
|
|
|
|
* in="query",
|
|
|
|
* required=true,
|
|
|
|
* @OA\Schema(
|
|
|
|
* type="string",
|
|
|
|
* default="http://localhost:8086/invoices-docs/31122021_28012022_aon8K9BZOn_1643395930.pdf"
|
|
|
|
* )
|
|
|
|
* ),
|
|
|
|
* @OA\Response(
|
|
|
|
* response=200,
|
|
|
|
* description="OK"
|
|
|
|
* )
|
|
|
|
* )
|
|
|
|
*/
|
2022-02-16 13:12:27 +00:00
|
|
|
public function pdfView(Request $request)
|
|
|
|
{
|
|
|
|
$this->validate($request, [
|
|
|
|
'url' => 'required|string'
|
|
|
|
]);
|
|
|
|
|
|
|
|
$url = $request->input('url');
|
|
|
|
return view('pdf-viewer', compact('url'));
|
|
|
|
}
|
2022-04-06 09:50:29 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @OA\Get(
|
|
|
|
* path="/exclusions/{network_id}",
|
|
|
|
* summary="Afficher les exclusions d'un reseau",
|
|
|
|
* tags={"Exclusions"},
|
|
|
|
* security={{"api_key":{}}},
|
|
|
|
* @OA\Parameter(
|
|
|
|
* parameter="network_id",
|
|
|
|
* name="network_id",
|
|
|
|
* description="ID du reseau",
|
|
|
|
* in="path",
|
|
|
|
* required=true,
|
|
|
|
* @OA\Schema(
|
|
|
|
* type="integer",
|
|
|
|
* default="250"
|
|
|
|
* )
|
|
|
|
* ),
|
|
|
|
* @OA\Response(
|
|
|
|
* response=200,
|
|
|
|
* description="OK",
|
|
|
|
* @OA\JsonContent(
|
|
|
|
* ref="#/components/schemas/ApiResponse",
|
|
|
|
* example = {
|
|
|
|
* "status" : 200,
|
|
|
|
* "response" : {"document" : "Interdit de fumer"},
|
|
|
|
* "error":null
|
|
|
|
* }
|
|
|
|
* )
|
|
|
|
* )
|
|
|
|
* )
|
|
|
|
*/
|
|
|
|
public function getNetworkExclusions($network_id)
|
|
|
|
{
|
|
|
|
$exclusion = current(DB::select("SELECT document FROM nh_exclusions WHERE network_id = :network_id LIMIT 1", ['network_id' => $network_id]));
|
|
|
|
return $this->successResponse($exclusion);
|
|
|
|
}
|
2022-04-14 14:21:57 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @OA\Post(
|
|
|
|
* path="/password-validation",
|
|
|
|
* summary="Validation du mot de passe",
|
|
|
|
* tags={"Validation du mot de passe"},
|
|
|
|
* security={{"api_key":{}}},
|
|
|
|
* @OA\RequestBody(
|
|
|
|
* description="Corps de la requete",
|
|
|
|
* required=true,
|
|
|
|
* @OA\MediaType(
|
|
|
|
* mediaType="application/json",
|
|
|
|
* @OA\Schema(
|
|
|
|
* schema="request_for_authorizations_of_care",
|
|
|
|
* title = "Demande autorisation de prise en charge",
|
|
|
|
* required={"password"},
|
|
|
|
* @OA\Property(
|
|
|
|
* property="password",
|
|
|
|
* description = "Mot de passe",
|
|
|
|
* type="string",
|
|
|
|
* example= "1234"
|
|
|
|
* ),
|
|
|
|
* @OA\Property(
|
|
|
|
* property="user_id",
|
|
|
|
* description = "ID de l'utilisateur",
|
|
|
|
* type="integer",
|
|
|
|
* example= 5
|
|
|
|
* ),
|
|
|
|
* @OA\Property(
|
|
|
|
* property="network_agent_id",
|
|
|
|
* description = "ID de l'agent dans le reseau",
|
|
|
|
* type="integer",
|
|
|
|
* example= 43959
|
|
|
|
* )
|
|
|
|
* ),
|
|
|
|
* ),
|
|
|
|
* ),
|
|
|
|
* @OA\Response(
|
|
|
|
* response=200,
|
|
|
|
* description="OK",
|
|
|
|
* @OA\JsonContent(
|
|
|
|
* ref="#/components/schemas/ApiResponse",
|
|
|
|
* example = {
|
|
|
|
* "status" : 200,
|
|
|
|
* "response" : "Authentification réussie",
|
|
|
|
* "error":null
|
|
|
|
* }
|
|
|
|
* )
|
|
|
|
* )
|
|
|
|
* )
|
|
|
|
*/
|
|
|
|
// Validation du mot de passe lors de l'ouverture du wallet coté front
|
|
|
|
public function passwordValidation(Request $request)
|
|
|
|
{
|
|
|
|
$this->validate($request, [
|
|
|
|
'password' => 'required|string',
|
|
|
|
'user_id' => 'required_without:network_agent_id|integer|exists:users,id',
|
|
|
|
'network_agent_id' => 'required_without:user_id|integer|exists:networks_agents,id',
|
|
|
|
]);
|
|
|
|
$password = $request->input('password');
|
|
|
|
$user_id = $request->input('user_id');
|
|
|
|
$network_agent_id = $request->input('network_agent_id');
|
|
|
|
|
|
|
|
if (!empty($user_id)) {
|
|
|
|
$user = User::findOrFail($user_id);
|
|
|
|
$check = checkPassword($password, $user->encrypted_password, $user->salt);
|
|
|
|
} else {
|
|
|
|
$agent = AgentPlus::where('network_agent_id', $network_agent_id)->firstOrFail();
|
|
|
|
$check = checkPassword($password, $agent->encrypted_password, $agent->salt);
|
|
|
|
}
|
|
|
|
|
|
|
|
if ($check) {
|
|
|
|
return $this->successResponse(trans('messages.successful_authentification'));
|
|
|
|
} else {
|
|
|
|
return $this->errorResponse(trans('messages.incorrect_user_password'));
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
2022-02-16 13:12:27 +00:00
|
|
|
}
|