Files
tripbuilder/app/Http/Controllers/Controller.php
2017-05-16 08:06:06 -04:00

43 lines
1.2 KiB
PHP

<?php
namespace App\Http\Controllers;
use Laravel\Lumen\Routing\Controller as BaseController;
use League\Fractal\Manager;
use League\Fractal\Resource\ResourceInterface;
use League\Fractal\Serializer\JsonApiSerializer;
class Controller extends BaseController
{
/**
* Convert the response to Json
*
* @param \League\Fractal\Resource\Item $resource
* @param int $statusCode
* @param string $includes
* @return \Illuminate\Http\JsonResponse
*/
protected function JsonApiResponse(ResourceInterface $resource, $statusCode, $includes = '')
{
$manager = app('FractalManager');
$manager->setSerializer(new JsonApiSerializer('https://tripbuilder.xai-corp.net'));
$manager->parseIncludes($includes);
return response()->json($manager->createData($resource)->toArray(), $statusCode);
}
/**
* format an error message
*
* @param string $message
* @param int $statusCode
* @return \Illuminate\Http\JsonResponse
*/
protected function returnErrorMessage($message, $statusCode = 400)
{
return response()->json([
'error_message' => $message
], $statusCode);
}
}