libkazv
Kazv::Api::ChangePasswordJob Class Reference

Changes a user's password. More...

#include <registration.hpp>

Inheritance diagram for Kazv::Api::ChangePasswordJob:
Collaboration diagram for Kazv::Api::ChangePasswordJob:

Classes

class  JobResponse
 

Public Member Functions

 ChangePasswordJob (std::string serverUrl, std::string _accessToken, std::string newPassword, std::optional< bool > logoutDevices=std::nullopt, std::optional< AuthenticationData > auth=std::nullopt)
 Changes a user's password. More...
 
ChangePasswordJob withData (JsonWrap j) &&
 
ChangePasswordJob 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 newPassword, std::optional< bool > logoutDevices, std::optional< AuthenticationData > auth)
 
- 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

Changes a user's password.

Changes the password for an account on this homeserver.

This API endpoint uses the User-Interactive Authentication API to ensure the user changing the password is actually the owner of the account.

An access token should be submitted to this endpoint if the client has an active session.

The homeserver may change the flows available depending on whether a valid access token is provided. The homeserver SHOULD NOT revoke the access token provided in the request. Whether other access tokens for the user are revoked depends on the request parameters.

Constructor & Destructor Documentation

◆ ChangePasswordJob()

Kazv::Api::ChangePasswordJob::ChangePasswordJob ( std::string  serverUrl,
std::string  _accessToken,
std::string  newPassword,
std::optional< bool >  logoutDevices = std::nullopt,
std::optional< AuthenticationData auth = std::nullopt 
)
explicit

Changes a user's password.

Parameters
newPasswordThe new password for the account.
logoutDevicesWhether the user's other access tokens, and their associated devices, should be revoked if the request succeeds. Defaults to true.

When false, the server can still take advantage of the soft logout method for the user's remaining devices.

Parameters
authAdditional authentication information for the user-interactive authentication API.

Member Function Documentation

◆ buildBody()

BaseJob::Body Kazv::Api::ChangePasswordJob::buildBody ( std::string  newPassword,
std::optional< bool >  logoutDevices,
std::optional< AuthenticationData auth 
)
static

◆ buildQuery()

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

◆ needsAuth()

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

◆ withData() [1/2]

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

◆ withData() [2/2]

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

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