Files
WMS/Modules/Countries/Http/Controllers/Api/CountriesApiController.php
T
2026-06-15 09:05:15 +01:00

32 lines
1.1 KiB
PHP

<?php
namespace Modules\Countries\Http\Controllers\Api;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Modules\Countries\Models\Country;
class CountriesApiController extends Controller
{
public function index(Request $request): JsonResponse
{
$activeOnly = $request->boolean('active_only', false);
$countries = Country::query()->when($activeOnly, fn ($query) => $query->where('is_active', true))->ordered()
->get(['alpha2', 'alpha3', 'numeric', 'name', 'official_name', 'common_name', 'display_name', 'flag_emoji', 'is_active']);
return response()->json(['data' => $countries]);
}
public function active(): JsonResponse
{
$countries = Country::query()->active()->ordered()
->get(['alpha2', 'alpha3', 'numeric', 'name', 'display_name', 'common_name', 'flag_emoji']);
return response()->json(['data' => $countries]);
}
public function show(Country $country): JsonResponse
{
return response()->json(['data' => $country]);
}
}