30 lines
896 B
PHP
30 lines
896 B
PHP
<?php declare(strict_types=1);
|
|
|
|
namespace App\Http\Controllers\Api\V2;
|
|
|
|
use App\Domain\SchoolCore\Context\SchoolContext;
|
|
use App\Domain\SchoolCore\Context\SchoolContextStore;
|
|
use App\Support\Api\ApiResponse;
|
|
use Illuminate\Http\JsonResponse;
|
|
use Illuminate\Routing\Controller;
|
|
|
|
abstract class BaseApiController extends Controller
|
|
{
|
|
public function __construct(protected readonly SchoolContextStore $schoolContext) {}
|
|
|
|
protected function context(): SchoolContext
|
|
{
|
|
return $this->schoolContext->current();
|
|
}
|
|
|
|
protected function ok(mixed $data = null, ?string $message = null, array $meta = []): JsonResponse
|
|
{
|
|
return ApiResponse::success($data, $message, $meta);
|
|
}
|
|
|
|
protected function created(mixed $data = null, ?string $message = null, array $meta = []): JsonResponse
|
|
{
|
|
return ApiResponse::success($data, $message, $meta, 201);
|
|
}
|
|
}
|