Перейти к содержанию

Хранимые данные

Абстрактное хранилище структурированных данных.

Предназначено для хранения относительно небольших данных типа настроек интерфейса, конфигураций интерфейса и подобного, для чего создавать отдельные объекты API не целесообразно из-за того что непосредственно к системе эта информация не относится.

Это экспериментальная возможность. Она может быть изменена или отменена.

Список хранимых данных

{

  "action" : "sys.storage.list" 

}

ответ

{

 <общие поля>

,"list" : [
           "идентификатор хранимых данных-1" 

           "идентификатор хранимых данных-2",

           ...

           ]

}

Чтение хранимых данных

При указании в id шаблона (символ "*" - любое количество символов) будут возвращены данные о записях идентификаторы которых под него подходят.

Например: "key1:" или "key1:part2*"

Полученный по шаблону результат кэшируется на некоторое время. Для явного сброса кэша при изменении данных укажите в вызовах set и delete параметр prefix со значением как в id

{

  "action" : "sys.storage.get" 

 ,"id" : "идентификатор хранимых данных или шаблон идентификаторов" 

 ,"datakey" : [ "dk1","dk2",....] - вернуть только части объекта указанные ключами данных. не обязательно
}

ответ

{

  <общие поля>

-- ответ при запросе без шаблона

  "obj" : {

            "id" : "идентификатор хранимых данных" 

           ,"data" : .... -- данные

           ,"create.date" : "дата и время создания" -- Ys, null

           ,"update.date" : "дата и время последнего изменения" -- Ys, null
          }

-- ответ при запросе с шаблоном

  "list" : [
            { структура как obj }
           ,{ структура как obj }
           ,{ структура как obj }
           .........
           ]

}

Создание или изменение хранимых данных

{

  "action" : "sys.storage.set" 

  ,"id" : "идентификатор хранимых данных" -- строка до 120 символов
                                          -- при отсутствии данных с таким идентификатором запись создаётся

  ,'prefix" : "шаблон" -- кэш какого шаблона сборосить после изменения. не обязательно

  ,"obj" : {

-- одно из

            "data" : {
                      -- данные
                     }
-- или

            "data" : [
                      -- данные
                     ]

           }

 -- необязательные

 ,"return_fresh_obj" : "нужно вернуть данные объекта -- да, нет ( 1 | 0 )" 

}

ответ

{

 <общие поля>

 ,"obj" :  { ... } -- данные в формате sys.storage.get если "return_fresh_obj" : 1

}

Удаление хранимых данных

{

  "action" : "sys.storage.delete" 

  ,"id" : "идентификатор хранимых данных" 

--- или несколько

  ,"id" : [ "id1", "id2", .. ]

  ,'prefix" : "шаблон" -- кэш какого шаблона сборосить после изменения. не обязательно

}

ответ

{

 <общие поля>

}