. * * 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\Controllers; use Espo\Core\Exceptions\BadRequest; use Espo\Core\Controllers\RecordBase; use Espo\Core\Api\Request; use Espo\Core\Exceptions\Error; use Espo\Core\Exceptions\Forbidden; use Espo\Core\Exceptions\NotFound; use Espo\Tools\EmailFolder\Service; use stdClass; class EmailFolder extends RecordBase { /** * @throws BadRequest * @throws Forbidden * @throws Error * @throws NotFound */ public function postActionMoveUp(Request $request): bool { $data = $request->getParsedBody(); if (empty($data->id)) { throw new BadRequest(); } $this->getEmailFolderService()->moveUp($data->id); return true; } /** * @throws BadRequest * @throws Forbidden * @throws Error * @throws NotFound */ public function postActionMoveDown(Request $request): bool { $data = $request->getParsedBody(); if (empty($data->id)) { throw new BadRequest(); } $this->getEmailFolderService()->moveDown($data->id); return true; } /** * @throws Forbidden * @throws NotFound */ public function getActionListAll(Request $request): stdClass { $userId = $request->getQueryParam('userId'); $list = $this->getEmailFolderService()->listAll($userId); return (object) ['list' => $list]; } private function getEmailFolderService(): Service { return $this->injectableFactory->create(Service::class); } }