Line data Source code
1 : #pragma once
2 :
3 : #include <prefixdb/api/common_status.hpp>
4 : #include <prefixdb/api/fields.hpp>
5 : #include <memory>
6 : #include <string>
7 :
8 : namespace wamba { namespace prefixdb {
9 :
10 : namespace request
11 : {
12 : /**
13 : * @brief Установка значений для нескольких ключей.
14 : * @details Значение ключа - произвольный json-объект, строка, число или флаг. Объект сохраняется в базу как есть,
15 : * без десериализации, в таком же виде и возвращается при запросе. JSON @ref request::set_json
16 : * @see request::set_json
17 : * @see response::set
18 : */
19 0 : struct set
20 : {
21 :
22 : bool sync = false; ///< синхронная запись на диск (без кэширования)
23 : bool nores = true;
24 : bool noval = false;
25 : std::string prefix; ///< имя префикса
26 : field_list_t fields; ///< список пар ключ-значение для записи
27 : // Только для noval=false, пишет в базу, а значение из snapshot_id
28 : size_t snapshot = 0;
29 : typedef std::unique_ptr<set> ptr;
30 : };
31 : }
32 :
33 : namespace response
34 : {
35 : /**
36 : * @brief Ответ Установка значений для нескольких ключей.
37 : * @details -Значение ключа - произвольный json-объект, строка, число или флаг. Объект сохраняется в базу как есть,
38 : * без десериализации, в таком же виде и возвращается при запросе-. JSON @ref response::set_json
39 : * @see response::set_json - JSON
40 : * @see request::set - запрос
41 : */
42 0 : struct set
43 : {
44 : common_status status = common_status::OK;
45 : std::string prefix;
46 : field_list_t fields;
47 :
48 : typedef std::unique_ptr<set> ptr;
49 : typedef std::function< void(ptr) > handler;
50 : };
51 :
52 : }
53 :
54 : }}
|