diff --git a/cpp.go b/cpp.go index 710fd4a452583f40db50384ec875a10bf8e5ca5a..0460c26d50fc348d44b969ad4d3ada6ad5a024e2 100644 --- a/cpp.go +++ b/cpp.go @@ -19,6 +19,13 @@ const ( autoDefinition = "///{%AUTO_DEFINITION%}" ) +const autogenerated = ` +/* + * Autogenerated file. DO NOT EDIT !!!! + * + */ +` + func generateCppEndPoints(templateFile string) error { templ, err := ioutil.ReadFile(templateFile) if err != nil { @@ -88,7 +95,7 @@ func generateCppEndPoints(templateFile string) error { definition.WriteString("\n}\n\n") } - body := string(templ) + body := autogenerated + string(templ) body = strings.Replace(body, autoTypes, cppStructs, -1) body = strings.Replace(body, autoDeclaration, declaration.String(), -1) body = strings.Replace(body, autoDefinition, definition.String(), -1) diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index 6c7d6d14d52f4c0696d35b92a50f0a1dbfa73595..3bea9a8072f07fef8cd5cd75acf9122bf23a8e50 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -3,8 +3,10 @@ project(demo) set(CMAKE_CXX_STANDARD 14) -add_executable(demo demo.cpp vereign.hpp) +add_executable(demo demo.cpp) -FIND_PACKAGE(CURL REQUIRED) -include_directories(${CURL_INCLUDE_DIR}) -target_link_libraries(demo ${CURL_LIBRARIES}) +find_package(OpenSSL REQUIRED) +find_package(CURL REQUIRED) + +include_directories(${CURL_INCLUDE_DIR} ${OPENSSL_INCLUDE_DIR}) +target_link_libraries(demo ${CURL_LIBRARIES} ${OPENSSL_LIBRARIES}) diff --git a/cpp/demo.cpp b/cpp/demo.cpp index 6161edf2d95c1018d25e8a19e8e975c8528e9300..9421b7f33bd1624eba5502face3ba3cff90701ec 100644 --- a/cpp/demo.cpp +++ b/cpp/demo.cpp @@ -1,12 +1,15 @@ #include <iostream> #include <string> +#include "secret_store.hpp" #include "vereign.hpp" + int main(void) { - vereign::init(); - const std::string pkey = "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0NCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBazZzaDZoRDJDRTJkVWRJM0prNmINCnlHanRBMlpzaTh2ODVnUk5yOEhqNGFSTVBzdXJrWW5HS2hleTJibjdyeDQwMS9qVGY1ZGs5Tk5uVlpvcWFDMzcNCm81ZTVNWDRUcGRmdHBIajVnYmVtdFhQdnVrNGx0NWZibHZjdmMrV3NlVmpha0IybUdJVHQxdjhXcXFHQTVJcEYNCk53ay9ka3AwU0Q0Kzh0SVUxM3BmQ0VzWDV5N2Q2dnlyWXIrVkFERE1iLzMvRmk5MFFrNVFROGpsRnJhKytCYjgNCkxDSERxc3JnSmNKWlhRWHFja3Q2RkFKNlArT01NTmJNeE40czYvODc5R0V4a0FVUm9GM2dMd1c5RnpvdGZxTDINCkpGVnhsVjFLS0ZrV1dZZFFyaDlHWHVFLzR5UWtJQVMya3Z2UzhxdmEvbk5TOXJ2bUhkN0NpeXJkRG1XeDQzeEUNCmpRSURBUUFCDQotLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0NCg=="; + vereign::SecretStore store("./pkey"); + //store.write_string("publick_key", "pass") + const std::string pkey = store.read_string("pass"); vereign::API v("https://app.vereign.com/api"); diff --git a/cpp/pkey b/cpp/pkey new file mode 100644 index 0000000000000000000000000000000000000000..ded78bf6ea6cdc3b55ac73d5ad77a403609712c7 --- /dev/null +++ b/cpp/pkey @@ -0,0 +1 @@ +{"value":"eCTA6hw/ZbKD+x9XgvIj4s6dC4Dxl8/U85r9ge6R9u5FmyKdJ9gYCv1T+ayxhwqrEIYRlc5HzUTOBg+ty6HHuyNI42ZzpLmnjxiP1Z/TbjE4T7v3cSZRNVo9LPZltqVvdKtUiHrPFTuP4ArOBKkN9PeLnp4K1CoYEpYYCYVxQ4Bi26s6FwGtHXbfHOKaKEKow6dYdfaZaEbZNZH0QnIQo3kXkXoF2Zr/A5uZEbkNfOubFLC/kUBAHdlifp1lEI56x8baVku/wnj2ewPMNsuYKzXkpK8FAkp1eP/13T5HF3VVZOkfr9A+lLiodMLBB6J5b86s0Q7i2W+ifrWma3x6E6EP2ujrriuz9fcMxC1KGpZL/T7RSEWhyHcV1m902NVBs7E/44IcVLOUUC9hKMC4sFFaib6XAXO/Ue1xWUfNoVFbaPx/IKexdBbwKqjPWrjg8YFWHlnfnUbPAKC/XCd72/EJFFd2EAClkiycFJMhjNn9vig7lUUgwb+QvD0SF14Vr4QoI3KywB3wBZgTW43ivdpfGpqUCQnV6l+4dvFmWr2Mpq+S5okgtjoxCr7TnrtqSGGopHaSlyyl1s9H/sYU9itvTOpCgtd1ufqLaD1tQKWezJUK6l5fRZjsi4g54KGZrZqgDVGB3hmL/eLWAyvcRg7/aM9RBJ9a1ytQ0088fWcjarUPaX/pAyPiOQ6qs3BaOOyV1FI//sUFZvgqVoVM6rNdg3owICZE74f0yypx3Ymh3fKRpgRtuypdhUZytBowy/aLX2hwSBs/7JcQfVELEgYTGqRrPLaCROpGbqc/7/83IS7GVMJt8w==","iterations":262144,"iv":"juFFfPAiUFg=","salt":"juFFfPAiUFjCfiJuqkyoAigxjs7jYINWuFM5c5IahNOavTfWAyzCoJW1KhDPBqKPnNsI2xQC34ajWoKM3dCm/g=="} \ No newline at end of file diff --git a/cpp/secret_store.hpp b/cpp/secret_store.hpp new file mode 100644 index 0000000000000000000000000000000000000000..c7c66c1c642d7cb733f9b14aa910b55935c8d06a --- /dev/null +++ b/cpp/secret_store.hpp @@ -0,0 +1,194 @@ +#ifndef DEMO_SECRET_STORE_HPP +#define DEMO_SECRET_STORE_HPP + +#include <string> +#include <fstream> +#include <streambuf> +#include <random> + +#include <openssl/evp.h> +#include <openssl/aes.h> +#include <openssl/rand.h> + + +#include "json.hpp" + +namespace vereign { + +class SecretStore { + std::string file_name; +public: + SecretStore(std::string _file_name) : file_name(_file_name){}; + + std::vector<unsigned char> read_value(const std::string &pass); + std::string read_string(const std::string &pass); + + void write_value(const std::vector<unsigned char> &value, const std::string &pass); + void write_string(const std::string &value, const std::string &pass); + + std::vector<unsigned char> decrypt(const std::string &ecnrypted, const std::string &pass); + std::string encrypt(const std::vector<unsigned char> &value, const std::string &pass); + +private: + std::vector<unsigned char> crypt(AES_KEY *aes_key, const std::vector<unsigned char> &input, const std::vector<unsigned char> &iv); + + const int key_length_bytes = 16; + const int salt_length_bytes = 64; + const int iterations = 1<<18; + const int iv_size = 8; +}; + +struct ciperparams { + std::string value; + std::string salt; + std::string iv; + int iterations; +}; + +void to_json(nlohmann::json &j, const ciperparams &t) { + j = nlohmann::json { + {"value", t.value}, + {"salt", t.salt}, + {"iv", t.iv}, + {"iterations", t.iterations}, + }; +} + +void from_json(const nlohmann::json &j, ciperparams &t) { + if (j.find("value") != j.end()) + j.at("value").get_to(t.value); + if (j.find("salt") != j.end()) + j.at("salt").get_to(t.salt); + if (j.find("iterations") != j.end()) + j.at("iterations").get_to(t.iterations); + if (j.find("iv") != j.end()) + j.at("iv").get_to(t.iv); +}; + + +std::vector<unsigned char> SecretStore::read_value(const std::string &pass) { + std::ifstream f(file_name); + std::string str((std::istreambuf_iterator<char>(f)), + std::istreambuf_iterator<char>()); + + return decrypt(str, pass); + +} + +std::string SecretStore::read_string(const std::string &pass) { + auto result = read_value(pass); + result.push_back(0); + return std::string((char*)result.data()); +} + + +void SecretStore::write_value(const std::vector<unsigned char> &value, const std::string &pass) { + std::string encrypted = encrypt(value, pass); + std::ofstream out(file_name); + out << encrypted; + out.close(); +} + +void SecretStore::write_string(const std::string &value, const std::string &pass) { + auto arr = std::vector<unsigned char>(value.begin(), value.end()); + write_value(arr, pass); +} + + +std::vector<unsigned char> generateRandomBytes(int size) { + std::independent_bits_engine<std::default_random_engine, CHAR_BIT, unsigned char> rbe; + std::vector<unsigned char> data(size); + std::generate(begin(data), end(data), std::ref(rbe)); + return data; +} + +std::string toHex(const std::vector<unsigned char> &data) { + std::unique_ptr<unsigned char[]> hex(new unsigned char[((data.size() + 2)/3) * 4 + 1]); + int len = EVP_EncodeBlock(hex.get(), data.data(), data.size()); + if (len < 0) { + throw std::runtime_error("can't encode salt"); + } + return std::string((const char*)hex.get()); +} + +std::vector<unsigned char> toBin(const std::string &data) { + std::unique_ptr<unsigned char[]> bin(new unsigned char[data.length()]); + auto len = EVP_DecodeBlock((unsigned char*)bin.get(), (const unsigned char*)data.c_str(), data.length()); + for (auto rit=data.rbegin(); rit!=data.rend(); ++rit) { + if (*rit != '=') { + break; + } + len--; + } + + if (len < 0) { + throw std::runtime_error("can't decode base64"); + } + + return std::vector<unsigned char>((unsigned char*)bin.get(), (unsigned char*)bin.get() + len); +} + +std::string SecretStore::encrypt(const std::vector<unsigned char> &value, const std::string &pass) { + unsigned char key[key_length_bytes]; + auto salt = generateRandomBytes(salt_length_bytes); + + if (PKCS5_PBKDF2_HMAC_SHA1(pass.c_str(), pass.length(), salt.data(), salt.size(), iterations, key_length_bytes, key) != 1) { + throw std::runtime_error("can't crete key"); + } + + AES_KEY aes_key; + if (AES_set_encrypt_key(key, key_length_bytes * 8, &aes_key) < 0) { + throw std::runtime_error("can't generate key"); + } + + auto iv = generateRandomBytes(iv_size); + auto result = crypt(&aes_key, value, iv); + + ciperparams params; + params.salt = toHex(salt); + params.iv = toHex(iv); + params.iterations = iterations; + params.value = toHex(result); + + nlohmann::json j = params; + return j.dump(); +} + +std::vector<unsigned char> SecretStore::decrypt(const std::string &encrypted, const std::string &pass) { + nlohmann::json j = nlohmann::json::parse(encrypted); + ciperparams param = j; + + unsigned char key[key_length_bytes]; + auto salt = toBin(param.salt); + + if (PKCS5_PBKDF2_HMAC_SHA1(pass.c_str(), pass.length(), salt.data(), salt.size(), param.iterations, key_length_bytes, key) != 1) { + throw std::runtime_error("can't crete key"); + } + + AES_KEY aes_key; + if (AES_set_encrypt_key(key, key_length_bytes * 8, &aes_key) < 0) { + throw std::runtime_error("can't generate key"); + } + + return crypt(&aes_key, toBin(param.value), toBin(param.iv)); +} + +std::vector<unsigned char> SecretStore::crypt(AES_KEY *aes_key, const std::vector<unsigned char> &input, const std::vector<unsigned char> &iv) { + unsigned char ivec[AES_BLOCK_SIZE] = {0}; + memset(ivec, 0, sizeof(ivec)); + memcpy(ivec, iv.data(), iv_size); + + unsigned char ecount_buf[AES_BLOCK_SIZE]; + memset(ecount_buf, 0, sizeof(ecount_buf)); + unsigned int num = 0; + + std::unique_ptr<unsigned char[]> output(new unsigned char[input.size()]); + AES_ctr128_encrypt(input.data(), output.get(), input.size(), aes_key, ivec, ecount_buf, &num); + + return std::vector<unsigned char>((unsigned char*)output.get(), (unsigned char*)output.get() + input.size()); +} + + +} // namespace + +#endif //DEMO_SECRET_STORE_HPP diff --git a/cpp/vereign.hpp b/cpp/vereign.hpp index 120b4c76e2b638ee35dcac8de0a69dcbca4f5228..9b39df2c64e7ecd525b3e404a1d3de1a77a44efb 100644 --- a/cpp/vereign.hpp +++ b/cpp/vereign.hpp @@ -1,7 +1,11 @@ + /* * Autogenerated file. DO NOT EDIT !!!! * */ +#ifndef VEREIGN_TEMPLATE_HPP +#define VEREIGN_TEMPLATE_HPP + #include <string> #include <curl/curl.h> #include <vector> @@ -19,1159 +23,1339 @@ void init() { -struct GetActionsForm { - std::string mode; - std::string from; - std::string to; +struct RemoveGuardedForm { + std::string guardedUUID; + std::string entityUUID; }; -void to_json(nlohmann::json &j, const GetActionsForm &t) { +void to_json(nlohmann::json &j, const RemoveGuardedForm &t) { j = nlohmann::json { - {"mode", t.mode}, - {"from", t.from}, - {"to", t.to} + {"guardedUUID", t.guardedUUID}, + {"entityUUID", t.entityUUID} }; } -void from_json(const nlohmann::json &j, GetActionsForm &t) { - if (j.find("mode") != j.end()) - j.at("mode").get_to(t.mode); - if (j.find("from") != j.end()) - j.at("from").get_to(t.from); - if (j.find("to") != j.end()) - j.at("to").get_to(t.to); +void from_json(const nlohmann::json &j, RemoveGuardedForm &t) { + if (j.find("guardedUUID") != j.end()) + j.at("guardedUUID").get_to(t.guardedUUID); + if (j.find("entityUUID") != j.end()) + j.at("entityUUID").get_to(t.entityUUID); }; -struct Argument { - std::string value; - long type; - long source; +struct RemoveMemberForm { + std::string memberUUID; + std::string entityUUID; }; -void to_json(nlohmann::json &j, const Argument &t) { +void to_json(nlohmann::json &j, const RemoveMemberForm &t) { j = nlohmann::json { - {"value", t.value}, - {"type", t.type}, - {"source", t.source} + {"memberUUID", t.memberUUID}, + {"entityUUID", t.entityUUID} }; } -void from_json(const nlohmann::json &j, Argument &t) { - if (j.find("value") != j.end()) - j.at("value").get_to(t.value); - if (j.find("type") != j.end()) - j.at("type").get_to(t.type); - if (j.find("source") != j.end()) - j.at("source").get_to(t.source); +void from_json(const nlohmann::json &j, RemoveMemberForm &t) { + if (j.find("memberUUID") != j.end()) + j.at("memberUUID").get_to(t.memberUUID); + if (j.find("entityUUID") != j.end()) + j.at("entityUUID").get_to(t.entityUUID); }; -struct ConfirmableAction { - std::string actionID; - long type; - long status; - std::string functionName; - std::vector<Argument> arguments; - std::string createdByEntityUUID; - std::string confirmedByEntityUUId; - std::string appliedOnEntityUUID; - long created; - long validUntil; - std::string qrCode; - std::string authenticationPublicKey; +struct RenameDeviceForm { + std::string DeviceID; + std::string Name; }; -void to_json(nlohmann::json &j, const ConfirmableAction &t) { +void to_json(nlohmann::json &j, const RenameDeviceForm &t) { j = nlohmann::json { - {"actionID", t.actionID}, - {"type", t.type}, - {"status", t.status}, - {"functionName", t.functionName}, - {"arguments", t.arguments}, - {"createdByEntityUUID", t.createdByEntityUUID}, - {"confirmedByEntityUUId", t.confirmedByEntityUUId}, - {"appliedOnEntityUUID", t.appliedOnEntityUUID}, - {"created", t.created}, - {"validUntil", t.validUntil}, - {"qrCode", t.qrCode}, - {"authenticationPublicKey", t.authenticationPublicKey} + {"DeviceID", t.DeviceID}, + {"Name", t.Name} }; } -void from_json(const nlohmann::json &j, ConfirmableAction &t) { - if (j.find("actionID") != j.end()) - j.at("actionID").get_to(t.actionID); - if (j.find("type") != j.end()) - j.at("type").get_to(t.type); - if (j.find("status") != j.end()) - j.at("status").get_to(t.status); - if (j.find("functionName") != j.end()) - j.at("functionName").get_to(t.functionName); - if (j.find("arguments") != j.end()) - j.at("arguments").get_to(t.arguments); - if (j.find("createdByEntityUUID") != j.end()) - j.at("createdByEntityUUID").get_to(t.createdByEntityUUID); - if (j.find("confirmedByEntityUUId") != j.end()) - j.at("confirmedByEntityUUId").get_to(t.confirmedByEntityUUId); - if (j.find("appliedOnEntityUUID") != j.end()) - j.at("appliedOnEntityUUID").get_to(t.appliedOnEntityUUID); - if (j.find("created") != j.end()) - j.at("created").get_to(t.created); - if (j.find("validUntil") != j.end()) - j.at("validUntil").get_to(t.validUntil); - if (j.find("qrCode") != j.end()) - j.at("qrCode").get_to(t.qrCode); - if (j.find("authenticationPublicKey") != j.end()) - j.at("authenticationPublicKey").get_to(t.authenticationPublicKey); +void from_json(const nlohmann::json &j, RenameDeviceForm &t) { + if (j.find("DeviceID") != j.end()) + j.at("DeviceID").get_to(t.DeviceID); + if (j.find("Name") != j.end()) + j.at("Name").get_to(t.Name); }; -struct GenerateCredentialsResponse { - std::string Username; - std::string Password; +struct DeleteEntityForm { + std::string entityuuid; }; -void to_json(nlohmann::json &j, const GenerateCredentialsResponse &t) { +void to_json(nlohmann::json &j, const DeleteEntityForm &t) { j = nlohmann::json { - {"Username", t.Username}, - {"Password", t.Password} + {"entityuuid", t.entityuuid} }; } -void from_json(const nlohmann::json &j, GenerateCredentialsResponse &t) { - if (j.find("Username") != j.end()) - j.at("Username").get_to(t.Username); - if (j.find("Password") != j.end()) - j.at("Password").get_to(t.Password); +void from_json(const nlohmann::json &j, DeleteEntityForm &t) { + if (j.find("entityuuid") != j.end()) + j.at("entityuuid").get_to(t.entityuuid); }; -struct GetEmailWithHeaderByPassportForm { - std::string passportUUID; - std::string mimeMessage; +struct FileInfo { + std::string Href; + std::string Path; + std::string BoxType; + std::string Author; + std::string CreationDate; + std::string DisplayName; + std::string ResourceType; + std::string GetContentLength; + std::string GetContentType; + std::string GetETag; + std::string GetLastModified; }; -void to_json(nlohmann::json &j, const GetEmailWithHeaderByPassportForm &t) { +void to_json(nlohmann::json &j, const FileInfo &t) { j = nlohmann::json { - {"passportUUID", t.passportUUID}, - {"mimeMessage", t.mimeMessage} + {"Href", t.Href}, + {"Path", t.Path}, + {"BoxType", t.BoxType}, + {"Author", t.Author}, + {"CreationDate", t.CreationDate}, + {"DisplayName", t.DisplayName}, + {"ResourceType", t.ResourceType}, + {"GetContentLength", t.GetContentLength}, + {"GetContentType", t.GetContentType}, + {"GetETag", t.GetETag}, + {"GetLastModified", t.GetLastModified} }; } -void from_json(const nlohmann::json &j, GetEmailWithHeaderByPassportForm &t) { - if (j.find("passportUUID") != j.end()) - j.at("passportUUID").get_to(t.passportUUID); - if (j.find("mimeMessage") != j.end()) - j.at("mimeMessage").get_to(t.mimeMessage); +void from_json(const nlohmann::json &j, FileInfo &t) { + if (j.find("Href") != j.end()) + j.at("Href").get_to(t.Href); + if (j.find("Path") != j.end()) + j.at("Path").get_to(t.Path); + if (j.find("BoxType") != j.end()) + j.at("BoxType").get_to(t.BoxType); + if (j.find("Author") != j.end()) + j.at("Author").get_to(t.Author); + if (j.find("CreationDate") != j.end()) + j.at("CreationDate").get_to(t.CreationDate); + if (j.find("DisplayName") != j.end()) + j.at("DisplayName").get_to(t.DisplayName); + if (j.find("ResourceType") != j.end()) + j.at("ResourceType").get_to(t.ResourceType); + if (j.find("GetContentLength") != j.end()) + j.at("GetContentLength").get_to(t.GetContentLength); + if (j.find("GetContentType") != j.end()) + j.at("GetContentType").get_to(t.GetContentType); + if (j.find("GetETag") != j.end()) + j.at("GetETag").get_to(t.GetETag); + if (j.find("GetLastModified") != j.end()) + j.at("GetLastModified").get_to(t.GetLastModified); }; -struct GetEntityForm { - std::string entityuuid; - std::string from; - std::string to; - std::string searchtype; - std::string passport_link; +struct CallFunctionForm { + std::string functionName; + std::string parameters; }; -void to_json(nlohmann::json &j, const GetEntityForm &t) { +void to_json(nlohmann::json &j, const CallFunctionForm &t) { j = nlohmann::json { - {"entityuuid", t.entityuuid}, - {"from", t.from}, - {"to", t.to}, - {"searchtype", t.searchtype}, - {"passport_link", t.passport_link} + {"functionName", t.functionName}, + {"parameters", t.parameters} }; } -void from_json(const nlohmann::json &j, GetEntityForm &t) { - if (j.find("entityuuid") != j.end()) - j.at("entityuuid").get_to(t.entityuuid); - if (j.find("from") != j.end()) - j.at("from").get_to(t.from); - if (j.find("to") != j.end()) - j.at("to").get_to(t.to); - if (j.find("searchtype") != j.end()) - j.at("searchtype").get_to(t.searchtype); - if (j.find("passport_link") != j.end()) - j.at("passport_link").get_to(t.passport_link); +void from_json(const nlohmann::json &j, CallFunctionForm &t) { + if (j.find("functionName") != j.end()) + j.at("functionName").get_to(t.functionName); + if (j.find("parameters") != j.end()) + j.at("parameters").get_to(t.parameters); }; -struct Claim { - std::map<std::string,std::string> value; - long type; - long AccessType; - std::string functionPointer; - std::string symlink; - bool defaultClaim; - std::string calculatedValue; - long valueType; - bool verified; +struct AddEmailForm { + std::string passportUUID; + std::string message; }; -void to_json(nlohmann::json &j, const Claim &t) { +void to_json(nlohmann::json &j, const AddEmailForm &t) { j = nlohmann::json { - {"value", t.value}, - {"type", t.type}, - {"AccessType", t.AccessType}, - {"functionPointer", t.functionPointer}, - {"symlink", t.symlink}, - {"defaultClaim", t.defaultClaim}, - {"calculatedValue", t.calculatedValue}, - {"valueType", t.valueType}, - {"verified", t.verified} + {"passportUUID", t.passportUUID}, + {"message", t.message} }; } -void from_json(const nlohmann::json &j, Claim &t) { - if (j.find("value") != j.end()) - j.at("value").get_to(t.value); - if (j.find("type") != j.end()) - j.at("type").get_to(t.type); - if (j.find("AccessType") != j.end()) - j.at("AccessType").get_to(t.AccessType); - if (j.find("functionPointer") != j.end()) - j.at("functionPointer").get_to(t.functionPointer); - if (j.find("symlink") != j.end()) - j.at("symlink").get_to(t.symlink); - if (j.find("defaultClaim") != j.end()) - j.at("defaultClaim").get_to(t.defaultClaim); - if (j.find("calculatedValue") != j.end()) - j.at("calculatedValue").get_to(t.calculatedValue); - if (j.find("valueType") != j.end()) - j.at("valueType").get_to(t.valueType); - if (j.find("verified") != j.end()) - j.at("verified").get_to(t.verified); +void from_json(const nlohmann::json &j, AddEmailForm &t) { + if (j.find("passportUUID") != j.end()) + j.at("passportUUID").get_to(t.passportUUID); + if (j.find("message") != j.end()) + j.at("message").get_to(t.message); }; -struct ClaimTagsMap { - std::map<std::string,Claim> tags; +struct AddActivityForm { + std::string uuid; + std::string activity; }; -void to_json(nlohmann::json &j, const ClaimTagsMap &t) { +void to_json(nlohmann::json &j, const AddActivityForm &t) { j = nlohmann::json { - {"tags", t.tags} + {"uuid", t.uuid}, + {"activity", t.activity} }; } -void from_json(const nlohmann::json &j, ClaimTagsMap &t) { - if (j.find("tags") != j.end()) - j.at("tags").get_to(t.tags); +void from_json(const nlohmann::json &j, AddActivityForm &t) { + if (j.find("uuid") != j.end()) + j.at("uuid").get_to(t.uuid); + if (j.find("activity") != j.end()) + j.at("activity").get_to(t.activity); }; -struct EntityMessage { - std::string uuid; - long type; - std::map<std::string,ClaimTagsMap> claims; - std::vector<std::string> guarded; - std::vector<std::string> guardians; - std::vector<std::string> members; - std::vector<std::string> memberOf; - std::vector<std::string> parents; - std::vector<std::string> children; - std::vector<std::string> viewed; - std::vector<std::string> viewers; - long stamp; - std::string otpSecret; - bool activated; - std::vector<std::string> authenticationKeys; - std::vector<std::string> certificates; - std::string entityCertificate; - std::vector<std::string> symmetricKeys; - long created; +struct GetHyperLedgerHistoryForm { + std::string passportuuid; }; -void to_json(nlohmann::json &j, const EntityMessage &t) { +void to_json(nlohmann::json &j, const GetHyperLedgerHistoryForm &t) { j = nlohmann::json { - {"uuid", t.uuid}, - {"type", t.type}, - {"claims", t.claims}, - {"guarded", t.guarded}, - {"guardians", t.guardians}, - {"members", t.members}, - {"memberOf", t.memberOf}, - {"parents", t.parents}, - {"children", t.children}, - {"viewed", t.viewed}, - {"viewers", t.viewers}, - {"stamp", t.stamp}, - {"otpSecret", t.otpSecret}, - {"activated", t.activated}, - {"authenticationKeys", t.authenticationKeys}, - {"certificates", t.certificates}, - {"entityCertificate", t.entityCertificate}, - {"symmetricKeys", t.symmetricKeys}, - {"created", t.created} + {"passportuuid", t.passportuuid} }; } -void from_json(const nlohmann::json &j, EntityMessage &t) { - if (j.find("uuid") != j.end()) - j.at("uuid").get_to(t.uuid); - if (j.find("type") != j.end()) - j.at("type").get_to(t.type); - if (j.find("claims") != j.end()) - j.at("claims").get_to(t.claims); - if (j.find("guarded") != j.end()) - j.at("guarded").get_to(t.guarded); - if (j.find("guardians") != j.end()) - j.at("guardians").get_to(t.guardians); - if (j.find("members") != j.end()) - j.at("members").get_to(t.members); - if (j.find("memberOf") != j.end()) - j.at("memberOf").get_to(t.memberOf); - if (j.find("parents") != j.end()) - j.at("parents").get_to(t.parents); - if (j.find("children") != j.end()) - j.at("children").get_to(t.children); - if (j.find("viewed") != j.end()) - j.at("viewed").get_to(t.viewed); - if (j.find("viewers") != j.end()) - j.at("viewers").get_to(t.viewers); - if (j.find("stamp") != j.end()) - j.at("stamp").get_to(t.stamp); - if (j.find("otpSecret") != j.end()) - j.at("otpSecret").get_to(t.otpSecret); - if (j.find("activated") != j.end()) - j.at("activated").get_to(t.activated); - if (j.find("authenticationKeys") != j.end()) - j.at("authenticationKeys").get_to(t.authenticationKeys); - if (j.find("certificates") != j.end()) - j.at("certificates").get_to(t.certificates); - if (j.find("entityCertificate") != j.end()) - j.at("entityCertificate").get_to(t.entityCertificate); - if (j.find("symmetricKeys") != j.end()) - j.at("symmetricKeys").get_to(t.symmetricKeys); - if (j.find("created") != j.end()) - j.at("created").get_to(t.created); +void from_json(const nlohmann::json &j, GetHyperLedgerHistoryForm &t) { + if (j.find("passportuuid") != j.end()) + j.at("passportuuid").get_to(t.passportuuid); }; -struct CreateEntityForm { - long type; +struct GetEmailsForm { + std::string conversationUUID; + std::string from; + std::string to; + std::string searchtype; }; -void to_json(nlohmann::json &j, const CreateEntityForm &t) { +void to_json(nlohmann::json &j, const GetEmailsForm &t) { j = nlohmann::json { - {"type", t.type} + {"conversationUUID", t.conversationUUID}, + {"from", t.from}, + {"to", t.to}, + {"searchtype", t.searchtype} }; } -void from_json(const nlohmann::json &j, CreateEntityForm &t) { - if (j.find("type") != j.end()) - j.at("type").get_to(t.type); +void from_json(const nlohmann::json &j, GetEmailsForm &t) { + if (j.find("conversationUUID") != j.end()) + j.at("conversationUUID").get_to(t.conversationUUID); + if (j.find("from") != j.end()) + j.at("from").get_to(t.from); + if (j.find("to") != j.end()) + j.at("to").get_to(t.to); + if (j.find("searchtype") != j.end()) + j.at("searchtype").get_to(t.searchtype); }; -struct GetDocumentByUUIDForm { - std::string UUID; +struct UserData { + std::string Name; + std::string Uuid; + std::string Avatar; + std::string ContentType; }; -void to_json(nlohmann::json &j, const GetDocumentByUUIDForm &t) { +void to_json(nlohmann::json &j, const UserData &t) { j = nlohmann::json { - {"UUID", t.UUID} + {"Name", t.Name}, + {"Uuid", t.Uuid}, + {"Avatar", t.Avatar}, + {"ContentType", t.ContentType} }; } -void from_json(const nlohmann::json &j, GetDocumentByUUIDForm &t) { - if (j.find("UUID") != j.end()) - j.at("UUID").get_to(t.UUID); +void from_json(const nlohmann::json &j, UserData &t) { + if (j.find("Name") != j.end()) + j.at("Name").get_to(t.Name); + if (j.find("Uuid") != j.end()) + j.at("Uuid").get_to(t.Uuid); + if (j.find("Avatar") != j.end()) + j.at("Avatar").get_to(t.Avatar); + if (j.find("ContentType") != j.end()) + j.at("ContentType").get_to(t.ContentType); }; -struct StoreDIDsForm { - std::string passportUUID; +struct EmailInfo { + std::string MessageID; + std::string Message; + long Timestamp; + UserData Sender; + std::vector<UserData> Receivers; }; -void to_json(nlohmann::json &j, const StoreDIDsForm &t) { +void to_json(nlohmann::json &j, const EmailInfo &t) { j = nlohmann::json { - {"passportUUID", t.passportUUID} + {"MessageID", t.MessageID}, + {"Message", t.Message}, + {"Timestamp", t.Timestamp}, + {"Sender", t.Sender}, + {"Receivers", t.Receivers} }; } -void from_json(const nlohmann::json &j, StoreDIDsForm &t) { - if (j.find("passportUUID") != j.end()) - j.at("passportUUID").get_to(t.passportUUID); +void from_json(const nlohmann::json &j, EmailInfo &t) { + if (j.find("MessageID") != j.end()) + j.at("MessageID").get_to(t.MessageID); + if (j.find("Message") != j.end()) + j.at("Message").get_to(t.Message); + if (j.find("Timestamp") != j.end()) + j.at("Timestamp").get_to(t.Timestamp); + if (j.find("Sender") != j.end()) + j.at("Sender").get_to(t.Sender); + if (j.find("Receivers") != j.end()) + j.at("Receivers").get_to(t.Receivers); }; -struct CancelActionForm { +struct ConfirmNewCarddavPublicKeyForm { + std::string code; std::string actionID; }; -void to_json(nlohmann::json &j, const CancelActionForm &t) { +void to_json(nlohmann::json &j, const ConfirmNewCarddavPublicKeyForm &t) { j = nlohmann::json { + {"code", t.code}, {"actionID", t.actionID} }; } -void from_json(const nlohmann::json &j, CancelActionForm &t) { +void from_json(const nlohmann::json &j, ConfirmNewCarddavPublicKeyForm &t) { + if (j.find("code") != j.end()) + j.at("code").get_to(t.code); if (j.find("actionID") != j.end()) j.at("actionID").get_to(t.actionID); }; -struct GetActivityForm { - std::string uuid; - std::string from; - std::string to; - std::string filter; +struct DeleteIdentityImageForm { + std::string imageTag; }; -void to_json(nlohmann::json &j, const GetActivityForm &t) { +void to_json(nlohmann::json &j, const DeleteIdentityImageForm &t) { j = nlohmann::json { - {"uuid", t.uuid}, - {"from", t.from}, - {"to", t.to}, - {"filter", t.filter} + {"imageTag", t.imageTag} }; } -void from_json(const nlohmann::json &j, GetActivityForm &t) { - if (j.find("uuid") != j.end()) - j.at("uuid").get_to(t.uuid); - if (j.find("from") != j.end()) - j.at("from").get_to(t.from); - if (j.find("to") != j.end()) - j.at("to").get_to(t.to); - if (j.find("filter") != j.end()) - j.at("filter").get_to(t.filter); +void from_json(const nlohmann::json &j, DeleteIdentityImageForm &t) { + if (j.find("imageTag") != j.end()) + j.at("imageTag").get_to(t.imageTag); }; -struct ActivityDelta { - std::vector<std::string> activity; - std::string uuid; - std::string deviceKey; - long stamp; - std::vector<std::string> creators; +struct GetDIDsForm { + std::string passportUUID; }; -void to_json(nlohmann::json &j, const ActivityDelta &t) { +void to_json(nlohmann::json &j, const GetDIDsForm &t) { j = nlohmann::json { - {"activity", t.activity}, - {"uuid", t.uuid}, - {"deviceKey", t.deviceKey}, - {"stamp", t.stamp}, - {"creators", t.creators} + {"passportUUID", t.passportUUID} }; } -void from_json(const nlohmann::json &j, ActivityDelta &t) { - if (j.find("activity") != j.end()) - j.at("activity").get_to(t.activity); - if (j.find("uuid") != j.end()) - j.at("uuid").get_to(t.uuid); - if (j.find("deviceKey") != j.end()) - j.at("deviceKey").get_to(t.deviceKey); - if (j.find("stamp") != j.end()) - j.at("stamp").get_to(t.stamp); - if (j.find("creators") != j.end()) - j.at("creators").get_to(t.creators); +void from_json(const nlohmann::json &j, GetDIDsForm &t) { + if (j.find("passportUUID") != j.end()) + j.at("passportUUID").get_to(t.passportUUID); }; -struct DeleteEntityForm { - std::string entityuuid; -}; +struct GetEmailWithHeaderByPassportForm { + std::string passportUUID; + std::string mimeMessage; +}; -void to_json(nlohmann::json &j, const DeleteEntityForm &t) { +void to_json(nlohmann::json &j, const GetEmailWithHeaderByPassportForm &t) { j = nlohmann::json { - {"entityuuid", t.entityuuid} + {"passportUUID", t.passportUUID}, + {"mimeMessage", t.mimeMessage} }; } -void from_json(const nlohmann::json &j, DeleteEntityForm &t) { - if (j.find("entityuuid") != j.end()) - j.at("entityuuid").get_to(t.entityuuid); +void from_json(const nlohmann::json &j, GetEmailWithHeaderByPassportForm &t) { + if (j.find("passportUUID") != j.end()) + j.at("passportUUID").get_to(t.passportUUID); + if (j.find("mimeMessage") != j.end()) + j.at("mimeMessage").get_to(t.mimeMessage); }; -struct RemoveChildForm { - std::string childUUID; - std::string entityUUID; +struct GetActionsForm { + std::string mode; + std::string from; + std::string to; }; -void to_json(nlohmann::json &j, const RemoveChildForm &t) { +void to_json(nlohmann::json &j, const GetActionsForm &t) { j = nlohmann::json { - {"childUUID", t.childUUID}, - {"entityUUID", t.entityUUID} + {"mode", t.mode}, + {"from", t.from}, + {"to", t.to} }; } -void from_json(const nlohmann::json &j, RemoveChildForm &t) { - if (j.find("childUUID") != j.end()) - j.at("childUUID").get_to(t.childUUID); - if (j.find("entityUUID") != j.end()) - j.at("entityUUID").get_to(t.entityUUID); +void from_json(const nlohmann::json &j, GetActionsForm &t) { + if (j.find("mode") != j.end()) + j.at("mode").get_to(t.mode); + if (j.find("from") != j.end()) + j.at("from").get_to(t.from); + if (j.find("to") != j.end()) + j.at("to").get_to(t.to); }; -struct AddParentForm { - std::string parentUUID; - std::string entityUUID; +struct Argument { + std::string value; + long type; + long source; }; -void to_json(nlohmann::json &j, const AddParentForm &t) { +void to_json(nlohmann::json &j, const Argument &t) { j = nlohmann::json { - {"parentUUID", t.parentUUID}, - {"entityUUID", t.entityUUID} + {"value", t.value}, + {"type", t.type}, + {"source", t.source} }; } -void from_json(const nlohmann::json &j, AddParentForm &t) { - if (j.find("parentUUID") != j.end()) - j.at("parentUUID").get_to(t.parentUUID); - if (j.find("entityUUID") != j.end()) - j.at("entityUUID").get_to(t.entityUUID); +void from_json(const nlohmann::json &j, Argument &t) { + if (j.find("value") != j.end()) + j.at("value").get_to(t.value); + if (j.find("type") != j.end()) + j.at("type").get_to(t.type); + if (j.find("source") != j.end()) + j.at("source").get_to(t.source); }; -struct RemoveMemberForm { - std::string memberUUID; - std::string entityUUID; +struct ConfirmableAction { + std::string actionID; + long type; + long status; + std::string functionName; + std::vector<Argument> arguments; + std::string createdByEntityUUID; + std::string confirmedByEntityUUId; + std::string appliedOnEntityUUID; + long created; + long validUntil; + std::string qrCode; + std::string authenticationPublicKey; }; -void to_json(nlohmann::json &j, const RemoveMemberForm &t) { +void to_json(nlohmann::json &j, const ConfirmableAction &t) { j = nlohmann::json { - {"memberUUID", t.memberUUID}, - {"entityUUID", t.entityUUID} + {"actionID", t.actionID}, + {"type", t.type}, + {"status", t.status}, + {"functionName", t.functionName}, + {"arguments", t.arguments}, + {"createdByEntityUUID", t.createdByEntityUUID}, + {"confirmedByEntityUUId", t.confirmedByEntityUUId}, + {"appliedOnEntityUUID", t.appliedOnEntityUUID}, + {"created", t.created}, + {"validUntil", t.validUntil}, + {"qrCode", t.qrCode}, + {"authenticationPublicKey", t.authenticationPublicKey} }; } -void from_json(const nlohmann::json &j, RemoveMemberForm &t) { - if (j.find("memberUUID") != j.end()) - j.at("memberUUID").get_to(t.memberUUID); - if (j.find("entityUUID") != j.end()) - j.at("entityUUID").get_to(t.entityUUID); +void from_json(const nlohmann::json &j, ConfirmableAction &t) { + if (j.find("actionID") != j.end()) + j.at("actionID").get_to(t.actionID); + if (j.find("type") != j.end()) + j.at("type").get_to(t.type); + if (j.find("status") != j.end()) + j.at("status").get_to(t.status); + if (j.find("functionName") != j.end()) + j.at("functionName").get_to(t.functionName); + if (j.find("arguments") != j.end()) + j.at("arguments").get_to(t.arguments); + if (j.find("createdByEntityUUID") != j.end()) + j.at("createdByEntityUUID").get_to(t.createdByEntityUUID); + if (j.find("confirmedByEntityUUId") != j.end()) + j.at("confirmedByEntityUUId").get_to(t.confirmedByEntityUUId); + if (j.find("appliedOnEntityUUID") != j.end()) + j.at("appliedOnEntityUUID").get_to(t.appliedOnEntityUUID); + if (j.find("created") != j.end()) + j.at("created").get_to(t.created); + if (j.find("validUntil") != j.end()) + j.at("validUntil").get_to(t.validUntil); + if (j.find("qrCode") != j.end()) + j.at("qrCode").get_to(t.qrCode); + if (j.find("authenticationPublicKey") != j.end()) + j.at("authenticationPublicKey").get_to(t.authenticationPublicKey); }; -struct RemoveGuardianForm { - std::string guardianUUID; - std::string entityUUID; +struct AttachFunctionToPassportClaimForm { + std::string claimName; + std::string tag; + std::string passportUUID; + std::string functionPointer; }; -void to_json(nlohmann::json &j, const RemoveGuardianForm &t) { +void to_json(nlohmann::json &j, const AttachFunctionToPassportClaimForm &t) { j = nlohmann::json { - {"guardianUUID", t.guardianUUID}, - {"entityUUID", t.entityUUID} + {"claimName", t.claimName}, + {"tag", t.tag}, + {"passportUUID", t.passportUUID}, + {"functionPointer", t.functionPointer} }; } -void from_json(const nlohmann::json &j, RemoveGuardianForm &t) { - if (j.find("guardianUUID") != j.end()) - j.at("guardianUUID").get_to(t.guardianUUID); - if (j.find("entityUUID") != j.end()) - j.at("entityUUID").get_to(t.entityUUID); +void from_json(const nlohmann::json &j, AttachFunctionToPassportClaimForm &t) { + if (j.find("claimName") != j.end()) + j.at("claimName").get_to(t.claimName); + if (j.find("tag") != j.end()) + j.at("tag").get_to(t.tag); + if (j.find("passportUUID") != j.end()) + j.at("passportUUID").get_to(t.passportUUID); + if (j.find("functionPointer") != j.end()) + j.at("functionPointer").get_to(t.functionPointer); }; -struct AddViewerForm { - std::string viewerUUID; - std::string entityUUID; +struct GetInteractionsForm { + std::string UUID; + long from; + long amount; }; -void to_json(nlohmann::json &j, const AddViewerForm &t) { +void to_json(nlohmann::json &j, const GetInteractionsForm &t) { j = nlohmann::json { - {"viewerUUID", t.viewerUUID}, - {"entityUUID", t.entityUUID} + {"UUID", t.UUID}, + {"from", t.from}, + {"amount", t.amount} }; } -void from_json(const nlohmann::json &j, AddViewerForm &t) { - if (j.find("viewerUUID") != j.end()) - j.at("viewerUUID").get_to(t.viewerUUID); - if (j.find("entityUUID") != j.end()) - j.at("entityUUID").get_to(t.entityUUID); +void from_json(const nlohmann::json &j, GetInteractionsForm &t) { + if (j.find("UUID") != j.end()) + j.at("UUID").get_to(t.UUID); + if (j.find("from") != j.end()) + j.at("from").get_to(t.from); + if (j.find("amount") != j.end()) + j.at("amount").get_to(t.amount); }; -struct ResignSMIMEForm { - std::string passportUUID; - std::string smimeMessage; +struct Interaction { + std::string Subject; + std::string Type; + std::string Passport; + std::string Uuid; + std::vector<std::string> Contacts; + long Timestamp; }; -void to_json(nlohmann::json &j, const ResignSMIMEForm &t) { +void to_json(nlohmann::json &j, const Interaction &t) { j = nlohmann::json { - {"passportUUID", t.passportUUID}, - {"smimeMessage", t.smimeMessage} + {"Subject", t.Subject}, + {"Type", t.Type}, + {"Passport", t.Passport}, + {"Uuid", t.Uuid}, + {"Contacts", t.Contacts}, + {"Timestamp", t.Timestamp} }; } -void from_json(const nlohmann::json &j, ResignSMIMEForm &t) { - if (j.find("passportUUID") != j.end()) - j.at("passportUUID").get_to(t.passportUUID); - if (j.find("smimeMessage") != j.end()) - j.at("smimeMessage").get_to(t.smimeMessage); +void from_json(const nlohmann::json &j, Interaction &t) { + if (j.find("Subject") != j.end()) + j.at("Subject").get_to(t.Subject); + if (j.find("Type") != j.end()) + j.at("Type").get_to(t.Type); + if (j.find("Passport") != j.end()) + j.at("Passport").get_to(t.Passport); + if (j.find("Uuid") != j.end()) + j.at("Uuid").get_to(t.Uuid); + if (j.find("Contacts") != j.end()) + j.at("Contacts").get_to(t.Contacts); + if (j.find("Timestamp") != j.end()) + j.at("Timestamp").get_to(t.Timestamp); }; -struct DeleteClaimForm { - std::string claim; - std::string tag; - std::string entityuuid; +struct GetAvatarByPassportForm { + std::string passportUUID; }; -void to_json(nlohmann::json &j, const DeleteClaimForm &t) { +void to_json(nlohmann::json &j, const GetAvatarByPassportForm &t) { j = nlohmann::json { - {"claim", t.claim}, - {"tag", t.tag}, - {"entityuuid", t.entityuuid} + {"passportUUID", t.passportUUID} }; } -void from_json(const nlohmann::json &j, DeleteClaimForm &t) { - if (j.find("claim") != j.end()) - j.at("claim").get_to(t.claim); - if (j.find("tag") != j.end()) - j.at("tag").get_to(t.tag); - if (j.find("entityuuid") != j.end()) - j.at("entityuuid").get_to(t.entityuuid); +void from_json(const nlohmann::json &j, GetAvatarByPassportForm &t) { + if (j.find("passportUUID") != j.end()) + j.at("passportUUID").get_to(t.passportUUID); }; -struct GetEventsForm { - std::string mode; - std::string from; - std::string to; +struct PassportData { + std::string Avatar; + std::string ContentType; + std::string PassportName; + std::string RealName; + std::string PassportEmail; + std::string PassportMobile; + bool PassportMobileVerified; + std::string PassportTwitter; + std::string PassportLinkedIn; }; -void to_json(nlohmann::json &j, const GetEventsForm &t) { +void to_json(nlohmann::json &j, const PassportData &t) { j = nlohmann::json { - {"mode", t.mode}, - {"from", t.from}, - {"to", t.to} + {"Avatar", t.Avatar}, + {"ContentType", t.ContentType}, + {"PassportName", t.PassportName}, + {"RealName", t.RealName}, + {"PassportEmail", t.PassportEmail}, + {"PassportMobile", t.PassportMobile}, + {"PassportMobileVerified", t.PassportMobileVerified}, + {"PassportTwitter", t.PassportTwitter}, + {"PassportLinkedIn", t.PassportLinkedIn} }; } -void from_json(const nlohmann::json &j, GetEventsForm &t) { - if (j.find("mode") != j.end()) - j.at("mode").get_to(t.mode); - if (j.find("from") != j.end()) - j.at("from").get_to(t.from); - if (j.find("to") != j.end()) - j.at("to").get_to(t.to); +void from_json(const nlohmann::json &j, PassportData &t) { + if (j.find("Avatar") != j.end()) + j.at("Avatar").get_to(t.Avatar); + if (j.find("ContentType") != j.end()) + j.at("ContentType").get_to(t.ContentType); + if (j.find("PassportName") != j.end()) + j.at("PassportName").get_to(t.PassportName); + if (j.find("RealName") != j.end()) + j.at("RealName").get_to(t.RealName); + if (j.find("PassportEmail") != j.end()) + j.at("PassportEmail").get_to(t.PassportEmail); + if (j.find("PassportMobile") != j.end()) + j.at("PassportMobile").get_to(t.PassportMobile); + if (j.find("PassportMobileVerified") != j.end()) + j.at("PassportMobileVerified").get_to(t.PassportMobileVerified); + if (j.find("PassportTwitter") != j.end()) + j.at("PassportTwitter").get_to(t.PassportTwitter); + if (j.find("PassportLinkedIn") != j.end()) + j.at("PassportLinkedIn").get_to(t.PassportLinkedIn); }; -struct Event { - std::string actionID; - std::string type; - std::vector<std::string> payloads; - long stamp; +struct GenerateCredentialsResponse { + std::string Username; + std::string Password; }; -void to_json(nlohmann::json &j, const Event &t) { +void to_json(nlohmann::json &j, const GenerateCredentialsResponse &t) { j = nlohmann::json { - {"actionID", t.actionID}, - {"type", t.type}, - {"payloads", t.payloads}, - {"stamp", t.stamp} + {"Username", t.Username}, + {"Password", t.Password} }; } -void from_json(const nlohmann::json &j, Event &t) { - if (j.find("actionID") != j.end()) - j.at("actionID").get_to(t.actionID); - if (j.find("type") != j.end()) - j.at("type").get_to(t.type); - if (j.find("payloads") != j.end()) - j.at("payloads").get_to(t.payloads); - if (j.find("stamp") != j.end()) - j.at("stamp").get_to(t.stamp); +void from_json(const nlohmann::json &j, GenerateCredentialsResponse &t) { + if (j.find("Username") != j.end()) + j.at("Username").get_to(t.Username); + if (j.find("Password") != j.end()) + j.at("Password").get_to(t.Password); }; -struct ClaimVerifyCodeForm { - std::string claim; - std::string tag; - std::string entityuuid; - std::string code; - std::string value; +struct AddGuardedForm { + std::string guardedUUID; + std::string entityUUID; }; -void to_json(nlohmann::json &j, const ClaimVerifyCodeForm &t) { +void to_json(nlohmann::json &j, const AddGuardedForm &t) { j = nlohmann::json { - {"claim", t.claim}, - {"tag", t.tag}, - {"entityuuid", t.entityuuid}, - {"code", t.code}, - {"value", t.value} + {"guardedUUID", t.guardedUUID}, + {"entityUUID", t.entityUUID} }; } -void from_json(const nlohmann::json &j, ClaimVerifyCodeForm &t) { - if (j.find("claim") != j.end()) - j.at("claim").get_to(t.claim); - if (j.find("tag") != j.end()) - j.at("tag").get_to(t.tag); - if (j.find("entityuuid") != j.end()) - j.at("entityuuid").get_to(t.entityuuid); - if (j.find("code") != j.end()) - j.at("code").get_to(t.code); - if (j.find("value") != j.end()) - j.at("value").get_to(t.value); +void from_json(const nlohmann::json &j, AddGuardedForm &t) { + if (j.find("guardedUUID") != j.end()) + j.at("guardedUUID").get_to(t.guardedUUID); + if (j.find("entityUUID") != j.end()) + j.at("entityUUID").get_to(t.entityUUID); }; -struct CallFunctionForm { - std::string functionName; - std::string parameters; +struct GetDocumentByUUIDForm { + std::string UUID; }; -void to_json(nlohmann::json &j, const CallFunctionForm &t) { +void to_json(nlohmann::json &j, const GetDocumentByUUIDForm &t) { j = nlohmann::json { - {"functionName", t.functionName}, - {"parameters", t.parameters} + {"UUID", t.UUID} }; } -void from_json(const nlohmann::json &j, CallFunctionForm &t) { - if (j.find("functionName") != j.end()) - j.at("functionName").get_to(t.functionName); - if (j.find("parameters") != j.end()) - j.at("parameters").get_to(t.parameters); +void from_json(const nlohmann::json &j, GetDocumentByUUIDForm &t) { + if (j.find("UUID") != j.end()) + j.at("UUID").get_to(t.UUID); }; -struct AddMemberOfForm { - std::string memberOfUUID; - std::string entityUUID; +struct GetActivityForm { + std::string uuid; + std::string from; + std::string to; + std::string filter; }; -void to_json(nlohmann::json &j, const AddMemberOfForm &t) { +void to_json(nlohmann::json &j, const GetActivityForm &t) { j = nlohmann::json { - {"memberOfUUID", t.memberOfUUID}, - {"entityUUID", t.entityUUID} + {"uuid", t.uuid}, + {"from", t.from}, + {"to", t.to}, + {"filter", t.filter} }; } -void from_json(const nlohmann::json &j, AddMemberOfForm &t) { - if (j.find("memberOfUUID") != j.end()) - j.at("memberOfUUID").get_to(t.memberOfUUID); - if (j.find("entityUUID") != j.end()) - j.at("entityUUID").get_to(t.entityUUID); +void from_json(const nlohmann::json &j, GetActivityForm &t) { + if (j.find("uuid") != j.end()) + j.at("uuid").get_to(t.uuid); + if (j.find("from") != j.end()) + j.at("from").get_to(t.from); + if (j.find("to") != j.end()) + j.at("to").get_to(t.to); + if (j.find("filter") != j.end()) + j.at("filter").get_to(t.filter); }; -struct FileInfo { - std::string Href; - std::string Path; - std::string BoxType; - std::string Author; - std::string CreationDate; - std::string DisplayName; - std::string ResourceType; - std::string GetContentLength; - std::string GetContentType; - std::string GetETag; - std::string GetLastModified; +struct ActivityDelta { + std::vector<std::string> activity; + std::string uuid; + std::string deviceKey; + long stamp; + std::vector<std::string> creators; }; -void to_json(nlohmann::json &j, const FileInfo &t) { +void to_json(nlohmann::json &j, const ActivityDelta &t) { j = nlohmann::json { - {"Href", t.Href}, - {"Path", t.Path}, - {"BoxType", t.BoxType}, - {"Author", t.Author}, - {"CreationDate", t.CreationDate}, - {"DisplayName", t.DisplayName}, - {"ResourceType", t.ResourceType}, - {"GetContentLength", t.GetContentLength}, - {"GetContentType", t.GetContentType}, - {"GetETag", t.GetETag}, - {"GetLastModified", t.GetLastModified} + {"activity", t.activity}, + {"uuid", t.uuid}, + {"deviceKey", t.deviceKey}, + {"stamp", t.stamp}, + {"creators", t.creators} }; } -void from_json(const nlohmann::json &j, FileInfo &t) { - if (j.find("Href") != j.end()) - j.at("Href").get_to(t.Href); - if (j.find("Path") != j.end()) - j.at("Path").get_to(t.Path); - if (j.find("BoxType") != j.end()) - j.at("BoxType").get_to(t.BoxType); - if (j.find("Author") != j.end()) - j.at("Author").get_to(t.Author); - if (j.find("CreationDate") != j.end()) - j.at("CreationDate").get_to(t.CreationDate); - if (j.find("DisplayName") != j.end()) - j.at("DisplayName").get_to(t.DisplayName); - if (j.find("ResourceType") != j.end()) - j.at("ResourceType").get_to(t.ResourceType); - if (j.find("GetContentLength") != j.end()) - j.at("GetContentLength").get_to(t.GetContentLength); - if (j.find("GetContentType") != j.end()) - j.at("GetContentType").get_to(t.GetContentType); - if (j.find("GetETag") != j.end()) - j.at("GetETag").get_to(t.GetETag); - if (j.find("GetLastModified") != j.end()) - j.at("GetLastModified").get_to(t.GetLastModified); +void from_json(const nlohmann::json &j, ActivityDelta &t) { + if (j.find("activity") != j.end()) + j.at("activity").get_to(t.activity); + if (j.find("uuid") != j.end()) + j.at("uuid").get_to(t.uuid); + if (j.find("deviceKey") != j.end()) + j.at("deviceKey").get_to(t.deviceKey); + if (j.find("stamp") != j.end()) + j.at("stamp").get_to(t.stamp); + if (j.find("creators") != j.end()) + j.at("creators").get_to(t.creators); }; -struct Register2FAPublicKeyForm { - std::string username; - std::string password; +struct RevokeDeviceForm { + std::string DeviceID; }; -void to_json(nlohmann::json &j, const Register2FAPublicKeyForm &t) { +void to_json(nlohmann::json &j, const RevokeDeviceForm &t) { j = nlohmann::json { - {"username", t.username}, - {"password", t.password} + {"DeviceID", t.DeviceID} }; } -void from_json(const nlohmann::json &j, Register2FAPublicKeyForm &t) { - if (j.find("username") != j.end()) - j.at("username").get_to(t.username); - if (j.find("password") != j.end()) - j.at("password").get_to(t.password); +void from_json(const nlohmann::json &j, RevokeDeviceForm &t) { + if (j.find("DeviceID") != j.end()) + j.at("DeviceID").get_to(t.DeviceID); }; -struct Register2FAPublicKeyResponse { - std::string actionID; +struct RemoveGuardianForm { + std::string guardianUUID; + std::string entityUUID; }; -void to_json(nlohmann::json &j, const Register2FAPublicKeyResponse &t) { +void to_json(nlohmann::json &j, const RemoveGuardianForm &t) { j = nlohmann::json { - {"actionID", t.actionID} + {"guardianUUID", t.guardianUUID}, + {"entityUUID", t.entityUUID} }; } -void from_json(const nlohmann::json &j, Register2FAPublicKeyResponse &t) { - if (j.find("actionID") != j.end()) - j.at("actionID").get_to(t.actionID); +void from_json(const nlohmann::json &j, RemoveGuardianForm &t) { + if (j.find("guardianUUID") != j.end()) + j.at("guardianUUID").get_to(t.guardianUUID); + if (j.find("entityUUID") != j.end()) + j.at("entityUUID").get_to(t.entityUUID); }; -struct AddMemberForm { - std::string memberUUID; +struct RemoveParentForm { + std::string parentUUID; std::string entityUUID; }; -void to_json(nlohmann::json &j, const AddMemberForm &t) { +void to_json(nlohmann::json &j, const RemoveParentForm &t) { j = nlohmann::json { - {"memberUUID", t.memberUUID}, + {"parentUUID", t.parentUUID}, {"entityUUID", t.entityUUID} }; } -void from_json(const nlohmann::json &j, AddMemberForm &t) { - if (j.find("memberUUID") != j.end()) - j.at("memberUUID").get_to(t.memberUUID); +void from_json(const nlohmann::json &j, RemoveParentForm &t) { + if (j.find("parentUUID") != j.end()) + j.at("parentUUID").get_to(t.parentUUID); if (j.find("entityUUID") != j.end()) j.at("entityUUID").get_to(t.entityUUID); }; -struct AddGuardedForm { - std::string guardedUUID; +struct AddChildForm { + std::string childUUID; std::string entityUUID; }; -void to_json(nlohmann::json &j, const AddGuardedForm &t) { +void to_json(nlohmann::json &j, const AddChildForm &t) { j = nlohmann::json { - {"guardedUUID", t.guardedUUID}, + {"childUUID", t.childUUID}, {"entityUUID", t.entityUUID} }; } -void from_json(const nlohmann::json &j, AddGuardedForm &t) { - if (j.find("guardedUUID") != j.end()) - j.at("guardedUUID").get_to(t.guardedUUID); +void from_json(const nlohmann::json &j, AddChildForm &t) { + if (j.find("childUUID") != j.end()) + j.at("childUUID").get_to(t.childUUID); if (j.find("entityUUID") != j.end()) j.at("entityUUID").get_to(t.entityUUID); }; -struct AddEmailForm { - std::string passportUUID; - std::string message; +struct RemoveChildForm { + std::string childUUID; + std::string entityUUID; }; -void to_json(nlohmann::json &j, const AddEmailForm &t) { +void to_json(nlohmann::json &j, const RemoveChildForm &t) { j = nlohmann::json { - {"passportUUID", t.passportUUID}, - {"message", t.message} + {"childUUID", t.childUUID}, + {"entityUUID", t.entityUUID} }; } -void from_json(const nlohmann::json &j, AddEmailForm &t) { - if (j.find("passportUUID") != j.end()) - j.at("passportUUID").get_to(t.passportUUID); - if (j.find("message") != j.end()) - j.at("message").get_to(t.message); +void from_json(const nlohmann::json &j, RemoveChildForm &t) { + if (j.find("childUUID") != j.end()) + j.at("childUUID").get_to(t.childUUID); + if (j.find("entityUUID") != j.end()) + j.at("entityUUID").get_to(t.entityUUID); }; -struct GetConversationsForm { - std::string passportUUID; +struct PutIdentityImageForm { + std::string path; + std::string contentType; + std::string imageTag; + std::string imageContent; }; -void to_json(nlohmann::json &j, const GetConversationsForm &t) { +void to_json(nlohmann::json &j, const PutIdentityImageForm &t) { j = nlohmann::json { - {"passportUUID", t.passportUUID} + {"path", t.path}, + {"contentType", t.contentType}, + {"imageTag", t.imageTag}, + {"imageContent", t.imageContent} }; } -void from_json(const nlohmann::json &j, GetConversationsForm &t) { - if (j.find("passportUUID") != j.end()) - j.at("passportUUID").get_to(t.passportUUID); +void from_json(const nlohmann::json &j, PutIdentityImageForm &t) { + if (j.find("path") != j.end()) + j.at("path").get_to(t.path); + if (j.find("contentType") != j.end()) + j.at("contentType").get_to(t.contentType); + if (j.find("imageTag") != j.end()) + j.at("imageTag").get_to(t.imageTag); + if (j.find("imageContent") != j.end()) + j.at("imageContent").get_to(t.imageContent); }; -struct ConfirmNewCarddavPublicKeyForm { - std::string code; - std::string actionID; +struct GenerateDIDsForm { + std::string passportUUID; }; -void to_json(nlohmann::json &j, const ConfirmNewCarddavPublicKeyForm &t) { +void to_json(nlohmann::json &j, const GenerateDIDsForm &t) { j = nlohmann::json { - {"code", t.code}, - {"actionID", t.actionID} + {"passportUUID", t.passportUUID} }; } -void from_json(const nlohmann::json &j, ConfirmNewCarddavPublicKeyForm &t) { - if (j.find("code") != j.end()) - j.at("code").get_to(t.code); - if (j.find("actionID") != j.end()) - j.at("actionID").get_to(t.actionID); +void from_json(const nlohmann::json &j, GenerateDIDsForm &t) { + if (j.find("passportUUID") != j.end()) + j.at("passportUUID").get_to(t.passportUUID); }; -struct GetEmailsForm { - std::string conversationUUID; - std::string from; - std::string to; - std::string searchtype; +struct Function { + std::string Name; + std::string Description; + std::vector<long> InputTypes; + std::vector<long> OutputTypes; + std::string ClaimName; }; -void to_json(nlohmann::json &j, const GetEmailsForm &t) { +void to_json(nlohmann::json &j, const Function &t) { j = nlohmann::json { - {"conversationUUID", t.conversationUUID}, - {"from", t.from}, - {"to", t.to}, - {"searchtype", t.searchtype} + {"Name", t.Name}, + {"Description", t.Description}, + {"InputTypes", t.InputTypes}, + {"OutputTypes", t.OutputTypes}, + {"ClaimName", t.ClaimName} }; } -void from_json(const nlohmann::json &j, GetEmailsForm &t) { - if (j.find("conversationUUID") != j.end()) - j.at("conversationUUID").get_to(t.conversationUUID); - if (j.find("from") != j.end()) - j.at("from").get_to(t.from); - if (j.find("to") != j.end()) - j.at("to").get_to(t.to); - if (j.find("searchtype") != j.end()) - j.at("searchtype").get_to(t.searchtype); +void from_json(const nlohmann::json &j, Function &t) { + if (j.find("Name") != j.end()) + j.at("Name").get_to(t.Name); + if (j.find("Description") != j.end()) + j.at("Description").get_to(t.Description); + if (j.find("InputTypes") != j.end()) + j.at("InputTypes").get_to(t.InputTypes); + if (j.find("OutputTypes") != j.end()) + j.at("OutputTypes").get_to(t.OutputTypes); + if (j.find("ClaimName") != j.end()) + j.at("ClaimName").get_to(t.ClaimName); }; -struct UserData { - std::string Name; - std::string Uuid; - std::string Avatar; - std::string ContentType; +struct UpdateRecipientEmailStatusForm { + std::string messageID; + std::string recipient; + std::string status; }; -void to_json(nlohmann::json &j, const UserData &t) { +void to_json(nlohmann::json &j, const UpdateRecipientEmailStatusForm &t) { j = nlohmann::json { - {"Name", t.Name}, - {"Uuid", t.Uuid}, - {"Avatar", t.Avatar}, - {"ContentType", t.ContentType} + {"messageID", t.messageID}, + {"recipient", t.recipient}, + {"status", t.status} }; } -void from_json(const nlohmann::json &j, UserData &t) { - if (j.find("Name") != j.end()) - j.at("Name").get_to(t.Name); - if (j.find("Uuid") != j.end()) - j.at("Uuid").get_to(t.Uuid); - if (j.find("Avatar") != j.end()) - j.at("Avatar").get_to(t.Avatar); - if (j.find("ContentType") != j.end()) - j.at("ContentType").get_to(t.ContentType); +void from_json(const nlohmann::json &j, UpdateRecipientEmailStatusForm &t) { + if (j.find("messageID") != j.end()) + j.at("messageID").get_to(t.messageID); + if (j.find("recipient") != j.end()) + j.at("recipient").get_to(t.recipient); + if (j.find("status") != j.end()) + j.at("status").get_to(t.status); }; -struct EmailInfo { - std::string MessageID; - std::string Message; - long Timestamp; - UserData Sender; - std::vector<UserData> Receivers; +struct SendFeedbackForm { + std::string message; + std::string log; }; -void to_json(nlohmann::json &j, const EmailInfo &t) { +void to_json(nlohmann::json &j, const SendFeedbackForm &t) { j = nlohmann::json { - {"MessageID", t.MessageID}, - {"Message", t.Message}, - {"Timestamp", t.Timestamp}, - {"Sender", t.Sender}, - {"Receivers", t.Receivers} + {"message", t.message}, + {"log", t.log} }; } -void from_json(const nlohmann::json &j, EmailInfo &t) { - if (j.find("MessageID") != j.end()) - j.at("MessageID").get_to(t.MessageID); - if (j.find("Message") != j.end()) - j.at("Message").get_to(t.Message); - if (j.find("Timestamp") != j.end()) - j.at("Timestamp").get_to(t.Timestamp); - if (j.find("Sender") != j.end()) - j.at("Sender").get_to(t.Sender); - if (j.find("Receivers") != j.end()) - j.at("Receivers").get_to(t.Receivers); +void from_json(const nlohmann::json &j, SendFeedbackForm &t) { + if (j.find("message") != j.end()) + j.at("message").get_to(t.message); + if (j.find("log") != j.end()) + j.at("log").get_to(t.log); }; -struct SendEmailSmtpForm { - std::string passportUUID; - std::string accessToken; - std::string from; - std::string to; - std::string rawMessage; - std::string type; +struct ClaimSendCodeForm { + std::string claim; + std::string tag; + std::string entityuuid; + std::string value; }; -void to_json(nlohmann::json &j, const SendEmailSmtpForm &t) { +void to_json(nlohmann::json &j, const ClaimSendCodeForm &t) { j = nlohmann::json { - {"passportUUID", t.passportUUID}, - {"accessToken", t.accessToken}, - {"from", t.from}, - {"to", t.to}, - {"rawMessage", t.rawMessage}, - {"type", t.type} + {"claim", t.claim}, + {"tag", t.tag}, + {"entityuuid", t.entityuuid}, + {"value", t.value} }; } -void from_json(const nlohmann::json &j, SendEmailSmtpForm &t) { - if (j.find("passportUUID") != j.end()) - j.at("passportUUID").get_to(t.passportUUID); - if (j.find("accessToken") != j.end()) - j.at("accessToken").get_to(t.accessToken); - if (j.find("from") != j.end()) - j.at("from").get_to(t.from); - if (j.find("to") != j.end()) - j.at("to").get_to(t.to); - if (j.find("rawMessage") != j.end()) - j.at("rawMessage").get_to(t.rawMessage); - if (j.find("type") != j.end()) - j.at("type").get_to(t.type); +void from_json(const nlohmann::json &j, ClaimSendCodeForm &t) { + if (j.find("claim") != j.end()) + j.at("claim").get_to(t.claim); + if (j.find("tag") != j.end()) + j.at("tag").get_to(t.tag); + if (j.find("entityuuid") != j.end()) + j.at("entityuuid").get_to(t.entityuuid); + if (j.find("value") != j.end()) + j.at("value").get_to(t.value); }; -struct AddChildForm { - std::string childUUID; +struct AddGuardianForm { + std::string guardianUUID; std::string entityUUID; }; -void to_json(nlohmann::json &j, const AddChildForm &t) { +void to_json(nlohmann::json &j, const AddGuardianForm &t) { j = nlohmann::json { - {"childUUID", t.childUUID}, + {"guardianUUID", t.guardianUUID}, {"entityUUID", t.entityUUID} }; } -void from_json(const nlohmann::json &j, AddChildForm &t) { - if (j.find("childUUID") != j.end()) - j.at("childUUID").get_to(t.childUUID); +void from_json(const nlohmann::json &j, AddGuardianForm &t) { + if (j.find("guardianUUID") != j.end()) + j.at("guardianUUID").get_to(t.guardianUUID); if (j.find("entityUUID") != j.end()) j.at("entityUUID").get_to(t.entityUUID); }; -struct ConfirmActionExecutionForm { - std::string code; - std::string actionID; +struct RemoveViewerForm { + std::string viewerUUID; + std::string entityUUID; }; -void to_json(nlohmann::json &j, const ConfirmActionExecutionForm &t) { +void to_json(nlohmann::json &j, const RemoveViewerForm &t) { j = nlohmann::json { - {"code", t.code}, - {"actionID", t.actionID} + {"viewerUUID", t.viewerUUID}, + {"entityUUID", t.entityUUID} }; } -void from_json(const nlohmann::json &j, ConfirmActionExecutionForm &t) { - if (j.find("code") != j.end()) - j.at("code").get_to(t.code); - if (j.find("actionID") != j.end()) - j.at("actionID").get_to(t.actionID); +void from_json(const nlohmann::json &j, RemoveViewerForm &t) { + if (j.find("viewerUUID") != j.end()) + j.at("viewerUUID").get_to(t.viewerUUID); + if (j.find("entityUUID") != j.end()) + j.at("entityUUID").get_to(t.entityUUID); }; -struct AddActivityForm { +struct LinkClaimToPassportForm { + std::string claimName; + std::string tag; + std::string claimEntityUUID; + std::string passportClaimName; + std::string passportUUID; +}; + +void to_json(nlohmann::json &j, const LinkClaimToPassportForm &t) { + j = nlohmann::json { + {"claimName", t.claimName}, + {"tag", t.tag}, + {"claimEntityUUID", t.claimEntityUUID}, + {"passportClaimName", t.passportClaimName}, + {"passportUUID", t.passportUUID} + }; +} + +void from_json(const nlohmann::json &j, LinkClaimToPassportForm &t) { + if (j.find("claimName") != j.end()) + j.at("claimName").get_to(t.claimName); + if (j.find("tag") != j.end()) + j.at("tag").get_to(t.tag); + if (j.find("claimEntityUUID") != j.end()) + j.at("claimEntityUUID").get_to(t.claimEntityUUID); + if (j.find("passportClaimName") != j.end()) + j.at("passportClaimName").get_to(t.passportClaimName); + if (j.find("passportUUID") != j.end()) + j.at("passportUUID").get_to(t.passportUUID); +}; + + +struct Claim_V1 { + std::map<std::string,std::string> value; + long type; + long AccessType; + std::string functionPointer; + std::string symlink; + bool defaultClaim; + std::string calculatedValue; + long valueType; + bool verified; +}; + +void to_json(nlohmann::json &j, const Claim_V1 &t) { + j = nlohmann::json { + {"value", t.value}, + {"type", t.type}, + {"AccessType", t.AccessType}, + {"functionPointer", t.functionPointer}, + {"symlink", t.symlink}, + {"defaultClaim", t.defaultClaim}, + {"calculatedValue", t.calculatedValue}, + {"valueType", t.valueType}, + {"verified", t.verified} + }; +} + +void from_json(const nlohmann::json &j, Claim_V1 &t) { + if (j.find("value") != j.end()) + j.at("value").get_to(t.value); + if (j.find("type") != j.end()) + j.at("type").get_to(t.type); + if (j.find("AccessType") != j.end()) + j.at("AccessType").get_to(t.AccessType); + if (j.find("functionPointer") != j.end()) + j.at("functionPointer").get_to(t.functionPointer); + if (j.find("symlink") != j.end()) + j.at("symlink").get_to(t.symlink); + if (j.find("defaultClaim") != j.end()) + j.at("defaultClaim").get_to(t.defaultClaim); + if (j.find("calculatedValue") != j.end()) + j.at("calculatedValue").get_to(t.calculatedValue); + if (j.find("valueType") != j.end()) + j.at("valueType").get_to(t.valueType); + if (j.find("verified") != j.end()) + j.at("verified").get_to(t.verified); +}; + + +struct ClaimTagsMap_V1 { + std::map<std::string,Claim_V1> tags; +}; + +void to_json(nlohmann::json &j, const ClaimTagsMap_V1 &t) { + j = nlohmann::json { + {"tags", t.tags} + }; +} + +void from_json(const nlohmann::json &j, ClaimTagsMap_V1 &t) { + if (j.find("tags") != j.end()) + j.at("tags").get_to(t.tags); +}; + + +struct EntityMessage_V1 { std::string uuid; - std::string activity; + long type; + std::map<std::string,ClaimTagsMap_V1> claims; + std::vector<std::string> guarded; + std::vector<std::string> guardians; + std::vector<std::string> members; + std::vector<std::string> memberOf; + std::vector<std::string> parents; + std::vector<std::string> children; + std::vector<std::string> viewed; + std::vector<std::string> viewers; + long stamp; + std::string otpSecret; + bool activated; + std::vector<std::string> authenticationKeys; + std::vector<std::string> certificates; + std::string entityCertificate; + std::vector<std::string> symmetricKeys; + long created; }; -void to_json(nlohmann::json &j, const AddActivityForm &t) { +void to_json(nlohmann::json &j, const EntityMessage_V1 &t) { j = nlohmann::json { {"uuid", t.uuid}, - {"activity", t.activity} + {"type", t.type}, + {"claims", t.claims}, + {"guarded", t.guarded}, + {"guardians", t.guardians}, + {"members", t.members}, + {"memberOf", t.memberOf}, + {"parents", t.parents}, + {"children", t.children}, + {"viewed", t.viewed}, + {"viewers", t.viewers}, + {"stamp", t.stamp}, + {"otpSecret", t.otpSecret}, + {"activated", t.activated}, + {"authenticationKeys", t.authenticationKeys}, + {"certificates", t.certificates}, + {"entityCertificate", t.entityCertificate}, + {"symmetricKeys", t.symmetricKeys}, + {"created", t.created} }; } -void from_json(const nlohmann::json &j, AddActivityForm &t) { +void from_json(const nlohmann::json &j, EntityMessage_V1 &t) { if (j.find("uuid") != j.end()) j.at("uuid").get_to(t.uuid); - if (j.find("activity") != j.end()) - j.at("activity").get_to(t.activity); + if (j.find("type") != j.end()) + j.at("type").get_to(t.type); + if (j.find("claims") != j.end()) + j.at("claims").get_to(t.claims); + if (j.find("guarded") != j.end()) + j.at("guarded").get_to(t.guarded); + if (j.find("guardians") != j.end()) + j.at("guardians").get_to(t.guardians); + if (j.find("members") != j.end()) + j.at("members").get_to(t.members); + if (j.find("memberOf") != j.end()) + j.at("memberOf").get_to(t.memberOf); + if (j.find("parents") != j.end()) + j.at("parents").get_to(t.parents); + if (j.find("children") != j.end()) + j.at("children").get_to(t.children); + if (j.find("viewed") != j.end()) + j.at("viewed").get_to(t.viewed); + if (j.find("viewers") != j.end()) + j.at("viewers").get_to(t.viewers); + if (j.find("stamp") != j.end()) + j.at("stamp").get_to(t.stamp); + if (j.find("otpSecret") != j.end()) + j.at("otpSecret").get_to(t.otpSecret); + if (j.find("activated") != j.end()) + j.at("activated").get_to(t.activated); + if (j.find("authenticationKeys") != j.end()) + j.at("authenticationKeys").get_to(t.authenticationKeys); + if (j.find("certificates") != j.end()) + j.at("certificates").get_to(t.certificates); + if (j.find("entityCertificate") != j.end()) + j.at("entityCertificate").get_to(t.entityCertificate); + if (j.find("symmetricKeys") != j.end()) + j.at("symmetricKeys").get_to(t.symmetricKeys); + if (j.find("created") != j.end()) + j.at("created").get_to(t.created); }; -struct GenerateDIDsForm { - std::string passportUUID; +struct InitializeEmailStatusForm { + std::string messageID; + std::vector<std::string> recipients; }; -void to_json(nlohmann::json &j, const GenerateDIDsForm &t) { +void to_json(nlohmann::json &j, const InitializeEmailStatusForm &t) { j = nlohmann::json { - {"passportUUID", t.passportUUID} + {"messageID", t.messageID}, + {"recipients", t.recipients} }; } -void from_json(const nlohmann::json &j, GenerateDIDsForm &t) { - if (j.find("passportUUID") != j.end()) - j.at("passportUUID").get_to(t.passportUUID); +void from_json(const nlohmann::json &j, InitializeEmailStatusForm &t) { + if (j.find("messageID") != j.end()) + j.at("messageID").get_to(t.messageID); + if (j.find("recipients") != j.end()) + j.at("recipients").get_to(t.recipients); }; -struct PutIdentityImageForm { - std::string path; - std::string contentType; - std::string imageTag; - std::string imageContent; +struct ConfirmNewDeviceForm { + std::string code; + std::string actionID; }; -void to_json(nlohmann::json &j, const PutIdentityImageForm &t) { +void to_json(nlohmann::json &j, const ConfirmNewDeviceForm &t) { j = nlohmann::json { - {"path", t.path}, - {"contentType", t.contentType}, - {"imageTag", t.imageTag}, - {"imageContent", t.imageContent} + {"code", t.code}, + {"actionID", t.actionID} + }; +} + +void from_json(const nlohmann::json &j, ConfirmNewDeviceForm &t) { + if (j.find("code") != j.end()) + j.at("code").get_to(t.code); + if (j.find("actionID") != j.end()) + j.at("actionID").get_to(t.actionID); +}; + + +struct CancelActionForm { + std::string actionID; +}; + +void to_json(nlohmann::json &j, const CancelActionForm &t) { + j = nlohmann::json { + {"actionID", t.actionID} + }; +} + +void from_json(const nlohmann::json &j, CancelActionForm &t) { + if (j.find("actionID") != j.end()) + j.at("actionID").get_to(t.actionID); +}; + + +struct GetEntityForm { + std::string entityuuid; + std::string from; + std::string to; + std::string searchtype; + std::string passport_link; +}; + +void to_json(nlohmann::json &j, const GetEntityForm &t) { + j = nlohmann::json { + {"entityuuid", t.entityuuid}, + {"from", t.from}, + {"to", t.to}, + {"searchtype", t.searchtype}, + {"passport_link", t.passport_link} + }; +} + +void from_json(const nlohmann::json &j, GetEntityForm &t) { + if (j.find("entityuuid") != j.end()) + j.at("entityuuid").get_to(t.entityuuid); + if (j.find("from") != j.end()) + j.at("from").get_to(t.from); + if (j.find("to") != j.end()) + j.at("to").get_to(t.to); + if (j.find("searchtype") != j.end()) + j.at("searchtype").get_to(t.searchtype); + if (j.find("passport_link") != j.end()) + j.at("passport_link").get_to(t.passport_link); +}; + + +struct CreateEntityForm { + long type; +}; + +void to_json(nlohmann::json &j, const CreateEntityForm &t) { + j = nlohmann::json { + {"type", t.type} + }; +} + +void from_json(const nlohmann::json &j, CreateEntityForm &t) { + if (j.find("type") != j.end()) + j.at("type").get_to(t.type); +}; + + +struct AddViewerForm { + std::string viewerUUID; + std::string entityUUID; +}; + +void to_json(nlohmann::json &j, const AddViewerForm &t) { + j = nlohmann::json { + {"viewerUUID", t.viewerUUID}, + {"entityUUID", t.entityUUID} }; } -void from_json(const nlohmann::json &j, PutIdentityImageForm &t) { - if (j.find("path") != j.end()) - j.at("path").get_to(t.path); - if (j.find("contentType") != j.end()) - j.at("contentType").get_to(t.contentType); - if (j.find("imageTag") != j.end()) - j.at("imageTag").get_to(t.imageTag); - if (j.find("imageContent") != j.end()) - j.at("imageContent").get_to(t.imageContent); +void from_json(const nlohmann::json &j, AddViewerForm &t) { + if (j.find("viewerUUID") != j.end()) + j.at("viewerUUID").get_to(t.viewerUUID); + if (j.find("entityUUID") != j.end()) + j.at("entityUUID").get_to(t.entityUUID); }; @@ -1211,135 +1395,115 @@ void from_json(const nlohmann::json &j, AddClaimForm &t) { }; -struct GetIdentityImageForm { - std::string imageTag; +struct DeleteClaimForm { + std::string claim; + std::string tag; + std::string entityuuid; }; -void to_json(nlohmann::json &j, const GetIdentityImageForm &t) { +void to_json(nlohmann::json &j, const DeleteClaimForm &t) { j = nlohmann::json { - {"imageTag", t.imageTag} + {"claim", t.claim}, + {"tag", t.tag}, + {"entityuuid", t.entityuuid} }; } -void from_json(const nlohmann::json &j, GetIdentityImageForm &t) { - if (j.find("imageTag") != j.end()) - j.at("imageTag").get_to(t.imageTag); +void from_json(const nlohmann::json &j, DeleteClaimForm &t) { + if (j.find("claim") != j.end()) + j.at("claim").get_to(t.claim); + if (j.find("tag") != j.end()) + j.at("tag").get_to(t.tag); + if (j.find("entityuuid") != j.end()) + j.at("entityuuid").get_to(t.entityuuid); }; -struct GetAvatarByPassportForm { - std::string passportUUID; +struct AddMemberForm { + std::string memberUUID; + std::string entityUUID; }; -void to_json(nlohmann::json &j, const GetAvatarByPassportForm &t) { +void to_json(nlohmann::json &j, const AddMemberForm &t) { j = nlohmann::json { - {"passportUUID", t.passportUUID} + {"memberUUID", t.memberUUID}, + {"entityUUID", t.entityUUID} }; } -void from_json(const nlohmann::json &j, GetAvatarByPassportForm &t) { - if (j.find("passportUUID") != j.end()) - j.at("passportUUID").get_to(t.passportUUID); +void from_json(const nlohmann::json &j, AddMemberForm &t) { + if (j.find("memberUUID") != j.end()) + j.at("memberUUID").get_to(t.memberUUID); + if (j.find("entityUUID") != j.end()) + j.at("entityUUID").get_to(t.entityUUID); }; -struct PassportData { - std::string Avatar; - std::string ContentType; - std::string PassportName; - std::string RealName; - std::string PassportEmail; - std::string PassportMobile; - std::string PassportTwitter; - std::string PassportLinkedIn; +struct AddMemberOfForm { + std::string memberOfUUID; + std::string entityUUID; }; -void to_json(nlohmann::json &j, const PassportData &t) { +void to_json(nlohmann::json &j, const AddMemberOfForm &t) { j = nlohmann::json { - {"Avatar", t.Avatar}, - {"ContentType", t.ContentType}, - {"PassportName", t.PassportName}, - {"RealName", t.RealName}, - {"PassportEmail", t.PassportEmail}, - {"PassportMobile", t.PassportMobile}, - {"PassportTwitter", t.PassportTwitter}, - {"PassportLinkedIn", t.PassportLinkedIn} + {"memberOfUUID", t.memberOfUUID}, + {"entityUUID", t.entityUUID} }; } -void from_json(const nlohmann::json &j, PassportData &t) { - if (j.find("Avatar") != j.end()) - j.at("Avatar").get_to(t.Avatar); - if (j.find("ContentType") != j.end()) - j.at("ContentType").get_to(t.ContentType); - if (j.find("PassportName") != j.end()) - j.at("PassportName").get_to(t.PassportName); - if (j.find("RealName") != j.end()) - j.at("RealName").get_to(t.RealName); - if (j.find("PassportEmail") != j.end()) - j.at("PassportEmail").get_to(t.PassportEmail); - if (j.find("PassportMobile") != j.end()) - j.at("PassportMobile").get_to(t.PassportMobile); - if (j.find("PassportTwitter") != j.end()) - j.at("PassportTwitter").get_to(t.PassportTwitter); - if (j.find("PassportLinkedIn") != j.end()) - j.at("PassportLinkedIn").get_to(t.PassportLinkedIn); +void from_json(const nlohmann::json &j, AddMemberOfForm &t) { + if (j.find("memberOfUUID") != j.end()) + j.at("memberOfUUID").get_to(t.memberOfUUID); + if (j.find("entityUUID") != j.end()) + j.at("entityUUID").get_to(t.entityUUID); }; -struct AddGuardianForm { - std::string guardianUUID; - std::string entityUUID; +struct GetEmailStatusForm { + std::string messageID; }; -void to_json(nlohmann::json &j, const AddGuardianForm &t) { +void to_json(nlohmann::json &j, const GetEmailStatusForm &t) { j = nlohmann::json { - {"guardianUUID", t.guardianUUID}, - {"entityUUID", t.entityUUID} + {"messageID", t.messageID} }; } -void from_json(const nlohmann::json &j, AddGuardianForm &t) { - if (j.find("guardianUUID") != j.end()) - j.at("guardianUUID").get_to(t.guardianUUID); - if (j.find("entityUUID") != j.end()) - j.at("entityUUID").get_to(t.entityUUID); +void from_json(const nlohmann::json &j, GetEmailStatusForm &t) { + if (j.find("messageID") != j.end()) + j.at("messageID").get_to(t.messageID); }; -struct RemoveGuardedForm { - std::string guardedUUID; - std::string entityUUID; +struct IdentityProfileData { + std::string initials; }; -void to_json(nlohmann::json &j, const RemoveGuardedForm &t) { +void to_json(nlohmann::json &j, const IdentityProfileData &t) { j = nlohmann::json { - {"guardedUUID", t.guardedUUID}, - {"entityUUID", t.entityUUID} + {"initials", t.initials} }; } -void from_json(const nlohmann::json &j, RemoveGuardedForm &t) { - if (j.find("guardedUUID") != j.end()) - j.at("guardedUUID").get_to(t.guardedUUID); - if (j.find("entityUUID") != j.end()) - j.at("entityUUID").get_to(t.entityUUID); +void from_json(const nlohmann::json &j, IdentityProfileData &t) { + if (j.find("initials") != j.end()) + j.at("initials").get_to(t.initials); }; -struct RemoveParentForm { +struct AddParentForm { std::string parentUUID; std::string entityUUID; }; -void to_json(nlohmann::json &j, const RemoveParentForm &t) { +void to_json(nlohmann::json &j, const AddParentForm &t) { j = nlohmann::json { {"parentUUID", t.parentUUID}, {"entityUUID", t.entityUUID} }; } -void from_json(const nlohmann::json &j, RemoveParentForm &t) { +void from_json(const nlohmann::json &j, AddParentForm &t) { if (j.find("parentUUID") != j.end()) j.at("parentUUID").get_to(t.parentUUID); if (j.find("entityUUID") != j.end()) @@ -1347,231 +1511,223 @@ void from_json(const nlohmann::json &j, RemoveParentForm &t) { }; -struct GetInteractionsForm { - std::string UUID; +struct SendEmailSmtpForm { + std::string passportUUID; + std::string accessToken; + std::string from; + std::string to; + std::string rawMessage; + std::string type; }; -void to_json(nlohmann::json &j, const GetInteractionsForm &t) { +void to_json(nlohmann::json &j, const SendEmailSmtpForm &t) { j = nlohmann::json { - {"UUID", t.UUID} + {"passportUUID", t.passportUUID}, + {"accessToken", t.accessToken}, + {"from", t.from}, + {"to", t.to}, + {"rawMessage", t.rawMessage}, + {"type", t.type} }; } -void from_json(const nlohmann::json &j, GetInteractionsForm &t) { - if (j.find("UUID") != j.end()) - j.at("UUID").get_to(t.UUID); +void from_json(const nlohmann::json &j, SendEmailSmtpForm &t) { + if (j.find("passportUUID") != j.end()) + j.at("passportUUID").get_to(t.passportUUID); + if (j.find("accessToken") != j.end()) + j.at("accessToken").get_to(t.accessToken); + if (j.find("from") != j.end()) + j.at("from").get_to(t.from); + if (j.find("to") != j.end()) + j.at("to").get_to(t.to); + if (j.find("rawMessage") != j.end()) + j.at("rawMessage").get_to(t.rawMessage); + if (j.find("type") != j.end()) + j.at("type").get_to(t.type); }; -struct Interaction { - std::string Subject; - std::string Type; - std::string Passport; - std::string Uuid; - std::vector<std::string> Contacts; - long Timestamp; +struct StoreDIDsForm { + std::string passportUUID; }; -void to_json(nlohmann::json &j, const Interaction &t) { +void to_json(nlohmann::json &j, const StoreDIDsForm &t) { j = nlohmann::json { - {"Subject", t.Subject}, - {"Type", t.Type}, - {"Passport", t.Passport}, - {"Uuid", t.Uuid}, - {"Contacts", t.Contacts}, - {"Timestamp", t.Timestamp} + {"passportUUID", t.passportUUID} }; } -void from_json(const nlohmann::json &j, Interaction &t) { - if (j.find("Subject") != j.end()) - j.at("Subject").get_to(t.Subject); - if (j.find("Type") != j.end()) - j.at("Type").get_to(t.Type); - if (j.find("Passport") != j.end()) - j.at("Passport").get_to(t.Passport); - if (j.find("Uuid") != j.end()) - j.at("Uuid").get_to(t.Uuid); - if (j.find("Contacts") != j.end()) - j.at("Contacts").get_to(t.Contacts); - if (j.find("Timestamp") != j.end()) - j.at("Timestamp").get_to(t.Timestamp); +void from_json(const nlohmann::json &j, StoreDIDsForm &t) { + if (j.find("passportUUID") != j.end()) + j.at("passportUUID").get_to(t.passportUUID); }; -struct ClaimSendCodeForm { - std::string claim; - std::string tag; - std::string entityuuid; - std::string value; +struct ResumeDeviceForm { + std::string DeviceID; }; -void to_json(nlohmann::json &j, const ClaimSendCodeForm &t) { +void to_json(nlohmann::json &j, const ResumeDeviceForm &t) { j = nlohmann::json { - {"claim", t.claim}, - {"tag", t.tag}, - {"entityuuid", t.entityuuid}, - {"value", t.value} + {"DeviceID", t.DeviceID} }; } -void from_json(const nlohmann::json &j, ClaimSendCodeForm &t) { - if (j.find("claim") != j.end()) - j.at("claim").get_to(t.claim); - if (j.find("tag") != j.end()) - j.at("tag").get_to(t.tag); - if (j.find("entityuuid") != j.end()) - j.at("entityuuid").get_to(t.entityuuid); - if (j.find("value") != j.end()) - j.at("value").get_to(t.value); +void from_json(const nlohmann::json &j, ResumeDeviceForm &t) { + if (j.find("DeviceID") != j.end()) + j.at("DeviceID").get_to(t.DeviceID); }; -struct DeleteIdentityImageForm { - std::string imageTag; +struct Register2FAPublicKeyForm { + std::string username; + std::string password; }; -void to_json(nlohmann::json &j, const DeleteIdentityImageForm &t) { +void to_json(nlohmann::json &j, const Register2FAPublicKeyForm &t) { j = nlohmann::json { - {"imageTag", t.imageTag} + {"username", t.username}, + {"password", t.password} }; } -void from_json(const nlohmann::json &j, DeleteIdentityImageForm &t) { - if (j.find("imageTag") != j.end()) - j.at("imageTag").get_to(t.imageTag); +void from_json(const nlohmann::json &j, Register2FAPublicKeyForm &t) { + if (j.find("username") != j.end()) + j.at("username").get_to(t.username); + if (j.find("password") != j.end()) + j.at("password").get_to(t.password); +}; + + +struct Register2FAPublicKeyResponse { + std::string actionID; +}; + +void to_json(nlohmann::json &j, const Register2FAPublicKeyResponse &t) { + j = nlohmann::json { + {"actionID", t.actionID} + }; +} + +void from_json(const nlohmann::json &j, Register2FAPublicKeyResponse &t) { + if (j.find("actionID") != j.end()) + j.at("actionID").get_to(t.actionID); }; -struct GetDIDsForm { - std::string passportUUID; +struct GetEventsForm { + std::string mode; + std::string from; + std::string to; }; -void to_json(nlohmann::json &j, const GetDIDsForm &t) { +void to_json(nlohmann::json &j, const GetEventsForm &t) { j = nlohmann::json { - {"passportUUID", t.passportUUID} + {"mode", t.mode}, + {"from", t.from}, + {"to", t.to} }; } -void from_json(const nlohmann::json &j, GetDIDsForm &t) { - if (j.find("passportUUID") != j.end()) - j.at("passportUUID").get_to(t.passportUUID); +void from_json(const nlohmann::json &j, GetEventsForm &t) { + if (j.find("mode") != j.end()) + j.at("mode").get_to(t.mode); + if (j.find("from") != j.end()) + j.at("from").get_to(t.from); + if (j.find("to") != j.end()) + j.at("to").get_to(t.to); }; -struct RemoveViewerForm { - std::string viewerUUID; - std::string entityUUID; +struct Event { + std::string actionID; + std::string type; + std::vector<std::string> payloads; + long stamp; }; -void to_json(nlohmann::json &j, const RemoveViewerForm &t) { +void to_json(nlohmann::json &j, const Event &t) { j = nlohmann::json { - {"viewerUUID", t.viewerUUID}, - {"entityUUID", t.entityUUID} + {"actionID", t.actionID}, + {"type", t.type}, + {"payloads", t.payloads}, + {"stamp", t.stamp} }; } -void from_json(const nlohmann::json &j, RemoveViewerForm &t) { - if (j.find("viewerUUID") != j.end()) - j.at("viewerUUID").get_to(t.viewerUUID); - if (j.find("entityUUID") != j.end()) - j.at("entityUUID").get_to(t.entityUUID); +void from_json(const nlohmann::json &j, Event &t) { + if (j.find("actionID") != j.end()) + j.at("actionID").get_to(t.actionID); + if (j.find("type") != j.end()) + j.at("type").get_to(t.type); + if (j.find("payloads") != j.end()) + j.at("payloads").get_to(t.payloads); + if (j.find("stamp") != j.end()) + j.at("stamp").get_to(t.stamp); }; -struct LinkClaimToPassportForm { - std::string claimName; - std::string tag; - std::string claimEntityUUID; - std::string passportClaimName; - std::string passportUUID; +struct SuspendDeviceForm { + std::string DeviceID; }; -void to_json(nlohmann::json &j, const LinkClaimToPassportForm &t) { +void to_json(nlohmann::json &j, const SuspendDeviceForm &t) { j = nlohmann::json { - {"claimName", t.claimName}, - {"tag", t.tag}, - {"claimEntityUUID", t.claimEntityUUID}, - {"passportClaimName", t.passportClaimName}, - {"passportUUID", t.passportUUID} + {"DeviceID", t.DeviceID} }; } -void from_json(const nlohmann::json &j, LinkClaimToPassportForm &t) { - if (j.find("claimName") != j.end()) - j.at("claimName").get_to(t.claimName); - if (j.find("tag") != j.end()) - j.at("tag").get_to(t.tag); - if (j.find("claimEntityUUID") != j.end()) - j.at("claimEntityUUID").get_to(t.claimEntityUUID); - if (j.find("passportClaimName") != j.end()) - j.at("passportClaimName").get_to(t.passportClaimName); - if (j.find("passportUUID") != j.end()) - j.at("passportUUID").get_to(t.passportUUID); +void from_json(const nlohmann::json &j, SuspendDeviceForm &t) { + if (j.find("DeviceID") != j.end()) + j.at("DeviceID").get_to(t.DeviceID); }; -struct Function { - std::string Name; - std::string Description; - std::vector<long> InputTypes; - std::vector<long> OutputTypes; - std::string ClaimName; +struct GetIdentityImageForm { + std::string imageTag; }; -void to_json(nlohmann::json &j, const Function &t) { +void to_json(nlohmann::json &j, const GetIdentityImageForm &t) { j = nlohmann::json { - {"Name", t.Name}, - {"Description", t.Description}, - {"InputTypes", t.InputTypes}, - {"OutputTypes", t.OutputTypes}, - {"ClaimName", t.ClaimName} + {"imageTag", t.imageTag} }; } -void from_json(const nlohmann::json &j, Function &t) { - if (j.find("Name") != j.end()) - j.at("Name").get_to(t.Name); - if (j.find("Description") != j.end()) - j.at("Description").get_to(t.Description); - if (j.find("InputTypes") != j.end()) - j.at("InputTypes").get_to(t.InputTypes); - if (j.find("OutputTypes") != j.end()) - j.at("OutputTypes").get_to(t.OutputTypes); - if (j.find("ClaimName") != j.end()) - j.at("ClaimName").get_to(t.ClaimName); +void from_json(const nlohmann::json &j, GetIdentityImageForm &t) { + if (j.find("imageTag") != j.end()) + j.at("imageTag").get_to(t.imageTag); }; -struct GetHyperLedgerHistoryForm { - std::string passportuuid; +struct GetConversationsForm { + std::string passportUUID; }; -void to_json(nlohmann::json &j, const GetHyperLedgerHistoryForm &t) { +void to_json(nlohmann::json &j, const GetConversationsForm &t) { j = nlohmann::json { - {"passportuuid", t.passportuuid} + {"passportUUID", t.passportUUID} }; } -void from_json(const nlohmann::json &j, GetHyperLedgerHistoryForm &t) { - if (j.find("passportuuid") != j.end()) - j.at("passportuuid").get_to(t.passportuuid); +void from_json(const nlohmann::json &j, GetConversationsForm &t) { + if (j.find("passportUUID") != j.end()) + j.at("passportUUID").get_to(t.passportUUID); }; -struct ConfirmNewDeviceForm { +struct ConfirmActionExecutionForm { std::string code; std::string actionID; }; -void to_json(nlohmann::json &j, const ConfirmNewDeviceForm &t) { +void to_json(nlohmann::json &j, const ConfirmActionExecutionForm &t) { j = nlohmann::json { {"code", t.code}, {"actionID", t.actionID} }; } -void from_json(const nlohmann::json &j, ConfirmNewDeviceForm &t) { +void from_json(const nlohmann::json &j, ConfirmActionExecutionForm &t) { if (j.find("code") != j.end()) j.at("code").get_to(t.code); if (j.find("actionID") != j.end()) @@ -1579,67 +1735,55 @@ void from_json(const nlohmann::json &j, ConfirmNewDeviceForm &t) { }; -struct SendFeedbackForm { - std::string log; - std::string message; -}; - -void to_json(nlohmann::json &j, const SendFeedbackForm &t) { - j = nlohmann::json { - {"log", t.log}, - {"message", t.message} - }; -} - -void from_json(const nlohmann::json &j, SendFeedbackForm &t) { - if (j.find("log") != j.end()) - j.at("log").get_to(t.log); - if (j.find("message") != j.end()) - j.at("message").get_to(t.message); -}; - - -struct IdentityProfileData { - std::string initials; +struct ClaimVerifyCodeForm { + std::string claim; + std::string tag; + std::string entityuuid; + std::string code; + std::string value; }; -void to_json(nlohmann::json &j, const IdentityProfileData &t) { +void to_json(nlohmann::json &j, const ClaimVerifyCodeForm &t) { j = nlohmann::json { - {"initials", t.initials} + {"claim", t.claim}, + {"tag", t.tag}, + {"entityuuid", t.entityuuid}, + {"code", t.code}, + {"value", t.value} }; } -void from_json(const nlohmann::json &j, IdentityProfileData &t) { - if (j.find("initials") != j.end()) - j.at("initials").get_to(t.initials); +void from_json(const nlohmann::json &j, ClaimVerifyCodeForm &t) { + if (j.find("claim") != j.end()) + j.at("claim").get_to(t.claim); + if (j.find("tag") != j.end()) + j.at("tag").get_to(t.tag); + if (j.find("entityuuid") != j.end()) + j.at("entityuuid").get_to(t.entityuuid); + if (j.find("code") != j.end()) + j.at("code").get_to(t.code); + if (j.find("value") != j.end()) + j.at("value").get_to(t.value); }; -struct AttachFunctionToPassportClaimForm { - std::string claimName; - std::string tag; +struct ResignSMIMEForm { std::string passportUUID; - std::string functionPointer; + std::string smimeMessage; }; -void to_json(nlohmann::json &j, const AttachFunctionToPassportClaimForm &t) { +void to_json(nlohmann::json &j, const ResignSMIMEForm &t) { j = nlohmann::json { - {"claimName", t.claimName}, - {"tag", t.tag}, {"passportUUID", t.passportUUID}, - {"functionPointer", t.functionPointer} + {"smimeMessage", t.smimeMessage} }; } -void from_json(const nlohmann::json &j, AttachFunctionToPassportClaimForm &t) { - if (j.find("claimName") != j.end()) - j.at("claimName").get_to(t.claimName); - if (j.find("tag") != j.end()) - j.at("tag").get_to(t.tag); +void from_json(const nlohmann::json &j, ResignSMIMEForm &t) { if (j.find("passportUUID") != j.end()) j.at("passportUUID").get_to(t.passportUUID); - if (j.find("functionPointer") != j.end()) - j.at("functionPointer").get_to(t.functionPointer); + if (j.find("smimeMessage") != j.end()) + j.at("smimeMessage").get_to(t.smimeMessage); }; @@ -1675,68 +1819,74 @@ class API { public: API(std::string url) : url(url) {}; - std::string DocumentPutIdentityImage(const VereignAccount &account, const PutIdentityImageForm& inp); -std::string EntityAddClaim(const VereignAccount &account, const AddClaimForm& inp); -std::string EntityRemoveMember(const VereignAccount &account, const RemoveMemberForm& inp); -std::string DocumentPutDocument(const VereignAccount &account); -std::vector<FileInfo> DocumentListDocuments(const VereignAccount &account); -std::string DocumentGetIdentityImage(const VereignAccount &account, const GetIdentityImageForm& inp); -PassportData PassportGetAvatarByPassport(const VereignAccount &account, const GetAvatarByPassportForm& inp); -std::string EntityAddGuardian(const VereignAccount &account, const AddGuardianForm& inp); + std::string EntityRemoveMember(const VereignAccount &account, const RemoveMemberForm& inp); std::string EntityRemoveGuarded(const VereignAccount &account, const RemoveGuardedForm& inp); -std::string EntityRemoveParent(const VereignAccount &account, const RemoveParentForm& inp); -std::vector<Interaction> PassportGetInteractions(const VereignAccount &account, const GetInteractionsForm& inp); -std::string EntitySendClaimCode(const VereignAccount &account, const ClaimSendCodeForm& inp); +std::string EntityDeleteEntity(const VereignAccount &account, const DeleteEntityForm& inp); +std::vector<FileInfo> DocumentListDocuments(const VereignAccount &account); +std::string PassportCallFunction(const VereignAccount &account, const CallFunctionForm& inp); +std::vector<std::string> ConversationAddEmail(const VereignAccount &account, const AddEmailForm& inp); +std::string ActivityAddActivity(const VereignAccount &account, const AddActivityForm& inp); +std::string IdentityRenameDevice(const VereignAccount &account, const RenameDeviceForm& inp); +std::string DocumentGetDocument(const VereignAccount &account); +std::string HyperledgerTransactionsHistory(const VereignAccount &account, const GetHyperLedgerHistoryForm& inp); +std::string IdentityConfirmNewCarddavPublicKey(const VereignAccount &account, const ConfirmNewCarddavPublicKeyForm& inp); std::string DocumentDeleteIdentityImage(const VereignAccount &account, const DeleteIdentityImageForm& inp); std::string PassportGetDIDs(const VereignAccount &account, const GetDIDsForm& inp); -std::string EntityUpdateClaim(const VereignAccount &account, const AddClaimForm& inp); -std::string EntityRemoveViewer(const VereignAccount &account, const RemoveViewerForm& inp); -std::string PassportLinkClaim(const VereignAccount &account, const LinkClaimToPassportForm& inp); -std::vector<Function> PassportListFunctions(const VereignAccount &account); -std::string HyperledgerTransactionsHistory(const VereignAccount &account, const GetHyperLedgerHistoryForm& inp); -std::string IdentityConfirmNewDevice(const VereignAccount &account, const ConfirmNewDeviceForm& inp); -std::string EmailSendFeedback(const VereignAccount &account, const SendFeedbackForm& inp); -IdentityProfileData IdentityGetIdentityProfileData(const VereignAccount &account); +std::string PassportGetEmailWithHeaderByPassport(const VereignAccount &account, const GetEmailWithHeaderByPassportForm& inp); +std::vector<ConfirmableAction> ActionGetActions(const VereignAccount &account, const GetActionsForm& inp); +std::vector<EmailInfo> ConversationGetEmails(const VereignAccount &account, const GetEmailsForm& inp); +std::string IdentityListDevices(const VereignAccount &account); +std::string EntityRemoveMemberOf(const VereignAccount &account, const RemoveMemberForm& inp); std::string PassportAttachFunction(const VereignAccount &account, const AttachFunctionToPassportClaimForm& inp); -std::vector<ConfirmableAction> ActionGetActionsWithoutSession(const VereignAccount &account, const GetActionsForm& inp); +std::vector<Interaction> PassportGetInteractions(const VereignAccount &account, const GetInteractionsForm& inp); +PassportData PassportGetAvatarByPassport(const VereignAccount &account, const GetAvatarByPassportForm& inp); GenerateCredentialsResponse IdentityGenerateCredentials(const VereignAccount &account); -std::string PassportGetEmailWithHeaderByPassport(const VereignAccount &account, const GetEmailWithHeaderByPassportForm& inp); -std::vector<EntityMessage> EntityGetEntity(const VereignAccount &account, const GetEntityForm& inp); -std::string EntityCreateEntity(const VereignAccount &account, const CreateEntityForm& inp); +std::string EntityAddGuarded(const VereignAccount &account, const AddGuardedForm& inp); std::string DocumentGetDocumentByUUID(const VereignAccount &account, const GetDocumentByUUIDForm& inp); -std::string PassportStoreDIDs(const VereignAccount &account, const StoreDIDsForm& inp); -std::string IdentityCancelAction(const VereignAccount &account, const CancelActionForm& inp); std::vector<ActivityDelta> ActivityGetActivity(const VereignAccount &account, const GetActivityForm& inp); -std::string EntityDeleteEntity(const VereignAccount &account, const DeleteEntityForm& inp); -std::string EntityRemoveChild(const VereignAccount &account, const RemoveChildForm& inp); -std::string DocumentCreateDocument(const VereignAccount &account); -std::string EntityAddParent(const VereignAccount &account, const AddParentForm& inp); -std::string EntityRemoveMemberOf(const VereignAccount &account, const RemoveMemberForm& inp); std::string EntityRemoveGuardian(const VereignAccount &account, const RemoveGuardianForm& inp); +std::string EntityRemoveParent(const VereignAccount &account, const RemoveParentForm& inp); +std::string EntityAddChild(const VereignAccount &account, const AddChildForm& inp); +std::string EntityRemoveChild(const VereignAccount &account, const RemoveChildForm& inp); +std::string DocumentPutIdentityImage(const VereignAccount &account, const PutIdentityImageForm& inp); +std::string IdentityRevokeDevice(const VereignAccount &account, const RevokeDeviceForm& inp); +std::vector<Function> PassportListFunctions(const VereignAccount &account); +std::string ConversationUpdateRecipientEmailStatus(const VereignAccount &account, const UpdateRecipientEmailStatusForm& inp); +std::string EmailSendFeedback(const VereignAccount &account, const SendFeedbackForm& inp); +std::string PassportGenerateDIDs(const VereignAccount &account, const GenerateDIDsForm& inp); +std::string EntitySendClaimCode(const VereignAccount &account, const ClaimSendCodeForm& inp); +std::string EntityAddGuardian(const VereignAccount &account, const AddGuardianForm& inp); +std::string EntityRemoveViewer(const VereignAccount &account, const RemoveViewerForm& inp); +std::string PassportLinkClaim(const VereignAccount &account, const LinkClaimToPassportForm& inp); +std::vector<EntityMessage_V1> PassportListPassports(const VereignAccount &account); +std::vector<ConfirmableAction> ActionGetActionsWithoutSession(const VereignAccount &account, const GetActionsForm& inp); +std::string ConversationInitializeEmailStatus(const VereignAccount &account, const InitializeEmailStatusForm& inp); +std::string IdentityCancelAction(const VereignAccount &account, const CancelActionForm& inp); +std::vector<EntityMessage_V1> EntityGetEntity(const VereignAccount &account, const GetEntityForm& inp); +std::string EntityCreateEntity(const VereignAccount &account, const CreateEntityForm& inp); std::string EntityAddViewer(const VereignAccount &account, const AddViewerForm& inp); -std::string SignResignEmail(const VereignAccount &account, const ResignSMIMEForm& inp); +FileInfo DocumentGetFileInfo(const VereignAccount &account); +std::string IdentityConfirmNewDevice(const VereignAccount &account, const ConfirmNewDeviceForm& inp); +std::string EntityUpdateClaim(const VereignAccount &account, const AddClaimForm& inp); std::string EntityDeleteClaim(const VereignAccount &account, const DeleteClaimForm& inp); -std::vector<Event> EventGetEvents(const VereignAccount &account, const GetEventsForm& inp); -std::string EntityVerifyClaimCode(const VereignAccount &account, const ClaimVerifyCodeForm& inp); -std::string PassportCallFunction(const VereignAccount &account, const CallFunctionForm& inp); -std::string HyperledgerGetInfo(const VereignAccount &account); +std::string EntityAddMember(const VereignAccount &account, const AddMemberForm& inp); std::string EntityAddMemberOf(const VereignAccount &account, const AddMemberOfForm& inp); -FileInfo DocumentGetFileInfo(const VereignAccount &account); +std::string ConversationGetEmailStatus(const VereignAccount &account, const GetEmailStatusForm& inp); +IdentityProfileData IdentityGetIdentityProfileData(const VereignAccount &account); +std::string EntityAddParent(const VereignAccount &account, const AddParentForm& inp); +std::string HyperledgerGetInfo(const VereignAccount &account); +std::string EmailSendEmailSmtp(const VereignAccount &account, const SendEmailSmtpForm& inp); +std::string PassportStoreDIDs(const VereignAccount &account, const StoreDIDsForm& inp); +std::string EntityAddClaim(const VereignAccount &account, const AddClaimForm& inp); Register2FAPublicKeyResponse IdentityRegister2FAPublicKey(const VereignAccount &account, const Register2FAPublicKeyForm& inp); -std::string EntityAddMember(const VereignAccount &account, const AddMemberForm& inp); -std::string EntityAddGuarded(const VereignAccount &account, const AddGuardedForm& inp); -std::vector<std::string> ConversationAddEmail(const VereignAccount &account, const AddEmailForm& inp); +std::vector<Event> EventGetEvents(const VereignAccount &account, const GetEventsForm& inp); +std::string IdentityResumeDevice(const VereignAccount &account, const ResumeDeviceForm& inp); +std::string IdentitySuspendDevice(const VereignAccount &account, const SuspendDeviceForm& inp); +std::string DocumentGetIdentityImage(const VereignAccount &account, const GetIdentityImageForm& inp); std::vector<std::string> ConversationGetConversations(const VereignAccount &account, const GetConversationsForm& inp); -std::string IdentityConfirmNewCarddavPublicKey(const VereignAccount &account, const ConfirmNewCarddavPublicKeyForm& inp); -std::vector<EmailInfo> ConversationGetEmails(const VereignAccount &account, const GetEmailsForm& inp); -std::string EmailSendEmailSmtp(const VereignAccount &account, const SendEmailSmtpForm& inp); -std::string EntityAddChild(const VereignAccount &account, const AddChildForm& inp); -std::string DocumentGetDocument(const VereignAccount &account); -std::vector<ConfirmableAction> ActionGetActions(const VereignAccount &account, const GetActionsForm& inp); +std::string EntityVerifyClaimCode(const VereignAccount &account, const ClaimVerifyCodeForm& inp); +std::string SignResignEmail(const VereignAccount &account, const ResignSMIMEForm& inp); std::string IdentityConfirmAction(const VereignAccount &account, const ConfirmActionExecutionForm& inp); -std::vector<EntityMessage> PassportListPassports(const VereignAccount &account); -std::string ActivityAddActivity(const VereignAccount &account, const AddActivityForm& inp); -std::string PassportGenerateDIDs(const VereignAccount &account, const GenerateDIDsForm& inp); VereignAccount LoginWithPublicKey(const std::string &pkey); @@ -1803,52 +1953,48 @@ VereignAccount API::LoginWithPublicKey(const std::string &pkey) { } -std::string API::DocumentPutIdentityImage(const VereignAccount &account, const PutIdentityImageForm& inp) { - return API::do_request<const PutIdentityImageForm, std::string>(account, "/document/putIdentityImage", inp); -} - -std::string API::EntityAddClaim(const VereignAccount &account, const AddClaimForm& inp) { - return API::do_request<const AddClaimForm, std::string>(account, "/entity/addClaim", inp); -} - std::string API::EntityRemoveMember(const VereignAccount &account, const RemoveMemberForm& inp) { return API::do_request<const RemoveMemberForm, std::string>(account, "/entity/removeMember", inp); } -std::string API::DocumentPutDocument(const VereignAccount &account) { - return API::do_request<std::string, std::string>(account, "/document/putDocument", ""); +std::string API::EntityRemoveGuarded(const VereignAccount &account, const RemoveGuardedForm& inp) { + return API::do_request<const RemoveGuardedForm, std::string>(account, "/entity/removeGuarded", inp); +} + +std::string API::EntityDeleteEntity(const VereignAccount &account, const DeleteEntityForm& inp) { + return API::do_request<const DeleteEntityForm, std::string>(account, "/entity/deleteEntity", inp); } std::vector<FileInfo> API::DocumentListDocuments(const VereignAccount &account) { return API::do_request<std::string, std::vector<FileInfo>>(account, "/document/listDocuments", ""); } -std::string API::DocumentGetIdentityImage(const VereignAccount &account, const GetIdentityImageForm& inp) { - return API::do_request<const GetIdentityImageForm, std::string>(account, "/document/getIdentityImage", inp); +std::string API::PassportCallFunction(const VereignAccount &account, const CallFunctionForm& inp) { + return API::do_request<const CallFunctionForm, std::string>(account, "/passport/callFunction", inp); } -PassportData API::PassportGetAvatarByPassport(const VereignAccount &account, const GetAvatarByPassportForm& inp) { - return API::do_request<const GetAvatarByPassportForm, PassportData>(account, "/passport/getAvatarByPassport", inp); +std::vector<std::string> API::ConversationAddEmail(const VereignAccount &account, const AddEmailForm& inp) { + return API::do_request<const AddEmailForm, std::vector<std::string>>(account, "/conversation/addEmail", inp); } -std::string API::EntityAddGuardian(const VereignAccount &account, const AddGuardianForm& inp) { - return API::do_request<const AddGuardianForm, std::string>(account, "/entity/addGuardian", inp); +std::string API::ActivityAddActivity(const VereignAccount &account, const AddActivityForm& inp) { + return API::do_request<const AddActivityForm, std::string>(account, "/activity/addActivity", inp); } -std::string API::EntityRemoveGuarded(const VereignAccount &account, const RemoveGuardedForm& inp) { - return API::do_request<const RemoveGuardedForm, std::string>(account, "/entity/removeGuarded", inp); +std::string API::IdentityRenameDevice(const VereignAccount &account, const RenameDeviceForm& inp) { + return API::do_request<const RenameDeviceForm, std::string>(account, "/identity/renameDevice", inp); } -std::string API::EntityRemoveParent(const VereignAccount &account, const RemoveParentForm& inp) { - return API::do_request<const RemoveParentForm, std::string>(account, "/entity/removeParent", inp); +std::string API::DocumentGetDocument(const VereignAccount &account) { + return API::do_request<std::string, std::string>(account, "/document/getDocument", ""); } -std::vector<Interaction> API::PassportGetInteractions(const VereignAccount &account, const GetInteractionsForm& inp) { - return API::do_request<const GetInteractionsForm, std::vector<Interaction>>(account, "/passport/getInteractions", inp); +std::string API::HyperledgerTransactionsHistory(const VereignAccount &account, const GetHyperLedgerHistoryForm& inp) { + return API::do_request<const GetHyperLedgerHistoryForm, std::string>(account, "/hyperledger/transactionsHistory", inp); } -std::string API::EntitySendClaimCode(const VereignAccount &account, const ClaimSendCodeForm& inp) { - return API::do_request<const ClaimSendCodeForm, std::string>(account, "/entity/sendClaimCode", inp); +std::string API::IdentityConfirmNewCarddavPublicKey(const VereignAccount &account, const ConfirmNewCarddavPublicKeyForm& inp) { + return API::do_request<const ConfirmNewCarddavPublicKeyForm, std::string>(account, "/identity/confirmNewCarddavPublicKey", inp); } std::string API::DocumentDeleteIdentityImage(const VereignAccount &account, const DeleteIdentityImageForm& inp) { @@ -1859,196 +2005,224 @@ std::string API::PassportGetDIDs(const VereignAccount &account, const GetDIDsFor return API::do_request<const GetDIDsForm, std::string>(account, "/passport/getDIDs", inp); } -std::string API::EntityUpdateClaim(const VereignAccount &account, const AddClaimForm& inp) { - return API::do_request<const AddClaimForm, std::string>(account, "/entity/updateClaim", inp); +std::string API::PassportGetEmailWithHeaderByPassport(const VereignAccount &account, const GetEmailWithHeaderByPassportForm& inp) { + return API::do_request<const GetEmailWithHeaderByPassportForm, std::string>(account, "/passport/getEmailWithHeaderByPassport", inp); } -std::string API::EntityRemoveViewer(const VereignAccount &account, const RemoveViewerForm& inp) { - return API::do_request<const RemoveViewerForm, std::string>(account, "/entity/removeViewer", inp); +std::vector<ConfirmableAction> API::ActionGetActions(const VereignAccount &account, const GetActionsForm& inp) { + return API::do_request<const GetActionsForm, std::vector<ConfirmableAction>>(account, "/action/getActions", inp); } -std::string API::PassportLinkClaim(const VereignAccount &account, const LinkClaimToPassportForm& inp) { - return API::do_request<const LinkClaimToPassportForm, std::string>(account, "/passport/linkClaim", inp); +std::vector<EmailInfo> API::ConversationGetEmails(const VereignAccount &account, const GetEmailsForm& inp) { + return API::do_request<const GetEmailsForm, std::vector<EmailInfo>>(account, "/conversation/getEmails", inp); } -std::vector<Function> API::PassportListFunctions(const VereignAccount &account) { - return API::do_request<std::string, std::vector<Function>>(account, "/passport/listFunctions", ""); +std::string API::IdentityListDevices(const VereignAccount &account) { + return API::do_request<std::string, std::string>(account, "/identity/listDevices", ""); } -std::string API::HyperledgerTransactionsHistory(const VereignAccount &account, const GetHyperLedgerHistoryForm& inp) { - return API::do_request<const GetHyperLedgerHistoryForm, std::string>(account, "/hyperledger/transactionsHistory", inp); +std::string API::EntityRemoveMemberOf(const VereignAccount &account, const RemoveMemberForm& inp) { + return API::do_request<const RemoveMemberForm, std::string>(account, "/entity/removeMemberOf", inp); } -std::string API::IdentityConfirmNewDevice(const VereignAccount &account, const ConfirmNewDeviceForm& inp) { - return API::do_request<const ConfirmNewDeviceForm, std::string>(account, "/identity/confirmNewDevice", inp); +std::string API::PassportAttachFunction(const VereignAccount &account, const AttachFunctionToPassportClaimForm& inp) { + return API::do_request<const AttachFunctionToPassportClaimForm, std::string>(account, "/passport/attachFunction", inp); } -std::string API::EmailSendFeedback(const VereignAccount &account, const SendFeedbackForm& inp) { - return API::do_request<const SendFeedbackForm, std::string>(account, "/email/sendFeedback", inp); +std::vector<Interaction> API::PassportGetInteractions(const VereignAccount &account, const GetInteractionsForm& inp) { + return API::do_request<const GetInteractionsForm, std::vector<Interaction>>(account, "/passport/getInteractions", inp); } -IdentityProfileData API::IdentityGetIdentityProfileData(const VereignAccount &account) { - return API::do_request<std::string, IdentityProfileData>(account, "/identity/getIdentityProfileData", ""); +PassportData API::PassportGetAvatarByPassport(const VereignAccount &account, const GetAvatarByPassportForm& inp) { + return API::do_request<const GetAvatarByPassportForm, PassportData>(account, "/passport/getAvatarByPassport", inp); } -std::string API::PassportAttachFunction(const VereignAccount &account, const AttachFunctionToPassportClaimForm& inp) { - return API::do_request<const AttachFunctionToPassportClaimForm, std::string>(account, "/passport/attachFunction", inp); +GenerateCredentialsResponse API::IdentityGenerateCredentials(const VereignAccount &account) { + return API::do_request<std::string, GenerateCredentialsResponse>(account, "/identity/generateCredentials", ""); } -std::vector<ConfirmableAction> API::ActionGetActionsWithoutSession(const VereignAccount &account, const GetActionsForm& inp) { - return API::do_request<const GetActionsForm, std::vector<ConfirmableAction>>(account, "/action/getActionsWithoutSession", inp); +std::string API::EntityAddGuarded(const VereignAccount &account, const AddGuardedForm& inp) { + return API::do_request<const AddGuardedForm, std::string>(account, "/entity/addGuarded", inp); } -GenerateCredentialsResponse API::IdentityGenerateCredentials(const VereignAccount &account) { - return API::do_request<std::string, GenerateCredentialsResponse>(account, "/identity/generateCredentials", ""); +std::string API::DocumentGetDocumentByUUID(const VereignAccount &account, const GetDocumentByUUIDForm& inp) { + return API::do_request<const GetDocumentByUUIDForm, std::string>(account, "/document/getDocumentByUUID", inp); } -std::string API::PassportGetEmailWithHeaderByPassport(const VereignAccount &account, const GetEmailWithHeaderByPassportForm& inp) { - return API::do_request<const GetEmailWithHeaderByPassportForm, std::string>(account, "/passport/getEmailWithHeaderByPassport", inp); +std::vector<ActivityDelta> API::ActivityGetActivity(const VereignAccount &account, const GetActivityForm& inp) { + return API::do_request<const GetActivityForm, std::vector<ActivityDelta>>(account, "/activity/getActivity", inp); } -std::vector<EntityMessage> API::EntityGetEntity(const VereignAccount &account, const GetEntityForm& inp) { - return API::do_request<const GetEntityForm, std::vector<EntityMessage>>(account, "/entity/getEntity", inp); +std::string API::EntityRemoveGuardian(const VereignAccount &account, const RemoveGuardianForm& inp) { + return API::do_request<const RemoveGuardianForm, std::string>(account, "/entity/removeGuardian", inp); } -std::string API::EntityCreateEntity(const VereignAccount &account, const CreateEntityForm& inp) { - return API::do_request<const CreateEntityForm, std::string>(account, "/entity/createEntity", inp); +std::string API::EntityRemoveParent(const VereignAccount &account, const RemoveParentForm& inp) { + return API::do_request<const RemoveParentForm, std::string>(account, "/entity/removeParent", inp); } -std::string API::DocumentGetDocumentByUUID(const VereignAccount &account, const GetDocumentByUUIDForm& inp) { - return API::do_request<const GetDocumentByUUIDForm, std::string>(account, "/document/getDocumentByUUID", inp); +std::string API::EntityAddChild(const VereignAccount &account, const AddChildForm& inp) { + return API::do_request<const AddChildForm, std::string>(account, "/entity/addChild", inp); } -std::string API::PassportStoreDIDs(const VereignAccount &account, const StoreDIDsForm& inp) { - return API::do_request<const StoreDIDsForm, std::string>(account, "/passport/storeDIDs", inp); +std::string API::EntityRemoveChild(const VereignAccount &account, const RemoveChildForm& inp) { + return API::do_request<const RemoveChildForm, std::string>(account, "/entity/removeChild", inp); } -std::string API::IdentityCancelAction(const VereignAccount &account, const CancelActionForm& inp) { - return API::do_request<const CancelActionForm, std::string>(account, "/identity/cancelAction", inp); +std::string API::DocumentPutIdentityImage(const VereignAccount &account, const PutIdentityImageForm& inp) { + return API::do_request<const PutIdentityImageForm, std::string>(account, "/document/putIdentityImage", inp); } -std::vector<ActivityDelta> API::ActivityGetActivity(const VereignAccount &account, const GetActivityForm& inp) { - return API::do_request<const GetActivityForm, std::vector<ActivityDelta>>(account, "/activity/getActivity", inp); +std::string API::IdentityRevokeDevice(const VereignAccount &account, const RevokeDeviceForm& inp) { + return API::do_request<const RevokeDeviceForm, std::string>(account, "/identity/revokeDevice", inp); } -std::string API::EntityDeleteEntity(const VereignAccount &account, const DeleteEntityForm& inp) { - return API::do_request<const DeleteEntityForm, std::string>(account, "/entity/deleteEntity", inp); +std::vector<Function> API::PassportListFunctions(const VereignAccount &account) { + return API::do_request<std::string, std::vector<Function>>(account, "/passport/listFunctions", ""); } -std::string API::EntityRemoveChild(const VereignAccount &account, const RemoveChildForm& inp) { - return API::do_request<const RemoveChildForm, std::string>(account, "/entity/removeChild", inp); +std::string API::ConversationUpdateRecipientEmailStatus(const VereignAccount &account, const UpdateRecipientEmailStatusForm& inp) { + return API::do_request<const UpdateRecipientEmailStatusForm, std::string>(account, "/conversation/updateRecipientEmailStatus", inp); } -std::string API::DocumentCreateDocument(const VereignAccount &account) { - return API::do_request<std::string, std::string>(account, "/document/createDocument", ""); +std::string API::EmailSendFeedback(const VereignAccount &account, const SendFeedbackForm& inp) { + return API::do_request<const SendFeedbackForm, std::string>(account, "/email/sendFeedback", inp); } -std::string API::EntityAddParent(const VereignAccount &account, const AddParentForm& inp) { - return API::do_request<const AddParentForm, std::string>(account, "/entity/addParent", inp); +std::string API::PassportGenerateDIDs(const VereignAccount &account, const GenerateDIDsForm& inp) { + return API::do_request<const GenerateDIDsForm, std::string>(account, "/passport/generateDIDs", inp); } -std::string API::EntityRemoveMemberOf(const VereignAccount &account, const RemoveMemberForm& inp) { - return API::do_request<const RemoveMemberForm, std::string>(account, "/entity/removeMemberOf", inp); +std::string API::EntitySendClaimCode(const VereignAccount &account, const ClaimSendCodeForm& inp) { + return API::do_request<const ClaimSendCodeForm, std::string>(account, "/entity/sendClaimCode", inp); } -std::string API::EntityRemoveGuardian(const VereignAccount &account, const RemoveGuardianForm& inp) { - return API::do_request<const RemoveGuardianForm, std::string>(account, "/entity/removeGuardian", inp); +std::string API::EntityAddGuardian(const VereignAccount &account, const AddGuardianForm& inp) { + return API::do_request<const AddGuardianForm, std::string>(account, "/entity/addGuardian", inp); } -std::string API::EntityAddViewer(const VereignAccount &account, const AddViewerForm& inp) { - return API::do_request<const AddViewerForm, std::string>(account, "/entity/addViewer", inp); +std::string API::EntityRemoveViewer(const VereignAccount &account, const RemoveViewerForm& inp) { + return API::do_request<const RemoveViewerForm, std::string>(account, "/entity/removeViewer", inp); } -std::string API::SignResignEmail(const VereignAccount &account, const ResignSMIMEForm& inp) { - return API::do_request<const ResignSMIMEForm, std::string>(account, "/sign/resignEmail", inp); +std::string API::PassportLinkClaim(const VereignAccount &account, const LinkClaimToPassportForm& inp) { + return API::do_request<const LinkClaimToPassportForm, std::string>(account, "/passport/linkClaim", inp); } -std::string API::EntityDeleteClaim(const VereignAccount &account, const DeleteClaimForm& inp) { - return API::do_request<const DeleteClaimForm, std::string>(account, "/entity/deleteClaim", inp); +std::vector<EntityMessage_V1> API::PassportListPassports(const VereignAccount &account) { + return API::do_request<std::string, std::vector<EntityMessage_V1>>(account, "/passport/listPassports", ""); } -std::vector<Event> API::EventGetEvents(const VereignAccount &account, const GetEventsForm& inp) { - return API::do_request<const GetEventsForm, std::vector<Event>>(account, "/event/getEvents", inp); +std::vector<ConfirmableAction> API::ActionGetActionsWithoutSession(const VereignAccount &account, const GetActionsForm& inp) { + return API::do_request<const GetActionsForm, std::vector<ConfirmableAction>>(account, "/action/getActionsWithoutSession", inp); } -std::string API::EntityVerifyClaimCode(const VereignAccount &account, const ClaimVerifyCodeForm& inp) { - return API::do_request<const ClaimVerifyCodeForm, std::string>(account, "/entity/verifyClaimCode", inp); +std::string API::ConversationInitializeEmailStatus(const VereignAccount &account, const InitializeEmailStatusForm& inp) { + return API::do_request<const InitializeEmailStatusForm, std::string>(account, "/conversation/initializeEmailStatus", inp); } -std::string API::PassportCallFunction(const VereignAccount &account, const CallFunctionForm& inp) { - return API::do_request<const CallFunctionForm, std::string>(account, "/passport/callFunction", inp); +std::string API::IdentityCancelAction(const VereignAccount &account, const CancelActionForm& inp) { + return API::do_request<const CancelActionForm, std::string>(account, "/identity/cancelAction", inp); } -std::string API::HyperledgerGetInfo(const VereignAccount &account) { - return API::do_request<std::string, std::string>(account, "/hyperledger/getInfo", ""); +std::vector<EntityMessage_V1> API::EntityGetEntity(const VereignAccount &account, const GetEntityForm& inp) { + return API::do_request<const GetEntityForm, std::vector<EntityMessage_V1>>(account, "/entity/getEntity", inp); } -std::string API::EntityAddMemberOf(const VereignAccount &account, const AddMemberOfForm& inp) { - return API::do_request<const AddMemberOfForm, std::string>(account, "/entity/addMemberOf", inp); +std::string API::EntityCreateEntity(const VereignAccount &account, const CreateEntityForm& inp) { + return API::do_request<const CreateEntityForm, std::string>(account, "/entity/createEntity", inp); +} + +std::string API::EntityAddViewer(const VereignAccount &account, const AddViewerForm& inp) { + return API::do_request<const AddViewerForm, std::string>(account, "/entity/addViewer", inp); } FileInfo API::DocumentGetFileInfo(const VereignAccount &account) { return API::do_request<std::string, FileInfo>(account, "/document/getFileInfo", ""); } -Register2FAPublicKeyResponse API::IdentityRegister2FAPublicKey(const VereignAccount &account, const Register2FAPublicKeyForm& inp) { - return API::do_request<const Register2FAPublicKeyForm, Register2FAPublicKeyResponse>(account, "/identity/register2FAPublicKey", inp); +std::string API::IdentityConfirmNewDevice(const VereignAccount &account, const ConfirmNewDeviceForm& inp) { + return API::do_request<const ConfirmNewDeviceForm, std::string>(account, "/identity/confirmNewDevice", inp); +} + +std::string API::EntityUpdateClaim(const VereignAccount &account, const AddClaimForm& inp) { + return API::do_request<const AddClaimForm, std::string>(account, "/entity/updateClaim", inp); +} + +std::string API::EntityDeleteClaim(const VereignAccount &account, const DeleteClaimForm& inp) { + return API::do_request<const DeleteClaimForm, std::string>(account, "/entity/deleteClaim", inp); } std::string API::EntityAddMember(const VereignAccount &account, const AddMemberForm& inp) { return API::do_request<const AddMemberForm, std::string>(account, "/entity/addMember", inp); } -std::string API::EntityAddGuarded(const VereignAccount &account, const AddGuardedForm& inp) { - return API::do_request<const AddGuardedForm, std::string>(account, "/entity/addGuarded", inp); +std::string API::EntityAddMemberOf(const VereignAccount &account, const AddMemberOfForm& inp) { + return API::do_request<const AddMemberOfForm, std::string>(account, "/entity/addMemberOf", inp); } -std::vector<std::string> API::ConversationAddEmail(const VereignAccount &account, const AddEmailForm& inp) { - return API::do_request<const AddEmailForm, std::vector<std::string>>(account, "/conversation/addEmail", inp); +std::string API::ConversationGetEmailStatus(const VereignAccount &account, const GetEmailStatusForm& inp) { + return API::do_request<const GetEmailStatusForm, std::string>(account, "/conversation/getEmailStatus", inp); } -std::vector<std::string> API::ConversationGetConversations(const VereignAccount &account, const GetConversationsForm& inp) { - return API::do_request<const GetConversationsForm, std::vector<std::string>>(account, "/conversation/getConversations", inp); +IdentityProfileData API::IdentityGetIdentityProfileData(const VereignAccount &account) { + return API::do_request<std::string, IdentityProfileData>(account, "/identity/getIdentityProfileData", ""); } -std::string API::IdentityConfirmNewCarddavPublicKey(const VereignAccount &account, const ConfirmNewCarddavPublicKeyForm& inp) { - return API::do_request<const ConfirmNewCarddavPublicKeyForm, std::string>(account, "/identity/confirmNewCarddavPublicKey", inp); +std::string API::EntityAddParent(const VereignAccount &account, const AddParentForm& inp) { + return API::do_request<const AddParentForm, std::string>(account, "/entity/addParent", inp); } -std::vector<EmailInfo> API::ConversationGetEmails(const VereignAccount &account, const GetEmailsForm& inp) { - return API::do_request<const GetEmailsForm, std::vector<EmailInfo>>(account, "/conversation/getEmails", inp); +std::string API::HyperledgerGetInfo(const VereignAccount &account) { + return API::do_request<std::string, std::string>(account, "/hyperledger/getInfo", ""); } std::string API::EmailSendEmailSmtp(const VereignAccount &account, const SendEmailSmtpForm& inp) { return API::do_request<const SendEmailSmtpForm, std::string>(account, "/email/sendEmailSmtp", inp); } -std::string API::EntityAddChild(const VereignAccount &account, const AddChildForm& inp) { - return API::do_request<const AddChildForm, std::string>(account, "/entity/addChild", inp); +std::string API::PassportStoreDIDs(const VereignAccount &account, const StoreDIDsForm& inp) { + return API::do_request<const StoreDIDsForm, std::string>(account, "/passport/storeDIDs", inp); } -std::string API::DocumentGetDocument(const VereignAccount &account) { - return API::do_request<std::string, std::string>(account, "/document/getDocument", ""); +std::string API::EntityAddClaim(const VereignAccount &account, const AddClaimForm& inp) { + return API::do_request<const AddClaimForm, std::string>(account, "/entity/addClaim", inp); } -std::vector<ConfirmableAction> API::ActionGetActions(const VereignAccount &account, const GetActionsForm& inp) { - return API::do_request<const GetActionsForm, std::vector<ConfirmableAction>>(account, "/action/getActions", inp); +Register2FAPublicKeyResponse API::IdentityRegister2FAPublicKey(const VereignAccount &account, const Register2FAPublicKeyForm& inp) { + return API::do_request<const Register2FAPublicKeyForm, Register2FAPublicKeyResponse>(account, "/identity/register2FAPublicKey", inp); } -std::string API::IdentityConfirmAction(const VereignAccount &account, const ConfirmActionExecutionForm& inp) { - return API::do_request<const ConfirmActionExecutionForm, std::string>(account, "/identity/confirmAction", inp); +std::vector<Event> API::EventGetEvents(const VereignAccount &account, const GetEventsForm& inp) { + return API::do_request<const GetEventsForm, std::vector<Event>>(account, "/event/getEvents", inp); } -std::vector<EntityMessage> API::PassportListPassports(const VereignAccount &account) { - return API::do_request<std::string, std::vector<EntityMessage>>(account, "/passport/listPassports", ""); +std::string API::IdentityResumeDevice(const VereignAccount &account, const ResumeDeviceForm& inp) { + return API::do_request<const ResumeDeviceForm, std::string>(account, "/identity/resumeDevice", inp); } -std::string API::ActivityAddActivity(const VereignAccount &account, const AddActivityForm& inp) { - return API::do_request<const AddActivityForm, std::string>(account, "/activity/addActivity", inp); +std::string API::IdentitySuspendDevice(const VereignAccount &account, const SuspendDeviceForm& inp) { + return API::do_request<const SuspendDeviceForm, std::string>(account, "/identity/suspendDevice", inp); } -std::string API::PassportGenerateDIDs(const VereignAccount &account, const GenerateDIDsForm& inp) { - return API::do_request<const GenerateDIDsForm, std::string>(account, "/passport/generateDIDs", inp); +std::string API::DocumentGetIdentityImage(const VereignAccount &account, const GetIdentityImageForm& inp) { + return API::do_request<const GetIdentityImageForm, std::string>(account, "/document/getIdentityImage", inp); +} + +std::vector<std::string> API::ConversationGetConversations(const VereignAccount &account, const GetConversationsForm& inp) { + return API::do_request<const GetConversationsForm, std::vector<std::string>>(account, "/conversation/getConversations", inp); +} + +std::string API::EntityVerifyClaimCode(const VereignAccount &account, const ClaimVerifyCodeForm& inp) { + return API::do_request<const ClaimVerifyCodeForm, std::string>(account, "/entity/verifyClaimCode", inp); +} + +std::string API::SignResignEmail(const VereignAccount &account, const ResignSMIMEForm& inp) { + return API::do_request<const ResignSMIMEForm, std::string>(account, "/sign/resignEmail", inp); +} + +std::string API::IdentityConfirmAction(const VereignAccount &account, const ConfirmActionExecutionForm& inp) { + return API::do_request<const ConfirmActionExecutionForm, std::string>(account, "/identity/confirmAction", inp); } @@ -2088,19 +2262,12 @@ std::string API::make_http_request(const VereignAccount &a, const std::string &u if (!a.session.empty()) list = curl_slist_append(list, ("token: " + a.session).c_str()); - curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); - curl_easy_setopt(curl, CURLOPT_DEBUGFUNCTION, my_trace); - - std::cout << "url = " << this->url + url << std::endl; - curl_easy_setopt(curl, CURLOPT_URL, (this->url + url).c_str()); - curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); curl_easy_setopt(curl, CURLOPT_USERAGENT, "vcl"); curl_easy_setopt(curl, CURLOPT_TCP_KEEPALIVE, 1L); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, list); - if (!inp.empty()) { curl_easy_setopt(curl, CURLOPT_POSTFIELDS, inp.c_str()); } else { @@ -2121,3 +2288,5 @@ std::string API::make_http_request(const VereignAccount &a, const std::string &u } /// namespace vereign + +#endif // VEREIGN_TEMPLATE_HPP \ No newline at end of file diff --git a/cpp/vereign_tmpl.hpp b/cpp/vereign_tmpl.hpp index 4b07c1f3431fd18a8059c145cbea52c9545f96cf..ee75051779fb7d8008e2b42a3576e1f722d9adce 100644 --- a/cpp/vereign_tmpl.hpp +++ b/cpp/vereign_tmpl.hpp @@ -1,7 +1,6 @@ -/* - * Autogenerated file. DO NOT EDIT !!!! - * - */ +#ifndef VEREIGN_TEMPLATE_HPP +#define VEREIGN_TEMPLATE_HPP + #include <string> #include <curl/curl.h> #include <vector> @@ -154,19 +153,12 @@ std::string API::make_http_request(const VereignAccount &a, const std::string &u if (!a.session.empty()) list = curl_slist_append(list, ("token: " + a.session).c_str()); - curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); - curl_easy_setopt(curl, CURLOPT_DEBUGFUNCTION, my_trace); - - std::cout << "url = " << this->url + url << std::endl; - curl_easy_setopt(curl, CURLOPT_URL, (this->url + url).c_str()); - curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); curl_easy_setopt(curl, CURLOPT_USERAGENT, "vcl"); curl_easy_setopt(curl, CURLOPT_TCP_KEEPALIVE, 1L); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, list); - if (!inp.empty()) { curl_easy_setopt(curl, CURLOPT_POSTFIELDS, inp.c_str()); } else { @@ -187,3 +179,5 @@ std::string API::make_http_request(const VereignAccount &a, const std::string &u } /// namespace vereign + +#endif // VEREIGN_TEMPLATE_HPP \ No newline at end of file