libkazv
Kazv::Api::SetAccountDataPerRoomJob Class Reference

Set some account_data for the user. More...

#include <account-data.hpp>

Inheritance diagram for Kazv::Api::SetAccountDataPerRoomJob:
Collaboration diagram for Kazv::Api::SetAccountDataPerRoomJob:

Classes

class  JobResponse
 

Public Member Functions

 SetAccountDataPerRoomJob (std::string serverUrl, std::string _accessToken, std::string userId, std::string roomId, std::string type, JsonWrap content={})
 Set some account_data for the user. More...
 
SetAccountDataPerRoomJob withData (JsonWrap j) &&
 
SetAccountDataPerRoomJob 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 ()
 
static BaseJob::Body buildBody (std::string userId, std::string roomId, std::string type, JsonWrap content)
 
- 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

Set some account_data for the user.

Set some account_data for the client on a given room. This config is only visible to the user that set the account_data. The config will be synced to clients in the per-room account_data.

Constructor & Destructor Documentation

◆ SetAccountDataPerRoomJob()

Kazv::Api::SetAccountDataPerRoomJob::SetAccountDataPerRoomJob ( std::string  serverUrl,
std::string  _accessToken,
std::string  userId,
std::string  roomId,
std::string  type,
JsonWrap  content = {} 
)
explicit

Set some account_data for the user.

Parameters
userIdThe ID of the user to set account_data for. The access token must be authorized to make requests for this user ID.
roomIdThe ID of the room to set account_data on.
typeThe event type of the account_data to set. Custom types should be namespaced to avoid clashes.
contentThe content of the account_data

Member Function Documentation

◆ buildBody()

BaseJob::Body Kazv::Api::SetAccountDataPerRoomJob::buildBody ( std::string  userId,
std::string  roomId,
std::string  type,
JsonWrap  content 
)
static

◆ buildQuery()

BaseJob::Query Kazv::Api::SetAccountDataPerRoomJob::buildQuery ( )
static

◆ needsAuth()

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

◆ withData() [1/2]

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

◆ withData() [2/2]

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

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