<?php declare(strict_types = 1);
namespace MailPoet\Automation\Engine\Endpoints\Workflows;
if (!defined('ABSPATH')) exit;
use MailPoet\API\REST\Request;
use MailPoet\API\REST\Response;
use MailPoet\Automation\Engine\API\Endpoint;
use MailPoet\Automation\Engine\Data\WorkflowTemplate;
use MailPoet\Automation\Engine\Storage\WorkflowTemplateStorage;
use MailPoet\Validator\Builder;
class WorkflowTemplatesGetEndpoint extends Endpoint {
private $storage;
public function __construct(
WorkflowTemplateStorage $storage
) {
$this->storage = $storage;
}
public function handle(Request $request): Response {
$templates = $this->storage->getTemplates((int)$request->getParam('category'));
return new Response(array_map(function (WorkflowTemplate $workflow) {
return $workflow->toArray();
}, $templates));
}
public static function getRequestSchema(): array {
return [
'category' => Builder::integer()->nullable(),
];
}
}