Внутреннее API

В рамках работающего процесса, в области видимости каждого коннектора доступен объект ctx , который в свою очередь предоставляет доступ к системному API процесса. Данное API позволяет работать внутренними методами процесса, а также управлять workflow.

Свойства объекта ctx

Название

Описание

ctx.connector

Содержит схему текущего исполняемого коннектора

ctx.data

Содержит данные переданные текущему исполняемому коннектору от предыдущего коннектора.

ctx.workplace

Содержит название workplace

ctx.processID

Содержит id текущего процесса

Дополнительные свойства ctx для коннекторов c типом webservice

При выполнении коннекторов с типом webservice объект ctx содержит дополнительные свойства и методы для работы с HTTP запросами.

Название

Описание

ctx.request

Объект http.request - смотрите документацию NodeJS

ctx.response

Объект http.response - смотрите документацию NodeJS

Основные методы

ctx.getConnectorId(<id>)

Метод для получение коннектора процесса по его ID.

ctx.stopProcess() - остановка процесса

Метод для остановки выполнения процесса.

ctx.setHelper(<name>, <any>)

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

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

ctx.setData(<object>)

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

После выполнения данного кода, следующий коннектор может получить массив пользователей от текущего коннектора.

ctx.reject(<requeue>) - отменить выполнение следующих коннекторов

Метод предназначен для остановки выполнения следующих коннекторов. Аргумент requeue:

  • false - только отменяет выполнение следующих коннекторов

  • true - останавливает выполнение следующих коннекторов и ставит выполнение текущего коннектора опять в очередь

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

Методы для работы с DataStorage

ctx.storage.get(name, params)

Метод предназначен для получения данных их DataStorage.

Название

Описание

name

Название коллекции

params

Параметры запроса. Подробнее DataStorage

ctx.storage.create(name, params)

Метод предназначен для создания записей в DataStorage

Название

Описание

name

Название коллекции

params

Параметры запроса. Подробнее DataStorage

ctx.storage.update(name, params)

Метод предназначен для обновления записей в DataStorage

Название

Описание

name

Название коллекции

params

Параметры запроса. Подробнее DataStorage

ctx.storage.remove(name, params)

Метод предназначен для удаления записей в DataStorage

Название

Описание

name

Название коллекции

params

Параметры запроса. Подробнее DataStorage

ctx.storage.count(name, params)

Метод предназначен для подсчета количества записей в DataStorage

Название

Описание

name

Название коллекции

params

Параметры запроса. Подробнее DataStorage

Методы для работы с шаблонами процесса

ctx.setTemplate(name, fn)

Метод позволяющий добавить шаблон в контекст процесса для последующего рендеринга его в вебхуках.

  • name - название шаблона

  • fn - функция рендеринга шаблона

ctx.renderTemplate(name, data)

Метод позволяющий выполнить рендеринг и получить html код предварительно созданного шаблона.

  • name - название шаблона

  • data - данные для передачи в шаблон

Методы для работы с вебхуками

ctx.response.json(data)

Метод позволяет ответить на HTTP запрос клиенту в формате json

ctx.response.plain(data)

Метод позволяет ответить на HTTP запрос клиенту в текстовом формате (text/plain)

ctx.response.html(data)

Метод позволяет ответить на HTTP запрос клиенту в формате html (text/html)

ctx.response.render(template, data)

Метод рендерит шаблон и отправляет данные клиенту в формате text/html

  • template - имя шаблона

  • data - данные, которые будут переданы в шаблон

ctx.response.redirect(url, code)

Метод позволяет выполнить переадресацию поступившого запроса на другой URL адрес.

  • url - адрес, куда будет перенаправлен клиент

  • code - статус код , по умолчанию 301

Last updated

Was this helpful?