Page MenuHomePhabricator

D8068.diff
No OneTemporary

D8068.diff

Index: src/applications/repository/conduit/ConduitAPI_repository_query_Method.php
===================================================================
--- src/applications/repository/conduit/ConduitAPI_repository_query_Method.php
+++ src/applications/repository/conduit/ConduitAPI_repository_query_Method.php
@@ -1,8 +1,5 @@
<?php
-/**
- * @group conduit
- */
final class ConduitAPI_repository_query_Method
extends ConduitAPI_repository_Method {
@@ -11,15 +8,19 @@
}
public function getMethodStatusDescription() {
- return "Repository methods are new and subject to change.";
+ return pht("Repository methods are new and subject to change.");
}
public function getMethodDescription() {
- return "Query repositories.";
+ return pht("Query repositories.");
}
public function defineParamTypes() {
return array(
+ 'ids' => 'optional list<int>',
+ 'phids' => 'optional list<phid>',
+ 'callsigns' => 'optional list<string>',
+ 'vcsTypes' => 'optional list<string>',
);
}
@@ -33,9 +34,30 @@
}
protected function execute(ConduitAPIRequest $request) {
- $repositories = id(new PhabricatorRepositoryQuery())
- ->setViewer($request->getUser())
- ->execute();
+ $query = id(new PhabricatorRepositoryQuery())
+ ->setViewer($request->getUser());
+
+ $ids = $request->getValue('ids', array());
+ if ($ids) {
+ $query->withIDs($ids);
+ }
+
+ $phids = $request->getValue('phids', array());
+ if ($phids) {
+ $query->withPHIDs($phids);
+ }
+
+ $callsigns = $request->getValue('callsigns', array());
+ if ($callsigns) {
+ $query->withCallsigns($callsigns);
+ }
+
+ $vcs_types = $request->getValue('vcsTypes', array());
+ if ($vcs_types) {
+ $query->withTypes($vcs_types);
+ }
+
+ $repositories = $query->execute();
$results = array();
foreach ($repositories as $repository) {
Index: src/applications/repository/storage/PhabricatorRepository.php
===================================================================
--- src/applications/repository/storage/PhabricatorRepository.php
+++ src/applications/repository/storage/PhabricatorRepository.php
@@ -77,17 +77,25 @@
public function toDictionary() {
return array(
+ 'id' => $this->getID(),
'name' => $this->getName(),
'phid' => $this->getPHID(),
'callsign' => $this->getCallsign(),
+ 'monogram' => $this->getMonogram(),
'vcs' => $this->getVersionControlSystem(),
'uri' => PhabricatorEnv::getProductionURI($this->getURI()),
'remoteURI' => (string)$this->getRemoteURI(),
- 'tracking' => $this->getDetail('tracking-enabled'),
'description' => $this->getDetail('description'),
+ 'isActive' => $this->isTracked(),
+ 'isHosted' => $this->isHosted(),
+ 'isImporting' => $this->isImporting(),
);
}
+ public function getMonogram() {
+ return 'r'.$this->getCallsign();
+ }
+
public function getDetail($key, $default = null) {
return idx($this->details, $key, $default);
}

File Metadata

Mime Type
text/plain
Expires
Wed, May 15, 6:19 AM (3 w, 2 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
6296099
Default Alt Text
D8068.diff (3 KB)

Event Timeline