Организация в БД

Для связи полей приложения с полями в методах внешних источников существует таблица: nodes_fieldname.

nodes_fieldname:

*field_name* - уникальное справочное имя поля (напр. phoneNumber, religion). Сейчас генерируется по имени ноды, пресета, экрана…, далее будем переходить на уникальность

*external_name* - легаси поле, не используется

*is_local_save* - дефолтное значение параметра необходимости сохранения данных поля из приложения

*field_settings* - настройки поля (тип, длина, обязательность, тип его обработки…)

JSON, соответствующий формату запроса, находится в *request_json* таблицы instances_api_methods.

Актуальный подход подразумевает хранение в качестве значений JSON шаблонов с id соответствующих полей: {{field.id}}.

Пока не достигнута необходимая уникальность имен полей, при использовании в одном и том же метде

Получение данных

Получение необходимо для заполнения экрана персонализированными данными.

В любых настройках полей могут встречаться шаблоны, требуещие заполнения. Ранее этот список ограничивался следующими настройками:

text
data
imageUrl
imageUrlOpened
successImageUrl
label
placeholder
errorText
errorLabel
loaderText
textLeft
textRight
minimum
maximum
min
max
default
step
header
comment
endText

*список этих полей идентичен со списком полей, участвующих в multilang.

Логика подстановки данных в экран

Пример шаблона в текстовом поле

{{field.id}}