mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-31 00:46:46 +00:00
[Data Buckets] Implement scoped data buckets (#3498)
* [Data Buckets] Implement scoped data buckets * Update database_update_manifest.cpp * Update data_bucket.cpp * Update data_bucket.cpp * Update data_bucket.cpp * Update data_bucket.h * Update database_update_manifest.cpp * Add GetScopedDbFilters references * Scope transfer
This commit is contained in:
+21
-4
@@ -10,18 +10,35 @@
|
||||
#include "../common/repositories/data_buckets_repository.h"
|
||||
#include "mob.h"
|
||||
|
||||
|
||||
struct DataBucketKey {
|
||||
std::string key;
|
||||
std::string value;
|
||||
std::string expires;
|
||||
int64_t character_id;
|
||||
int64_t npc_id;
|
||||
int64_t bot_id;
|
||||
};
|
||||
|
||||
class DataBucket {
|
||||
public:
|
||||
// non-scoped bucket methods (for global buckets)
|
||||
static void SetData(const std::string& bucket_key, const std::string& bucket_value, std::string expires_time = "");
|
||||
static bool DeleteData(const std::string& bucket_key);
|
||||
static std::string GetData(const std::string& bucket_key);
|
||||
static std::string GetDataExpires(const std::string& bucket_key);
|
||||
static std::string GetDataRemaining(const std::string& bucket_key);
|
||||
static bool GetDataBuckets(Mob* mob);
|
||||
static std::string CheckBucketKey(const Mob* mob, std::string_view full_name);
|
||||
|
||||
private:
|
||||
static uint64 DoesBucketExist(const std::string& bucket_key);
|
||||
static bool GetDataBuckets(Mob* mob);
|
||||
|
||||
// scoped bucket methods
|
||||
static void SetData(const DataBucketKey& k);
|
||||
static bool DeleteData(const DataBucketKey& k);
|
||||
static std::string GetData(const DataBucketKey& k);
|
||||
static std::string GetDataExpires(const DataBucketKey& k);
|
||||
static std::string GetDataRemaining(const DataBucketKey& k);
|
||||
static std::string CheckBucketKey(const Mob* mob, const DataBucketKey& k);
|
||||
static std::string GetScopedDbFilters(const DataBucketKey& k);
|
||||
};
|
||||
|
||||
#endif //EQEMU_DATABUCKET_H
|
||||
|
||||
Reference in New Issue
Block a user