2015-08-31 16:30:02 +02:00
|
|
|
<?php
|
|
|
|
|
2015-10-24 03:22:14 +02:00
|
|
|
namespace Poniverse\Ponyfm\Http\Controllers;
|
2015-09-06 19:21:11 +02:00
|
|
|
|
|
|
|
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);
|
|
|
|
}
|
|
|
|
}
|