Files
laravel_school_api/app/Http/Controllers/Api/V2/BaseApiController.php
T
2026-05-30 01:11:35 -04:00

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);
}
}