aboutsummaryrefslogtreecommitdiff
path: root/include/StagedObject.hpp
blob: dc2aaf4942c493f3784bfad6bcf44fa8a6722c4a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#pragma once

#include "Key.hpp"
#include "types.hpp"
#include "DataView.hpp"
#include "Signature.hpp"

namespace odhtdb
{
    class Group;

    struct StagedCreateObject
    {
        Key key;
        Group *primaryAdminGroup;
        u64 timestamp; // In microseconds

        StagedCreateObject() : key(), primaryAdminGroup(nullptr), timestamp(0) {}
        StagedCreateObject(const Key &_key, Group *_primaryAdminGroup, u64 _timestamp) : 
            key(_key), primaryAdminGroup(_primaryAdminGroup), timestamp(_timestamp) 
        {

        }
    };

    struct StagedAddObject
    {
        Key key;
        DataView data;
        u64 timestamp; // In microseconds
        Signature::PublicKey creatorPublicKey;

        StagedAddObject() : key(), data(), timestamp(0), creatorPublicKey(Signature::PublicKey::ZERO) {}
        StagedAddObject(const Key &_key, const DataView &_data, u64 _timestamp, const Signature::PublicKey &_creatorPublicKey) : 
            key(_key), data(_data), timestamp(_timestamp), creatorPublicKey(_creatorPublicKey)
        {

        }
    };
}