Pony.fm/app/Http/Controllers/ApiControllerBase.php

33 lines
812 B
PHP
Raw Normal View History

2015-08-31 16:30:02 +02:00
<?php
use App\Http\Controllers\Controller;
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);
}
}