mirror of
https://github.com/verdigado/organization_folders.git
synced 2024-12-06 11:22:41 +01:00
Added security classes and draft version of ResourceVoter
This commit is contained in:
parent
22c06b5689
commit
88cb258c2b
11 changed files with 428 additions and 0 deletions
35
lib/Controller/Errors.php
Normal file
35
lib/Controller/Errors.php
Normal file
|
@ -0,0 +1,35 @@
|
|||
<?php
|
||||
|
||||
namespace OCA\OrganizationFolders\Controller;
|
||||
|
||||
use Closure;
|
||||
|
||||
use OCP\AppFramework\Http;
|
||||
use OCP\AppFramework\Http\JSONResponse;
|
||||
|
||||
use OCA\OrganizationFolders\Errors\NotFoundException;
|
||||
|
||||
trait Errors {
|
||||
private function errorResponse(\Exception $e, $status = Http::STATUS_BAD_REQUEST): JSONResponse {
|
||||
$response = ['error' => get_class($e), 'message' => $e->getMessage()];
|
||||
return new JSONResponse($response, $status);
|
||||
}
|
||||
|
||||
protected function handleNotFound(Closure $callback): JSONResponse {
|
||||
try {
|
||||
return new JSONResponse($callback());
|
||||
} catch (NotFoundException $e) {
|
||||
return $this->errorResponse($e, Http::STATUS_NOT_FOUND);
|
||||
} catch (\Exception $e) {
|
||||
return $this->errorResponse($e);
|
||||
}
|
||||
}
|
||||
|
||||
protected function handleErrors(Closure $callback): JSONResponse {
|
||||
try {
|
||||
return new JSONResponse($callback());
|
||||
} catch (\Exception $e) {
|
||||
return $this->errorResponse($e);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue