libkazv
Kazv::Api::GetRoomEventsJob Class Reference

Get a list of events for this room. More...

#include <message_pagination.hpp>

Inheritance diagram for Kazv::Api::GetRoomEventsJob:
Collaboration diagram for Kazv::Api::GetRoomEventsJob:

Classes

class  JobResponse
 

Public Member Functions

 GetRoomEventsJob (std::string serverUrl, std::string _accessToken, std::string roomId, std::string dir, std::optional< std::string > from=std::nullopt, std::optional< std::string > to=std::nullopt, std::optional< int > limit=std::nullopt, std::optional< std::string > filter=std::nullopt)
 Get a list of events for this room. More...
 
GetRoomEventsJob withData (JsonWrap j) &&
 
GetRoomEventsJob 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::string dir, std::optional< int > limit, std::optional< std::string > filter)
 
static BaseJob::Body buildBody (std::string roomId, std::string dir, std::optional< std::string > from, std::optional< std::string > to, std::optional< int > limit, std::optional< std::string > filter)
 
- 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 a list of events for this room.

This API returns a list of message and state events for a room. It uses pagination query parameters to paginate history in the room.

Note: This endpoint supports lazy-loading of room member events. See Lazy-loading room members for more information.

Constructor & Destructor Documentation

◆ GetRoomEventsJob()

Kazv::Api::GetRoomEventsJob::GetRoomEventsJob ( std::string  serverUrl,
std::string  _accessToken,
std::string  roomId,
std::string  dir,
std::optional< std::string >  from = std::nullopt,
std::optional< std::string >  to = std::nullopt,
std::optional< int >  limit = std::nullopt,
std::optional< std::string >  filter = std::nullopt 
)
explicit

Get a list of events for this room.

Parameters
roomIdThe room to get events from.
dirThe direction to return events from. If this is set to f, events will be returned in chronological order starting at from. If it is set to b, events will be returned in reverse chronological order, again starting at from.
fromThe token to start returning events from. This token can be obtained from a prev_batch or next_batch token returned by the /sync endpoint, or from an end token returned by a previous request to this endpoint.

This endpoint can also accept a value returned as a start token by a previous request to this endpoint, though servers are not required to support this. Clients should not rely on the behaviour.

If it is not provided, the homeserver shall return a list of messages from the first or last (per the value of the dir parameter) visible event in the room history for the requesting user.

Parameters
toThe token to stop returning events at. This token can be obtained from a prev_batch or next_batch token returned by the /sync endpoint, or from an end token returned by a previous request to this endpoint.
limitThe maximum number of events to return. Default: 10.
filterA JSON RoomEventFilter to filter returned events with.

Member Function Documentation

◆ buildBody()

BaseJob::Body Kazv::Api::GetRoomEventsJob::buildBody ( std::string  roomId,
std::string  dir,
std::optional< std::string >  from,
std::optional< std::string >  to,
std::optional< int >  limit,
std::optional< std::string >  filter 
)
static

◆ buildQuery()

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

◆ needsAuth()

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

◆ withData() [1/2]

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

◆ withData() [2/2]

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

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