Add /api/news route

This commit is contained in:
Nabeel Shahzad
2018-04-11 20:01:41 -05:00
parent 8d2fd22e3e
commit 395642f69c
5 changed files with 95 additions and 0 deletions

View File

@@ -0,0 +1,38 @@
<?php
namespace App\Http\Controllers\Api;
use App\Http\Resources\News as NewsResource;
use App\Interfaces\Controller;
use App\Repositories\NewsRepository;
use Illuminate\Http\Request;
/**
* @package App\Http\Controllers\Api
*/
class NewsController extends Controller
{
private $newsRepo;
/**
* AirlineController constructor.
* @param NewsRepository $newsRepo
*/
public function __construct(NewsRepository $newsRepo) {
$this->newsRepo = $newsRepo;
}
/**
* Return all the airlines, paginated
* @param Request $request
* @return mixed
*/
public function index(Request $request)
{
$news = $this->newsRepo
->orderBy('created_at', 'desc')
->paginate();
return NewsResource::collection($news);
}
}

View File

@@ -0,0 +1,30 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\Resource;
/**
* Class Response
* @package App\Http\Resources
* Generic response resource
*/
class News extends Resource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
$resp = parent::toArray($request);
$resp['user'] = [
'id' => $this->user->id,
'name' => $this->user->name,
];
return $resp;
}
}