1#ifndef _PRIVMXLIB_ENDPOINT_KVDB_KVDBAPI_HPP_
2#define _PRIVMXLIB_ENDPOINT_KVDB_KVDBAPI_HPP_
10#include "privmx/endpoint/core/Connection.hpp"
11#include "privmx/endpoint/core/Types.hpp"
12#include "privmx/endpoint/kvdb/Types.hpp"
13#include <privmx/endpoint/core/ExtendedPointer.hpp>
56 const std::vector<core::UserWithPubKey>& users,
57 const std::vector<core::UserWithPubKey>& managers,
60 const std::optional<core::ContainerPolicy>& policies = std::nullopt
77 const std::vector<core::UserWithPubKey>& users,
78 const std::vector<core::UserWithPubKey>& managers,
81 const int64_t version,
83 const bool forceGenerateNewKey,
84 const std::optional<core::ContainerPolicy>& policies = std::nullopt
127 bool hasEntry(
const std::string& kvdbId,
const std::string& key);
163 void deleteEntry(
const std::string& kvdbId,
const std::string& key);
172 std::map<std::string, bool>
deleteEntries(
const std::string& kvdbId,
const std::vector<std::string>& keys);
180 std::vector<std::string>
subscribeFor(
const std::vector<std::string>& subscriptionQueries);
205 KvdbApi(
const std::shared_ptr<KvdbApiImpl>& impl);
Definition Connection.hpp:22
Definition ExtendedPointer.hpp:16
std::string createKvdb(const std::string &contextId, const std::vector< core::UserWithPubKey > &users, const std::vector< core::UserWithPubKey > &managers, const core::Buffer &publicMeta, const core::Buffer &privateMeta, const std::optional< core::ContainerPolicy > &policies=std::nullopt)
bool hasEntry(const std::string &kvdbId, const std::string &key)
std::string buildSubscriptionQuery(EventType eventType, EventSelectorType selectorType, const std::string &selectorId)
KvdbEntry getEntry(const std::string &kvdbId, const std::string &key)
core::PagingList< KvdbEntry > listEntries(const std::string &kvdbId, const core::PagingQuery &pagingQuery)
std::vector< std::string > subscribeFor(const std::vector< std::string > &subscriptionQueries)
void setEntry(const std::string &kvdbId, const std::string &key, const core::Buffer &publicMeta, const core::Buffer &privateMeta, const core::Buffer &data, int64_t version=0)
void unsubscribeFrom(const std::vector< std::string > &subscriptionIds)
core::PagingList< Kvdb > listKvdbs(const std::string &contextId, const core::PagingQuery &pagingQuery)
void deleteEntry(const std::string &kvdbId, const std::string &key)
core::PagingList< std::string > listEntriesKeys(const std::string &kvdbId, const core::PagingQuery &pagingQuery)
std::string buildSubscriptionQueryForSelectedEntry(EventType eventType, const std::string &kvdbId, const std::string &kvdbEntryKey)
static KvdbApi create(core::Connection &connection)
Kvdb getKvdb(const std::string &kvdbId)
void deleteKvdb(const std::string &kvdbId)
std::map< std::string, bool > deleteEntries(const std::string &kvdbId, const std::vector< std::string > &keys)
void updateKvdb(const std::string &kvdbId, const std::vector< core::UserWithPubKey > &users, const std::vector< core::UserWithPubKey > &managers, const core::Buffer &publicMeta, const core::Buffer &privateMeta, const int64_t version, const bool force, const bool forceGenerateNewKey, const std::optional< core::ContainerPolicy > &policies=std::nullopt)