53 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
		
		
			
		
	
	
			53 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
|  | <?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) | ||
|  |     { | ||
|  |         if ($code == 0) { | ||
|  |             $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]; | ||
|  |     } | ||
|  | } |