forked from admin/services_core
big update base struktur tahap 1
This commit is contained in:
+19
-48
@@ -3,7 +3,6 @@
|
||||
namespace App\Traits;
|
||||
|
||||
use Illuminate\Contracts\Pagination\LengthAwarePaginator;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
trait ApiResponse
|
||||
{
|
||||
@@ -11,9 +10,9 @@ trait ApiResponse
|
||||
{
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
'code' => $code,
|
||||
'code' => $code,
|
||||
'message' => $message,
|
||||
'data' => $data
|
||||
'data' => $data,
|
||||
], $code);
|
||||
}
|
||||
|
||||
@@ -21,9 +20,9 @@ trait ApiResponse
|
||||
{
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
'code' => 201,
|
||||
'code' => 201,
|
||||
'message' => $message,
|
||||
'data' => $data
|
||||
'data' => $data,
|
||||
], 201);
|
||||
}
|
||||
|
||||
@@ -31,9 +30,9 @@ trait ApiResponse
|
||||
{
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
'code' => 200,
|
||||
'code' => 200,
|
||||
'message' => $message,
|
||||
'data' => $data
|
||||
'data' => $data,
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -41,8 +40,8 @@ trait ApiResponse
|
||||
{
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
'code' => 200,
|
||||
'message' => $message
|
||||
'code' => 200,
|
||||
'message' => $message,
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -50,8 +49,8 @@ trait ApiResponse
|
||||
{
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
'code' => $code,
|
||||
'message' => $message
|
||||
'code' => $code,
|
||||
'message' => $message,
|
||||
], $code);
|
||||
}
|
||||
|
||||
@@ -59,9 +58,9 @@ trait ApiResponse
|
||||
{
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
'code' => 422,
|
||||
'code' => 422,
|
||||
'message' => 'Validation Error',
|
||||
'errors' => $errors
|
||||
'errors' => $errors,
|
||||
], 422);
|
||||
}
|
||||
|
||||
@@ -69,8 +68,8 @@ trait ApiResponse
|
||||
{
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
'code' => 404,
|
||||
'message' => $message
|
||||
'code' => 404,
|
||||
'message' => $message,
|
||||
], 404);
|
||||
}
|
||||
|
||||
@@ -80,38 +79,10 @@ trait ApiResponse
|
||||
string $message = 'Success',
|
||||
int $code = 200
|
||||
) {
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
'code' => $code,
|
||||
'message' => $message,
|
||||
$data->through(
|
||||
fn ($item) => (new $resource($item))->resolve(request())
|
||||
);
|
||||
|
||||
'data' => $resource::collection($data->items()),
|
||||
|
||||
'pagination' => [
|
||||
'current_page' => $data->currentPage(),
|
||||
'per_page' => $data->perPage(),
|
||||
'from' => $data->firstItem(),
|
||||
'to' => $data->lastItem(),
|
||||
'last_page' => $data->lastPage(),
|
||||
'total' => $data->total(),
|
||||
|
||||
'has_more' => $data->hasMorePages(),
|
||||
'count' => count($data->items()),
|
||||
|
||||
'next_page' => $data->nextPageUrl(),
|
||||
'prev_page' => $data->previousPageUrl(),
|
||||
'first_page' => $data->url(1),
|
||||
'last_page_url'=> $data->url($data->lastPage()),
|
||||
],
|
||||
|
||||
'filters' => [
|
||||
'page' => (int) request()->input('page', 1),
|
||||
'per_page' => (int) request()->input('per_page', 15),
|
||||
'search' => request()->input('search'),
|
||||
'sort_by' => request()->input('sort_by'),
|
||||
'sort_order' => request()->input('sort_order', 'desc'),
|
||||
'type' => request()->input('type'),
|
||||
]
|
||||
], $code);
|
||||
return $this->success($data, $message, $code);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user