diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php index 74a03f6d51..ae6eef9c8c 100644 --- a/src/__phutil_library_map__.php +++ b/src/__phutil_library_map__.php @@ -112,6 +112,7 @@ phutil_register_library_map(array( 'ConduitAPI_conduit_connect_Method' => 'applications/conduit/method/ConduitAPI_conduit_connect_Method.php', 'ConduitAPI_conduit_getcertificate_Method' => 'applications/conduit/method/ConduitAPI_conduit_getcertificate_Method.php', 'ConduitAPI_conduit_ping_Method' => 'applications/conduit/method/ConduitAPI_conduit_ping_Method.php', + 'ConduitAPI_conduit_query_Method' => 'applications/conduit/method/ConduitAPI_conduit_query_Method.php', 'ConduitAPI_daemon_launched_Method' => 'applications/daemon/conduit/ConduitAPI_daemon_launched_Method.php', 'ConduitAPI_daemon_log_Method' => 'applications/daemon/conduit/ConduitAPI_daemon_log_Method.php', 'ConduitAPI_daemon_setstatus_Method' => 'applications/daemon/conduit/ConduitAPI_daemon_setstatus_Method.php', @@ -1550,6 +1551,7 @@ phutil_register_library_map(array( 'ConduitAPI_conduit_connect_Method' => 'ConduitAPIMethod', 'ConduitAPI_conduit_getcertificate_Method' => 'ConduitAPIMethod', 'ConduitAPI_conduit_ping_Method' => 'ConduitAPIMethod', + 'ConduitAPI_conduit_query_Method' => 'ConduitAPIMethod', 'ConduitAPI_daemon_launched_Method' => 'ConduitAPIMethod', 'ConduitAPI_daemon_log_Method' => 'ConduitAPIMethod', 'ConduitAPI_daemon_setstatus_Method' => 'ConduitAPIMethod', diff --git a/src/applications/conduit/method/ConduitAPI_conduit_query_Method.php b/src/applications/conduit/method/ConduitAPI_conduit_query_Method.php new file mode 100644 index 0000000000..4c64884f1b --- /dev/null +++ b/src/applications/conduit/method/ConduitAPI_conduit_query_Method.php @@ -0,0 +1,41 @@ +'; + } + + public function defineErrorTypes() { + return array(); + } + + protected function execute(ConduitAPIRequest $request) { + $classes = id(new PhutilSymbolLoader()) + ->setAncestorClass('ConduitAPIMethod') + ->setType('class') + ->setConcreteOnly(true) + ->selectSymbolsWithoutLoading(); + + $names_to_params = array(); + foreach ($classes as $class) { + $method_name = $class["name"]; + $obj = newv($method_name, array()); + $names_to_params[$this->getAPIMethodNameFromClassName($method_name)] = + array("params" => $obj->defineParamTypes()); + } + return $names_to_params; + } + +}