PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 1.2.5
Booking for Appointments and Events Calendar – Amelia v1.2.5
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 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 year ago AddBookingController.php 1 year ago ApproveBookingRemotelyController.php 1 year ago CancelBookingController.php 1 year ago CancelBookingRemotelyController.php 1 year ago DeleteAppointmentController.php 1 year ago DeleteBookingController.php 1 year ago GetAppointmentController.php 1 year ago GetAppointmentsController.php 1 year ago GetIcsController.php 1 year ago GetTimeSlotsController.php 1 year ago ReassignBookingController.php 1 year ago RejectBookingRemotelyController.php 1 year ago SuccessfulBookingController.php 1 year ago UpdateAppointmentController.php 1 year ago UpdateAppointmentStatusController.php 1 year ago UpdateAppointmentTimeController.php 1 year ago
UpdateAppointmentTimeController.php
65 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 Slim\Http\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 'utcOffset'
26 ];
27
28 /**
29 * Instantiates the Update Appointment Time command to hand it over to the Command Handler
30 *
31 * @param Request $request
32 * @param $args
33 *
34 * @return UpdateAppointmentTimeCommand
35 * @throws \RuntimeException
36 */
37 protected function instantiateCommand(Request $request, $args)
38 {
39 $command = new UpdateAppointmentTimeCommand($args);
40 $requestBody = $request->getParsedBody();
41
42 $this->setCommandFields($command, $requestBody);
43 $command->setToken($request);
44
45 $params = (array)$request->getQueryParams();
46
47 if (isset($params['source'])) {
48 $command->setPage($params['source']);
49 }
50
51 return $command;
52 }
53
54 /**
55 * @param DomainEventBus $eventBus
56 * @param CommandResult $result
57 *
58 * @return void
59 */
60 protected function emitSuccessEvent(DomainEventBus $eventBus, CommandResult $result)
61 {
62 $eventBus->emit('BookingTimeUpdated', $result);
63 }
64 }
65