libkazv
Kazv::Api::GetContentThumbnailJob Class Reference

Download a thumbnail of content from the content repository. More...

#include <content-repo.hpp>

Inheritance diagram for Kazv::Api::GetContentThumbnailJob:
Collaboration diagram for Kazv::Api::GetContentThumbnailJob:

Classes

class  JobResponse
 

Public Member Functions

 GetContentThumbnailJob (std::string serverUrl, std::string serverName, std::string mediaId, int width, int height, std::optional< std::string > method=std::nullopt, bool allowRemote=true, std::optional< FileDesc > downloadTo=std::nullopt)
 Download a thumbnail of content from the content repository. More...
 
GetContentThumbnailJob withData (JsonWrap j) &&
 
GetContentThumbnailJob 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 (int width, int height, std::optional< std::string > method, bool allowRemote)
 
static BaseJob::Body buildBody (std::string serverName, std::string mediaId, int width, int height, std::optional< std::string > method, bool allowRemote)
 
- Static Public Member Functions inherited from Kazv::BaseJob
static bool contentTypeMatches (immer::array< std::string > expected, std::string actual)
 

Static Public Attributes

static const immer::array< std::string > expectedContentTypes { "image/jpeg", "image/png" }
 
- Static Public Attributes inherited from Kazv::BaseJob
static Get GET {}
 
static Post POST {}
 
static Put PUT {}
 
static Delete DELETE {}
 

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
 
- Protected Member Functions inherited from Kazv::BaseJob
void attachData (JsonWrap data)
 

Detailed Description

Download a thumbnail of content from the content repository.

Download a thumbnail of content from the content repository. See the Thumbnails section for more information.

Constructor & Destructor Documentation

◆ GetContentThumbnailJob()

Kazv::Api::GetContentThumbnailJob::GetContentThumbnailJob ( std::string  serverUrl,
std::string  serverName,
std::string  mediaId,
int  width,
int  height,
std::optional< std::string >  method = std::nullopt,
bool  allowRemote = true,
std::optional< FileDesc downloadTo = std::nullopt 
)
explicit

Download a thumbnail of content from the content repository.

Parameters
serverNameThe server name from the mxc:// URI (the authoritory component)
mediaIdThe media ID from the mxc:// URI (the path component)
widthThe desired width of the thumbnail. The actual thumbnail may be larger than the size specified.
heightThe desired height of the thumbnail. The actual thumbnail may be larger than the size specified.
methodThe desired resizing method. See the Thumbnails section for more information.
allowRemoteIndicates to the server that it should not attempt to fetch the media if it is deemed remote. This is to prevent routing loops where the server contacts itself. Defaults to true if not provided.

Member Function Documentation

◆ buildBody()

BaseJob::Body Kazv::Api::GetContentThumbnailJob::buildBody ( std::string  serverName,
std::string  mediaId,
int  width,
int  height,
std::optional< std::string >  method,
bool  allowRemote 
)
static

◆ buildQuery()

BaseJob::Query Kazv::Api::GetContentThumbnailJob::buildQuery ( int  width,
int  height,
std::optional< std::string >  method,
bool  allowRemote 
)
static

◆ needsAuth()

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

◆ withData() [1/2]

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

◆ withData() [2/2]

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

Member Data Documentation

◆ expectedContentTypes

const immer::array< std::string > Kazv::Api::GetContentThumbnailJob::expectedContentTypes { "image/jpeg", "image/png" }
static

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