PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 1.2.20
Booking for Appointments and Events Calendar – Amelia v1.2.20
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 / UpdateAppointmentStatusController.php
ameliabooking / src / Application / Controller / Booking / Appointment Last commit date
AddAppointmentController.php 2 years ago AddBookingController.php 2 years ago ApproveBookingRemotelyController.php 2 years ago CancelBookingController.php 6 years ago CancelBookingRemotelyController.php 2 years ago DeleteAppointmentController.php 7 years ago DeleteBookingController.php 4 years ago GetAppointmentController.php 4 years ago GetAppointmentsController.php 1 year ago GetIcsController.php 4 years ago GetPackageAppointmentsController.php 1 year ago GetTimeSlotsController.php 1 year ago ReassignBookingController.php 1 year ago RejectBookingRemotelyController.php 2 years ago SuccessfulBookingController.php 1 year ago UpdateAppointmentController.php 2 years ago UpdateAppointmentStatusController.php 4 years ago UpdateAppointmentTimeController.php 1 year ago UpdateBookingStatusController.php 1 year ago
UpdateAppointmentStatusController.php
57 lines
1 <?php
2
3 namespace AmeliaBooking\Application\Controller\Booking\Appointment;
4
5 use AmeliaBooking\Application\Commands\Booking\Appointment\UpdateAppointmentStatusCommand;
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 UpdateAppointmentStatusController
13 *
14 * @package AmeliaBooking\Application\Controller\Booking\Appointment
15 */
16 class UpdateAppointmentStatusController extends Controller
17 {
18 /**
19 * Fields for appointment that can be received from front-end
20 *
21 * @var array
22 */
23 public $allowedFields = [
24 'status',
25 'packageCustomerId'
26 ];
27
28 /**
29 * Instantiates the Update Appointment command to hand it over to the Command Handler
30 *
31 * @param Request $request
32 * @param $args
33 *
34 * @return UpdateAppointmentStatusCommand
35 * @throws \RuntimeException
36 */
37 protected function instantiateCommand(Request $request, $args)
38 {
39 $command = new UpdateAppointmentStatusCommand($args);
40 $requestBody = $request->getParsedBody();
41 $this->setCommandFields($command, $requestBody);
42
43 return $command;
44 }
45
46 /**
47 * @param DomainEventBus $eventBus
48 * @param CommandResult $result
49 *
50 * @return void
51 */
52 protected function emitSuccessEvent(DomainEventBus $eventBus, CommandResult $result)
53 {
54 $eventBus->emit('AppointmentStatusUpdated', $result);
55 }
56 }
57