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

35 lines
822 B
PHP
Raw Normal View History

2015-08-31 16:30:02 +02:00
<?php
2015-09-06 19:21:11 +02:00
namespace App\Http\Controllers;
use Response;
2015-08-31 16:30:02 +02:00
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);
}
}