1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-04-27 14:57:44 +00:00
sapphire/src/api/SapphireApi.h

48 lines
1.1 KiB
C
Raw Normal View History

#pragma once
2017-08-08 13:53:47 +02:00
#include <string>
#include <vector>
#include <map>
2018-10-26 11:01:41 +02:00
#include <memory>
2017-08-08 13:53:47 +02:00
#include "PlayerMinimal.h"
namespace Sapphire::Api
2018-10-28 21:53:21 +01:00
{
class Session;
2017-08-08 13:53:47 +02:00
class SapphireApi
2018-10-28 21:53:21 +01:00
{
public:
SapphireApi() = default;
~SapphireApi() = default;
2017-08-08 13:53:47 +02:00
2018-10-28 21:53:21 +01:00
using SessionMap = std::map< std::string, std::shared_ptr< Session > >;
2017-08-08 13:53:47 +02:00
2018-10-28 21:53:21 +01:00
bool login( const std::string& username, const std::string& pass, std::string& sId );
2017-08-08 13:53:47 +02:00
2018-10-28 21:53:21 +01:00
bool createAccount( const std::string& username, const std::string& pass, std::string& sId );
2017-08-08 13:53:47 +02:00
int32_t createCharacter( uint32_t accountId, const std::string& name,
const std::string& infoJson, uint32_t gmRank );
2017-08-08 13:53:47 +02:00
2018-10-28 21:53:21 +01:00
void deleteCharacter( std::string name, uint32_t accountId );
2017-08-08 22:55:02 +02:00
bool insertSession( uint32_t accountId, std::string& sId );
2017-08-08 13:53:47 +02:00
std::vector< Api::PlayerMinimal > getCharList( uint32_t accountId );
2017-08-08 13:53:47 +02:00
2018-10-28 21:53:21 +01:00
bool checkNameTaken( std::string name );
2017-08-08 13:53:47 +02:00
uint32_t getNextEntityId();
2017-08-08 13:53:47 +02:00
uint64_t getNextCharaId();
2017-08-08 13:53:47 +02:00
2018-10-28 21:53:21 +01:00
int32_t checkSession( const std::string& sId );
2017-08-08 13:53:47 +02:00
2018-10-28 21:53:21 +01:00
bool removeSession( const std::string& sId );
2017-08-08 13:53:47 +02:00
2018-10-28 21:53:21 +01:00
SessionMap m_sessionMap;
};
2017-08-08 13:53:47 +02:00
}