Browse Source

Merge outlet geojson into index action

pull/3/head
Nafies Luthfi 7 years ago
parent
commit
c7f73c9013
  1. 8
      app/Http/Controllers/Api/OutletController.php
  2. 2
      resources/views/outlets/map.blade.php
  3. 1
      routes/api.php
  4. 23
      tests/Feature/Api/OutletListingTest.php

8
app/Http/Controllers/Api/OutletController.php

@ -5,7 +5,6 @@ namespace App\Http\Controllers\Api;
use App\Outlet;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Http\Resources\OutletCollection;
use App\Http\Resources\Outlet as OutletResource;
class OutletController extends Controller
@ -14,13 +13,6 @@ class OutletController extends Controller
{
$outlets = Outlet::all();
return new OutletCollection($outlets);
}
public function geoJSON(Request $request)
{
$outlets = Outlet::all();
$geoJSONdata = $outlets->map(function ($outlet) {
return [
'type' => 'Feature',

2
resources/views/outlets/map.blade.php

@ -33,7 +33,7 @@
attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);
axios.get('{{ route('api.outlets.geojson') }}')
axios.get('{{ route('api.outlets.index') }}')
.then(function (response) {
console.log(response.data);
L.geoJSON(response.data, {

1
routes/api.php

@ -22,5 +22,4 @@ Route::group(['as' => 'api.', 'namespace' => 'Api'], function () {
* Outlets Endpoints
*/
Route::get('outlets', 'OutletController@index')->name('outlets.index');
Route::get('outlets-geojson', 'OutletController@geoJSON')->name('outlets.geojson');
});

23
tests/Feature/Api/OutletListingTest.php

@ -17,10 +17,25 @@ class OutletListingTest extends TestCase
$this->getJson(route('api.outlets.index'));
$this->seeJson([
'name' => $outlet->name,
'address' => $outlet->address,
'coordinate' => $outlet->coordinate,
$this->seeJsonSubset([
'type' => 'FeatureCollection',
'features' => [
[
'type' => 'Feature',
'properties' => [
'name' => $outlet->name,
'address' => $outlet->address,
'coordinate' => $outlet->coordinate,
],
'geometry' => [
'type' => 'Point',
'coordinates' => [
$outlet->longitude,
$outlet->latitude,
],
],
],
],
]);
}
}
Loading…
Cancel
Save