Задача адаптера

Адаптер используется для ссылок на представляемые им данные при их получении и отправке.

Синтаксис адаптера

В максимальной вариации адаптер представлят из себя 3 смысловые части с разделителем .

Например, {{field.1234.int}}

[обязателен] Префикс - откуда брать (куда складывать)

[обязателен] Корень - куда (откуда) конкретно, идентификатор экземпляра.

[опционален] Постфикс - к какому приводить типу

Особые случаи

Иногда для точной идентификации значения недостаточно одного id или имени.

Для таких случаев принимаются дополнительные разделители (не .)

Текущие особые случаи:

Префиксы адаптера

Префикс несет в себе информацию о месте хранения данных, к которым отсылает шаблон.

Все возможные префиксы представлены ниже:

Префикс Смысл Пример
field Отсылает на переменную из перечисленных в таблице nodes_fieldname
Нужная переменная выбирается через id
Само значение может находиться, как в самой бд, в savedata_fields, так и в других источниках. Место зависит от настроек переменной
Тип подставляемых данных дефолтно определяется через указание его под ключем “type” в настройках самой переменной, однако приведение через точку, при наличии, является более приоритетным. {{field.123.string}}
api Отсылает на данные из таблицы users_api_data
Нужные данные находятся по соответствующему ключу в JSON
Синтаксис api.28_externalId добавляет также информацию об ID api, это необходимо, когда шаблон используется для подстановки данных а API, отличающийся от первоначального источника {{api.externalId}}
lang Отсылает на данные из таблицы multilang_text
Идентификация происходит по id_text, нужный язык определяется из настроек пользователя {{lang.123}}
ref Отсылает на данные из связанного справочника. По дефолту на references_universal
Идентификация по id справочника
По умолчанию значение берется по ключу “value” {{ref.123}}
prop Отсылает на данные из references_universal + содержит привязку к property
Синтаксис: prop.<id из **property**>_<id из **references_universal**> {{prop.84_10}}
redis Отсылает на переменную процесса из Redis, нужная переменная идентифицируется по name. Шаблон может использоваться только в response_json для эндпойнтов, подразумевающих запуск синхронного или асинхронного процесса {{redis.name}}

Типы для преобразования

.int .float .dict .list .str .to_bool .to_none .dumps

Адаптер для пустоты