server/src/app/Http/Controllers/Api/GeonamesController.php
author ymh <ymh.work@gmail.com>
Tue, 27 Sep 2016 23:43:29 +0200
changeset 304 20071981ba2a
permissions -rw-r--r--
add location and geonames resolvers and api
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
304
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
<?php
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
namespace CorpusParole\Http\Controllers\Api;
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
use Illuminate\Http\Request;
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
use CorpusParole\Http\Requests;
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
use CorpusParole\Http\Controllers\Controller;
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
use CorpusParole\Services\GeonamesResolverInterface;
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
use CorpusParole\Services\GeonamesResolverException;
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
class GeonamesController extends Controller
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
{
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
    public function __construct(GeonamesResolverInterface $geonamesResolver) {
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
        $this->geonamesResolver = $geonamesResolver;
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
    }
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
    /**
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
     * Display the specified resource.
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
     *
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
     * @param  int  $id od comma separatedlist of ids
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
     * @return \Illuminate\Http\Response
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
     */
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
    public function show($id)
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
    {
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
        try {
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
            return response()->json(['geonamesids' => $this->geonamesResolver->getLabels(explode(",", $id))]);
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
        } catch (GeonamesResolverException $e) {
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
            abort($e->getCode(), $e->getMessage());
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
        }
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
    }
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
20071981ba2a add location and geonames resolvers and api
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
}