repod/lib/Controller/Errors.php

25 lines
576 B
PHP
Raw Normal View History

2023-06-22 18:10:30 +00:00
<?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);
}
}
}