Files
scrum-poker-internal/app/Http/Controllers/RoomEmoteController.php
T
2026-09-01 11:59:00 +02:00

36 lines
888 B
PHP

<?php
namespace App\Http\Controllers;
use App\Http\Requests\ThrowPaperBallRequest;
use App\Models\Player;
use App\Models\Room;
use App\Services\Rooms\RoomEmoteService;
use Illuminate\Http\Response;
class RoomEmoteController extends Controller
{
public function __construct(
private readonly RoomEmoteService $roomEmotes,
) {}
public function store(ThrowPaperBallRequest $request, Room $room): Response
{
$player = $request->attributes->get('currentPlayer');
abort_unless(
$player instanceof Player && $player->room_id === $room->id,
403,
);
$this->roomEmotes->throwPaperBall(
$room,
$player,
(int) $request->validated('target_player_id'),
(int) ($request->validated('charge_percentage') ?? 0),
);
return response()->noContent();
}
}