verbesserung von benachrichtungen und warnungen an nutzer abgeschlossen. layout editor nun auf gutem stand.
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Api\Tenant;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\TenantNotificationLog;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class NotificationLogController extends Controller
|
||||
{
|
||||
public function index(Request $request): JsonResponse
|
||||
{
|
||||
$tenant = $request->attributes->get('tenant') ?? $request->user()?->tenant;
|
||||
|
||||
if (! $tenant) {
|
||||
return response()->json([
|
||||
'error' => [
|
||||
'code' => 'tenant_context_missing',
|
||||
'title' => 'Tenant context missing',
|
||||
'message' => 'Unable to resolve tenant for notification logs.',
|
||||
],
|
||||
], 403);
|
||||
}
|
||||
|
||||
$query = TenantNotificationLog::query()
|
||||
->where('tenant_id', $tenant->id)
|
||||
->latest();
|
||||
|
||||
if ($type = $request->query('type')) {
|
||||
$query->where('type', $type);
|
||||
}
|
||||
|
||||
if ($status = $request->query('status')) {
|
||||
$query->where('status', $status);
|
||||
}
|
||||
|
||||
$perPage = (int) $request->query('per_page', 20);
|
||||
$perPage = max(1, min($perPage, 100));
|
||||
|
||||
$logs = $query->paginate($perPage);
|
||||
|
||||
return response()->json([
|
||||
'data' => $logs->items(),
|
||||
'meta' => [
|
||||
'current_page' => $logs->currentPage(),
|
||||
'last_page' => $logs->lastPage(),
|
||||
'per_page' => $logs->perPage(),
|
||||
'total' => $logs->total(),
|
||||
],
|
||||
]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user