Medical Appointments API

ExceptionController extends BaseController
in package

Controller class for exceptions.

Tags
OA\Tag

( name="Exceptions", description="API Endpoints of Exceptions" )

author

Luis Graciano contacto@luisgraciano.dev

Table of Contents

$path  : string
$routes  : array<string|int, mixed>
$path  : string
$routes  : array<string|int, mixed>
$exceptionService  : ExceptionService
__construct()  : mixed
ExceptionController constructor.
addApiRoutes()  : void
Create a RouteGroup for the controller and add the routes to it.
delete()  : ResponseInterface
Delete an exception by id.
findByMedicalCenterId()  : ResponseInterface
Find exceptions by medical center id.
save()  : ResponseInterface
Save an exception.
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.

$routes

protected array<string|int, mixed> $routes = [['method' => 'GET', 'path' => '/find-by-medical-center/{medical_center_id}', 'handler' => 'findByMedicalCenterId'], ['method' => 'POST', 'path' => '', 'handler' => 'save'], ['method' => 'DELETE', 'path' => '/{id}', 'handler' => 'delete']]

The routes for the controller.

Methods

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
throws
Exception

If the controller does not have a path or routes property.

Return values
void

delete()

Delete an exception by id.

public delete(ServerRequestInterface $request, ResponseInterface $response, array<string|int, mixed> $args) : ResponseInterface
Parameters
$request : ServerRequestInterface

The request object.

$response : ResponseInterface

The response object.

$args : array<string|int, mixed>

The arguments for the request.s

Tags
OA\Delete

( path="/exception/{id}", summary="Delete exception", description="Delete exception", operationId="delete", tags={"Exceptions"}, @OA\Parameter( name="id", in="path", description="Exception id", required=true, @OA\Schema( type="integer", minimum=1 ) ), @OA\Response( response=204, description="Exception deleted" ), @OA\Response(response=400, ref="#/components/responses/400"), @OA\Response(response=500, ref="#/components/responses/500") )

throws
BusinessValidationException

If the arguments are invalid.

throws
UnhandledException

If an error occurs while deleting the exception.

Return values
ResponseInterface

The response object.

findByMedicalCenterId()

Find exceptions by medical center id.

public findByMedicalCenterId(ServerRequestInterface $request, ResponseInterface $response, array<string|int, mixed> $args) : ResponseInterface
Parameters
$request : ServerRequestInterface

The request object.

$response : ResponseInterface

The response object.

$args : array<string|int, mixed>

The arguments for the request.s

Tags
OA\Get

( path="/exception/find-by-medical-center/{medical_center_id}", summary="Get exceptions by medical center id", description="Get exceptions by medical center id", operationId="find_by_medical_center_id", tags={"Exceptions"}, @OA\Parameter( name="medical_center_id", in="path", description="Medical center id", required=true, @OA\Schema(type="integer", minimum=1) ), @OA\Response( response=200, description="Exceptions found", @OA\JsonContent(type="array", @OA\Items(ref="#/components/schemas/Exception")) ), @OA\Response(response=400, ref="#/components/responses/400"), @OA\Response(response=500, ref="#/components/responses/500") )

throws
BusinessValidationException

If the arguments are invalid.

throws
UnhandledException

If an error occurs while finding the schedule.

Return values
ResponseInterface

The response object.

save()

Save an exception.

public save(ServerRequestInterface $request, ResponseInterface $response, array<string|int, mixed> $args) : ResponseInterface
Parameters
$request : ServerRequestInterface

The request object.

$response : ResponseInterface

The response object.

$args : array<string|int, mixed>

The arguments for the request.

Tags
OA\Post

( path="/exception", summary="Save exception", description="Save exception", operationId="save", tags={"Exceptions"}, @OA\RequestBody( description="Exception object to be saved", required=true, @OA\JsonContent(ref="#/components/schemas/Exception") ), @OA\Response( response=200, description="Exception saved", @OA\JsonContent(ref="#/components/schemas/Exception") ), @OA\Response(response=400, ref="#/components/responses/400"), @OA\Response(response=500, ref="#/components/responses/500") )

throws
BusinessValidationException

If the arguments are invalid.

throws
UnhandledException

If an error occurs while finding the schedule.

throws
Exception

If an error occurs while saving the exception.

Return values
ResponseInterface

The response object.

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
throws
BusinessValidationException

If a validation error occurs.

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.

Tags
throws
Exception

If the controller does not have a routes property or if a route is missing a method, path, or handler.

Return values
void

Search results