Files
alrahma_sunday_school_api/app/Http/Controllers/Api/Admin/AdminNotificationController.php
T
2026-03-05 12:29:37 -05:00

42 lines
1.4 KiB
PHP

<?php
namespace App\Http\Controllers\Api\Admin;
use App\Http\Controllers\Controller;
use App\Http\Requests\Admin\SaveAdminNotificationSubjectsRequest;
use App\Http\Requests\Admin\SavePrintNotificationRecipientsRequest;
use App\Http\Resources\Admin\AdminNotificationAlertsResource;
use App\Http\Resources\Admin\PrintRecipientsResource;
use App\Services\Admin\AdminNotificationService;
use Illuminate\Http\JsonResponse;
class AdminNotificationController extends Controller
{
public function __construct(
private AdminNotificationService $service
) {}
public function alerts(): AdminNotificationAlertsResource
{
return new AdminNotificationAlertsResource($this->service->alertsPayload());
}
public function saveSubjects(SaveAdminNotificationSubjectsRequest $request): JsonResponse
{
$result = $this->service->saveSubjects($request->validated('subjects') ?? []);
return response()->json($result, ($result['ok'] ?? false) ? 200 : 422);
}
public function printRecipients(): PrintRecipientsResource
{
return new PrintRecipientsResource($this->service->printRecipientsPayload());
}
public function savePrintRecipients(SavePrintNotificationRecipientsRequest $request): JsonResponse
{
$result = $this->service->savePrintRecipients($request->validated('notify') ?? []);
return response()->json($result, ($result['ok'] ?? false) ? 200 : 422);
}
}