mirror of
https://we.phorge.it/source/phorge.git
synced 2025-02-18 17:58:37 +01:00
[easy] Add support for fetching all packages to owners.query
Summary: as title Test Plan: tested without params. Tested with single known path Reviewers: epriestley, vrana, nh Reviewed By: epriestley CC: aran, Korvin Differential Revision: https://secure.phabricator.com/D3139
This commit is contained in:
parent
9b8a2cbf51
commit
48806b5e3e
1 changed files with 10 additions and 3 deletions
|
@ -54,6 +54,10 @@ final class ConduitAPI_owners_query_Method
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected static function queryAll() {
|
||||||
|
return id(new PhabricatorOwnersPackage())->loadAll();
|
||||||
|
}
|
||||||
|
|
||||||
protected static function queryByOwner($owner) {
|
protected static function queryByOwner($owner) {
|
||||||
$is_valid_phid =
|
$is_valid_phid =
|
||||||
phid_get_type($owner) == PhabricatorPHIDConstants::PHID_TYPE_USER ||
|
phid_get_type($owner) == PhabricatorPHIDConstants::PHID_TYPE_USER ||
|
||||||
|
@ -152,8 +156,11 @@ final class ConduitAPI_owners_query_Method
|
||||||
$path = $request->getValue('path');
|
$path = $request->getValue('path');
|
||||||
$is_path_query = ($repo && $path) ? 1 : 0;
|
$is_path_query = ($repo && $path) ? 1 : 0;
|
||||||
|
|
||||||
// exactly one of these should be provided
|
if ($is_owner_query + $is_path_query + $is_affiliated_query === 0) {
|
||||||
if ($is_owner_query + $is_path_query + $is_affiliated_query !== 1) {
|
// if no search terms are provided, return everything
|
||||||
|
$packages = self::queryAll();
|
||||||
|
} else if ($is_owner_query + $is_path_query + $is_affiliated_query > 1) {
|
||||||
|
// otherwise, exactly one of these should be provided
|
||||||
throw new ConduitException('ERR-INVALID-USAGE');
|
throw new ConduitException('ERR-INVALID-USAGE');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -168,7 +175,7 @@ final class ConduitAPI_owners_query_Method
|
||||||
|
|
||||||
$packages = self::queryByOwner($owner);
|
$packages = self::queryByOwner($owner);
|
||||||
|
|
||||||
} else {
|
} else if ($is_path_query) {
|
||||||
$packages = self::queryByPath($repo, $path);
|
$packages = self::queryByPath($repo, $path);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue