Files
sdk-cpp/include/tribufu++/api/TribufuGeneratedApi.h

845 lines
31 KiB
C++

/**
* Tribufu API
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
*
* NOTE: This class is auto generated by OpenAPI-Generator 7.12.0.
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/*
* TribufuGeneratedApi.h
*
*
*/
#ifndef TRIBUFU_API_TribufuGeneratedApi_H_
#define TRIBUFU_API_TribufuGeneratedApi_H_
#include "tribufu++/ApiClient.h"
#include "tribufu++/model/Account.h"
#include "tribufu++/AnyType.h"
#include "tribufu++/model/AuthorizeRequest.h"
#include "tribufu++/model/CryptoViewModel.h"
#include "tribufu++/model/Game.h"
#include "tribufu++/model/GameServer.h"
#include "tribufu++/model/GameServerCluster.h"
#include "tribufu++/model/Group.h"
#include "tribufu++/model/GroupGame.h"
#include "tribufu++/model/GroupMember.h"
#include "tribufu++/model/HashViewModel.h"
#include "tribufu++/model/IntrospectRequest.h"
#include "tribufu++/model/IpAddress.h"
#include "tribufu++/model/LeaderboardItem.h"
#include "tribufu++/model/LeaderboardOrder.h"
#include "tribufu++/model/LoginRequest.h"
#include "tribufu++/model/LoginResponse.h"
#include "tribufu++/model/Package.h"
#include "tribufu++/model/Profile.h"
#include "tribufu++/model/ProfileGame.h"
#include "tribufu++/model/ProfileGroup.h"
#include "tribufu++/model/RefreshRequest.h"
#include "tribufu++/model/RegisterRequest.h"
#include "tribufu++/model/RevokeRequest.h"
#include "tribufu++/model/SearchRequest.h"
#include "tribufu++/model/ServerMetrics.h"
#include "tribufu++/model/Subscription.h"
#include "tribufu++/model/TokenRequest.h"
#include "tribufu++/model/TokenResponse.h"
#include "tribufu++/model/UpdateProfile.h"
#include "tribufu++/model/UserInfo.h"
#include <map>
#include <vector>
#include <cpprest/details/basic_types.h>
#include <boost/optional.hpp>
namespace tribufu {
namespace api {
using namespace tribufu::models;
class TribufuGeneratedApi
{
public:
explicit TribufuGeneratedApi( std::shared_ptr<const ApiClient> apiClient );
virtual ~TribufuGeneratedApi();
/// <summary>
/// Authorize the client to access the user information.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.identity.oauth2.authorize&lt;/code&gt;
/// </remarks>
/// <param name="authorizeRequest"> (optional)</param>
pplx::task<void> authorize(
boost::optional<std::shared_ptr<AuthorizeRequest>> authorizeRequest
) const;
/// <summary>
/// Change the email of a user.
/// </summary>
/// <remarks>
/// This endpoint is not available with an api key, only with a bearer token.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.identity.user.email.update&lt;/code&gt;
/// </remarks>
/// <param name="id"></param>
/// <param name="body"> (optional)</param>
pplx::task<void> changeEmail(
utility::string_t id,
boost::optional<std::shared_ptr<AnyType>> body
) const;
/// <summary>
/// Change the password of a user.
/// </summary>
/// <remarks>
/// This endpoint is not available with an api key, only with a bearer token.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.identity.user.password.update&lt;/code&gt;
/// </remarks>
/// <param name="id"></param>
/// <param name="body"> (optional)</param>
pplx::task<void> changePassword(
utility::string_t id,
boost::optional<std::shared_ptr<AnyType>> body
) const;
/// <summary>
/// Claim a game server.
/// </summary>
/// <remarks>
/// This endpoint is not available with an api key, only with a bearer token.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.game.server.claim&lt;/code&gt;
/// </remarks>
/// <param name="id"></param>
/// <param name="body"> (optional)</param>
pplx::task<void> claimGameServer(
utility::string_t id,
boost::optional<std::shared_ptr<AnyType>> body
) const;
/// <summary>
/// Convert a string to base64 or vice versa.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.utils.convert.base64&lt;/code&gt;
/// </remarks>
/// <param name="cryptoViewModel"> (optional)</param>
pplx::task<std::shared_ptr<CryptoViewModel>> convertBase64(
boost::optional<std::shared_ptr<CryptoViewModel>> cryptoViewModel
) const;
/// <summary>
/// Create a new game server.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.game.server.create&lt;/code&gt;
/// </remarks>
/// <param name="body"> (optional)</param>
pplx::task<void> createGameServer(
boost::optional<std::shared_ptr<AnyType>> body
) const;
/// <summary>
/// Create a new game server cluster.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.game.server.cluster.create&lt;/code&gt;
/// </remarks>
/// <param name="body"> (optional)</param>
pplx::task<void> createGameServerCluster(
boost::optional<std::shared_ptr<AnyType>> body
) const;
/// <summary>
/// Create a new group.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.group.create&lt;/code&gt;
/// </remarks>
/// <param name="body"> (optional)</param>
pplx::task<void> createGroup(
boost::optional<std::shared_ptr<AnyType>> body
) const;
/// <summary>
/// Create a new token with grant type.
/// </summary>
/// <remarks>
///
/// </remarks>
/// <param name="tokenRequest"> (optional)</param>
pplx::task<std::shared_ptr<TokenResponse>> createToken(
boost::optional<std::shared_ptr<TokenRequest>> tokenRequest
) const;
/// <summary>
/// Delete a game server.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.game.server.delete&lt;/code&gt;
/// </remarks>
/// <param name="id"></param>
pplx::task<void> deleteGameServer(
utility::string_t id
) const;
/// <summary>
/// Delete a game server cluster.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.game.server.cluster.delete&lt;/code&gt;
/// </remarks>
/// <param name="id"></param>
pplx::task<void> deleteGameServerCluster(
utility::string_t id
) const;
/// <summary>
/// Delete a group.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.group.delete&lt;/code&gt;
/// </remarks>
/// <param name="id"></param>
pplx::task<void> deleteGroup(
utility::string_t id
) const;
/// <summary>
/// Generate one or more flake ids.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.utils.generate.flake&lt;/code&gt;
/// </remarks>
/// <param name="amount"> (optional, default to 0)</param>
pplx::task<std::vector<utility::string_t>> generateFlakeId(
boost::optional<int32_t> amount
) const;
/// <summary>
/// Generate one or more flake ids from a timestamp.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.utils.generate.flake.timestamp&lt;/code&gt;
/// </remarks>
/// <param name="timestamp"></param>
/// <param name="amount"> (optional, default to 0)</param>
pplx::task<std::vector<utility::string_t>> generateFlakeIdFromTimestamp(
utility::string_t timestamp,
boost::optional<int32_t> amount
) const;
/// <summary>
/// Generate a random password.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.utils.generate.password&lt;/code&gt;
/// </remarks>
/// <param name="length"> (optional, default to 0)</param>
/// <param name="symbols"> (optional, default to false)</param>
pplx::task<std::shared_ptr<HashViewModel>> generatePassword(
boost::optional<int32_t> length,
boost::optional<bool> symbols
) const;
/// <summary>
/// Generate one or more uuids with a specific version.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.utils.generate.uuid&lt;/code&gt;
/// </remarks>
/// <param name="version"> (optional, default to 0)</param>
/// <param name="amount"> (optional, default to 0)</param>
pplx::task<std::vector<utility::string_t>> generateUuid(
boost::optional<int32_t> version,
boost::optional<int32_t> amount
) const;
/// <summary>
/// Get current client information.
/// </summary>
/// <remarks>
///
/// </remarks>
pplx::task<void> getClientInfo(
) const;
/// <summary>
/// Get current ip address location.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.geoip.current&lt;/code&gt;
/// </remarks>
pplx::task<std::vector<std::shared_ptr<IpAddress>>> getCurrentIpAddress(
) const;
/// <summary>
/// Get a game by id.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.game.get&lt;/code&gt;
/// </remarks>
/// <param name="id"></param>
pplx::task<std::shared_ptr<Game>> getGameById(
utility::string_t id
) const;
/// <summary>
/// Get a list of game server clusters of a game.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.game.server.cluster.list&lt;/code&gt;
/// </remarks>
/// <param name="id"></param>
/// <param name="page"> (optional, default to 0)</param>
/// <param name="limit"> (optional, default to 0)</param>
pplx::task<std::vector<std::shared_ptr<GameServerCluster>>> getGameClustersByGameId(
utility::string_t id,
boost::optional<int32_t> page,
boost::optional<int32_t> limit
) const;
/// <summary>
/// Get a list of game items.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.game.item.list&lt;/code&gt;
/// </remarks>
/// <param name="id"></param>
/// <param name="page"> (optional, default to 0)</param>
/// <param name="limit"> (optional, default to 0)</param>
pplx::task<std::vector<std::shared_ptr<AnyType>>> getGameItems(
utility::string_t id,
boost::optional<int32_t> page,
boost::optional<int32_t> limit
) const;
/// <summary>
/// Get a game server by address and query port.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.game.server.get.address&lt;/code&gt;
/// </remarks>
/// <param name="address"></param>
/// <param name="port"></param>
pplx::task<std::shared_ptr<GameServer>> getGameServerByAddressAndQueryPort(
utility::string_t address,
int32_t port
) const;
/// <summary>
/// Get a game server by id.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.game.server.get&lt;/code&gt;
/// </remarks>
/// <param name="id"></param>
pplx::task<std::shared_ptr<GameServer>> getGameServerById(
utility::string_t id
) const;
/// <summary>
/// Get a game server cluster by id.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.game.server.cluster.get&lt;/code&gt;
/// </remarks>
/// <param name="id"></param>
pplx::task<std::shared_ptr<GameServerCluster>> getGameServerClusterById(
utility::string_t id
) const;
/// <summary>
/// Get a list of game server clusters.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.game.server.cluster.list&lt;/code&gt;
/// </remarks>
/// <param name="page"> (optional, default to 0)</param>
/// <param name="limit"> (optional, default to 0)</param>
pplx::task<std::vector<std::shared_ptr<GameServerCluster>>> getGameServerClusters(
boost::optional<int32_t> page,
boost::optional<int32_t> limit
) const;
/// <summary>
/// Get a list of game servers.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.game.server.list&lt;/code&gt;
/// </remarks>
/// <param name="page"> (optional, default to 0)</param>
/// <param name="limit"> (optional, default to 0)</param>
pplx::task<std::vector<std::shared_ptr<GameServer>>> getGameServers(
boost::optional<int32_t> page,
boost::optional<int32_t> limit
) const;
/// <summary>
/// Get a list of game servers from a country.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.game.server.list.country&lt;/code&gt;
/// </remarks>
/// <param name="country"></param>
/// <param name="page"> (optional, default to 0)</param>
/// <param name="limit"> (optional, default to 0)</param>
pplx::task<std::vector<std::shared_ptr<GameServer>>> getGameServersByCountry(
utility::string_t country,
boost::optional<int32_t> page,
boost::optional<int32_t> limit
) const;
/// <summary>
/// Get a list of game servers of a game.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.game.server.list&lt;/code&gt;
/// </remarks>
/// <param name="id"></param>
/// <param name="page"> (optional, default to 0)</param>
/// <param name="limit"> (optional, default to 0)</param>
pplx::task<std::vector<std::shared_ptr<GameServer>>> getGameServersByGameId(
utility::string_t id,
boost::optional<int32_t> page,
boost::optional<int32_t> limit
) const;
/// <summary>
/// Get a list of countries with the number of game servers.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.game.server.country.list&lt;/code&gt;
/// </remarks>
pplx::task<std::map<utility::string_t, int32_t>> getGameServersCountries(
) const;
/// <summary>
/// Get metrics about the tracked game servers.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.game.server.metric.get&lt;/code&gt;
/// </remarks>
pplx::task<std::shared_ptr<ServerMetrics>> getGameServersMetrics(
) const;
/// <summary>
/// Get a list of games.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.game.list&lt;/code&gt;
/// </remarks>
pplx::task<std::vector<std::shared_ptr<Game>>> getGames(
) const;
/// <summary>
/// Get a group by id.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.group.get&lt;/code&gt;
/// </remarks>
/// <param name="id"></param>
pplx::task<std::shared_ptr<Group>> getGroupById(
utility::string_t id
) const;
/// <summary>
/// Get a group by tag.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.group.get.tag&lt;/code&gt;
/// </remarks>
/// <param name="tag"></param>
pplx::task<std::shared_ptr<Group>> getGroupByTag(
utility::string_t tag
) const;
/// <summary>
/// Get a group by uuid.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.group.get.uuid&lt;/code&gt;
/// </remarks>
/// <param name="uuid"></param>
pplx::task<std::shared_ptr<Group>> getGroupByUuid(
utility::string_t uuid
) const;
/// <summary>
/// Get a list of games of a group.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.group.game.list&lt;/code&gt;
/// </remarks>
/// <param name="id"></param>
pplx::task<std::vector<std::shared_ptr<GroupGame>>> getGroupGames(
utility::string_t id
) const;
/// <summary>
/// Get a list of members in a group.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.group.member.list&lt;/code&gt;
/// </remarks>
/// <param name="id"></param>
pplx::task<std::vector<std::shared_ptr<GroupMember>>> getGroupMembers(
utility::string_t id
) const;
/// <summary>
/// Get a list of groups.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.group.list&lt;/code&gt;
/// </remarks>
/// <param name="page"> (optional, default to 0)</param>
/// <param name="limit"> (optional, default to 0)</param>
pplx::task<std::vector<std::shared_ptr<Group>>> getGroups(
boost::optional<int32_t> page,
boost::optional<int32_t> limit
) const;
/// <summary>
/// Get a ip address location.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.geoip.address.get&lt;/code&gt;
/// </remarks>
/// <param name="address"></param>
pplx::task<std::shared_ptr<IpAddress>> getIpAddress(
utility::string_t address
) const;
/// <summary>
/// Get a list of ip addresses.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.geoip.address.list&lt;/code&gt;
/// </remarks>
/// <param name="page"> (optional, default to 0)</param>
/// <param name="limit"> (optional, default to 0)</param>
pplx::task<std::vector<std::shared_ptr<IpAddress>>> getIpAddresses(
boost::optional<int32_t> page,
boost::optional<int32_t> limit
) const;
/// <summary>
/// Get the top 20 leaderboard users.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.leaderboard.get&lt;/code&gt;
/// </remarks>
/// <param name="order"> (optional, default to new LeaderboardOrder())</param>
pplx::task<std::vector<std::shared_ptr<LeaderboardItem>>> getLeaderboard(
boost::optional<std::shared_ptr<LeaderboardOrder>> order
) const;
/// <summary>
/// Get current user information.
/// </summary>
/// <remarks>
///
/// </remarks>
pplx::task<std::shared_ptr<UserInfo>> getMe(
) const;
/// <summary>
/// Get a package by id.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.package.get&lt;/code&gt;
/// </remarks>
/// <param name="id"></param>
pplx::task<std::shared_ptr<Package>> getPackageById(
utility::string_t id
) const;
/// <summary>
/// Get a list of packages.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.package.list&lt;/code&gt;
/// </remarks>
/// <param name="page"> (optional, default to 0)</param>
/// <param name="limit"> (optional, default to 0)</param>
pplx::task<std::vector<std::shared_ptr<Package>>> getPackages(
boost::optional<int32_t> page,
boost::optional<int32_t> limit
) const;
/// <summary>
/// Get the public keys for the client.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.identity.oauth2.client.keys&lt;/code&gt;
/// </remarks>
pplx::task<void> getPublicKeys(
) const;
/// <summary>
/// Get a subscription by id.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.store.subscription.get&lt;/code&gt;
/// </remarks>
/// <param name="id"></param>
pplx::task<std::shared_ptr<Subscription>> getSubscriptionById(
utility::string_t id
) const;
/// <summary>
/// Get a list of subscriptions.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.store.subscription.list&lt;/code&gt;
/// </remarks>
/// <param name="page"> (optional, default to 0)</param>
/// <param name="limit"> (optional, default to 0)</param>
pplx::task<std::vector<std::shared_ptr<Subscription>>> getSubscriptions(
boost::optional<int32_t> page,
boost::optional<int32_t> limit
) const;
/// <summary>
/// Get a list of connected accounts of the user.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.identity.user.account.list&lt;/code&gt;
/// </remarks>
/// <param name="id"></param>
pplx::task<std::vector<std::shared_ptr<Account>>> getUserAccounts(
utility::string_t id
) const;
/// <summary>
/// Get a user profile by id.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.profile.get&lt;/code&gt;
/// </remarks>
/// <param name="id"></param>
pplx::task<std::shared_ptr<Profile>> getUserById(
utility::string_t id
) const;
/// <summary>
/// Get a user profile by name.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.profile.get.name&lt;/code&gt;
/// </remarks>
/// <param name="name"></param>
pplx::task<std::shared_ptr<Profile>> getUserByName(
utility::string_t name
) const;
/// <summary>
/// Get a user profile by uuid.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.profile.get.uuid&lt;/code&gt;
/// </remarks>
/// <param name="uuid"></param>
pplx::task<std::shared_ptr<Profile>> getUserByUuid(
utility::string_t uuid
) const;
/// <summary>
/// Get a list of friends of the user.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.profile.friend.list&lt;/code&gt;
/// </remarks>
/// <param name="id"></param>
pplx::task<std::vector<std::shared_ptr<AnyType>>> getUserFriends(
utility::string_t id
) const;
/// <summary>
/// Get a list of games the user has played.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.profile.game.list&lt;/code&gt;
/// </remarks>
/// <param name="id"></param>
pplx::task<std::vector<std::shared_ptr<ProfileGame>>> getUserGames(
utility::string_t id
) const;
/// <summary>
/// Get a list of groups the user is a member of.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.profile.group.list&lt;/code&gt;
/// </remarks>
/// <param name="id"></param>
pplx::task<std::vector<std::shared_ptr<ProfileGroup>>> getUserGroups(
utility::string_t id
) const;
/// <summary>
/// Get current user information.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.identity.oauth2.user.info&lt;/code&gt;
/// </remarks>
pplx::task<std::shared_ptr<UserInfo>> getUserInfo(
) const;
/// <summary>
/// Get a list of punishments the user has received.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.profile.punishment.list&lt;/code&gt;
/// </remarks>
/// <param name="id"></param>
pplx::task<std::vector<std::shared_ptr<AnyType>>> getUserPunishments(
utility::string_t id
) const;
/// <summary>
/// Get a list of servers the user is owner of.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.profile.game.server.list&lt;/code&gt;
/// </remarks>
/// <param name="id"></param>
/// <param name="page"> (optional, default to 0)</param>
/// <param name="limit"> (optional, default to 0)</param>
pplx::task<std::vector<std::shared_ptr<GameServer>>> getUserServers(
utility::string_t id,
boost::optional<int32_t> page,
boost::optional<int32_t> limit
) const;
/// <summary>
/// Get a list of user profiles.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.profile.list&lt;/code&gt;
/// </remarks>
/// <param name="page"> (optional, default to 0)</param>
/// <param name="limit"> (optional, default to 0)</param>
pplx::task<std::vector<std::shared_ptr<Profile>>> getUsers(
boost::optional<int32_t> page,
boost::optional<int32_t> limit
) const;
/// <summary>
/// Hash a string using argon2.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.utils.hash.argon2&lt;/code&gt;
/// </remarks>
/// <param name="hashViewModel"> (optional)</param>
pplx::task<std::shared_ptr<HashViewModel>> hashArgon2(
boost::optional<std::shared_ptr<HashViewModel>> hashViewModel
) const;
/// <summary>
/// Hash a string using bcrypt.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.utils.hash.bcrypt&lt;/code&gt;
/// </remarks>
/// <param name="hashViewModel"> (optional)</param>
pplx::task<std::shared_ptr<HashViewModel>> hashBcrypt(
boost::optional<std::shared_ptr<HashViewModel>> hashViewModel
) const;
/// <summary>
/// Hash a string using md5.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.utils.hash.md5&lt;/code&gt;
/// </remarks>
/// <param name="hashViewModel"> (optional)</param>
pplx::task<std::shared_ptr<HashViewModel>> hashMd5(
boost::optional<std::shared_ptr<HashViewModel>> hashViewModel
) const;
/// <summary>
/// Hash a string using sha256.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.utils.hash.sha256&lt;/code&gt;
/// </remarks>
/// <param name="hashViewModel"> (optional)</param>
pplx::task<std::shared_ptr<HashViewModel>> hashSha256(
boost::optional<std::shared_ptr<HashViewModel>> hashViewModel
) const;
/// <summary>
/// Introspect a token.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.identity.oauth2.token.introspect&lt;/code&gt;
/// </remarks>
/// <param name="introspectRequest"> (optional)</param>
pplx::task<void> introspectToken(
boost::optional<std::shared_ptr<IntrospectRequest>> introspectRequest
) const;
/// <summary>
/// Login with name or email and password.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.identity.token.create&lt;/code&gt;
/// </remarks>
/// <param name="loginRequest"> (optional)</param>
pplx::task<std::shared_ptr<LoginResponse>> login(
boost::optional<std::shared_ptr<LoginRequest>> loginRequest
) const;
/// <summary>
/// Invalidate credentials.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.identity.token.revoke&lt;/code&gt;
/// </remarks>
pplx::task<void> logout(
) const;
/// <summary>
/// Create a new user.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.identity.user.create&lt;/code&gt;
/// </remarks>
/// <param name="registerRequest"> (optional)</param>
pplx::task<std::shared_ptr<LoginResponse>> r_register(
boost::optional<std::shared_ptr<RegisterRequest>> registerRequest
) const;
/// <summary>
/// Refresh credentials.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.identity.token.refresh&lt;/code&gt;
/// </remarks>
/// <param name="refreshRequest"> (optional)</param>
pplx::task<std::shared_ptr<LoginResponse>> refresh(
boost::optional<std::shared_ptr<RefreshRequest>> refreshRequest
) const;
/// <summary>
/// Revoke a token.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.identity.oauth2.token.revoke&lt;/code&gt;
/// </remarks>
/// <param name="revokeRequest"> (optional)</param>
pplx::task<void> revokeToken(
boost::optional<std::shared_ptr<RevokeRequest>> revokeRequest
) const;
/// <summary>
/// Advanced search for servers or players.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.search&lt;/code&gt;
/// </remarks>
/// <param name="searchRequest"> (optional)</param>
pplx::task<std::vector<std::shared_ptr<AnyType>>> search(
boost::optional<std::shared_ptr<SearchRequest>> searchRequest
) const;
/// <summary>
/// Update a game server.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.game.server.update&lt;/code&gt;
/// </remarks>
/// <param name="id"></param>
/// <param name="body"> (optional)</param>
pplx::task<void> updateGameServer(
utility::string_t id,
boost::optional<std::shared_ptr<AnyType>> body
) const;
/// <summary>
/// Update a game server cluster.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.game.server.cluster.update&lt;/code&gt;
/// </remarks>
/// <param name="id"></param>
/// <param name="body"> (optional)</param>
pplx::task<void> updateGameServerCluster(
utility::string_t id,
boost::optional<std::shared_ptr<AnyType>> body
) const;
/// <summary>
/// Update a group.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.group.update&lt;/code&gt;
/// </remarks>
/// <param name="id"></param>
/// <param name="body"> (optional)</param>
pplx::task<void> updateGroup(
utility::string_t id,
boost::optional<std::shared_ptr<AnyType>> body
) const;
/// <summary>
/// Update a user profile.
/// </summary>
/// <remarks>
/// &lt;b&gt;🔒 Required permissions:&lt;/b&gt; &lt;code&gt;tribufu.community.profile.update&lt;/code&gt;
/// </remarks>
/// <param name="id"></param>
/// <param name="updateProfile"> (optional)</param>
pplx::task<std::shared_ptr<Profile>> updateUserProfile(
utility::string_t id,
boost::optional<std::shared_ptr<UpdateProfile>> updateProfile
) const;
protected:
std::shared_ptr<const ApiClient> m_ApiClient;
};
}
}
#endif /* TRIBUFU_API_TribufuGeneratedApi_H_ */