44 lines
1.3 KiB
PHP
44 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace Modules\Connector\Http\Controllers\Api\V2;
|
|
|
|
use Illuminate\Http\JsonResponse;
|
|
use Illuminate\Pagination\LengthAwarePaginator;
|
|
use Modules\Connector\Http\Controllers\Api\ApiController;
|
|
|
|
class BaseController extends ApiController
|
|
{
|
|
protected function success($data = null, string $message = '', int $status = 200): JsonResponse
|
|
{
|
|
return response()->json([
|
|
'success' => true,
|
|
'message' => $message,
|
|
'data' => $data,
|
|
], $status);
|
|
}
|
|
|
|
protected function paginated(LengthAwarePaginator $paginator, string $message = ''): JsonResponse
|
|
{
|
|
return response()->json([
|
|
'success' => true,
|
|
'message' => $message,
|
|
'data' => $paginator->items(),
|
|
'meta' => [
|
|
'current_page' => $paginator->currentPage(),
|
|
'last_page' => $paginator->lastPage(),
|
|
'per_page' => $paginator->perPage(),
|
|
'total' => $paginator->total(),
|
|
],
|
|
]);
|
|
}
|
|
|
|
protected function error(string $message, int $status = 400, $errors = null): JsonResponse
|
|
{
|
|
return response()->json([
|
|
'success' => false,
|
|
'message' => $message,
|
|
'errors' => $errors,
|
|
], $status);
|
|
}
|
|
}
|