| 
									
										
										
										
											2020-04-15 23:08:09 +00:00
										 |  |  | <?php | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | namespace  App\Traits; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | use Illuminate\Http\Response; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-11 14:37:26 +00:00
										 |  |  | // 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") | 
					
						
							|  |  |  |  *  ) | 
					
						
							|  |  |  |  * ) | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2020-04-15 23:08:09 +00:00
										 |  |  | trait ApiResponser | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2020-11-11 14:37:26 +00:00
										 |  |  |     public function successResponse($data, $code = Response::HTTP_OK) | 
					
						
							| 
									
										
										
										
											2020-04-15 23:08:09 +00:00
										 |  |  |     { | 
					
						
							| 
									
										
										
										
											2020-11-11 14:37:26 +00:00
										 |  |  |         return response($this->formatResponse($code, $data, null), $code)->header('Content-Type', 'application/json'); | 
					
						
							| 
									
										
										
										
											2020-04-15 23:08:09 +00:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-11 14:37:26 +00:00
										 |  |  |     public function errorResponse($message, $code = Response::HTTP_BAD_REQUEST) | 
					
						
							| 
									
										
										
										
											2020-04-15 23:08:09 +00:00
										 |  |  |     { | 
					
						
							| 
									
										
										
										
											2022-04-20 08:08:32 +00:00
										 |  |  |         if ($code == 0) { | 
					
						
							|  |  |  |             $code = Response::HTTP_BAD_REQUEST; | 
					
						
							|  |  |  |         } | 
					
						
							| 
									
										
										
										
											2021-10-04 11:01:26 +00:00
										 |  |  |         return response()->json($this->formatResponse($code, null, $message), $code); | 
					
						
							| 
									
										
										
										
											2020-04-15 23:08:09 +00:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-10-04 11:01:26 +00:00
										 |  |  | //    public function errorMessage($message , $code)
 | 
					
						
							|  |  |  | //    {
 | 
					
						
							|  |  |  | //        return response($message ,$code)->header('Content-Type', 'application/json');
 | 
					
						
							|  |  |  | //    }
 | 
					
						
							| 
									
										
										
										
											2020-04-17 22:03:34 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-10-04 11:01:26 +00:00
										 |  |  |     private function formatResponse(int $status, $response = null, $error = null) | 
					
						
							| 
									
										
										
										
											2020-04-17 22:03:34 +00:00
										 |  |  |     { | 
					
						
							| 
									
										
										
										
											2021-10-04 11:01:26 +00:00
										 |  |  |         return ['status' => $status, 'response' => $response, 'error' => $error]; | 
					
						
							| 
									
										
										
										
											2020-04-17 22:03:34 +00:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2020-04-15 23:08:09 +00:00
										 |  |  | } |