2024-06-27 16:58:11 -04:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App\Traits;
|
|
|
|
|
|
|
|
use Illuminate\Http\JsonResponse;
|
|
|
|
|
|
|
|
trait ApiResponses
|
|
|
|
{
|
2024-09-11 23:08:58 -04:00
|
|
|
/**
|
|
|
|
* Return a success JSON response.
|
|
|
|
*
|
|
|
|
* @param array<mixed> $data
|
|
|
|
*/
|
2024-06-27 16:58:11 -04:00
|
|
|
protected function success(string $message, ?array $data = []): JsonResponse
|
|
|
|
{
|
|
|
|
return $this->baseResponse(message: $message, data: $data, code: 200);
|
|
|
|
}
|
|
|
|
|
2024-09-11 23:08:58 -04:00
|
|
|
/**
|
|
|
|
* The base response.
|
|
|
|
*
|
|
|
|
* @param array<mixed> $data
|
|
|
|
*/
|
2024-06-27 16:58:11 -04:00
|
|
|
private function baseResponse(?string $message = '', ?array $data = [], ?int $code = 200): JsonResponse
|
|
|
|
{
|
|
|
|
return response()->json([
|
|
|
|
'message' => $message,
|
|
|
|
'data' => $data,
|
|
|
|
], $code);
|
|
|
|
}
|
|
|
|
|
2024-09-11 23:08:58 -04:00
|
|
|
/**
|
|
|
|
* Return an error JSON response.
|
|
|
|
*/
|
2024-06-27 16:58:11 -04:00
|
|
|
protected function error(string $message, int $code): JsonResponse
|
|
|
|
{
|
|
|
|
return $this->baseResponse(message: $message, code: $code);
|
|
|
|
}
|
|
|
|
}
|