dishplanner/app/Http/Controllers/Api/ApiController.php

30 lines
836 B
PHP
Executable file

<?php
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use App\Services\OutputService;
use Illuminate\Http\JsonResponse;
class ApiController extends Controller
{
public function response(
bool $success = true,
?array $payload = null,
array|string|null $errors = null,
int $statusCode = 200,
): JsonResponse
{
return response()->json(resolve(OutputService::class)->response($success, $payload, $errors), $statusCode);
}
public function success(?array $payload, int $statusCode = 200): JsonResponse
{
return $this->response(true, $payload, null, $statusCode);
}
public function error(array|string|null $errors, int $statusCode = 400): JsonResponse
{
return $this->response(false, null, $errors, $statusCode);
}
}