2016-05-13 20:20:21 +00:00
|
|
|
<?php namespace BookStack\Http\Controllers;
|
|
|
|
|
|
|
|
use BookStack\Repos\TagRepo;
|
|
|
|
use Illuminate\Http\Request;
|
|
|
|
|
|
|
|
class TagController extends Controller
|
|
|
|
{
|
|
|
|
|
|
|
|
protected $tagRepo;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* TagController constructor.
|
|
|
|
* @param $tagRepo
|
|
|
|
*/
|
|
|
|
public function __construct(TagRepo $tagRepo)
|
|
|
|
{
|
|
|
|
$this->tagRepo = $tagRepo;
|
2016-12-04 16:51:39 +00:00
|
|
|
parent::__construct();
|
2016-05-13 20:20:21 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Get all the Tags for a particular entity
|
|
|
|
* @param $entityType
|
|
|
|
* @param $entityId
|
2016-12-04 16:51:39 +00:00
|
|
|
* @return \Illuminate\Http\JsonResponse
|
2016-05-13 20:20:21 +00:00
|
|
|
*/
|
|
|
|
public function getForEntity($entityType, $entityId)
|
|
|
|
{
|
|
|
|
$tags = $this->tagRepo->getForEntity($entityType, $entityId);
|
|
|
|
return response()->json($tags);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Get tag name suggestions from a given search term.
|
|
|
|
* @param Request $request
|
2016-12-04 16:51:39 +00:00
|
|
|
* @return \Illuminate\Http\JsonResponse
|
2016-05-13 20:20:21 +00:00
|
|
|
*/
|
|
|
|
public function getNameSuggestions(Request $request)
|
|
|
|
{
|
2017-11-19 15:56:06 +00:00
|
|
|
$searchTerm = $request->get('search', false);
|
2016-05-13 20:20:21 +00:00
|
|
|
$suggestions = $this->tagRepo->getNameSuggestions($searchTerm);
|
|
|
|
return response()->json($suggestions);
|
|
|
|
}
|
|
|
|
|
2016-05-15 19:12:53 +00:00
|
|
|
/**
|
|
|
|
* Get tag value suggestions from a given search term.
|
|
|
|
* @param Request $request
|
2016-12-04 16:51:39 +00:00
|
|
|
* @return \Illuminate\Http\JsonResponse
|
2016-05-15 19:12:53 +00:00
|
|
|
*/
|
|
|
|
public function getValueSuggestions(Request $request)
|
|
|
|
{
|
2017-11-19 15:56:06 +00:00
|
|
|
$searchTerm = $request->get('search', false);
|
|
|
|
$tagName = $request->get('name', false);
|
2016-06-04 13:54:31 +00:00
|
|
|
$suggestions = $this->tagRepo->getValueSuggestions($searchTerm, $tagName);
|
2016-05-15 19:12:53 +00:00
|
|
|
return response()->json($suggestions);
|
|
|
|
}
|
2016-05-13 20:20:21 +00:00
|
|
|
}
|