libkazv
Kazv::Api::GetSpaceHierarchyJob Class Reference

Retrieve a portion of a space tree. More...

#include <space_hierarchy.hpp>

Inheritance diagram for Kazv::Api::GetSpaceHierarchyJob:
Collaboration diagram for Kazv::Api::GetSpaceHierarchyJob:

Classes

struct  ChildRoomsChunk
 Paginates over the space tree in a depth-first manner to locate child rooms of a given space. More...
 
class  JobResponse
 
struct  StrippedChildStateEvent
 Paginates over the space tree in a depth-first manner to locate child rooms of a given space. More...
 

Public Member Functions

 GetSpaceHierarchyJob (std::string serverUrl, std::string _accessToken, std::string roomId, std::optional< bool > suggestedOnly=std::nullopt, std::optional< int > limit=std::nullopt, std::optional< int > maxDepth=std::nullopt, std::optional< std::string > from=std::nullopt)
 Retrieve a portion of a space tree. More...
 
GetSpaceHierarchyJob withData (JsonWrap j) &&
 
GetSpaceHierarchyJob 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< bool > suggestedOnly, std::optional< int > limit, std::optional< int > maxDepth, std::optional< std::string > from)
 
static BaseJob::Body buildBody (std::string roomId, std::optional< bool > suggestedOnly, std::optional< int > limit, std::optional< int > maxDepth, std::optional< std::string > from)
 
- 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

Retrieve a portion of a space tree.

Paginates over the space tree in a depth-first manner to locate child rooms of a given space.

Where a child room is unknown to the local server, federation is used to fill in the details. The servers listed in the via array should be contacted to attempt to fill in missing rooms.

Only m.space.child state events of the room are considered. Invalid child rooms and parent events are not covered by this endpoint.

Constructor & Destructor Documentation

◆ GetSpaceHierarchyJob()

Kazv::Api::GetSpaceHierarchyJob::GetSpaceHierarchyJob ( std::string  serverUrl,
std::string  _accessToken,
std::string  roomId,
std::optional< bool >  suggestedOnly = std::nullopt,
std::optional< int >  limit = std::nullopt,
std::optional< int >  maxDepth = std::nullopt,
std::optional< std::string >  from = std::nullopt 
)
explicit

Retrieve a portion of a space tree.

Parameters
roomIdThe room ID of the space to get a hierarchy for.
suggestedOnlyOptional (default false) flag to indicate whether or not the server should only consider suggested rooms. Suggested rooms are annotated in their m.space.child event contents.
limitOptional limit for the maximum number of rooms to include per response. Must be an integer greater than zero.

Servers should apply a default value, and impose a maximum value to avoid resource exhaustion.

Parameters
maxDepthOptional limit for how far to go into the space. Must be a non-negative integer.

When reached, no further child rooms will be returned.

Servers should apply a default value, and impose a maximum value to avoid resource exhaustion.

Parameters
fromA pagination token from a previous result. If specified, max_depth and suggested_only cannot be changed from the first request.

Member Function Documentation

◆ buildBody()

BaseJob::Body Kazv::Api::GetSpaceHierarchyJob::buildBody ( std::string  roomId,
std::optional< bool >  suggestedOnly,
std::optional< int >  limit,
std::optional< int >  maxDepth,
std::optional< std::string >  from 
)
static

◆ buildQuery()

BaseJob::Query Kazv::Api::GetSpaceHierarchyJob::buildQuery ( std::optional< bool >  suggestedOnly,
std::optional< int >  limit,
std::optional< int >  maxDepth,
std::optional< std::string >  from 
)
static

◆ needsAuth()

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

◆ withData() [1/2]

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

◆ withData() [2/2]

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

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