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

23 lines
940 B
PHP

<?php declare(strict_types=1);
namespace App\Http\Controllers\Api\V2\Communication;
use App\Domain\SchoolCore\Communication\Contracts\CommunicationServiceContract;
use App\Domain\SchoolCore\Context\SchoolContextStore;
use App\Http\Requests\Communication\BulkSendMessageRequest;
use App\Http\Resources\V2\Communication\MessageResource;
use App\Support\Api\ApiResponse;
use Illuminate\Http\JsonResponse;
use Illuminate\Routing\Controller;
final class BulkSendController extends Controller
{
public function __construct(private readonly SchoolContextStore $context, private readonly CommunicationServiceContract $communication) {}
public function store(BulkSendMessageRequest $request): JsonResponse
{
$result = $this->communication->sendBulkMessage($this->context->current(), $request->toDTO());
return ApiResponse::success((new MessageResource($result))->resolve($request), 'Bulk message accepted.');
}
}