Line data Source code
1 : #pragma once
2 :
3 : #include <prefixdb/api/set.hpp>
4 : #include <prefixdb/api/fields_json.hpp>
5 : #include <prefixdb/api/common_status_json.hpp>
6 : #include <wfc/json.hpp>
7 :
8 : namespace wamba { namespace prefixdb {
9 :
10 : namespace request
11 : {
12 : /**
13 : * @brief set json
14 : @code{.json}
15 : {
16 : "prefix":"префикс",
17 : "nores":true,
18 : "noval":false,
19 : "sync" :false,
20 : "fields":
21 : {
22 : "ключ1":<<json>>,
23 : "ключ2":<<json>>,
24 : "ключ3":<<json>>
25 : }
26 : }
27 : @endcode
28 : @see request::set
29 : */
30 : struct set_json
31 : {
32 0 : JSON_NAME(prefix)
33 0 : JSON_NAME(nores)
34 0 : JSON_NAME(noval)
35 0 : JSON_NAME(snapshot)
36 0 : JSON_NAME(fields)
37 0 : JSON_NAME(sync)
38 :
39 : typedef wfc::json::object<
40 : set,
41 : wfc::json::member_list<
42 : wfc::json::member<n_prefix, set, std::string, &set::prefix>,
43 : wfc::json::member<n_sync, set, bool, &set::sync>,
44 : wfc::json::member<n_nores, set, bool, &set::nores>,
45 : wfc::json::member<n_noval, set, bool, &set::noval>,
46 : wfc::json::member<n_snapshot, set, size_t, &set::snapshot>,
47 : wfc::json::member<n_fields, set, field_list_t, &set::fields, fields_list_json >
48 : >
49 : > type;
50 : typedef type::target target;
51 : typedef type::serializer serializer;
52 : typedef type::member_list member_list;
53 : };
54 : }
55 :
56 : namespace response
57 : {
58 : /**
59 : * @brief set json
60 : @code{.json}
61 : {
62 : "prefix":"префикс",
63 : "status":"OK",
64 : "fields":{
65 : "ключ1":<<json>>,
66 : "ключ2":<<json>>,
67 : "ключ3":<<json>>
68 : }
69 : }
70 : @endcode
71 : */
72 :
73 : struct set_json
74 : {
75 0 : JSON_NAME(prefix)
76 0 : JSON_NAME(status)
77 0 : JSON_NAME(fields)
78 :
79 : typedef wfc::json::object<
80 : set,
81 : wfc::json::member_list<
82 : wfc::json::member<n_prefix, set, std::string, &set::prefix>,
83 : wfc::json::member<n_status, set, common_status, &set::status, common_status_json>,
84 : wfc::json::member<n_fields, set, field_list_t, &set::fields, fields_list_json>
85 : >
86 : > type;
87 : typedef type::target target;
88 : typedef type::serializer serializer;
89 : typedef type::member_list member_list;
90 : };
91 : }
92 :
93 : }}
|