Files
ismysiteup.online/app/Http/Controllers/Api/SiteController.php
T
2026-01-17 16:42:43 +02:00

47 lines
1.1 KiB
PHP

<?php
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use App\Models\Site;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class SiteController extends Controller
{
/**
* List all sites for the authenticated user.
*/
public function index(Request $request): JsonResponse
{
$sites = $request->user()
->sites()
->withCount(['uptimeChecks', 'sslCertificates', 'brokenLinks'])
->orderBy('created_at', 'desc')
->get();
return response()->json([
'data' => $sites,
]);
}
/**
* Get a specific site for the authenticated user.
*/
public function show(Request $request, Site $site): JsonResponse
{
// Ensure the site belongs to the authenticated user
if ($site->user_id !== $request->user()->id) {
return response()->json([
'message' => 'Unauthorized',
], 403);
}
$site->loadCount(['uptimeChecks', 'sslCertificates', 'brokenLinks']);
return response()->json([
'data' => $site,
]);
}
}