17 #ifndef GIGA_DATA_NODE_MODEL_H_
18 #define GIGA_DATA_NODE_MODEL_H_
20 #include <boost/optional.hpp>
21 #include <cpprest/details/basic_types.h>
24 #include "../../rest/prepoc_manage.h"
34 utility::string_t name = {};
35 boost::optional<std::string> parentId = boost::none;
36 std::vector<std::string> ancestors = {};
37 std::vector<std::string> servers = {};
40 uint64_t creationDate = 0;
41 uint64_t lastUpdateDate = 0;
42 uint64_t nbChildren = 0;
44 std::vector<std::shared_ptr<Node>> nodes = {};
45 utility::string_t type = {};
46 boost::optional<utility::string_t> mimeType = boost::none;
47 boost::optional<std::string> fid = boost::none;
48 boost::optional<std::string> fkey = boost::none;
49 boost::optional<int64_t> previewState = boost::none;
51 boost::optional<utility::string_t>
url = boost::none;
53 boost::optional<utility::string_t>
icon = boost::none;
55 boost::optional<utility::string_t>
square = boost::none;
57 boost::optional<utility::string_t>
original = boost::none;
59 boost::optional<utility::string_t>
poster = boost::none;
61 template <
class Manager>
62 void visit(
const Manager& m) {
65 GIGA_MANAGE(m, parentId);
66 GIGA_MANAGE(m, ancestors);
67 GIGA_MANAGE(m, servers);
68 GIGA_MANAGE(m, ownerId);
70 GIGA_MANAGE(m, creationDate);
71 GIGA_MANAGE(m, lastUpdateDate);
72 GIGA_MANAGE(m, nbChildren);
73 GIGA_MANAGE(m, nbFiles);
74 GIGA_MANAGE(m, nodes);
76 GIGA_MANAGE(m, mimeType);
79 GIGA_MANAGE(m, previewState);
boost::optional< utility::string_t > original
Definition: Node.h:57
boost::optional< utility::string_t > icon
Definition: Node.h:53
boost::optional< utility::string_t > url
Definition: Node.h:51
boost::optional< utility::string_t > poster
Definition: Node.h:59
boost::optional< utility::string_t > square
Definition: Node.h:55