Ditto 4.13.1
 
Loading...
Searching...
No Matches
UpdateResult.hpp
1#ifndef DITTO_UPDATE_RESULT_H
2#define DITTO_UPDATE_RESULT_H
3
4#include "DocumentId.hpp"
5
6#include "json.hpp"
7
8#include <string>
9
10namespace ditto {
11
20enum class UpdateResultType {
21 Set,
22 Removed,
23 Incremented,
24};
25
33struct DITTO_DEPRECATED_BECAUSE(
34 "Use DQL (Ditto Query Language) instead. For more information see: "
35 "https://ditto.com/link/legacy-to-dql-guide") UpdateResult {
36 DITTO_DISABLE_DEPRECATED_WARNINGS("The legacy query API is deprecated")
37
38 friend struct UpdateResultSet;
39 friend struct UpdateResultRemoved;
40 friend struct UpdateResultIncremented;
41
46
51 std::string path;
52
57
58 virtual ~UpdateResult() = default;
59
60private:
61 UpdateResult(DocumentId document_id, std::string path, UpdateResultType type);
62};
63
71struct DITTO_DEPRECATED_BECAUSE(
72 "Use DQL (Ditto Query Language) instead. For more information see: "
73 "https://ditto.com/link/legacy-to-dql-guide") UpdateResultSet
74 : UpdateResult {
75 friend class MutableDocumentPath;
76
80 nlohmann::json value;
81
82private:
83 UpdateResultSet(DocumentId document_id, std::string path,
84 nlohmann::json value);
85};
86
94struct DITTO_DEPRECATED_BECAUSE(
95 "Use DQL (Ditto Query Language) instead. For more information see: "
96 "https://ditto.com/link/legacy-to-dql-guide") UpdateResultRemoved
97 : UpdateResult {
98 friend class MutableDocumentPath;
99
100private:
101 UpdateResultRemoved(DocumentId document_id, std::string path);
102};
103
111struct DITTO_DEPRECATED_BECAUSE(
112 "Use DQL (Ditto Query Language) instead. For more information see: "
113 "https://ditto.com/link/legacy-to-dql-guide") UpdateResultIncremented
114 : UpdateResult {
115 friend class MutableDocumentPath;
116
120 double amount;
121
122private:
123 UpdateResultIncremented(DocumentId document_id, std::string path,
124 double amount);
125
126 DITTO_REENABLE_WARNINGS
127};
128
129} // namespace ditto
130
131#endif
Namespace for the Ditto C++ SDK types and functions.
Definition AbstractDocumentPath.hpp:19
UpdateResultType
Describes the type of result of an update operation performed on a MutableDocument.
Definition UpdateResult.hpp:20
An identifier for a Document.
Definition DocumentId.hpp:23
std::string path
Definition UpdateResult.hpp:51
UpdateResultType type
Definition UpdateResult.hpp:56
DocumentId document_id
Definition UpdateResult.hpp:45
double amount
Definition UpdateResult.hpp:120
nlohmann::json value
Definition UpdateResult.hpp:80