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