Files
piratepoet/mailpoet/tests/integration/REST/Automation/API/Endpoint.php
Jan Jakes 36a3f34db8 Add generic API endpoint tests
[MAILPOET-4207]
2022-04-20 15:30:50 +02:00

43 lines
1.1 KiB
PHP

<?php declare(strict_types = 1);
namespace MailPoet\REST\Automation\API\Endpoints;
use MailPoet\Automation\Engine\API\Endpoint as APIEndpoint;
use MailPoet\Automation\Engine\API\Request;
use MailPoet\Automation\Engine\API\Response;
use MailPoet\Validator\Builder;
class Endpoint extends APIEndpoint {
/** @var callable|null */
private $requestCallback;
public function __construct(callable $requestCallback = null) {
$this->requestCallback = $requestCallback;
}
public function handle(Request $request): Response {
if ($this->requestCallback) {
($this->requestCallback)($request);
}
return new Response();
}
public function checkPermissions(): bool {
return true;
}
public static function getRequestSchema(): array {
return [
'required' => Builder::string()->required(),
'string' => Builder::string(),
'number-1' => Builder::number(),
'number-2' => Builder::number(),
'integer-1' => Builder::integer(),
'integer-2' => Builder::integer(),
'boolean-1' => Builder::boolean(),
'boolean-2' => Builder::boolean(),
'null' => Builder::null(),
];
}
}