libkazv
Kazv::Api::GetRelatingEventsWithRelTypeJob Class Reference

Get the child events for a given parent event, with a given relType. More...

#include <relations.hpp>

Inheritance diagram for Kazv::Api::GetRelatingEventsWithRelTypeJob:
Collaboration diagram for Kazv::Api::GetRelatingEventsWithRelTypeJob:

Classes

class  JobResponse
 

Public Member Functions

 GetRelatingEventsWithRelTypeJob (std::string serverUrl, std::string _accessToken, std::string roomId, std::string eventId, std::string relType, std::optional< std::string > from=std::nullopt, std::optional< std::string > to=std::nullopt, std::optional< int > limit=std::nullopt)
 Get the child events for a given parent event, with a given relType. More...
 
GetRelatingEventsWithRelTypeJob withData (JsonWrap j) &&
 
GetRelatingEventsWithRelTypeJob withData (JsonWrap j) const &
 
- Public Member Functions inherited from Kazv::BaseJob
 BaseJob (std::string serverUrl, std::string requestUrl, Method method, std::string jobId, std::string token={}, ReturnType returnType=ReturnType::Json, Body body=EmptyBody{}, Query query={}, Header header={}, std::optional< FileDesc > responseFile=std::nullopt)
 
 ~BaseJob ()
 
bool shouldReturnJson () const
 
std::string url () const
 
Body requestBody () const
 
Header requestHeader () const
 
ReturnType returnType () const
 
Query requestQuery () const
 returns the non-encoded query as an array of pairs More...
 
Method requestMethod () const
 
Response genResponse (Response r) const
 
BaseJob withData (JsonWrap j) &&
 
BaseJob withData (JsonWrap j) const &
 
BaseJob withQueue (std::string id, JobQueuePolicy policy=AlwaysContinue) &&
 
BaseJob withQueue (std::string id, JobQueuePolicy policy=AlwaysContinue) const &
 
json dataJson (const std::string &key) const
 
std::string dataStr (const std::string &key) const
 
std::string jobId () const
 
std::optional< std::string > queueId () const
 
JobQueuePolicy queuePolicy () const
 
std::optional< FileDescresponseFile () const
 

Static Public Member Functions

static constexpr auto needsAuth ()
 
static BaseJob::Query buildQuery (std::optional< std::string > from, std::optional< std::string > to, std::optional< int > limit)
 
static BaseJob::Body buildBody (std::string roomId, std::string eventId, std::string relType, std::optional< std::string > from, std::optional< std::string > to, std::optional< int > limit)
 
- Static Public Member Functions inherited from Kazv::BaseJob
static bool contentTypeMatches (immer::array< std::string > expected, std::string actual)
 

Additional Inherited Members

- Public Types inherited from Kazv::BaseJob
enum  ReturnType { Json, File }
 
using Method = std::variant< Get, Post, Put, Delete >
 
using Body = ::Kazv::Body
 
using BytesBody = ::Kazv::BytesBody
 
using JsonBody = ::Kazv::JsonBody
 
using EmptyBody = ::Kazv::EmptyBody
 
using Header = ::Kazv::Header
 
using Response = ::Kazv::Response
 
- Static Public Attributes inherited from Kazv::BaseJob
static Get GET {}
 
static Post POST {}
 
static Put PUT {}
 
static Delete DELETE {}
 
- Protected Member Functions inherited from Kazv::BaseJob
void attachData (JsonWrap data)
 

Detailed Description

Get the child events for a given parent event, with a given relType.

Retrieve all of the child events for a given parent event which relate to the parent using the given relType.

Note that when paginating the from token should be "after" the to token in terms of topological ordering, because it is only possible to paginate "backwards" through events, starting at from.

For example, passing a from token from page 2 of the results, and a to token from page 1, would return the empty set. The caller can use a from token from page 1 and a to token from page 2 to paginate over the same range, however.

Constructor & Destructor Documentation

◆ GetRelatingEventsWithRelTypeJob()

Kazv::Api::GetRelatingEventsWithRelTypeJob::GetRelatingEventsWithRelTypeJob ( std::string  serverUrl,
std::string  _accessToken,
std::string  roomId,
std::string  eventId,
std::string  relType,
std::optional< std::string >  from = std::nullopt,
std::optional< std::string >  to = std::nullopt,
std::optional< int >  limit = std::nullopt 
)
explicit

Get the child events for a given parent event, with a given relType.

Parameters
roomIdThe ID of the room containing the parent event.
eventIdThe ID of the parent event whose child events are to be returned.
relTypeThe relationship type to search for.
fromThe pagination token to start returning results from. If not supplied, results start at the most recent topological event known to the server.

Can be a next_batch token from a previous call, or a returned start token from /messages, or a next_batch token from /sync.

Parameters
toThe pagination token to stop returning results at. If not supplied, results continue up to limit or until there are no more events.

Like from, this can be a previous token from a prior call to this endpoint or from /messages or /sync.

Parameters
limitThe maximum number of results to return in a single chunk. The server can and should apply a maximum value to this parameter to avoid large responses.

Similarly, the server should apply a default value when not supplied.

Member Function Documentation

◆ buildBody()

BaseJob::Body Kazv::Api::GetRelatingEventsWithRelTypeJob::buildBody ( std::string  roomId,
std::string  eventId,
std::string  relType,
std::optional< std::string >  from,
std::optional< std::string >  to,
std::optional< int >  limit 
)
static

◆ buildQuery()

BaseJob::Query Kazv::Api::GetRelatingEventsWithRelTypeJob::buildQuery ( std::optional< std::string >  from,
std::optional< std::string >  to,
std::optional< int >  limit 
)
static

◆ needsAuth()

static constexpr auto Kazv::Api::GetRelatingEventsWithRelTypeJob::needsAuth ( )
inlinestaticconstexpr

◆ withData() [1/2]

GetRelatingEventsWithRelTypeJob Kazv::Api::GetRelatingEventsWithRelTypeJob::withData ( JsonWrap  j) &&

◆ withData() [2/2]

GetRelatingEventsWithRelTypeJob Kazv::Api::GetRelatingEventsWithRelTypeJob::withData ( JsonWrap  j) const &

The documentation for this class was generated from the following files: