PluginProbe
Booking for Appointments and Events Calendar – Amelia / 2.4.2
Booking for Appointments and Events Calendar – Amelia v2.4.2
2.4.9 2.4.8 2.4.7 2.4.6 2.4.5 2.4.4 2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 All 59 releases
ameliabooking / src / Application / Controller / Mobile / Events / ScanEventTicketMobileController.php
ScanEventTicketMobileController.php
34 lines 1.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace AmeliaBooking\Application\Controller\Mobile\Events;
4
5 use AmeliaBooking\Application\Commands\Mobile\Events\ScanEventTicketCommand;
6 use AmeliaBooking\Application\Controller\Mobile\MobileV1Controller;
7 use AmeliaVendor\Psr\Http\Message\ServerRequestInterface as Request;
8
9 /**
10 * POST /mobile/v1/events/scan
11 *
12 * Validates and checks in an event ticket by its QR manual code.
13 * Requires: Authorization: Bearer <provider-jwt>
14 * Body: { "ticketManualCode": string }
15 *
16 * scannedAt is generated server-side; the client does not send it.
17 */
18 class ScanEventTicketMobileController extends MobileV1Controller
19 {
20 public $allowedFields = ['ticketManualCode'];
21
22 protected function instantiateCommand(Request $request, $args)
23 {
24 $command = new ScanEventTicketCommand($args);
25
26 $requestBody = $request->getParsedBody();
27 $this->setCommandFields($command, $requestBody);
28 $command->setToken($request);
29 $this->forceCabinetContext($command);
30
31 return $command;
32 }
33 }
34