summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/rpc.txt13
-rw-r--r--web/lib/aurjson.class.php14
2 files changed, 17 insertions, 10 deletions
diff --git a/doc/rpc.txt b/doc/rpc.txt
index ee1fa1e..f353ff0 100644
--- a/doc/rpc.txt
+++ b/doc/rpc.txt
@@ -5,11 +5,14 @@ Package Search
--------------
Package searches can be performed by issuing HTTP GET requests of the form
-+/rpc/?v=5&type=search&search_by=_by_&arg=_keywords_+ where _by_ is either
-`name` (search by package name only), `name-desc` (search by package name and
-description) or `maintainer` (search by package maintainer) and _keywords_ is
-the search argument. The _search_by_ parameter can be skipped and defaults to
-`name-desc`.
++/rpc/?v=5&type=search&by=_field_&arg=_keywords_+ where _keywords_ is the
+search argument and _field_ is one of the following values:
+
+* `name` (search by package name only)
+* `name-desc` (search by package name and description)
+* `maintainer` (search by package maintainer)
+
+The _by_ parameter can be skipped and defaults to `name-desc`.
If a maintainer search is performed and the search argument is left empty, a
list of orphan packages is returned.
diff --git a/web/lib/aurjson.class.php b/web/lib/aurjson.class.php
index 2bf2e7a..1548232 100644
--- a/web/lib/aurjson.class.php
+++ b/web/lib/aurjson.class.php
@@ -86,8 +86,12 @@ class AurJSON {
if (!in_array($http_data['type'], self::$exposed_methods)) {
return $this->json_error('Incorrect request type specified.');
}
- if (isset($http_data['search_by']) && !in_array($http_data['search_by'], self::$exposed_fields)) {
- return $this->json_error('Incorrect search_by field specified.');
+
+ if (isset($http_data['search_by']) && !isset($http_data['by'])) {
+ $http_data['by'] = $http_data['search_by'];
+ }
+ if (isset($http_data['by']) && !in_array($http_data['by'], self::$exposed_fields)) {
+ return $this->json_error('Incorrect by field specified.');
}
$this->dbh = DB::connect();
@@ -362,8 +366,8 @@ class AurJSON {
private function search($http_data) {
$keyword_string = $http_data['arg'];
- if (isset($http_data['search_by'])) {
- $search_by = $http_data['search_by'];
+ if (isset($http_data['by'])) {
+ $search_by = $http_data['by'];
} else {
$search_by = 'name-desc';
}
@@ -455,7 +459,7 @@ class AurJSON {
* @return mixed Returns an array of value data containing the package data
*/
private function msearch($http_data) {
- $http_data['search_by'] = 'maintainer';
+ $http_data['by'] = 'maintainer';
return $this->search($http_data);
}