. * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU Affero General Public License version 3. * * In accordance with Section 7(b) of the GNU Affero General Public License version 3, * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. ************************************************************************/ namespace Espo\Core\Api; use Espo\Core\Exceptions\BadRequest; use Espo\Core\Exceptions\Conflict; use Espo\Core\Exceptions\Error; use Espo\Core\Exceptions\Forbidden; use Espo\Core\Exceptions\NotFound; /** * A route action. */ interface Action { /** * Process. * * @param Request $request A request. * @return Response A response. Use ResponseComposer for building. * @throws BadRequest * @throws Forbidden * @throws NotFound * @throws Conflict * @throws Error */ public function process(Request $request): Response; }