Jump to content

REST API GET Posts Parameter Request


zbahadir

Recommended Posts

I am developing a mobile app.
In addition to the REST API -> Get list of posts, the topic_id parameter is much needed.

I added myself to api / posts.php.

 

		/* Has best answer */
		if ( isset( \IPS\Request::i()->hasBestAnswer ) )
		{
			if ( \IPS\Request::i()->hasBestAnswer )
			{
				$where[] = array( "topic_answered_pid>0" );
			}
			else
			{
				$where[] = array( "topic_answered_pid=0" );
			}
		}

 		/* Topic ID */
		if ( isset( \IPS\Request::i()->topicid ) )
		{
			if ( \IPS\Request::i()->topicid )
			{
				$where[] = array( "topic_id=".\IPS\Request::i()->topicid );
			}
			else
			{
				$where[] = array( "topic_id=".\IPS\Request::i()->topicid );
			}
		}

		/* Archived */
		if ( isset( \IPS\Request::i()->archived ) )

 

Link to comment
Share on other sites

Thank you very much for your interest.
I will have some suggestions. I will make a list.

  • posts like/unlike
  • posts image and file upload api
  • members upload coverPhoto and photo/avatar upload api

 

 

For example. For Forums: response parent_id can be added.I added this:

applications / forums / api / forums.php:

   public function GETindex ()
   {
     / * Init * /
     $ where = array ();

     if (isset (\ IPS \ Request :: i () -> parent))
     {
       if (\ IPS \ Request :: i () -> parent)
       {
         $ where [] = array ("parent_id =". \ IPS \ Request :: i () -> parent);
       }
       else
       {
         $ where [] = array ("parent_id =". \ IPS \ Request :: i () -> parent);
       }
     }

     / * Return new * /
     return $ this -> _ list ($ where, 'forums');

   }

 

and response likes total for post

	public function apiOutput( \IPS\Member $authorizedMember = NULL )
	{
		$idColumn = static::$databaseColumnId;
		$itemColumn = static::$databaseColumnMap['item'];
		return array(
			'id'		=> $this->$idColumn,
			'item_id'	=> $this->$itemColumn,
			'author'	=> $this->author()->apiOutput( $authorizedMember ),
			'date'		=> \IPS\DateTime::ts( $this->mapped('date') )->rfc3339(),
			'content'	=> $this->content(),
			'hidden'	=> (bool) $this->hidden(),
			'url'		=> (string) $this->url(),
			'likes'     => \IPS\Db::i()->select( 'COUNT(*)', 'core_reputation_index', array( 'type_id=?', (int) $this->$itemColumn ) )->first(),
		);
	}

 

I will prepare the missing ones for a mobile application.


Best Regards

 

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...