<?php namespace OCA\BigBlueButton\Controller; use Closure; use Exception; use OCA\BigBlueButton\Service\RoomNotFound; use OCA\BigBlueButton\Service\RoomShareNotFound; use OCP\AppFramework\Http; use OCP\AppFramework\Http\DataResponse; trait Errors { protected function handleNotFound(Closure $callback): DataResponse { try { $return = $callback(); return ($return instanceof DataResponse) ? $return : new DataResponse($return); } catch (Exception $e) { if ($e instanceof RoomNotFound || $e instanceof RoomShareNotFound) { $message = ['message' => $e->getMessage()]; return new DataResponse($message, Http::STATUS_NOT_FOUND); } throw $e; } } }