Add support for JSON requests

This commit is contained in:
Jonny Barnes 2016-09-23 16:51:48 +01:00
parent 4133efb8a8
commit 0d1787d69a

View file

@ -16,21 +16,26 @@ class PlaceService
*/ */
public function createPlace(Request $request) public function createPlace(Request $request)
{ {
//well either have latitude and longitude sent together in a if ($request->header('Content-Type') == 'application/json') {
//geo-url (micropub), or seperatley (/admin) $name = $request->input('properties.name');
if ($request->input('geo') !== null) { $description = $request->input('properties.description') ?? null;
$parts = explode(':', $request->input('geo')); $geo = $request->input('properties.geo');
$latlng = explode(',', $parts[1]); } else {
$latitude = $latlng[0]; $name = $request->input('name');
$longitude = $latlng[1]; $description = $request->input('description');
$geo = $request->input('geo');
} }
$parts = explode(':', $geo);
$latlng = explode(',', $parts[1]);
$latitude = $latlng[0];
$longitude = $latlng[1];
if ($request->input('latitude') !== null) { if ($request->input('latitude') !== null) {
$latitude = $request->input('latitude'); $latitude = $request->input('latitude');
$longitude = $request->input('longitude'); $longitude = $request->input('longitude');
} }
$place = new Place(); $place = new Place();
$place->name = $request->input('name'); $place->name = $name;
$place->description = $request->input('description'); $place->description = $description;
$place->location = new Point((float) $latitude, (float) $longitude); $place->location = new Point((float) $latitude, (float) $longitude);
$place->save(); $place->save();