2026-04-09 18:37:29 +03:00
2025-12-15 13:54:36 +03:00
2026-04-09 18:37:29 +03:00
2024-10-23 11:17:42 +03:00
2024-12-28 15:44:19 +03:00
005
2024-10-30 13:46:08 +03:00
2024-11-08 09:51:40 +03:00
2025-12-05 09:33:07 +03:00

Тут должно быть описание микросервиса svc-api

Функции для навигации по стейтам и конфигам

Перечисленные ниже функции являются методами CFS параметра операции инстанса (пока сделано так, но, возможно, придется их переместить - может быть, в параметр операции сервиса или в отдельный объект). Прежде чем вызывать методы, как правило, нужно инициализировать объект параметра, закинув в него контекст. Самый простой контекст - это ключ (UID) сохраненного параметра - если параметр сохранен, про него примерно все известно (разве что соседние параметры могут не быть сохранены). Для еще не сохраненного параметра мы передаем с контекстом то, что знаем - значения соседних параметров, от которых мы зависим, ключи инстанса, операции или сервиса. Сохраненный параметр мы, возможно, захотим поменять - поэтому значения переданных с фронта параметров имеют приоритет перед сохраненными. Аргументами функций могут быть строковые константы, значения соседних параметров и другие предопределенные функции (см. список ниже). Глубина вложенности функций не ограничивается. Как правило, корневая функция возвращает список

Ссылки на параметры

  • params.name ("params" - ключевое слово, другие скоупы не поддерживаются)
  • params.name.subparam (можно ссылаться на в выражениях субпараметры, и субпараметры могут вычисляться как выражения - но это относится только к субпараметрам сервиса, но не к субпараметрам инстанса, которые произвольно задаются пользователем)

Функции

  • string getKeyListFromStruct(struct struct, string path) - по замыслу всегда корневая функция, возвращает список ключей MAP из структуры (можно считать, что это разобранный JSON) по заданному пути. В API форматируется как массив. Можно в корне использовать функцию, которая вернет строку, тогда получится выпадающий список с единственным значением, но непонятно, зачем (разве что при отладке)
  • string getArrayAsListFromStruct(struct struct, string path) - корневая функция, возвращает список элементов массива. Пока подразумевается, что в массиве простые элементы (если надо не простые - нужно придумать им какой-то метод toString, то есть разумный способ преобразования в строку)
  • string getValueFromStruct(struct struct, string path) - получить скаляр (строку) из структуры
  • string concat(string[] args) - просто сшивает строки (константы, параметры, результаты функций), число аргументов любое. Например, чтобы собрать путь из фрагментов
  • (для отладки) any dummy(any arg)- возвращает свое значение. Для тестирования
  • string getResourceRealm() - возвращает имя текущей (то есть в переданном контексте) ресурсной платформы. Важно: если у сервиса нет ресурсной платформы, пытается найти ее у родительских инстансов (глубина рекурсии до 10). 2DO: добавить ограничения на поиск платформ определенного типа
  • struct getResourceRealmConfig(string resourceRealm) - возвращает распаршенный конфиг указанной ресурсной платформы
  • struct getResourceRealmConfig() - без параметров возвращает распаршенный конфиг текущей ресурсной платформы (можно ожидать, что только такой вариант и нужен)
  • struct getInstanceState(uuid instanceUid) - возвращает распаршенный стейт инстанса по ключу
  • struct getInstanceState() - без параметров возвращает распаршенный стейт текущего инстанса
  • (использовать не нужно) string getCfsParam(string param) - то же, что params.param, только длиннее и не добавляет параметр в список зависимостей
  • (использовать не нужно) string getCfsParam(string param, string subparam) - то же, что params.param.subparam, но не добавляет параметр в список зависимостей

Списки с пустым значением пока не поддерживаются (если надо будет, сделаем)

S
Description
No description provided
Readme
4.4 MiB
Languages
ColdFusion 93.6%
HTML 2.5%
JavaScript 2.3%
CSS 1.4%
Dockerfile 0.2%