// SPDX-License-Identifier: AGPL-3.0-or-later namespace OCA\UPschooling\Controller; use Closure; use OCA\UPschooling\Exceptions\RoomNotFoundException; use OCA\UPschooling\Exceptions\TicketNotFoundException; use OCP\AppFramework\Http; use OCP\AppFramework\Http\DataResponse; trait Errors { protected function handleNotFound(Closure $callback): DataResponse { try { return new DataResponse($callback()); } catch (TicketNotFoundException|RoomNotFoundException $e) { $result = $e->getResult(); return new DataResponse($result->getMeta(), $result->getStatusCode()); } } }