50 lines
1.4 KiB
PHP
Executable File
50 lines
1.4 KiB
PHP
Executable File
<?php
|
|
|
|
namespace App\Traits;
|
|
|
|
use Illuminate\Http\Response;
|
|
|
|
// Api Response schema
|
|
|
|
/**
|
|
* @OA\Schema(
|
|
* schema="ApiResponse",
|
|
* title="API Response",
|
|
* description="Format d'un message de reponse",
|
|
* @OA\Property(
|
|
* property="status", description="Code de la requete",
|
|
* @OA\Schema(type="number", example=200)
|
|
* ),
|
|
* @OA\Property(
|
|
* property="response", description="Resultat de la requete si pas d'erreur",
|
|
* @OA\Schema(type="object", example="{name : 'Djery'}")
|
|
* ),
|
|
* @OA\Property(
|
|
* property="error", description="Message d'erreur si erreur",
|
|
* @OA\Schema(type="string", example="There is an error")
|
|
* )
|
|
* )
|
|
*/
|
|
trait ApiResponser
|
|
{
|
|
public function successResponse($data, $code = Response::HTTP_OK)
|
|
{
|
|
return response($this->formatResponse($code, $data, null), $code)->header('Content-Type', 'application/json');
|
|
}
|
|
|
|
public function errorResponse($message, $code = Response::HTTP_BAD_REQUEST)
|
|
{
|
|
return response()->json($this->formatResponse($code,null,$message), $code);
|
|
}
|
|
|
|
public function errorMessage($message , $code)
|
|
{
|
|
return response($message ,$code)->header('Content-Type', 'application/json');
|
|
}
|
|
|
|
private function formatResponse(int $status, $response = null , $error = null)
|
|
{
|
|
return ['status' => $status , 'response' => $response , 'error' => $error];
|
|
}
|
|
}
|