Pony.fm/app/Http/Controllers/ApiControllerBase.php
2015-09-06 18:21:11 +01:00

35 lines
No EOL
822 B
PHP

<?php
namespace App\Http\Controllers;
use Response;
abstract class ApiControllerBase extends Controller
{
protected function execute($command)
{
if (!$command->authorize()) {
return $this->notAuthorized();
}
$result = $command->execute();
if ($result->didFail()) {
return Response::json([
'message' => 'Validation failed',
'errors' => $result->getValidator()->messages()->getMessages()
], 400);
}
return Response::json($result->getResponse(), 200);
}
public function notAuthorized()
{
return Response::json(['message' => 'You may not do this!'], 403);
}
public function notFound($message)
{
return Response::json(['message' => $message], 403);
}
}