Nextcloud-App/lib/Controller/Errors.php

21 lines
547 B
PHP

<?php
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());
}
}
}