repod/lib/Controller/Errors.php
2023-06-22 20:10:30 +02:00

25 lines
576 B
PHP

<?php
declare(strict_types=1);
// SPDX-FileCopyrightText: Xéfir Destiny <xefir@crystalyx.net>
// SPDX-License-Identifier: AGPL-3.0-or-later
namespace OCA\RePod\Controller;
use Closure;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\DataResponse;
use OCA\RePod\Service\NoteNotFound;
trait Errors {
protected function handleNotFound(Closure $callback): DataResponse {
try {
return new DataResponse($callback());
} catch (NoteNotFound $e) {
$message = ['message' => $e->getMessage()];
return new DataResponse($message, Http::STATUS_NOT_FOUND);
}
}
}