Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F78176
D7478.diff
All Users
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
7 KB
Referenced Files
None
Subscribers
None
D7478.diff
View Options
diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php
--- a/src/__phutil_library_map__.php
+++ b/src/__phutil_library_map__.php
@@ -195,6 +195,9 @@
'ConduitAPI_paste_create_Method' => 'applications/paste/conduit/ConduitAPI_paste_create_Method.php',
'ConduitAPI_paste_info_Method' => 'applications/paste/conduit/ConduitAPI_paste_info_Method.php',
'ConduitAPI_paste_query_Method' => 'applications/paste/conduit/ConduitAPI_paste_query_Method.php',
+ 'ConduitAPI_phame_Method' => 'applications/phame/conduit/ConduitAPI_phame_Method.php',
+ 'ConduitAPI_phame_query_Method' => 'applications/phame/conduit/ConduitAPI_phame_query_Method.php',
+ 'ConduitAPI_phame_queryposts_Method' => 'applications/phame/conduit/ConduitAPI_phame_queryposts_Method.php',
'ConduitAPI_phid_Method' => 'applications/phid/conduit/ConduitAPI_phid_Method.php',
'ConduitAPI_phid_info_Method' => 'applications/phid/conduit/ConduitAPI_phid_info_Method.php',
'ConduitAPI_phid_lookup_Method' => 'applications/phid/conduit/ConduitAPI_phid_lookup_Method.php',
@@ -2406,6 +2409,9 @@
'ConduitAPI_paste_create_Method' => 'ConduitAPI_paste_Method',
'ConduitAPI_paste_info_Method' => 'ConduitAPI_paste_Method',
'ConduitAPI_paste_query_Method' => 'ConduitAPI_paste_Method',
+ 'ConduitAPI_phame_Method' => 'ConduitAPIMethod',
+ 'ConduitAPI_phame_query_Method' => 'ConduitAPI_phame_Method',
+ 'ConduitAPI_phame_queryposts_Method' => 'ConduitAPI_phame_Method',
'ConduitAPI_phid_Method' => 'ConduitAPIMethod',
'ConduitAPI_phid_info_Method' => 'ConduitAPI_phid_Method',
'ConduitAPI_phid_lookup_Method' => 'ConduitAPI_phid_Method',
diff --git a/src/applications/phame/conduit/ConduitAPI_phame_Method.php b/src/applications/phame/conduit/ConduitAPI_phame_Method.php
new file mode 100644
--- /dev/null
+++ b/src/applications/phame/conduit/ConduitAPI_phame_Method.php
@@ -0,0 +1,12 @@
+<?php
+
+/**
+ * @group conduit
+ */
+abstract class ConduitAPI_phame_Method extends ConduitAPIMethod {
+
+ public function getApplication() {
+ return PhabricatorApplication::getByClass('PhabricatorApplicationPhame');
+ }
+
+}
diff --git a/src/applications/phame/conduit/ConduitAPI_phame_query_Method.php b/src/applications/phame/conduit/ConduitAPI_phame_query_Method.php
new file mode 100644
--- /dev/null
+++ b/src/applications/phame/conduit/ConduitAPI_phame_query_Method.php
@@ -0,0 +1,84 @@
+<?php
+
+/**
+ * @group conduit
+ */
+final class ConduitAPI_phame_query_Method extends ConduitAPI_phame_Method {
+
+ public function getMethodDescription() {
+ return "Query phame blogs.";
+ }
+
+ public function getMethodStatus() {
+ return self::METHOD_STATUS_UNSTABLE;
+ }
+
+ public function defineParamTypes() {
+ return array(
+ 'ids' => 'optional list<int>',
+ 'phids' => 'optional list<phid>',
+ 'after' => 'optional int',
+ 'before' => 'optional int',
+ 'limit' => 'optional int',
+ );
+ }
+
+ public function defineReturnType() {
+ return 'list<dict>';
+ }
+
+ public function defineErrorTypes() {
+ return array(
+ );
+ }
+
+ protected function execute(ConduitAPIRequest $request) {
+
+ $query = new PhameBlogQuery();
+
+ $query->setViewer($request->getUser());
+
+ $ids = $request->getValue('ids', array());
+ if ($ids) {
+ $query->withIDs($ids);
+ }
+
+ $phids = $request->getValue('phids', array());
+ if ($phids) {
+ $query->withPHIDs($phids);
+ }
+
+ $after = $request->getValue('after', null);
+ if ($after !== null) {
+ $query->setAfterID($after);
+ }
+
+ $before = $request->getValue('before', null);
+ if ($before !== null) {
+ $query->setBeforeID($before);
+ }
+
+ $limit = $request->getValue('limit', null);
+ if ($limit !== null) {
+ $query->setLimit($limit);
+ }
+
+ $blogs = $query->execute();
+
+ $results = array();
+ foreach ($blogs as $blog) {
+ $results[] = array(
+ 'id' => $blog->getID(),
+ 'phid' => $blog->getPHID(),
+ 'name' => $blog->getName(),
+ 'description' => $blog->getDescription(),
+ 'domain' => $blog->getDomain(),
+ 'creatorPHID' => $blog->getCreatorPHID(),
+ );
+ }
+
+ return $results;
+ }
+
+
+}
diff --git a/src/applications/phame/conduit/ConduitAPI_phame_queryposts_Method.php b/src/applications/phame/conduit/ConduitAPI_phame_queryposts_Method.php
new file mode 100644
--- /dev/null
+++ b/src/applications/phame/conduit/ConduitAPI_phame_queryposts_Method.php
@@ -0,0 +1,121 @@
+<?php
+
+/**
+ * @group conduit
+ */
+final class ConduitAPI_phame_queryposts_Method extends ConduitAPI_phame_Method {
+
+ public function getMethodDescription() {
+ return "Query phame posts.";
+ }
+
+ public function getMethodStatus() {
+ return self::METHOD_STATUS_UNSTABLE;
+ }
+
+ public function defineParamTypes() {
+ return array(
+ 'ids' => 'optional list<int>',
+ 'phids' => 'optional list<phid>',
+ 'blogPHIDs' => 'optional list<phid>',
+ 'bloggerPHIDs' => 'optional list<phid>',
+ 'phameTitles' => 'optional list<string>',
+ 'published' => 'optional bool',
+ 'publishedAfter' => 'optional date',
+ 'before' => 'optional int',
+ 'after' => 'optional int',
+ 'limit' => 'optional int',
+ );
+ }
+
+ public function defineReturnType() {
+ return 'list<dict>';
+ }
+
+ public function defineErrorTypes() {
+ return array(
+ );
+ }
+
+ protected function execute(ConduitAPIRequest $request) {
+
+ $query = new PhamePostQuery();
+
+ $query->setViewer($request->getUser());
+
+ $ids = $request->getValue('ids', array());
+ if ($ids) {
+ $query->withIDs($ids);
+ }
+
+ $phids = $request->getValue('phids', array());
+ if ($phids) {
+ $query->withPHIDs($phids);
+ }
+
+ $blog_phids = $request->getValue('blogPHIDs', array());
+ if ($blog_phids) {
+ $query->withBlogPHIDs($blog_phids);
+ }
+
+ $blogger_phids = $request->getValue('bloggerPHIDs', array());
+ if ($blogger_phids) {
+ $query->withBloggerPHIDs($blogger_phids);
+ }
+
+ $phame_titles = $request->getValue('phameTitles', array());
+ if ($phame_titles) {
+ $query->withPhameTitles($phame_titles);
+ }
+
+ $published = $request->getValue('published', null);
+ if ($published === true) {
+ $query->withVisibility(PhamePost::VISIBILITY_PUBLISHED);
+ } else if ($published === false) {
+ $query->withVisibility(PhamePost::VISIBILITY_DRAFT);
+ }
+
+ $published_after = $request->getValue('publishedAfter', null);
+ if ($published_after !== null) {
+ $query->withPublishedAfter($published_after);
+ }
+
+ $after = $request->getValue('after', null);
+ if ($after !== null) {
+ $query->setAfterID($after);
+ }
+
+ $before = $request->getValue('before', null);
+ if ($before !== null) {
+ $query->setBeforeID($before);
+ }
+
+ $limit = $request->getValue('limit', null);
+ if ($limit !== null) {
+ $query->setLimit($limit);
+ }
+
+ $blogs = $query->execute();
+
+ $results = array();
+ foreach ($blogs as $blog) {
+ $results[] = array(
+ 'id' => $blog->getID(),
+ 'phid' => $blog->getPHID(),
+ 'blogPHID' => $blog->getBlogPHID(),
+ 'bloggerPHID' => $blog->getBloggerPHID(),
+ 'viewURI' => $blog->getViewURI(),
+ 'title' => $blog->getTitle(),
+ 'phameTitle' => $blog->getPhameTitle(),
+ 'body' => $blog->getBody(),
+ 'summary' => PhabricatorMarkupEngine::summarize($blog->getBody()),
+ 'datePublished' => $blog->getDatePublished(),
+ 'published' => !$blog->isDraft(),
+ );
+ }
+
+ return $results;
+ }
+
+
+}
File Metadata
Details
Attached
Mime Type
text/x-diff
Storage Engine
amazon-s3
Storage Format
Raw Data
Storage Handle
phabricator/b5/ux/gzqpmnsurik7uar3
Default Alt Text
D7478.diff (7 KB)
Attached To
Mode
D7478: Add phame.queryblog and phame.querypost Conduit calls.
Attached
Detach File
Event Timeline
Log In to Comment