Skip to content
Snippets Groups Projects
Commit a7e86e0b authored by Guillaume Heurtier's avatar Guillaume Heurtier
Browse files

FEAT #11277 TIME 2:30 Added route for autocomplete tags

parent ab035784
No related branches found
No related tags found
No related merge requests found
...@@ -87,6 +87,7 @@ $app->get('/autocomplete/entities', \SrcCore\controllers\AutoCompleteController: ...@@ -87,6 +87,7 @@ $app->get('/autocomplete/entities', \SrcCore\controllers\AutoCompleteController:
$app->get('/autocomplete/statuses', \SrcCore\controllers\AutoCompleteController::class . ':getStatuses'); $app->get('/autocomplete/statuses', \SrcCore\controllers\AutoCompleteController::class . ':getStatuses');
$app->get('/autocomplete/banAddresses', \SrcCore\controllers\AutoCompleteController::class . ':getBanAddresses'); $app->get('/autocomplete/banAddresses', \SrcCore\controllers\AutoCompleteController::class . ':getBanAddresses');
$app->get('/autocomplete/folders', \SrcCore\controllers\AutoCompleteController::class . ':getFolders'); $app->get('/autocomplete/folders', \SrcCore\controllers\AutoCompleteController::class . ':getFolders');
$app->get('/autocomplete/tags', \SrcCore\controllers\AutoCompleteController::class . ':getTags');
//Baskets //Baskets
$app->get('/baskets', \Basket\controllers\BasketController::class . ':get'); $app->get('/baskets', \Basket\controllers\BasketController::class . ':get');
......
...@@ -27,6 +27,7 @@ use SrcCore\models\DatabaseModel; ...@@ -27,6 +27,7 @@ use SrcCore\models\DatabaseModel;
use SrcCore\models\TextFormatModel; use SrcCore\models\TextFormatModel;
use SrcCore\models\ValidatorModel; use SrcCore\models\ValidatorModel;
use Status\models\StatusModel; use Status\models\StatusModel;
use Tag\models\TagModel;
use User\models\UserModel; use User\models\UserModel;
use Folder\models\FolderModel; use Folder\models\FolderModel;
use Folder\controllers\FolderController; use Folder\controllers\FolderController;
...@@ -704,4 +705,39 @@ class AutoCompleteController ...@@ -704,4 +705,39 @@ class AutoCompleteController
}; };
return $response->withJson(array_map($getFomatedFolders, $selectedFolders)); return $response->withJson(array_map($getFomatedFolders, $selectedFolders));
} }
public static function getTags(Request $request, Response $response)
{
$data = $request->getQueryParams();
$check = Validator::stringType()->notEmpty()->validate($data['search']);
if (!$check) {
return $response->withStatus(400)->withJson(['errors' => 'Bad Request']);
}
$requestData = AutoCompleteController::getDataForRequest([
'search' => $data['search'],
'fields' => '(tag_label ilike ?)',
'where' => ['1 = ?'],
'data' => ['1'],
'fieldsNumber' => 1,
]);
$tags = TagModel::get([
'select' => ['tag_id', 'tag_label'],
'where' => $requestData['where'],
'data' => $requestData['data'],
'orderBy' => ['tag_label'],
'limit' => self::LIMIT
]);
$data = [];
foreach ($tags as $value) {
$data[] = [
'id' => $value['tag_id'],
'idToDisplay' => $value['tag_label']
];
}
return $response->withJson($data);
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment