1<?php 2 3declare(strict_types=1); 4 5/** 6 * @author Christoph Wurst <christoph@winzerhof-wurst.at> 7 * 8 * Mail 9 * 10 * This code is free software: you can redistribute it and/or modify 11 * it under the terms of the GNU Affero General Public License, version 3, 12 * as published by the Free Software Foundation. 13 * 14 * This program is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 * GNU Affero General Public License for more details. 18 * 19 * You should have received a copy of the GNU Affero General Public License, version 3, 20 * along with this program. If not, see <http://www.gnu.org/licenses/> 21 * 22 */ 23 24namespace OCA\Mail\Controller; 25 26use OCA\Mail\Service\AutoCompletion\AutoCompleteService; 27use OCP\AppFramework\Controller; 28use OCP\AppFramework\Http\JSONResponse; 29use OCP\IRequest; 30 31class AutoCompleteController extends Controller { 32 33 /** @var AutoCompleteService */ 34 private $service; 35 36 public function __construct(string $appName, 37 IRequest $request, 38 AutoCompleteService $service) { 39 parent::__construct($appName, $request); 40 41 $this->service = $service; 42 } 43 44 /** 45 * @NoAdminRequired 46 * @TrapError 47 * 48 * @param string $term 49 * @return JSONResponse 50 */ 51 public function index(string $term): JSONResponse { 52 return new JSONResponse($this->service->findMatches($term)); 53 } 54} 55