mirror of
https://github.com/tribufu/sdk-cpp
synced 2025-06-15 22:34:21 +00:00
New api from upstream
This commit is contained in:
@ -9,7 +9,7 @@ using namespace tribufu;
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
auto client = new TribufuClient(0, "client_secret");
|
||||
std::cout << "client_id: " << client->get_id() << std::endl;
|
||||
std::cout << "client_id: " << client->get_client_id() << std::endl;
|
||||
|
||||
json json_obj = {
|
||||
{"nome", "John"},
|
||||
@ -20,7 +20,7 @@ int main(int argc, char **argv)
|
||||
|
||||
std::cout << json_str << std::endl;
|
||||
|
||||
client->get_token();
|
||||
//client->get_token();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
33
include/tribufu/api.h
Normal file
33
include/tribufu/api.h
Normal file
@ -0,0 +1,33 @@
|
||||
// Copyright (c) Tribufu. All Rights Reserved.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <tribufu/prelude.h>
|
||||
#include <tribufu/options.h>
|
||||
|
||||
namespace tribufu
|
||||
{
|
||||
static const char *VERSION = "0.0.4";
|
||||
static const char *API_URL = "https://api.tribufu.com";
|
||||
|
||||
class TRIBUFU_API TribufuApi
|
||||
{
|
||||
private:
|
||||
std::string base_url;
|
||||
TribufuApiOptions options;
|
||||
HttpClient http;
|
||||
|
||||
public:
|
||||
TribufuApi();
|
||||
|
||||
TribufuApi(std::string api_key);
|
||||
|
||||
TribufuApi(TribufuApiOptions options);
|
||||
|
||||
~TribufuApi();
|
||||
|
||||
static TribufuApi from_env();
|
||||
|
||||
static TribufuApi from_env(std::string prefix);
|
||||
};
|
||||
}
|
@ -3,27 +3,21 @@
|
||||
#pragma once
|
||||
|
||||
#include <tribufu/prelude.h>
|
||||
|
||||
const char *VERSION = "0.0.4";
|
||||
#include <tribufu/api.h>
|
||||
|
||||
namespace tribufu
|
||||
{
|
||||
class TRIBUFU_API TribufuClient
|
||||
class TRIBUFU_API TribufuClient : public TribufuApi
|
||||
{
|
||||
private:
|
||||
uint64_t id;
|
||||
std::string secret;
|
||||
HttpClient http;
|
||||
uint64_t client_id;
|
||||
std::string client_secret;
|
||||
|
||||
public:
|
||||
TribufuClient(uint64_t id, const std::string &secret);
|
||||
|
||||
~TribufuClient();
|
||||
|
||||
uint64_t get_id() const
|
||||
{
|
||||
return this->id;
|
||||
}
|
||||
|
||||
void get_token();
|
||||
uint64_t &get_client_id();
|
||||
};
|
||||
}
|
||||
|
24
include/tribufu/options.h
Normal file
24
include/tribufu/options.h
Normal file
@ -0,0 +1,24 @@
|
||||
// Copyright (c) Tribufu. All Rights Reserved.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <tribufu/prelude.h>
|
||||
|
||||
namespace tribufu
|
||||
{
|
||||
class TRIBUFU_API TribufuApiOptions
|
||||
{
|
||||
public:
|
||||
std::string api_key;
|
||||
std::string access_token;
|
||||
std::string refresh_token;
|
||||
float expires_in;
|
||||
|
||||
public:
|
||||
TribufuApiOptions();
|
||||
TribufuApiOptions(std::string api_key);
|
||||
TribufuApiOptions(std::string access_token, std::string refresh_token, float expires_in);
|
||||
TribufuApiOptions(std::string api_key, std::string access_token, std::string refresh_token, float expires_in);
|
||||
~TribufuApiOptions();
|
||||
};
|
||||
}
|
22
include/tribufu/server.h
Normal file
22
include/tribufu/server.h
Normal file
@ -0,0 +1,22 @@
|
||||
// Copyright (c) Tribufu. All Rights Reserved.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <tribufu/prelude.h>
|
||||
#include <tribufu/client.h>
|
||||
|
||||
namespace tribufu
|
||||
{
|
||||
class TRIBUFU_API TribufuServer : public TribufuClient
|
||||
{
|
||||
private:
|
||||
uint64_t server_id;
|
||||
|
||||
public:
|
||||
TribufuServer(uint64_t server_id, uint64_t client_id, const std::string &client_secret);
|
||||
|
||||
~TribufuServer();
|
||||
|
||||
uint64_t &get_server_id();
|
||||
};
|
||||
}
|
51
src/api.cpp
Normal file
51
src/api.cpp
Normal file
@ -0,0 +1,51 @@
|
||||
// Copyright (c) Tribufu. All Rights Reserved.
|
||||
|
||||
#include <tribufu/api.h>
|
||||
|
||||
namespace tribufu
|
||||
{
|
||||
TribufuApi::TribufuApi()
|
||||
{
|
||||
}
|
||||
|
||||
TribufuApi::TribufuApi(std::string api_key)
|
||||
{
|
||||
this->options.api_key = api_key;
|
||||
}
|
||||
|
||||
TribufuApi::TribufuApi(TribufuApiOptions options)
|
||||
{
|
||||
this->options = options;
|
||||
}
|
||||
|
||||
TribufuApi::~TribufuApi()
|
||||
{
|
||||
}
|
||||
|
||||
TribufuApi TribufuApi::from_env()
|
||||
{
|
||||
return TribufuApi::from_env("");
|
||||
}
|
||||
|
||||
TribufuApi TribufuApi::from_env(std::string prefix)
|
||||
{
|
||||
std::string env_prefix = "";
|
||||
|
||||
if (prefix != "")
|
||||
{
|
||||
env_prefix = prefix + "_";
|
||||
}
|
||||
|
||||
size_t required_size;
|
||||
char api_key[64];
|
||||
|
||||
auto response = getenv_s(&required_size, api_key, sizeof(api_key), (env_prefix + "API_KEY").c_str());
|
||||
|
||||
if (response == 0 && required_size > 0)
|
||||
{
|
||||
return TribufuApi(api_key);
|
||||
}
|
||||
|
||||
return TribufuApi();
|
||||
}
|
||||
}
|
@ -4,17 +4,22 @@
|
||||
|
||||
namespace tribufu
|
||||
{
|
||||
TribufuClient::TribufuClient(uint64_t id, const std::string &secret)
|
||||
TribufuClient::TribufuClient(uint64_t client_id, const std::string &client_secret) : TribufuApi()
|
||||
{
|
||||
this->id = id;
|
||||
this->secret = secret;
|
||||
this->http = HttpClient();
|
||||
this->client_id = client_id;
|
||||
this->client_secret = client_secret;
|
||||
}
|
||||
|
||||
TribufuClient::~TribufuClient()
|
||||
{
|
||||
}
|
||||
|
||||
uint64_t &TribufuClient::get_client_id()
|
||||
{
|
||||
return this->client_id;
|
||||
}
|
||||
|
||||
/*
|
||||
void TribufuClient::get_token()
|
||||
{
|
||||
try
|
||||
@ -37,4 +42,5 @@ namespace tribufu
|
||||
std::cout << "exception: " << e.what() << std::endl;
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
30
src/options.cpp
Normal file
30
src/options.cpp
Normal file
@ -0,0 +1,30 @@
|
||||
// Copyright (c) Tribufu. All Rights Reserved.
|
||||
|
||||
#include <tribufu/options.h>
|
||||
|
||||
namespace tribufu
|
||||
{
|
||||
TribufuApiOptions::TribufuApiOptions() : TribufuApiOptions(nullptr, nullptr, nullptr, 0.0f)
|
||||
{
|
||||
}
|
||||
|
||||
TribufuApiOptions::TribufuApiOptions(std::string api_key) : TribufuApiOptions(api_key, nullptr, nullptr, 0.0f)
|
||||
{
|
||||
}
|
||||
|
||||
TribufuApiOptions::TribufuApiOptions(std::string access_token, std::string refresh_token, float expires_in) : TribufuApiOptions(nullptr, access_token, refresh_token, expires_in)
|
||||
{
|
||||
}
|
||||
|
||||
TribufuApiOptions::TribufuApiOptions(std::string api_key, std::string access_token, std::string refresh_token, float expires_in)
|
||||
{
|
||||
this->api_key = api_key;
|
||||
this->access_token = access_token;
|
||||
this->refresh_token = refresh_token;
|
||||
this->expires_in = expires_in;
|
||||
}
|
||||
|
||||
TribufuApiOptions::~TribufuApiOptions()
|
||||
{
|
||||
}
|
||||
}
|
20
src/server.cpp
Normal file
20
src/server.cpp
Normal file
@ -0,0 +1,20 @@
|
||||
// Copyright (c) Tribufu. All Rights Reserved.
|
||||
|
||||
#include <tribufu/server.h>
|
||||
|
||||
namespace tribufu
|
||||
{
|
||||
TribufuServer::TribufuServer(uint64_t server_id, uint64_t client_id, const std::string &client_secret) : TribufuClient(client_id, client_secret)
|
||||
{
|
||||
this->server_id = server_id;
|
||||
}
|
||||
|
||||
TribufuServer::~TribufuServer()
|
||||
{
|
||||
}
|
||||
|
||||
uint64_t &TribufuServer::get_server_id()
|
||||
{
|
||||
return this->server_id;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user