[ Index ] |
PHP Cross Reference of Phabricator |
[Summary view] [Print] [Text view]
1 <?php 2 3 final class UserQueryConduitAPIMethod extends UserConduitAPIMethod { 4 5 public function getAPIMethodName() { 6 return 'user.query'; 7 } 8 9 public function getMethodDescription() { 10 return 'Query users.'; 11 } 12 13 public function defineParamTypes() { 14 return array( 15 'usernames' => 'optional list<string>', 16 'emails' => 'optional list<string>', 17 'realnames' => 'optional list<string>', 18 'phids' => 'optional list<phid>', 19 'ids' => 'optional list<uint>', 20 'offset' => 'optional int', 21 'limit' => 'optional int (default = 100)', 22 ); 23 } 24 25 public function defineReturnType() { 26 return 'list<dict>'; 27 } 28 29 public function defineErrorTypes() { 30 return array( 31 'ERR-INVALID-PARAMETER' => 'Missing or malformed parameter.', 32 ); 33 } 34 35 protected function execute(ConduitAPIRequest $request) { 36 $usernames = $request->getValue('usernames', array()); 37 $emails = $request->getValue('emails', array()); 38 $realnames = $request->getValue('realnames', array()); 39 $phids = $request->getValue('phids', array()); 40 $ids = $request->getValue('ids', array()); 41 $offset = $request->getValue('offset', 0); 42 $limit = $request->getValue('limit', 100); 43 44 $query = new PhabricatorPeopleQuery(); 45 $query->setViewer($request->getUser()); 46 47 if ($usernames) { 48 $query->withUsernames($usernames); 49 } 50 if ($emails) { 51 $query->withEmails($emails); 52 } 53 if ($realnames) { 54 $query->withRealnames($realnames); 55 } 56 if ($phids) { 57 $query->withPHIDs($phids); 58 } 59 if ($ids) { 60 $query->withIDs($ids); 61 } 62 if ($limit) { 63 $query->setLimit($limit); 64 } 65 if ($offset) { 66 $query->setOffset($offset); 67 } 68 $users = $query->execute(); 69 70 $statuses = id(new PhabricatorCalendarEvent())->loadCurrentStatuses( 71 mpull($users, 'getPHID')); 72 73 $results = array(); 74 foreach ($users as $user) { 75 $results[] = $this->buildUserInformationDictionary( 76 $user, 77 idx($statuses, $user->getPHID())); 78 } 79 return $results; 80 } 81 82 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Sun Nov 30 09:20:46 2014 | Cross-referenced by PHPXref 0.7.1 |