AppointmentController
extends BaseController
in package
The AppointmentController is responsible for handling time zone API requests.
Tags
Table of Contents
- $path : string
- $routes : array<string|int, mixed>
- $path : string
- $routes : array<string|int, mixed>
- $appointmentService : AppointmentService
- __construct() : mixed
- AppointmentController constructor.
- addApiRoutes() : void
- Create a RouteGroup for the controller and add the routes to it.
- findAvailableSlots() : ResponseInterface
- Find available slots for a schedule and date.
- save() : ResponseInterface
- Save an appointment.
- checkParams() : void
- Check the given parameters against the given schema.
- makeJsonResponse() : ResponseInterface
- Create a JSON response with the given result and status code.
- addRoutes() : void
- Add routes to the given group.
Properties
$path
public
string
$path
The path of the controller (e.g. /appointment).
$routes
public
array<string|int, mixed>
$routes
The routes for the controller. The routes should be an array of arrays with the following keys: method, path, handler.
$path
protected
string
$path
= '/appointment'
The path of the controller.
$routes
protected
array<string|int, mixed>
$routes
= [['method' => 'GET', 'path' => '/find-available-slots', 'handler' => 'findAvailableSlots'], ['method' => 'POST', 'path' => '', 'handler' => 'save']]
The routes for the controller.
$appointmentService
private
AppointmentService
$appointmentService
The appointment service.
Methods
__construct()
AppointmentController constructor.
public
__construct(AppointmentService $appointmentService) : mixed
Parameters
- $appointmentService : AppointmentService
-
The appointment service.
Return values
mixed —addApiRoutes()
Create a RouteGroup for the controller and add the routes to it.
public
addApiRoutes(RouteCollectorProxy $group) : void
Parameters
- $group : RouteCollectorProxy
-
The route group.
Tags
Return values
void —findAvailableSlots()
Find available slots for a schedule and date.
public
findAvailableSlots(ServerRequestInterface $request, ResponseInterface $response, array<string|int, mixed> $args) : ResponseInterface
Parameters
- $request : ServerRequestInterface
- $response : ResponseInterface
- $args : array<string|int, mixed>
Tags
Return values
ResponseInterface —save()
Save an appointment.
public
save(ServerRequestInterface $request, ResponseInterface $response, array<string|int, mixed> $args) : ResponseInterface
Parameters
- $request : ServerRequestInterface
- $response : ResponseInterface
- $args : array<string|int, mixed>
Tags
Return values
ResponseInterface —checkParams()
Check the given parameters against the given schema.
protected
checkParams(array<string|int, mixed> $params, array<string|int, mixed> $schema) : void
Parameters
- $params : array<string|int, mixed>
-
The parameters to check.
- $schema : array<string|int, mixed>
-
The schema to check against. The schema should be an array of arrays with the following keys: type, required, not_blank, min_number, max_number, min_length, max_length, regex, properties, items. The type can be one of the following: integer, string, boolean, object, array.
Tags
Return values
void —makeJsonResponse()
Create a JSON response with the given result and status code.
protected
makeJsonResponse(ResponseInterface $response[, mixed $result = null ][, int $status_code = 200 ]) : ResponseInterface
Parameters
- $response : ResponseInterface
-
The PSR-7 response.
- $result : mixed = null
-
The data to be included in the JSON response.
- $status_code : int = 200
-
The HTTP status code for the response (default is 200).
Return values
ResponseInterface —The PSR-7 response with JSON data and appropriate headers.
addRoutes()
Add routes to the given group.
private
addRoutes(RouteCollectorProxy $newGroup) : void
Parameters
- $newGroup : RouteCollectorProxy
-
The route group.