Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/fulltextsearch.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Controller/ApiController.php')
-rw-r--r--lib/Controller/ApiController.php58
1 files changed, 23 insertions, 35 deletions
diff --git a/lib/Controller/ApiController.php b/lib/Controller/ApiController.php
index e5a2ca5..2b3ff55 100644
--- a/lib/Controller/ApiController.php
+++ b/lib/Controller/ApiController.php
@@ -1,4 +1,7 @@
<?php
+declare(strict_types=1);
+
+
/**
* FullTextSearch - Full text search framework for Nextcloud
*
@@ -24,8 +27,11 @@
*
*/
+
namespace OCA\FullTextSearch\Controller;
+
+use daita\MySmallPhpTools\Traits\TNCDataResponse;
use Exception;
use OCA\FullTextSearch\AppInfo\Application;
use OCA\FullTextSearch\Model\SearchRequest;
@@ -33,12 +39,21 @@ use OCA\FullTextSearch\Service\ConfigService;
use OCA\FullTextSearch\Service\MiscService;
use OCA\FullTextSearch\Service\SearchService;
use OCP\AppFramework\Controller;
-use OCP\AppFramework\Http;
use OCP\AppFramework\Http\DataResponse;
use OCP\IRequest;
+
+/**
+ * Class ApiController
+ *
+ * @package OCA\FullTextSearch\Controller
+ */
class ApiController extends Controller {
+
+ use TNCDataResponse;
+
+
/** @var SearchService */
private $searchService;
@@ -76,7 +91,7 @@ class ApiController extends Controller {
*
* @return DataResponse
*/
- public function search($request) {
+ public function search(string $request): DataResponse {
return $this->searchDocuments(SearchRequest::fromJSON($request));
}
@@ -90,7 +105,7 @@ class ApiController extends Controller {
*
* @return DataResponse
*/
- public function searchFromRemote($request) {
+ public function searchFromRemote(string $request): DataResponse {
return $this->searchDocuments(SearchRequest::fromJSON($request));
}
@@ -100,54 +115,27 @@ class ApiController extends Controller {
*
* @return DataResponse
*/
- private function searchDocuments(SearchRequest $request) {
+ private function searchDocuments(SearchRequest $request): DataResponse {
try {
- $result = $this->searchService->search(null, $request);
+ $result = $this->searchService->search('', $request);
return $this->success(
+ $result,
[
'request' => $request,
- 'result' => $result,
'version' => $this->configService->getAppValue('installed_version')
]
);
} catch (Exception $e) {
return $this->fail(
+ $e->getMessage(),
[
'request' => $request,
- 'error' => $e->getMessage(),
'version' => $this->configService->getAppValue('installed_version')
]
);
}
}
+}
- /**
- * @param $data
- *
- * @return DataResponse
- */
- protected function fail($data) {
- $this->miscService->log(json_encode($data));
-
- return new DataResponse(
- array_merge($data, array('status' => 0)),
- Http::STATUS_NON_AUTHORATIVE_INFORMATION
- );
- }
-
-
- /**
- * @param $data
- *
- * @return DataResponse
- */
- protected function success($data) {
- return new DataResponse(
- array_merge($data, array('status' => 1)),
- Http::STATUS_CREATED
- );
- }
-
-} \ No newline at end of file