Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
primogenial
/
languages
/
wp-content-20241001222009
/
plugins
/
mailpoet
/
lib
/
Automation
/
Engine
/
Endpoints
/
Workflows
:
WorkflowsDuplicateEndpoint.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?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\Builder\DuplicateWorkflowController; use MailPoet\Automation\Engine\Mappers\WorkflowMapper; use MailPoet\Validator\Builder; class WorkflowsDuplicateEndpoint extends Endpoint { /** @var WorkflowMapper */ private $workflowMapper; /** @var DuplicateWorkflowController */ private $duplicateController; public function __construct( DuplicateWorkflowController $duplicateController, WorkflowMapper $workflowMapper ) { $this->workflowMapper = $workflowMapper; $this->duplicateController = $duplicateController; } public function handle(Request $request): Response { $workflowId = intval($request->getParam('id')); $duplicate = $this->duplicateController->duplicateWorkflow($workflowId); return new Response($this->workflowMapper->buildWorkflow($duplicate)); } public static function getRequestSchema(): array { return [ 'id' => Builder::integer()->required(), ]; } }