equal
deleted
inserted
replaced
5 use Illuminate\Http\Request; |
5 use Illuminate\Http\Request; |
6 use CorpusParole\Http\Requests; |
6 use CorpusParole\Http\Requests; |
7 use CorpusParole\Http\Controllers\Controller; |
7 use CorpusParole\Http\Controllers\Controller; |
8 use CorpusParole\Services\LexvoResolverInterface; |
8 use CorpusParole\Services\LexvoResolverInterface; |
9 use CorpusParole\Services\LexvoResolverException; |
9 use CorpusParole\Services\LexvoResolverException; |
|
10 |
|
11 use CorpusParole\Libraries\Filters\CorpusFilterManager; |
|
12 use CorpusParole\Libraries\Utils; |
10 |
13 |
11 class LexvoController extends Controller |
14 class LexvoController extends Controller |
12 { |
15 { |
13 public function __construct(LexvoResolverInterface $lexvoResolver) { |
16 public function __construct(LexvoResolverInterface $lexvoResolver) { |
14 $this->lexvoResolver = $lexvoResolver; |
17 $this->lexvoResolver = $lexvoResolver; |
21 * @return \Illuminate\Http\Response |
24 * @return \Illuminate\Http\Response |
22 */ |
25 */ |
23 public function show($id) |
26 public function show($id) |
24 { |
27 { |
25 try { |
28 try { |
26 return response()->json(['lexvoids' => $this->lexvoResolver->getNames(explode(",", $id))]); |
29 $ids = []; |
|
30 $corpusIds = []; |
|
31 foreach(explode(",", $id) as $idStr) { |
|
32 if(Utils::startsWith($idStr, config('corpusparole.language_corpus_node_prefix'))) { |
|
33 $corpusIds[] = $idStr; |
|
34 } else { |
|
35 $ids[] = $idStr; |
|
36 } |
|
37 } |
|
38 $lexvosNames = $this->lexvoResolver->getNames($ids); |
|
39 $corpusNames = array_reduce($corpusIds, function($res,$cid) { |
|
40 $cNode = CorpusFilterManager::getLanguageNode($cid); |
|
41 if(is_null($cNode)) { |
|
42 $res[$cid] = null; |
|
43 } else { |
|
44 $res[$cid] = $cNode['name']; |
|
45 } |
|
46 return $res; |
|
47 }, []); |
|
48 return response()->json(['lexvoids' => array_merge($lexvosNames, $corpusNames)]); |
27 } catch (LexvoResolverException $e) { |
49 } catch (LexvoResolverException $e) { |
28 abort(500, $e->getMessage()); |
50 abort(500, $e->getMessage()); |
29 } |
51 } |
30 } |
52 } |
31 |
53 |