PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / trunk
Booking for Appointments and Events Calendar – Amelia vtrunk
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 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / src / Application / Controller / Booking / Appointment / UpdateAppointmentTimeController.php
ameliabooking / src / Application / Controller / Booking / Appointment Last commit date
AddAppointmentController.php 1 month ago AddBookingController.php 2 weeks ago ApproveBookingRemotelyController.php 1 month ago CancelBookingController.php 1 month ago CancelBookingRemotelyController.php 1 month ago DeleteAppointmentController.php 1 month ago DeleteBookingController.php 1 month ago DeleteBookingRemotelyController.php 1 month ago GetAppointmentBookingsController.php 1 month ago GetAppointmentController.php 1 month ago GetAppointmentsController.php 1 month ago GetIcsController.php 1 month ago GetTimeSlotsController.php 1 month ago ReassignBookingController.php 1 month ago RejectBookingRemotelyController.php 1 month ago SuccessfulBookingController.php 1 month ago UpdateAppointmentController.php 1 month ago UpdateAppointmentNoteController.php 1 month ago UpdateAppointmentStatusController.php 1 month ago UpdateAppointmentTimeController.php 1 month ago UpdateBookingStatusController.php 1 month ago
UpdateAppointmentTimeController.php
66 lines
1 <?php
2
3 namespace AmeliaBooking\Application\Controller\Booking\Appointment;
4
5 use AmeliaBooking\Application\Commands\Booking\Appointment\UpdateAppointmentTimeCommand;
6 use AmeliaBooking\Application\Commands\CommandResult;
7 use AmeliaBooking\Application\Controller\Controller;
8 use AmeliaBooking\Domain\Events\DomainEventBus;
9 use AmeliaVendor\Psr\Http\Message\ServerRequestInterface as Request;
10
11 /**
12 * Class UpdateAppointmentTimeController
13 *
14 * @package AmeliaBooking\Application\Controller\Booking\Appointment
15 */
16 class UpdateAppointmentTimeController extends Controller
17 {
18 /**
19 * Fields for appointment that can be received from front-end
20 *
21 * @var array
22 */
23 public $allowedFields = [
24 'bookingStart',
25 'timeZone',
26 'utcOffset'
27 ];
28
29 /**
30 * Instantiates the Update Appointment Time command to hand it over to the Command Handler
31 *
32 * @param Request $request
33 * @param $args
34 *
35 * @return UpdateAppointmentTimeCommand
36 * @throws \RuntimeException
37 */
38 protected function instantiateCommand(Request $request, $args)
39 {
40 $command = new UpdateAppointmentTimeCommand($args);
41 $requestBody = $request->getParsedBody();
42
43 $this->setCommandFields($command, $requestBody);
44 $command->setToken($request);
45
46 $params = (array)$request->getQueryParams();
47
48 if (isset($params['source'])) {
49 $command->setPage($params['source']);
50 }
51
52 return $command;
53 }
54
55 /**
56 * @param DomainEventBus $eventBus
57 * @param CommandResult $result
58 *
59 * @return void
60 */
61 protected function emitSuccessEvent(DomainEventBus $eventBus, CommandResult $result)
62 {
63 $eventBus->emit('BookingTimeUpdated', $result);
64 }
65 }
66