ред репозитория

This commit is contained in:
mirzakaev_tf 2023-04-24 13:24:15 +05:00
parent 276c2c3933
commit ce3f70ca5d
203 changed files with 51 additions and 1899 deletions

View File

@ -1,2 +0,0 @@
- [Архитектура приложения](./Arch/)
- [Lexema Framework](./framework/)

View File

@ -18,4 +18,4 @@
* [Radio](../../service/radio/index.md)
* [Jsreport](../../service/jsreport/index.md)
* [Preview](../../service/preview/index.md)
* [Scheduler](../../service/sheduler/index.md)
* [Scheduler](../../sheduler/index.md)

View File

@ -8,7 +8,7 @@
* Установить последнюю версию вспомогательной **библиотеки функций управления пользователями для планировщика задач**.
* Установить последнюю версию библиотеки **Управление пользователями**.
* Настроить задачу ["Создание новых пользователей"](../../../service/sheduler/TaskSheduler.md) в [планировщике задач](../../../service/sheduler/Config.md) с указанием расписания выполнения (например каждый день в 9 часов). Необходимо обратить внимание, чтобы в документе [Физическое лицо](../../../СЭД/Справочники/Общие справочники/Физические лица/Физические лица.md), во вкладке "Контакты" было заполнено поле "Почта".
* Настроить задачу ["Создание новых пользователей"](../../../sheduler/TaskSheduler.md) в [планировщике задач](../../../sheduler/Config.md) с указанием расписания выполнения (например каждый день в 9 часов). Необходимо обратить внимание, чтобы в документе [Физическое лицо](../../../СЭД/Справочники/Общие справочники/Физические лица/Физические лица.md), во вкладке "Контакты" было заполнено поле "Почта".
![Почта](media/mail.png){: .zoom}
* Настроить константу **способ регистрации по умолчанию** с указанным значением (текст) **Lexema** для того, чтобы по умолчанию создавались недоменные пользователи. Про создание доменных пользователей можно ознакомиться [ниже](#cоздание_пользователей_соменными_учетными_записями).
@ -34,7 +34,7 @@
## Повторное уведомление пользователя о регистрации пользователя
В случае если пользователь в течение определенного времени не прошел авторизацию, необходимо повторно оповестить его о необходимости ее прохождения. Повторное уведомление будет отправляться до тех пор, пока пользователь не пройдет авторизацию. Для этого необходимо настроить задачу [Напоминание о входе в систему неактивированным пользователям](../../../service/sheduler/TaskSheduler.md) в [планировщике задач](../../../service/sheduler/Config.md) с настройкой расписания для автоматической отправки (например оповещать каждый день в 12 часов) и настроить в настройках учетной политики константу **УпрП_напоминание_о_созданной_УЗ** со значением 1.
В случае если пользователь в течение определенного времени не прошел авторизацию, необходимо повторно оповестить его о необходимости ее прохождения. Повторное уведомление будет отправляться до тех пор, пока пользователь не пройдет авторизацию. Для этого необходимо настроить задачу [Напоминание о входе в систему неактивированным пользователям](../../../sheduler/TaskSheduler.md) в [планировщике задач](../../../sheduler/Config.md) с настройкой расписания для автоматической отправки (например оповещать каждый день в 12 часов) и настроить в настройках учетной политики константу **УпрП_напоминание_о_созданной_УЗ** со значением 1.
![Задача](media/taskReminder.png){: .zoom}
![Константа уведомления о напоминании](media/constReminder.png){: .zoom}
@ -47,7 +47,7 @@
* Выполнить шаги, описанные в разделе [Создание пользователей](#создание_пользователей), если это не было сделано ранее.
* Настроить константу **УпрП_поля_из_AD_для_сравнения**. В значениях необходимо указать по каким условиям производить сравнение. Условие может быть как одно так и несколько, указываются через запятую: firstName (имя), lastName (фамилия), email (почта), loginAndEmail (логин и почта), loginOrEmail (логин или почта)
![](./media/Up_srav.png){: .zoom}
* Настроить задачу [Загрузка пользователей из Active Directory в форму для сопоставления](../../../service/sheduler/TaskSheduler.md) и расписание для автоматического выполнения задачи (например в 4 часа 30 минут с понедельника по пятницу).
* Настроить задачу [Загрузка пользователей из Active Directory в форму для сопоставления](../../../sheduler/TaskSheduler.md) и расписание для автоматического выполнения задачи (например в 4 часа 30 минут с понедельника по пятницу).
![Задача](media/taskAD.png){: .zoom}
* Настроить константу **способ регистрации по умолчанию** с указанным значением (текст) **ActiveDirectory** для того, чтобы по умолчанию создавались доменные пользователи.

View File

@ -72,7 +72,7 @@
**Направить приглашение** - пользователю направится уведомление о регистрации пользователя в системе.
**Создать пользователя КЭДО** - запускается функция [планировщика](../../../service/sheduler/Config.md) задач по [созданию пользователей](../../../service/sheduler/TaskSheduler.md).
**Создать пользователя КЭДО** - запускается функция [планировщика](../../../sheduler/Config.md) задач по [созданию пользователей](../../../sheduler/TaskSheduler.md).
В таблицу "Сотрудники" загружаются следующие данные о сотрудниках:

View File

@ -24,7 +24,7 @@
### Вкладка "СМС и телеграм"
На данной вкладке заполняется тексты для уведомлений через SMS-сервис и [мессенджер Telegram](../../../service/telegram/Настройка мессенджера телеграм.md).
На данной вкладке заполняется тексты для уведомлений через SMS-сервис и [мессенджер Telegram](../../../telegram/Настройка мессенджера телеграм.md).
![Смс](media/sms.png)

View File

@ -100,7 +100,7 @@
![Константа](media/constant2.png){: .zoom}
О том как настроить подключение через мессенджер "Телеграм" можно почитать в разделе ["Настройка мессенджера телеграм"](../../../service/telegram/Настройка мессенджера телеграм.md)
О том как настроить подключение через мессенджер "Телеграм" можно почитать в разделе ["Настройка мессенджера телеграм"](../../../telegram/Настройка мессенджера телеграм.md)
При включенной константе **УпрП_телефон_эл.адрес_ФЛ** в настройках учетной политики, при создании пользователя, если в справочнике [физическое лицо](../../../СЭД/Справочники/Общие справочники/Физические лица/Физические лица.md) заполнены поля телефон и электронная почта, они автоматически заполняться в соответствующих полях.

View File

@ -1 +0,0 @@
описание настройки

View File

@ -1 +0,0 @@
общее описание

View File

@ -1,24 +0,0 @@
{%
include-markdown "./description.md"
heading-offset=1
%}
{%
include-markdown "./dependencies.md"
heading-offset=1
%}
{%
include-markdown "./configuration.md"
heading-offset=1
%}
{%
include-markdown "./API.md"
heading-offset=1
%}
{%
include-markdown "./integration.md"
heading-offset=1
%}
{%
include-markdown "./examples.md"
heading-offset=1
%}

View File

@ -1,14 +0,0 @@
* [entrypoint](./entrypoint/index.md)
* [config](./config/index.md)
* [data](data/index.md)
* [dss](dss/index.md)
* [file](file/index.md)
* [fluentd](fluentd/index.md)
* [gate](gate/index.md)
* [jsreport](jsreport/index.md)
* [lock](lock/index.md)
* [logic](logic/index.md)
* [post](post/index.md)
* [preview](preview/index.md)
* [radio](radio/index.md)
* [sheduler](sheduler/index.md)

View File

@ -1,462 +0,0 @@
# Конфигурирование приложения
## Введение
Механизм конфигурирования lexema 8.4 представлен отдельным пакетом с названием ecosoft-lexema8-config.
## Основные настройки
Конфигурирования описываются в файле **productions.js**, который располагается в docker-контейнере **config_service** приложения. Конфигурационный файл состоит из нескольких разделов: [db](#db), [common](#common), [bus](#bus), [front](#front), [lib](#lib), [moxie](#moxie), [jsreportEditor](#jsreportEditor), [config](#config), [logic](#logic), [gate](#gate), [radio](#radio), [data](#data), [lock](#lock), [file](#file), [preview](#preview), [post](#post), [dxreport-iis-application](#dxreport-iis-application), [sreport](#sreport), [scheduler](#scheduler), [dss](#dss), [collector](#collector), [dev](#dev), [excel](#excel).
## Разделы
### db
Раздел содержит описание профилей подключения к базам данных, которые используются в приложении:
- **_main_** - профиль подключения к основной базе данных по умолчанию. Обязателен к заполнению, если не указывается свойство applications.data.db
- **_host_** - имя хоста
- **_database_** - имя базы данных
- **_dialect_** - диалект СУБД
- **_instanceName_** - имя экземпляра
- **_port_** - порт сервера бд
- **_user_** - логин
- **_password_** - пароль
- **_encrypt_** - позволяет установить зашифрованное соединение с sql-сервером (по умолчанию `false` - шифрование выключено). Настройка доступна, если свойство `'dialect='mssql'`.
- **_isolationLevel_** - уровень [изоляции](https://docs.microsoft.com/ru-ru/sql/t-sql/statements/set-transaction-isolation-level-transact-sql?view=sql-server-2017) транзакций. Доступные значения: 'READ_UNCOMMITTED', 'READ_COMMITTED', 'REPEATABLE_READ', 'SERIALIZABLE'. По умолчанию 'READ_UNCOMMITTED'.
- **_requestTimeout_** - время таймаута запросов в миллисекундах. По умолчанию 15000.
- **_applicationName_** - значение строки подключения для ведения журнала сервера БД. По умолчанию ara.
- **_pool_** - настройки пула соединений:
- **_max_** - максимальное количество соединений в пуле. По умолчанию 20.
- **_min_** - минимальное количество соединений в пуле. По умолчанию 0.
- **_idleTimeoutMillis_** - максимальное время в миллисекундах, которое будет простаивать соединение в пуле, прежде чем будет освобождено. По умолчанию 10000.
- **_radio_** - "in-memory" режим локальной базы данных sqlite с отключённым логированием, используется персистором для хранения недоставленных сообщений.
- **_session_** - настройки подключения к локальному экземпляру redis для хранения сессии.
- **_host_** - имя хоста (по умолчанию `'localhost'`).
- **_port_** - порт для запуска (по умолчанию `6379`).
- **_db_** - идентификатор базы для [Redis](https://redis.io/) (по умолчанию `0`).
При заполнении дополнительных профилей подключения необходимо заполнять все перечисленные настройки, поскольку значения по умолчанию устанавливаются только для профиля с именем `main`.
### common
"Общие" настройки, описывающие пути и шаблоны расположения объектов бизнес-логики.
- **_context_** - путь к каталогу, который является "контекстом" для разрешения относительных путей (по умолчанию - '`source`'). Если путь является относительным, то будет добавлен к текущему рабочему каталогу.
- **_external_** - объект, задающий пути к файлам с описанием внешних зависимостей.
- **_manual_** - файл, заполняемый вручную (по умолчанию - `'external-manual.json'`).
- **_auto_** - файл, заполняемый автоматически при сборке (по умолчанию - `'external-auto.json'`).
- **_logging_** - настройки логирования.
- **_allowSilent_** - включить/выключить логирование (по умолчанию `false`).
- **_level_** - задает минимальный уровень логируемых событий. Доступные значения в порядке возрастания значимости: silly,debug, verbose, info, warn, error.
- **_elasticStack_** - настройки логирования в файлы (для Elastic Stack).
- **_elasticLevel_** -задает минимальный уровень событий, логируемых в файлы . Доступные значения в порядке возрастания значимости: silly,debug, verbose, info, warn, error.
- **_suppress_** -включить/выключить логирование в файлы.
- _**file**_ - настройки файлов, в которые пишут логи.
- **_maxsize_** - максимальный размер файла с логами (в байтах).
- **_models_** - [glob](https://en.wikipedia.org/wiki/Glob_(programming)), описывающий расположение моделей (по умолчанию - `'models/**/*.js'`).
- **_output_** - может быть как строкой, так и объектом.
- если строка: путь к каталогу для размещения сборок документации, а также клиентской и серверной части (по умолчанию - `'build'`). Если путь является относительным, то будет добавлен к каталогу, в котором расположен каталог context.
- если объект: может содержать свойства client, server и docs, представляющие собой пути к расположению каталогов для вывода файлов клиента, сервера и документации. Если пути относительные - то будут добавлены к каталогу, в котором расположен каталог context.
- **_queries_** - [glob](https://en.wikipedia.org/wiki/Glob_(programming)), описывающий расположение запросов (по умолчанию - `'queries/**/*.js'`).
- **_reportsDir_** - [glob](https://en.wikipedia.org/wiki/Glob_(programming)), описывающий расположение отчётов в контексте каталога отчётов (по умолчанию - `'*.report'`).
- **_externalReportsDir_** - Название папки внешних отчетов проекта jsreport. По умолчанию **external**.
- **_internalReportsDir_** - Название папки внутренних отчетов проекта jsreport. По умолчанию **internal**.
- **_jsreports_** - [glob](https://en.wikipedia.org/wiki/Glob_(programming)), описывающий расположение отчетов (jsreport) (по умолчанию - `'**/!(*.*)'`).
- **_reportsDir_** - путь к каталогу с отчётами (по умолчанию - `'reports'`).
- **_sqlObjects_** - [glob](https://en.wikipedia.org/wiki/Glob_(programming)), описывающий расположение sql-объектов в контексте каталога sql-объектов (по умолчанию - `'*.sql'`).
- **_sqlObjectsDir_** - путь к каталогу с объектами sql-сервера (по умолчанию - `'sqlObjects'`).
- **_units_** - путь к файлу с описанием юнитов (по умолчанию - `'units.json'`).
- **_dashboardTemplates_** - путь к каталогу с шаблонами дашборда (по умолчанию - `'dashboardTemplates'`).
### bus
Настройки "Шины" для взаимодействия между сервисами.
- **_protocol_** - используемый протокол (по умолчанию 'amqp').
- **_hostname_** - имя хоста (по умолчанию 'localhost').
- **_port_** - порт для запуска (по умолчанию 5672).
- **_username_** - логин.
- **_password_** - пароль.
- **_requestTimeout_** - время ожидания ответа от слушателя
### front
Настройки клиентской части приложения.
- **_theme_** - имя пакета, содержащего тему оформления (по умолчанию - `'ecosoft-lexema8-main-theme'`).
- **_controls_** - перечень наборов контролов (по умолчанию - `'ecosoft-lexema8'`).
- если элемент массива - строка, то она будет использована как путь для импорта конструктора контрола, относящемуся к данному набору. Манифест набора будет загружен по пути **{module_path}/lib/controls.manifest.json.**
- если элемент массива - объект, то в качестве пути для импорта конструктора контрола будет использовано значение свойства modulePath, а в качестве пути для загрузки манифеста будет использовано значение свойства **manifestPath.**
- **_publicPath_** - настройка "публичного пути" для производственной сборки клиента (по умолчанию - `'/client/'`).
- **_sourcemap_** - флаг, обозначающий необходимость генерации карт кода (по умолчанию - `true`).
- **_es_** - настройки используемой версии ECMAScript (по умолчанию - `'legacy'`). Перекрывается опцией "ie" интерфейса командной строки.
- **_legacy_** - с поддержкой IE11.
- **_modern_** - без поддержки IE11.
- **_helpUrl_** - "базовая" ссылка для кнопки "Справка".
- **_autoLogin_** - если значение true, то клиент автоматически авторизуется под аккаунтом, который указан в сервисе gate (по умолчанию `false`).
- **_enableSSO_** - флаг, обозначающий доступность sso аутентификации на клиенте (автоматический вход на странице логина).
- **_adfsAuthType_** - Устанавливает тип авторизации через портал сервера федерации. Доступные значения: _saml, openid._ (по умолчанию отключено).
- **_pingOneAuthType_** - Устанавливает тип авторизации через портал PingOne. Доступные значения: _openid_. (по умолчанию отключено).
- **_disableMiddleNameValidation_** - позволяет отключить проверку заполнения отчества при создании нового пользователя и в личном кабинете (по умолчанию false).
- **_browserTabTitle_** - заголовок вкладки браузера (по умолчанию - `'lexema'`).
- **_disabledPersonalDataFields_** - массив, который содержит список аттрибутов пользователя, которые необходимо запретить для редактирования в личном кабинете (По умолчанию - `[]`). Доступные аттрибуты: _LastName_ - фамилия, _FirstName_ - имя, _MiddleName_ - отчество, _PhoneNumber_ - номер телефона.
- **_googleMaps_** - настройки контрола GoogleMaps (по умолчанию undefined).
- **_key_** - ключ для работы с Google Maps API, способ получения описан в статье
- **_version_** - версия Google Maps, рекомендуется ставить квартальное обновление "quarterly"
- **_language_** - язык интерфейса. Для русского языка необходимо указать "ru". Поддерживаемые языки.
- **_region_** - регион использования. Для России необходимо указать "RU"
- **_allowRegistration_** - задает отображение кнопки регистрации на странице входа (используется для внешней регистрации пользователей).
- **_registration_** - настройки для внешней регистрации.
- **_url_** - хост регистрационного сайта.
- **_urlPath_** - дополнение к url с путем к форме заявки на регистрацию (по умолчанию пустая строка).
- **_login_** - логин пользователя с доступом к форме заявки на регистрационном сайте.
- **_password_** - пароль пользователя с доступом к форме заявки на регистрационном сайте.
### lib
Настройки разработки прикладных библиотек
- **_aliases_** - словарь дополнительных псевдонимов. По умолчанию перед тестированием демо приложения необходимо выполнить предварительную сборку библиотеки. Чтобы избежать этого, можно прописать псевдоним, который позволит использовать исходные файлы. Пропишите в качестве ключа имя библиотеки, в качестве значения укажите путь к папке, где находятся исходные файлы относительно конфигурационного файла.
- **_copying_** - настройки [copy-webpack-plugin](https://github.com/webpack-contrib/copy-webpack-plugin) для публикации дополнительных файлов.
- **_externals_** - список внешних зависимостей, которые будут исключены из бэндла библиотеки (по умолчанию - `[]`)
- **_name_** - имя библиотеки (в качестве него выступает название пакета; использование имён, отличных от названий пакета в данный момент не поддерживатеся).
- **_source_** - путь к каталогу с исходниками библиотеки относительно корня проекта (по умолчанию - `'source'`).
- **_manifests_** - используемые файлы манифеста из различных библиотек (по умолчанию `['ecosoft-lexema8']`).
### moxie
Настройки сервера разработки.
- **_port_** - порт для запуска (по умолчанию - `3333`).
### jsreportEditor
- **_port_** - порт для запуска (по умолчанию - `3069`).
- **_protocol_** - протокол (по умолчанию - `http`).
## applications
Раздел описывает конфигурирование веб-сервисов приложения
### config
Настройки сервиса конфигурации.
- **_protocol_** - используемый веб-протокол (по умолчанию `'http'`).
- **_host_** - имя хоста (по умолчанию `'localhost'`).
- **_port_** - порт для запуска (по умолчанию `3071`).
- **_script_** - путь к модулю, запускающему сервис (по умолчанию `'ecosoft-lexema8-configuration-service'`).
- **_noProxify_** - настройка проксирования сервиса (по умолчанию `true`).
- **_useCredentialVault_** - флаг использовать хранилища учетных записей windows (по умолчанию `false`).
- **_keys_** - используемые ключи хранилища учетных записей windows (по умолчанию `[]`).
### logic
Настройки сервиса логики.
* **_protocol_** - используемый веб-протокол (по умолчанию `'http'`).
* **_host_** - имя хоста (по умолчанию `'localhost'`).
* **_port_** - порт для запуска (по умолчанию `3072`).
* **_script_** - путь к модулю, запускающему сервис (по умолчанию `'ecosoft-lexema8-logic-service'`).
* **_noProxify_** - настройка проксирования сервиса (по умолчанию `true`).
### gate
Настройки сервиса входа (авторизации)
- **_protocol_** - используемый веб-протокол (по умолчанию `'http'`).
- **_host_** - имя хоста (по умолчанию `'localhost'`).
- **_port_** - порт для запуска (по умолчанию `3061`).
- **_route_** - используемый маршрут (по умолчанию `'/api/v2.0/gate'`).
- **_script_** - путь к модулю, запускающему сервис (по умолчанию `'ecosoft-lexema8/gate'`).
- **_sessionLifeTime_** - время жизни сессии в минутах (по умолчанию `10`).
- **_refreshTokenLifeTime_** - cрок действия токена обновления в днях (по умолчанию `15`).
- **_userTokenLifeTime_** - устанавливает время действия токена восстановления пароля или кода входа при двухфакторной аутентификации в часах (по умолчанию `1`). Можно задавать дробные числа, чтобы указать минуты и/или секунды.
- **_failedPasswordAttemptsInterval_** - Время в секундах, через которое пользователь может повторить вход в приложение при неудачной попытке ввода пароля (по умолчанию `0` - без ограничений по времени).
- **_attemptsLimitForConfirmCode_** - количество попыток ввода токена восстановления пароля или кода входа при двухфакторной аутентификации (по умолчанию `0`). Если значение равно `0`, то количество попыток не ограничено.
- **_timeLimitForResendingConfirmCode_** - лимит времени (в секундах) для возможности повторной отправки токена восстановления пароля или кода входа при двухфакторной аутентификации (по умолчанию `0` - без ограничений по времени). Настройка влияет на доступность кнопки отправки кода. На сервере проверка не осуществляется.
- **_userTokenProvider_** - имя провайдера восстановления пароля (по умолчанию `'Email'`). Доступные значения: _Email, Phone._
- **_secret_** - уникальный секретный ключ, на основе которого шифруется сессия.
- **_validation_** - настройки валидации пароля и логина пользователя.
- **_passwordRegularExpression_** - регулярное выражения для проверки пароля (по умолчанию `/^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{8,}$/`).
- **_invalidPasswordMessage_** - сообщение отображаемое пользователю при вводе невалидного пароля (по умолчанию `'Пароль должен содержать строчные и прописные буквы, а также цифры. Минимальная длина 8 символов'`).
- **_userNameRegularExpression_** - регулярное выражения для проверки логина (по умолчанию `/^(?=.{8,20}$)[a-zA-Z0-9]+(?:[._][a-zA-Z0-9]+)*$/`).
- **_invalidUserNameMessage_** - сообщение отображаемое пользователю при вводе невалидного логина (по умолчанию `'Логин должен содержать только латинские буквы или цифры. Минимальная длина 8 символов'`).
- **_cookieName_** - задает имя cookie для хранения идентификатора сессии (по умолчанию `'ara-session'`).
- **_passwordExpiration_** - задает срок действия пароля пользователя в днях, значение 0 отключает проверку (по умолчанию значение 0).
- **_externalRegistrationHost_** - указывается адрес основного сайта, елси текущий сайт используется для регистрации пользователей.
- **_autoLogin_** - настройки для автоматической авторизации клиента.
- **_userName_** - login пользователя, под которым произойдет вход в приложение.
- **_ldap_** - раздел, содержащий настройки доменной авторизации (с проверкой логина/пароля на контроллере домена).
- **_url_** - адрес контроллера домена. Пример: ldap(s)://domain:port.
- **_bindDN_** - логин администратора домена. В случае пустой строки будет произведена попытка анонимного подключения.
- **_bindCredentials_** - пароль администратора домена.
- **_searchBase_** - описание базового имени откуда начинается поиск пользователей. Пример: ou=users,dc=example,dc=org
- **_searchFilter_** - описание фильтра ldap для поиска пользователей.
- **_searchAttributes_** - список атрибутов, возвращаемых контроллером домена при удачном поиске.
- **_updateUserAttributes_** - включает/выключает автоматическое обновление атрибутов пользователя (которые получены из контроллера домена) в системной таблице (по умолчанию `true`).
- **_ldapSchemeDictionary_** - словарь сопоставления атрибутов пользователя лексемы с полями, которые возвращаются контроллером домена после поиска пользователя. Используются для обновления данных в таблице пользователей, при получении списка пользователей из контроллера домена. Доступные атрибуты для сопоставления: firstName, lastName, middleName, email, phoneNumber. Пример: ldapSchemeDictionary: { email: 'mail', phoneNumber: 'mobile' }
- **_adfs_** - раздел, содержащий настройки авторизации через портал adfs:
- **_openid_** - раздел, содержащий настройки для авторизации по схеме openid:
- **_configurationURL_** - url с OpenId конфигурацией федерации. (чаще всего выглядит так https://fs.lex.lan/adfs/.well-known/openid-configuration)
- **_clientID_** - уникальный идентификатор клиентского приложения, зарегистрированного в федерации.
- **_callbackURL_** - url возврата приложения после авторизации на портале. Для приложения на 8.4 должно выглядеть так: http(s)://[адрес сайта]/api/v2.0/gate/adfs/openid/callback. (Вводится при регистрации приложения в федерации)
- **_strictSSL_** - устанавливает необходимо ли валидировать ssl сертификат при запросах к адресам федерации. (по умолчанию true)
- **_userNameField_** - поле, по которому будет проводится аутентификация пользователя. Зависит от схемы используемой в доменах федерации. (по умолчанию upn)
- **_saml_** - раздел, содержащий настройки для авторизации по схеме saml:
- **_metadata_** - url для загрузки метаданных в формате xml. (чаще всего выглядит так https://adfs2.lex.lan/FederationMetadata/2007-06/FederationMetadata.xml)
- **_callbackUrl_** - url возврата приложения после авторизации на портале. Для приложения на 8.4 должно выглядеть так: https://[адрес сайта]/api/v2.0/gate/adfs/saml/callback. (Вводится при регистрации Relying Party Trusts в федерации)
- **_issuer_** - идентификатор зарегистрированного Relying Party Trusts. (Вводится при регистрации Relying Party Trusts в федерации)
- **_entryPoint_** - точка входа в портал. (Пример: https://adfs2.lex.lan/adfs/ls)
- **_upnName_** - имя запрашиваемых данных из adfs. (Пример: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn)
- **_cert_** - сертификат подписи(signing) формата X.509, декодированный в Base-64.
- **_disableRequestedAuthnContext_** - флаг отключения проверки контекста авторизации. Позволяет пройти авторизацию из сети другого домена. Ошибка с текстом SAML provider returned Responder error: NoAuthnContext говорит о том, что контекст неверен или отсутствует и необходимо включить данную настройку при необходимости. (по умолчанию false)
- **_ssoAuthDC_** - адрес контроллера домена. Пример: ldap(s)://domain:port.
- **_enableChangePasswordOnFirstLogin_** - включение необходимости смены пароля при первом входе пользователя после регистрации.
- **_twoFactorProvider_** - провайдер двухфакторной аутентификации. Доступные значения: none, email, phone. В случае установки значения none считается _выключенной_. (по умолчанию `'none'`).
- **_oauth2_** - настройки oauth2-сервера.
- **_multipleSessions_** - включает/выключает поддержку множественных сессий для пользователя (по умолчанию `true`).
- **_pingOne_** - раздел, содержащий настройки авторизации через портал PingOne
- **_openid_** - раздел, содержащий настройки для авторизации по схеме openid
- **_clientId_** - уникальный идентификатор клиентского приложения.
- **_clientSecret_** - client_secret клиентского приложения.
- **_scope_** - список передаваемых scope (пример: 'openid profile email').
- **_callbackUrl_** - url возврата приложения после авторизации на портале. Для приложения на 8.4 должно выглядеть так: _http(s)://[адрес сайта]/api/v2.0/gate/pingone/openid/callback_
- **_authorizationUrl_** - адрес на который перенаправляется пользователь для ввода логина и пароля
- **_jwksEndPoint_** - адрес JWKS endpoint
- **_tokenEndpoint_** - адрес token endpoint
- **_prompt_** - указывает, будет ли сервер авторизации запрашивать у конечного пользователя повторную аутентификацию (по умолчанию none). Доступные значения: _none, login._
### radio
Настройки сервиса взаимодействия реального времени.
- **_protocol_** - используемый веб-протокол (по умолчанию `'http'`).
- **_host_** - имя хоста (по умолчанию `'localhost'`).
- **_ws_** - поддержка проксирования по веб-сокетам (по умолчанию `true`).
- **_port_** - порт для запуска (по умолчанию `3062`).
- **_route_** - используемый маршрут (по умолчанию `'/api/v2.0/radio'`).
- **_script_** - путь к модулю, запускающему сервис (по умолчанию `'ecosoft-lexema8/radio'`).
- **_channels_** - словарь используемых каналов. (по умолчанию `'ecosoft-lexema8': ['legacy']`). Ключом является идентификатор канала, значением - массив имен типов сообщений.
- **_persistance_** - параметры хранения отложенных сообщений.
- **_provider_** - класс, обеспечивающий хранение отложенных сообщений.
- **_options_** - опции.
- **_db_** - имя профиля подключения к базе данных (по умолчанию `'radio'`).
- **_ttl_** - время хранения недоставленных сообщений в минутах. (по умолчанию используется значение **applications.gate.sessionLifeTime**).
### data
Настройки сервиса данных.
- **_protocol_** - используемый веб-протокол (по умолчанию `'http'`).
- **_host_** - имя хоста (по умолчанию - `'localhost'`).
- **_db_** - имя профиля подключения к базе данных (по умолчанию - `'main'`).
- **_port_** - порт для запуска (по умолчанию `3063`).
- **_route_** - используемый маршрут (по умолчанию `'/api/v2.0/data'`).
- **_script_** - путь к модулю, запускающему сервис (по умолчанию `'ecosoft-lexema8/data'`).
- **_dataSizeLimit_** - максимальный размер передаваемых данных в теле запроса.
### lock
Настройки сервиса блокировок.
- **_protocol_** - используемый веб-протокол (по умолчанию `'http'`).
- **_host_** - имя хоста (по умолчанию `'localhost'`).
- **_port_** - порт для запуска (по умолчанию - `3064`).
- **_route_** - используемый маршрут (по умолчанию `'/api/v2.0/lock'`).
- **_script_** - путь к модулю, запускающему сервис (по умолчанию `'ecosoft-lexema8/lock'`).
### file
Настройки сервиса файлов.
- **_protocol_** - используемый веб-протокол (по умолчанию `'http'`).
- **_host_** - имя хоста (по умолчанию `'localhost'`).
- **_port_** - порт для запуска (по умолчанию `3065`).
- **_route_** - используемый маршрут (по умолчанию `'/api/v2.0/content'`).
- **_script_** - путь к модулю, запускающему сервис (по умолчанию `'ecosoft-lexema8/file'`).
- **_maxSize_** - максимальный размер загружаемого файла на сервер (по умолчанию - `'30mb'`).
- **_timeout_** - таймаут ожидания ответа от сервиса. В режиме продакшена может потребоваться дополнильно настроить таймаут для веб-сервера (nginx).
- **_storage_** - Настройка для выбора хранилища файлов. Доступные значения: db - хранение файлов в базе, ftp - хранение файлов на ftp-сервере, smb - хранение файлов на smb-сервере. По умолчанию `db`.
- **_ftp_** - настройки ftp-сервера.
- **_host_** - имя хоста.
- **_port_** - порт.
- **_connectionTimeout_** - таймаут подключения.
- **_rootFolder_** - путь к папке на ftp-сервере, в которую будут сохраняться файлы. Если необходимо сохранять в корневую папку, то следует задать пустую строку.
- **_login_** - логин для подключения к ftp-серверу.
- **_password_** - пароль для подключения к ftp-серверу.
- **_secure_** - если true, то обеспечивается зашифрованное ssl/tls соединение (для корректной работы должно поддерживаться и ftp-сервером) (по умолчанию `false`).
- **_secureOptions_** - дополнительные настройки при включении настройки secure.
- **_rejectUnauthorized_** - включает/выключает проверку сертификата. По умолчанию `true`.
- **_smb_** - настройки smb-сервера.
- **_host_** - имя хоста.
- **_port_** - порт
- **_rootFolder_** - путь к папке на smb-сервере, в которую будут сохраняться файлы. Если необходимо сохранять в корневую папку, то следует задать пустую строку или не задавать это свойство.
- **_login_** - логин для подключения к smb-серверу.
- **_password_** - пароль для подключения к smb-серверу.
- **_domain_** - домен для подключения к smb-серверу.
- **_enablePreviewFiles_** - флаг, отвечающий за генерацию файлов предпросмотра при загрузке на сервер и выгрузке (по умолчанию - false).
- **_convertingWithUpload_** - флаг, отвечающий за генерацию файлов предпросмотра при загрузке (значение true) или только при попытке доступа к ним (значение false). (по умолчанию - `'true'`).
- **_usePathForOrganization_** - флаг, отвечающий за использование каталога файлового хранилища, указанного для организации (по умолчанию - `false`).
Внимание: При включении параметра **_enablePreviewFiles_** убедитесь что подключен сервис **_preview_** и установлены: Python, LibreOffice и Unoconv. В случае их отсутствия будет возникать ошибка при загрузке файлов.
- **_checkFile_** - если true, то при скачивании файла вызывается прикладная функция для проверки прав доступа на файл (по умолчанию - `false`).
### preview
Настройки сервиса превью (предпросмотр файлов).
- **_protocol_** - используемый веб-протокол (по умолчанию `'http'`).
- **_host_** - имя хоста (по умолчанию `'localhost'`).
- **_port_** - порт для запуска (по умолчанию - `3074`).
- **_script_** - путь к модулю, запускающему сервис (рекомендуемое `'ecosoft-lexema8-preview-creator-service'`).
- **_fileSizeLimit_** - максимальный размер конвертируемого файла (по умолчанию `'30mb'`).
- **_maxRetry_** - кол-во попыток сконвертировать файл, после которых возникнет ошибка (по умолчанию - `3`).
- **_resultTTL_** - время хранения готового результата (файла или ошибки) в миллисекундах, в случае отсутствия соединения для ответа (socket) (по умолчанию - `10 * 60 * 1000`).
### post
Настройки сервиса электронной почты и смс сообщений.
- **_protocol_** - используемый веб-протокол (по умолчанию `'http'`).
- **_host_** - имя хоста (по умолчанию `'localhost'`).
- **_port_** - порт для запуска (по умолчанию - `3066`).
- **_route_** - используемый маршрут (по умолчанию `'/api/v2.0/post'`).
- **_script_** - путь к модулю, запускающему сервис (по умолчанию `'ecosoft-lexema8/post'`).
- **_attachmentRequestTimeout_** - максимальное время ожидания загрузки файла в миллисекундах (по умолчанию `1000`).
- **_defaultEmailId_** - идентификатор почтового ящика, который используется по умолчанию.
- **_emails_** - словарь с описанием используемых почтовых ящиков. Ключом является уникальный идентификатор почтового ящика, а значением - объект со свойствами:
- **_host_** - имя хоста smtp-сервера.
- **_port_** - порт smtp-сервера.
- **_secure_** - включить/выключить доставку по электронной почте с использованием TLS/STARTTLS (по умолчанию false). Доступные значение true, false. (Для 'smtp.yandex.ru' значение должно быть true)
- **_rejectUnauthorized_** - включает/выключает проверку сертификата. По умолчанию `true`.
- **_user_** - логин.
- **_pass_** - пароль.
- **_userName_** - имя отображаемое при отправке почты.
- **_sms_** - настройки сервиса для отправки смс (можно не описывать, если код для восстановления пароля не отправляется через смс).
- provider - имя провайдера, реализующий отправку смс сообщений (по умолчанию _undefined_). Доступные значения:
- prostor
- mts
- либо путь к своему собственному классу
- **_login_** - логин.
- **_password_** - пароль.
- **_token_** - токен доступа к api (используется у провайдера "мтс коммуникатор").
- **_sender_** - имя отправителя.
- **_pushNotification_** - настройки для интеграции с сервисом firebase для отправки push-уведомлений. Насройки необходимо получить в личном кабинете firebase. Перейдите в настройки вашего приложения (Project settings). В разделе Service accounts нажмите кнопку Generate new private key. Содержимое файла необходимо добавить в этот раздел.
### dxreport-iis-application
Настройки web-приложения для работы с devexpress-отчетами.
**_protocol_** - используемый веб-протокол (по умолчанию `'http'`).
**_host_** - имя хоста (по умолчанию `'localhost'`).
**_port_** - порт для запуска (по умолчанию - `3067`).
**_route_** - используемый маршрут (по умолчанию `'/api/v2.0/report'`).
**_xtraReport_** - использование DevExpress отчетов (по умолчанию `true`).
### jsreport
Настройки сервиса отчетов jsreport.
- **_protocol_** - используемый веб-протокол (рекомендуемое `'http'`).
- **_host_** - имя хоста (рекомендуемое `'localhost'`).
- **_port_** - порт для запуска (рекомендуемое - `3070`).
- **_route_** - используемый маршрут (по умолчанию `'/api/v2.0/jsreport'`).
- **_script_** - путь к модулю, запускающему сервис (рекомендуемое `'ecosoft-lexema8-jsreport-service'`).
- **_editor_** - настройки редактора отчета.
- **_port_** - порт для запуска (по умолчанию `3069`).
- **_protocol_** - протокол (по умолчанию `http`).
- **_core_** - настройки библиотеки jsreport-core для сервиса отчетов. Редактор отчетов использует только настройки раздела extensions.
- **_store_** - настройки для хранения отчетов.
- **_provider_** - задает один из возможных вариантов для хранения отчетов. Доступно только значение 'fs' (хранение в файловой системе).
- **_templatingEngines_** - настройки компоненты, выполняющей задачи рендеринга.
- **_strategy_** - стратегия для рендеринга отчетов. Доступные значения: 'dedicated-process', 'http-server', 'in-process' (по умолчанию `'in-process'`).
- **_extensions_** - словарь используемых модулей для сервиса отчетов и редактора (редактор некоторые модули может подключать со своими настройками). Ключом является имя модуля, значением - объект с настройками (если необходимо использовать настройки по умолчанию, то необходимо передать пустой объект). При подключении модуля необходимо установить соответствующий пакет. Имя пакета формируется из имени модуля, с добавлением префикса 'jsreport-' (например, при подключении модуля jsrender имя пакета будет 'jsreport-jsrender'). Чтобы отключить модуль укажите в его настройках свойство enabled со значением false (Пример: xlsx: {enabled: false}) и удалите соответствующий пакет в package.json.
- **_fs-store_** - хранение отчетов в файловой системе.
- **_syncModifications_** - сброс кэша при изменении отчета (по умолчанию `false`). В редакторе отчетов эта настройка всегда передается со значением false.
- **_chrome-pdf_** - создание pdf-отчетов с использованием headless chrome. Для этого модуля требуется установка пакета puppeteer (убедитесь, что в package.json в разделе dependencies прописан пакет puppeteer. Пропишите, если он отсутствует. В проекте прикладной библиотеки пакет puppeteer должен быть прописан в разделе devDependencies).
- **_launchOptions_** - настройки запуска.
- **_args_** - массив аргументов (по умолчанию `['--no-sandbox']`).
- **_handlebars_** - движок для описания макета шаблона (по умолчанию `{}`).
- **_text_** - создание текстовых отчетов (по умолчанию `{}`).
- **_xlsx_** - создание excel-отчетов (по умолчанию `{}`).
- **_html-to-xlsx_** - создание excel-отчетов из html (по умолчанию `{}`).
- **templates** - хранение и поиск шаблонов (по умолчанию `{}`).
- **_child-templates_** - использование вложенных шаблонов (по умолчанию `{}`).
- **assets** - встраивание статических ресурсов, такие как стили, шрифты или HTML (по умолчанию `{}`).
- **data** - возможность привязки данных к шаблону (по умолчанию `{}`).
Значения для параметров **_protocol, host, port, script_** не определены по умолчанию, для работы с сервисом jsreport их необходимо установить в конфигурационном файле конечного приложения.
### scheduler
Настройки сервиса планировщика задач
- **_protocol_** - используемый веб-протокол (рекомендуемое `'http'`).
- **_host_** - имя хоста (рекомендуемое '`localhost'`).
- **_port_** - порт для запуска (рекомендуемое - `3075`).
- **_route_** - используемый маршрут (по умолчанию `'/api/v2.0/scheduler'`).
- **_script_** - путь к модулю, запускающему сервис (рекомендуемое `'ecosoft-lexema8-scheduler-service'`).
- **_clientInfo_** - Объект содкржащий данные для получения токенов для работы с приложением.
- **_clientId_** - id стороннего приложения. Указанный id не рекомендуется испльзовать для других сторонних приложений.
- **_clientSecret_** - секретный ключ стороннего приложения.
- **_defaultUser_** - ключ пользователя из объекта users для работы с приложением.
- **_users_** - объект содержащий данные о пользователях для работы с приложением. Пример:
```bash
default: { _// default - ключ пользователя_
userName: %Имя пользователя%,
password: %Пароль пользователя%
```
- **_functions_** - массив названий подключаемых к сервису пакетов функций.
- **_attemptsLimit_** - количество попыток инициализации сервиса (по умолчанию `6`)
- **_beginTimeout_** - таймаут между попыток инициализации сервиса (по умолчанию `1000`)
### dss
Настройки сервиса работы с электронными подписями
- **_protocol_** - используемый веб-протокол (по умолчанию `'http'`).
- **_host_** - имя хоста (по умолчанию `'localhost'`).
- **_port_** - порт для запуска (по умолчанию - `3076`).
- **_route_** - используемый маршрут (по умолчанию `'/api/v2.0/dss'`).
- **_script_** - путь к модулю, запускающему сервис (рекомендуемое `'ecosoft-lexema8-dss-service'`).
- **_kontur_** - настройки для интеграции с СКБ Контур.
- **_key_** - ключ для доступа к тестовой площадке контура.
- **_cryptoApiUrl_** - адрес, по которому доступно Crypto API контура. При работе с тестовой площадкой по http указывается `'http://cloudtest.kontur-ca.ru/v3'`. При работе с тестовой или боевой площадками по https указывается адрес, по которому доступен stunnel-msspi.
- **_certificateReleasingUrl_** - адрес, по которому доступно Certificate Releasing API контура. При работе с тестовой площадкой по http указывается `'http://test.kontur-ca.ru/CC'`. При работе с боевой площадкой по https указывается адрес, по которому доступен stunnel-msspi.
- **_cryptoApiHost_** - добавляет http-заголовок host для запросов, которые обращаются к Crypto API. Свойство задается, если сервис работает в связке с stunnel-msspi. При работе с тестовой площадкой указывается `'cloudtest.kontur-ca.ru:443'`, при работе с боевой площадкой `'cloud.kontur-ca.ru:443'`.
- **_certificateReleasingHost_** - добавляет http-заголовок host для запросов, которые обращаются к Сertificate Releasing API. Свойство задается, если сервис работает в связке с stunnel-msspi. При работе с боевой площадкой указывается `'reg.kontur-ca.ru:443'`.
- **_callbackUrl_** - полный адрес к маршруту, на который придет POST-запрос с результатом операции от СКБ Контур. Шаблон адреса: `[protocol]://[domain]/api/v2.0/kontur/dss/response`.
- **_taskId_** - идентификатор задачи, который выполнится сервисом shceduler после обработки POST-запроса от СКБ Контур маршрутом callbackUrl (по умолчанию `null`).
- **_disableConfirmOperation_** - отключает подтверждение операции по смс для сертификатов НЭП по умолчанию `false`. Если настройка включена, то работа с сертификатами КЭП становится невозможной.
- **_lexema_** - Настройки для подключения ОЭП от Лексемы. Для подключения достаточно указать пустой объект `{}`, если не используются дополнительные настройки.
- **_certificateValidityPeriod_** - Задает срок действия сертификата в днях (по умолчанию `1825`).
- **_loadUserAttributesQuery_** - путь к запросу, который возвращает атрибуты, используемые для заполнения поля Subject (информация о владельце) сертификата.
- **_confirmCodeLifeTime_** - время действия кода для подтверждения операции в секундах (по умолчанию `60`).
- **_attemptsLimitForConfirmCode_** - лимит попыток ввода кода для подтверждения операции (по умолчанию `3`). Если указано 0, то количество попыток неограничено.
- **_disableConfirmOperation_** - отключает подтверждение операции по коду (по умолчанию `false`).
- **_containerStorage_** - тип хранилища данных для контейнера закрытого ключа (по умолчанию `REGISTRY`). Настройка используется для ОС Windows. Доступные значения: REGISTRY, HDIMAGE.
- **_rootCertificate_** - Задает настройки корневых сертификов, которые используются для выпуска пользовательских сертификатов. В режиме разработки сертификаты рекомендуется устанавливать в корневые доверенные сертификаты пользователя, а в режиме производства в корневые доверенные сертификаты компьютера. Если корневые сертификаты не используются, то это свойство не нужно задавать.
- **_thumbprint_** - отпечаток корневого сертификата, который будет использоваться по умолчанию. Имеет меньший приоритет, чем сертификат, который привязан к организации. Можно не задавать.
- **_store_** - хранилище для корневых сертификатов (рекомендуемое значение в режиме разработки `'uRoot'` - поиск в корневых доверенных сертификах пользователя, рекомендуемое значение в режиме производства `'mRoot'` - поиск в корневых доверенных сертификах компьютера).
### collector
Настройки сервиса сбора информации о системе.
- _**protocol**_ - используемый веб-протокол (по умолчанию `'http'`).
- **_host_** - имя хоста (по умолчанию - `'localhost'`).
- **_port_** - порт для запуска (по умолчанию `3077`).
- **_route_** - используемый маршрут (по умолчанию `'/api/v2.0/collector'`).
- **_script_** - путь к модулю, запускающему сервис (рекомендуемое `'ecosoft-lexema8-collector-service'`).
- **_model_** - модель, используемая для записи информации (по умолчанию `'ecosoft-lexema8/lib/models/collector.model.json'`).
- **_enable_** - включить/выключить сбор информации о системе(по умолчанию `false`).
- **_authentication_** - настройки сбора информации о сессиях пользователей.
- **_enable_** - включить/выключить сбор информации об сессиях(по умолчанию `false`).
- **_reports_** - настройки сбора информации об отчетах.
- **_enable_** - включить/выключить сбор информации об отчетах(по умолчанию `false`).
- **_exceptions_** - массив отчетов, игнорирующих параметр enable раздела **_reports_** (по умолчанию `[]`).
- **_forms_** - настройки сбора информации об открытии/закрытии форм приложения.
- **_enable_** - включить/выключить сбор информации об открытии/закрытии форм(по умолчанию `false`).
- **_exceptions_** - массив ключей форм из units.json, игнорирующих параметр enable раздела forms (по умолчанию `[]`).
- **_data_** - настройки сбора информации о работе с данными.
- **_enable_** - включить/выключить сбор информации о работе с данными(по умолчанию `false`).
- **_exceptions_** - массив идентификаторов моделей и запросов (путей к файлам относительно "контекста"), игнорирующих параметр enable раздела **_data_** (по умолчанию `[]`).
### dev
Настройки сервиса, предоставляющего интерфейс разработчика.
- **_protocol_** - используемый веб-протокол (по умолчанию `'http'`).
- **_host_** - имя хоста (по умолчанию `'localhost'`).
- **_port_** - порт для запуска (по умолчанию - `3078`).
- **_route_** - используемый маршрут (по умолчанию `'/dev'`).
- **_script_** - путь к модулю, запускающему сервис (по умолчанию `'ecosoft-lexema8-dev-service'`).
### excel
Настройки сервиса экспотра данных в excel (используется для серверного грида).
- **_protocol_** - используемый веб-протокол (по умолчанию `'http'`).
- **_host_** - имя хоста (по умолчанию `'localhost'`).
- **_port_** - порт для запуска (по умолчанию - `3079`).
- **_route_** - используемый маршрут (по умолчанию `'/api/v2.0/excel'`).
- **_script_** - путь к модулю, запускающему сервис (рекомендуемое `'ecosoft-lexema8-excel-service'`).

View File

@ -1,89 +0,0 @@
# Маршруты
## Маршрут запроса настроек
По маршруту '/config' через POST запрос можно получить настройки проекта по требуемым ключам (ключи передаются через строковый массив).
`post /config`
headers: {
"content-type": "application/json"
}
body: {
"keys": keys
}
где keys - массив ключей, для которых необходимо загрузить настройки. Ключи задаются строками, в которых через точку указан путь до требуемого раздела настроек или конкретного значения настройки. Если раздел находится в корне то пишут только его название.
Примеры:
`'applications.data', 'common', 'db', 'applications.gate.ldap.url'`
Возвращает объект с настройками в теле ответа на запрос.
### Пример запроса
Запрос:
headers: {
"content-type": "application/json"
}
body: {
"keys":["applications.radio","db"]
}
Ответ:
body: {
"db": {
"main": {
"host": "HOST",
"database": "DATABASE",
"dialect": "mssql",
"instanceName": "sql",
"user": "USER",
"password": "PASSWORD",
"isolationLevel": "READ_UNCOMMITTED",
"requestTimeout": 15000,
"applicationName": "ara",
"pool": {
"max": 20,
"min": 0,
"idleTimeoutMillis": 10000
}
},
"radio": {
"dialect": "sqlite",
"logging": false
},
"session": {
"host": "localhost",
"port": 6379,
"db": 0
}
},
"applications": {
"radio.channels": {
"ecosoft-lexema8-config": [
"messageCreated",
"userIsTyping"
],
"ecosoft-lexema8-chocolate": [
"kindCreated",
"kindSearched"
],
"ecosoft-lexema8": [
"legacy"
]
}
}
}
## Маршрут запроса файла настроек
По маршруту '/files' через GET запрос можно получить файл настроек из корневой папки files сервиса конфигурации.
`get /files/*Название файла*`
Возвращает запрошенный файл без изменений.

View File

@ -1,6 +0,0 @@
* [Описание](description.md)
* [Зависимости](dependencies.md)
* [Настройка](configuration.md)
* [API](API.md)
* [Интеграция](integration.md)
* [Примеры](examples.md)

View File

@ -1,47 +0,0 @@
## Работа с шифрованными файлами конфигурации
Функционал шифрования обеспечивает наиболее безопасный способ хранения данных доступа к различным ресурсам (базы данных, почтовые сервера, провайдеры отправки смс-сообщений). Для шифрования файлов конфигурации используется симметричный алгоритм блочного шифрования **aes-256-cbc**.
Алгоритм действий системного администратора:
- Формирование конфигурационных файлов.
- Шифрование файлов с использованием предоставленного скрипта.
- Подготовка сервиса конфигурации для работы с шифрованными файлами конфигурации.
- Сборка образа с шифрованными файлами и настройками.
### Шифрование файлов конфигурации
Для обеспечения шифрования файлов в составе пакета _ecosoft-lexema8-configuration-service_ присутствует скрипт _encryptConfigs.js_, который позволяет зашифровать все файлы формата _*.js_ в определенной папке. Для работы скрипта необходима платформа _NodeJS_. Запуск скрипта осуществляется с помощью следующей команды:
`node <путь к файлу скрипта> <путь к папке с конфигурационными файлами> <пароль для шифрования>`
Пароль должен удовлетворять правилам безопасности организации, в которую поставляется решение. Держателем пароля является организация потребитель.
В результате выполнения скрипта получаем зашифрованные файлы с расширение _.enc_.
**Примечание:** запуск скрипта возможен как в ручном режиме так и с помощью средств автоматизации при сборке образа.
### Настройка сервиса для работы с шифрованными файлами
Для работы сервиса с шифрованными файлами необходимо:
- Настроить переменную окружения CONFIG_CIPHER, которая является флагом работы с шифрованием. Доступные значения _true/false_.
- Настроить переменную окружения CONFIG_KEY, которая должна содержать пароль, который использовался для шифрования файлов.
#### В производственном режиме
Настройка переменных окружения производится в _dockerfile_ сервиса конфигурации:
`ENV CONFIG_CIPHER=true CONFIG_KEY=PaSsWoRd`
При запуске сервиса в контейнере производится расшифровка файлов конфигурации.
# Настройка сервиса
- **_protocol_** - используемый веб-протокол (по умолчанию `'http'`).
- **_host_** - имя хоста (по умолчанию `'localhost'`).
- **_port_** - порт для запуска (по умолчанию `'3071'`).
- **_script_** - путь к модулю, запускающему сервис (по умолчанию `'ecosoft-lexema8-configuration-service'`).
- **_noProxify_** - настройка проксирования сервиса (по умолчанию `'true'`).
- **_useCredentialVault_** - флаг использовать хранилища учетных записей windows (по умолчанию `'false'`).
- **_keys_** - используемые ключи хранилища учетных записей windows (по умолчанию []).

View File

@ -1 +0,0 @@
Наследник шаблонного сервиса.

View File

@ -1,8 +0,0 @@
### Сервис конфигурации ecosoft-lexema8-configuration-service
Сервис выдачи настроек других сервисов
Обращение к сервису из других сервисов для получения настроек идет по адресу config_service:3071
!!! note
Обязательный элемент системы. API доступно только внутри инфраструктуры серверной части lexema8.

View File

@ -1 +0,0 @@
# examples

View File

@ -1,24 +0,0 @@
{%
include-markdown "./description.md"
heading-offset=1
%}
{%
include-markdown "./dependencies.md"
heading-offset=1
%}
{%
include-markdown "./configuration.md"
heading-offset=1
%}
{%
include-markdown "./API.md"
heading-offset=1
%}
{%
include-markdown "./integration.md"
heading-offset=1
%}
{%
include-markdown "./examples.md"
heading-offset=1
%}

View File

@ -1 +0,0 @@
# integration

View File

@ -1 +0,0 @@
Описание API

View File

@ -1,6 +0,0 @@
* [Описание](description.md)
* [Зависимости](dependencies.md)
* [Настройка](configuration.md)
* [API](API.md)
* [Интеграция](integration.md)
* [Примеры](examples.md)

View File

@ -1,8 +0,0 @@
настройки сервиса данных.
- _**protocol**_ - используемый веб-протокол (по умолчанию `'http'`).
- _**host**_ - имя хоста (по умолчанию - `'localhost'`).
- _**db**_ - имя профиля подключения к базе данных (по умолчанию - `'main'`).
- _**port**_ - порт для запуска (по умолчанию `3063`).
- _**route**_ - используемый маршрут (по умолчанию `'/api/v2.0/data'`).
- _**script**_ - путь к модулю, запускающему сервис (по умолчанию `'ecosoft-lexema8/data'`).

View File

@ -1 +0,0 @@
описание зависимостей

View File

@ -1,5 +0,0 @@
#сервис доступа к данным и процедурам хранимым в БД
!!! note
Обязательный элемент системы. API доступно только внутри инфраструктуры серверной части lexema8.

View File

@ -1 +0,0 @@
примеры использования

View File

@ -1,24 +0,0 @@
{%
include-markdown "./description.md"
heading-offset=1
%}
{%
include-markdown "./dependencies.md"
heading-offset=1
%}
{%
include-markdown "./configuration.md"
heading-offset=1
%}
{%
include-markdown "./API.md"
heading-offset=1
%}
{%
include-markdown "./integration.md"
heading-offset=1
%}
{%
include-markdown "./examples.md"
heading-offset=1
%}

View File

@ -1,23 +0,0 @@
# Настройки подключения к базе данных
Раздел содержит описание профилей подключения к базам данных, которые используются в приложении:
!!! note
Раздел db {} конфигурационного файла ./config/production.js
- **main** - профиль подключения к основной базе данных по умолчанию. Обязателен к заполнению, если не указывается свойство **applications.data.db**
- _**host**_ - имя хоста
- _**database**_ - имя базы данных
- _**dialect**_ - диалект СУБД
- _**instanceName**_ - имя экземпляра
- **port** - порт сервера бд
- _**user**_ - логин
- _**password**_ - пароль
- _**isolationLevel**_ - уровень [изоляции](https://docs.microsoft.com/ru-ru/sql/t-sql/statements/set-transaction-isolation-level-transact-sql?view=sql-server-2017) транзакций. Доступные значения: 'READ_UNCOMMITTED', 'READ_COMMITTED', 'REPEATABLE_READ', 'SERIALIZABLE'. По умолчанию 'READ_UNCOMMITTED'.
- _**requestTimeout**_ - время таймаута запросов в миллисекундах. По умолчанию 15000.
- _**applicationName**_ - значение строки подключения для ведения журнала сервера БД. По умолчанию _ara_.
- _**pool**_ - настройки пула соединений:
- _**max**_ - максимальное количество соединений в пуле. По умолчанию 20.
- _**min**_ - минимальное количество соединений в пуле. По умолчанию 0.
- _**idleTimeoutMillis**_ - максимальное время в миллисекундах, которое будет простаивать соединение в пуле, прежде чем будет освобождено. По умолчанию 10000.

View File

@ -1 +0,0 @@
Описание API

View File

@ -1,6 +0,0 @@
* [Описание](description.md)
* [Зависимости](dependencies.md)
* [Настройка](configuration.md)
* [API](API.md)
* [Интеграция](integration.md)
* [Примеры](examples.md)

View File

@ -1,249 +0,0 @@
# Подключение сервиса
Перед подключением требуется выполнить обновление базы данных для создания необходимых таблиц.
В режиме процесса создания проекта поддерживается только операционная система Linux.
## Настройки для интеграции с СКБ Контур
При работе с боевыми площадками необходимо получить у СКБ Контур tls-сертификат (для доступа к API), купить лицензию КриптоПро, настроить приложение stunnel-msspi.
Пример настройки:
```
{
applications: {
dss: {
protocol: 'http',
host: 'dss-service',
port: 3076,
script: 'ecosoft-lexema8-dss-service',
kontur: {
cryptoApiUrl: 'http://localhost:8200/v3',
cryptoApiHost: 'cloud.kontur-ca.ru:443'
certificateReleasingUrl: 'http://localhost:8201/CC',
certificateReleasingHost: 'reg.kontur-ca.ru:443',
callbackUrl: 'http://dss.lexema.ru/api/v2.0/dss/kontur/response'
}
}
}
}
```
**Примечания**
- host зависит от названия контейнера в файле docker-compose.yml.
- в свойстве cryptoApiUrl хост и порт берется из настроек stunnel-msspi (свойство accept из раздела [Crypto API]).
- в свойстве certificateReleasingUrl хост и порт берется из настроек stunnel-msspi (свойство accept из раздела [Certificate Releasing]).
- к свойству callbackUrl такие же требования, как при подключении сервиса в режиме разработки. Дополнительно нужно настроить список разрешенных адресов, которые могут обращаться по адресу callbackUrl. Для этого можно использовать Web Application Firewall. В качестве разрешенного адреса указывается cloud.kontur-ca.ru.
- свойство key указывать не нужно.
**stunnel-msspi**
Настройки stunnel-msspi должны находится в проекте с конфигурационными файлами в папке ./dss.
Пример stunnel-msspi:
```
output = /var/log/stunnel.log
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1
debug = 7
[Crypto API]
connect = cloudtest.kontur-ca.ru:443
client = yes
accept = localhost:8200
cert = 384d821774cb0e826d390ba34ddb7ae790415fe8
verify = 2
[Certificate Releasing]
connect = reg.kontur-ca.ru:443
client = yes
accept = localhost:8201
cert = 384d821774cb0e826d390ba34ddb7ae790415fe8
verify = 2
```
**Примечания:**
- cert - отпечаток tls-сертификата.
- для работы stunnel-msspi нужна лицензия КриптоПро. Для правильной установки лицензии обратитесь к системному администратору.
## Настройки для подключения ОЭП от Лексемы
Пример настройки:
```
{
applications: {
dss: {
protocol: 'http',
host: 'dss-service',
port: 3076,
script: 'ecosoft-lexema8-dss-service',
lexema: {}
}
}
}
```
Дополнительно для работы в производственном окружении необходимо:
- Cгенерировать внешнюю гамму. Можно использовать биологический генератор, как в примере подключения сервиса в режиме разработки, либо использовать другие программные средства. Для подключения гаммы обратитесь к системному администратору.
- Установить лицензию КриптоПро. Для правильной установки лицензии обратитесь к системному администратору.
**Примечания:**
- Сгенерированной гаммы хватает на ограниченное количество ключей. Необходимо генерировать заново, если вся гамма была использована.
- Генерацией гаммы должен заниматься ответственный за безопасность хранения приватных ключей ЭП.
- Сертификаты и приватные ключи ЭП хранятся на сервере, где разворачивается dss-service.
- Если используется корневой сертификат, то файл (сертификата) должен иметь формат pfx.
## Установка сертификатов и лицензии Криптопро
Все сертификаты необходимо паместить в tar архив с именем certificates.tar и положить в папку dss в вашем deploy-проекте. в эту же папку добавьте файл import-cert.sh. Внутри файла пропишите команду для установки лицензии для криптпро, а также установку необходимых сертификатов. Сертификаты из архива будут автоматически распакованы в папку /root/certificates/.
пример файла import-cert.sh
```
# Установка лицензии криптопро
/opt/cprocsp/sbin/amd64/cpconfig -license -set <ENTRY_LICENSE>
/opt/cprocsp/sbin/amd64/cpconfig -license -view
# Пример установки сертификата для интеграции с Контур
/opt/cprocsp/bin/amd64/certmgr -install -pfx -file /root/certificates/tls.pfx -pin <ENTRY_YOU_PIN> -silent
# Пример установки установки корневого сертификата, который используется при использовании ОЭЦП от лексемы
/opt/cprocsp/bin/amd64/certmgr -install -pfx -store mRoot -file /root/certificates/root.pfx -pin <ENTRY_YOU_PIN> -silent
```
# Особенности работы сервиса при интеграции с СКБ Контур
## Выпуск тестового пользовательского сертификата
Для работы в тестовом окружении необходимо получить тестовый сертификат. В качестве ключа используется ключ доступа к тестовому серверу из примера подключения сервиса в режиме разработки.
## Обновление статуса при запуске сервиса
При запуске сервиса автоматически запрашиваются статусы операций, которые находились в процессе выполнения. В зависимости от полученного статуса в базе сохраняется новый статус операции и подпись (если операция была успешно завершена).
## Обработка подписей на сервере
Если необходимо обрабатывать результат операции на сервере после того, как придет ответ от СКБ Контур на маршрут, указанный конфигурационном файле в свойстве callbackUrl, то необходимо в проект подключить сервис scheduler и создать для него задачу Для задачи необходимо написать прикладную функцию, в которой будет обрабатываться результат операции. В составе типового решения КЭДО Lexema-ECM интеграция с СКБ Контур по умолчанию выключена.
### Настройка конфигурационного файла
Для выполнения созданной задачи сервисом scheduler необходимо в соответствующем разделе конфигурационного файла добавить свойство taskId - идентификатор созданной задачи.
Пример:
```
{
applications: {
"dss": {
"kontur"{
taskId: 1
}
}
}
}
```
# Особенности работы ОЭП от Лексемы
Поддерживается:
- Создание сертификатов НЭП с сроком действия 18 месяцев. Можно подключать корневой сертификат для выпуска пользовательских.
- Удаление сертификата.
- Подписание файла.
- Проверка подписи.
## Создание сертификатов
По умолчанию пользователь может создать сертификат только самому себе. Если нужна возможность, чтобы пользователь мог создавать сертификаты другим пользователям, то необходимо создать в системе роль DssAdmin (если ее нет) и назначить ему эту роль. После этого в методе создания сертификата можно передавать идентификатор пользователя, для которого необходимо создать сертификат.
## Использование корневого сертификата
При необходимости можно использовать корневой сертификат. В этом случае пользовательские сертификаты будут подписываться корневым. Это дает дополнительную возможность убедиться в подлинности пользовательского сертификата за счет проверки подписи.
Можно использовать один общий сертификат (настраивается в конфигурационном файле), который будет использоваться для всех организаций, либо делать привязку сертификата для конкретной организации. Привязка к организации настраивается на форме редактирования компании (поле отпечаток сертификата).
При выпуске сертификата будет использоваться сертификат, который привязан к организации, иначе сертификат по умолчанию, который указан в конфигурационном файле. Если не заданно в конфигурационном файле, то будет создан самоподписанный сертификат.
# Заполнение поля Subject (информация о владельце) сертификата
При создании сертификата в Subject сертификата автоматически добавляются следующие поля:
- SN - Фамилия пользователя
- G - Имя и отчество
- CN - Фамилия, имя и отчество
- E - email пользователя
Эти данные о пользователе загружаются из системной таблицы.
## Добавление дополнительных полей в сертификат
Если необходимо в поле Subject сертификата добавить дополнительные поля, то следует написать прикладной запрос, который должен вернуть требуемые атрибуты.
Список поддерживаемых атрибутов, который должен вернуть запрос:
- FirstName - Имя пользователя. Добавляется в поле G сертификата.
- LastName - Фамилия пользователя. Добавляется в поле SN сертификата.
- MiddleName - Отчество пользователя. Добавляется в поле G сертификата.
- Email - Почта пользователя. Добавляется в поле E сертификата.
- Organization - Организация. Добавляется в поле O сертификата.
- Position - Должность пользователя. Добавляется в поле T сертификата.
- OrganizationINN - ИНН организации. Добавляется в поле "Неструктурированное имя" сертификата.
- OrganizationKPP - КПП организации. Добавляется в поле "Неструктурированное имя" сертификата.
- OrganizationOGRN - ОГРН организации. Добавляется в поле "Неструктурированное имя" сертификата.
Пример заполнения поля "Неструктурированное имя" в сертификате: INN=12345678/KPP=948931/OGRN=524535.
Для созданного запроса необходимо добавить роль DssService (эту роль необходимо создать, если ее нет). Пример описания запроса:
```
{
"rights": {
"read": ["DssAdmin"]
},
"select": {
"text": "./loadAttributes.sql",
"parameters": ["userId", "bigint"]
},
"parameters": {
"userId": "bigint",
"orgId": "bigint"
}
}
```
Запрос принимает идентификатор пользователя из системной таблицы lex.User, а также идентификатор организации из таблицы lex.Organization
Созданный запрос необходимо добавить в файл внешних зависимостей exteranl-manual.json (если это необходимо) и в конфигурационный файл (раздел applications.dss.lexema.loadUserAttributesQuery). Пример конфигурационного файла:
```
dss: {
...
lexema: {
loadUserAttributesQuery: './digitalSignature/loadAttributes.query.json'
}
...
```
# Описание системных моделей
## Модель для хранения подписей от СКБ Контур
Описание свойств модели:
- Id - идентификатор подписи.
- FileId - идентификатор файла из системной таблицы lex.File, который подписывается.
- OperationId - идентификатор операции, который создается на стороне СКБ Контур.
- Status - статус операции. Значение статуса соответствует значениям из документации от СКБ Контур (берется текстовое значение, а не числовое).
- Signature - подпись файла в формате base64.
- KonturFileId - идентификатор файла, который создается на стороне СКБ Контур.
- CUser - логин пользователя, который создал операцию подписи.
- WUser - логин пользователя, который обновил подпись.
- CHost - хост пользователя, который создал операцию подписи.
- WHost - хост пользователя, который обновил подпись.
## Модель для хранения сертификатов пользователей
Описание свойств модели:
- Id - идентификатор сертификата пользователя.
- User - идентификатор пользователя.
- Value - сертификат в формате base64.
- DisableConfirmOperation - флаг, отвечающий за отключение подтверждения операции подписания сертификатом.
- ValidFrom - дата начала действия сертификата.
- ValidTo - дата окончания действия сертификата.
- Provider - провайдер (lexema или kontur).
- Qualified - определяет является ли сертификат квалифицированным.
- CertificateThumbprint - отпечаток сертификата.
- CUser - логин пользователя, который создал запись в таблице.
- WUser - логин пользователя, который обновил запись в таблице.
- CHost - хост пользователя, который создал запись в таблице.
- WHost - хост пользователя, который обновил запись в таблице.
При необходимости можно унаследоваться от этой модели и добавить новые поля, а также назначить необходимые роли. Для добавления сертификатов в систему необходимо прикладными средствами создать форму. Доступ к модели или запросам (которые будут работать с таблицей, где хранятся сертификаты) необходимо давать администратору приложения. Доступ на чтение данных можно дать для обычных пользователей (загружая только те поля, которые нужны на клиенте), если это необходимо.

View File

@ -1 +0,0 @@
описание зависимостей

View File

@ -1,6 +0,0 @@
# Сервис работы с электронными подписями
Сервис dss-service реализует работу с электронными подписями в облаке. Имеется собственная реализация (ОЭП от Лексемы) с использованием КриптоПро CSP для НЭП и интеграция с СКБ Контур.
!!! note
Опциональный элемент системы. API доступно только внутри инфраструктуры серверной части lexema8.

View File

@ -1 +0,0 @@
примеры использования

View File

@ -1,12 +0,0 @@
{%
include-markdown "./description.md"
heading-offset=1
%}
{%
include-markdown "./configuration.md"
heading-offset=1
%}
{%
include-markdown "./integration.md"
heading-offset=1
%}

View File

@ -1,65 +0,0 @@
# Подключение сервиса
В проекте с конфигурационными файлами создайте папку *dss* и в ней создайте следующие файлы:
- *import-cert.sh* — скрипт для загрузки сертификата;
- *stunnel.conf* — файл конфигурации *stunnel-msspi*;
Если имеется файл сертификата для создания TLS-канала в формате PFX, поместите его в папку *dss* и переименуйте в *tls.pfx*.
Если необходимо использовать корневой сертификат: добавьте файл сертификата в формате PFX, поместите его в папку *dss* и переименуйте в *root.pfx*.
## import-cert.sh
Добавьте следующую строку:
```
/opt/cprocsp/sbin/amd64/cpconfig -license -set <лицензия>
```
В ней замените следующие строки значениями:
- `<лицензия>` — серийный номер лицензии.
Если в папке *dss* содержится файл сертификата *tls.pfx*, добавьте следующую строку:
```
/opt/cprocsp/bin/amd64/certmgr -install -pfx -file /root/tls.pfx -pin '<pin>' -silent
```
В ней замените следующие строки значениями:
- `<pin>` — PIN от файла сертификата *tls.pfx*.
Если в папке *dss* содержится файл сертификата *root.pfx*, добавьте следующую строку:
```
/opt/cprocsp/bin/amd64/certmgr -install -pfx -store mRoot -file /root/root.pfx -pin '<pin>' -silent
```
В ней замените следующие строки значениями:
- `<pin>` — PIN от файла сертификата *root.pfx*.
## stunnel.conf
Вставьте следующий код:
```
output = /var/log/stunnel.log
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1
debug = 7
[https]
connect =
client = yes
accept = localhost:8200
cert =
verify = 2
```
В нём заполните следующие поля:
- *connect* — имя сервера для подключения;
- *cert* — отпечаток сертификата для подключения.

View File

@ -1,2 +0,0 @@
# Описание API сервиса
API отсутствует

View File

@ -1,6 +0,0 @@
* [Описание](description.md)
* [Зависимости](dependencies.md)
* [Настройка](configuration.md)
* [API](API.md)
* [Интеграция](integration.md)
* [Примеры](examples.md)

View File

@ -1,6 +0,0 @@
# Настройка entrypoint
В каталоге nginx находится файл default.conf
Этот файл загружается в сервис entrypoint при старте.
Файл содержит настройки маршрутов веб-сервисов.

View File

@ -1,2 +0,0 @@
# Описание зависимостей сервиса entrypoint
Зависимости отсутствуют

View File

@ -1,34 +0,0 @@
# Описание entrypoint
Это исполняемый файл, в котором прописаны команды для выполнения
!!! note
Обязательный элемент системы. API доступно только внутри инфраструктуры серверной части lexema8.
Пример
```
#!/bin/bash
echo start app container ...
# get config
wait-for-it.sh config_service:3071 -t 60
if [ $? -eq 0 ]
then
echo "Service available"
else
echo "Service not available"
exit $?
fi
echo copy configs ...
rm /etc/nginx/sites-enabled/default
FILE=/etc/nginx/sites-enabled/default.conf
wget -c --output-document=$FILE http://config_service:3071/files/nginx/default.conf
if [ ! -f "$FILE" ]; then
echo "$FILE does not exist."
exit 1
fi
echo test nginx config
nginx -t
echo start app
# start
service nginx restart && wait-for-it.sh redis:6379 && pmstart.sh && loop.sh
```

View File

@ -1 +0,0 @@
# Примеры использования

View File

@ -1,16 +0,0 @@
{%
include-markdown "./description.md"
heading-offset=1
%}
{%
include-markdown "./dependencies.md"
heading-offset=1
%}
{%
include-markdown "./configuration.md"
heading-offset=1
%}
{%
include-markdown "./API.md"
heading-offset=1
%}

View File

@ -1 +0,0 @@
# описание интеграции, подключение сервиса, использование библиотеки

View File

@ -1 +0,0 @@
Описание API

View File

@ -1,6 +0,0 @@
* [Описание](description.md)
* [Зависимости](dependencies.md)
* [Настройка](configuration.md)
* [API](API.md)
* [Интеграция](integration.md)
* [Примеры](examples.md)

View File

@ -1,21 +0,0 @@
# Настройки сервиса файлов.
- _**protocol**_ - используемый веб-протокол (по умолчанию `'http'`).
- _**host**_ - имя хоста (по умолчанию `'localhost'`).
- _**port**_ - порт для запуска (по умолчанию `3065`).
- _**route**_ - используемый маршрут (по умолчанию `'/api/v2.0/content'`).
- _**script**_ - путь к модулю, запускающему сервис (по умолчанию `'ecosoft-lexema8/file'`).
- _**maxSize**_ - максимальный размер загружаемого файла на сервер (по умолчанию - `'30mb'`).
- _**timeout**_ - таймаут ожидания ответа от сервиса. В режиме продакшена может потребоваться дополнильно настроить таймаут для веб-сервера (nginx).
- _**storage**_ - Настройка для выбора хранилища файлов. Доступные значения: db - хранение файлов в базе, ftp - хранение файлов на ftp-сервере. По умолчанию `db`.
- _**ftp**_ - настройки ftp-сервера.
- _**host**_ - имя хоста.
- _**port**_ - порт.
- _**connectionTimeout**_ - таймаут подключения.
- _**rootFolder**_ - путь к папке на ftp-сервере, в которую будут сохраняться файлы. Если необходимо сохранять в корневую папку, то следует задать пустую строку.
- _**login**_ - логин для подключения к ftp-серверу.
- _**password**_ - пароль для подключения к ftp-серверу.
- _**enablePreviewFiles**_ - флаг, отвечающий за генерацию файлов предпросмотра при загрузке на сервер и выгрузке (по умолчанию - `'false'`).
- _**convertingWithUpload**_ - флаг, отвечающий за генерацию файлов предпросмотра при загрузке (значение true) или только при попытке доступа к ним (значение `'false'`).
Внимание: При включении параметра _**enablePreviewFiles**_ убедитесь что поделючен сервис _**preview**_ и установлены: Python, LibreOffice и Unoconv. В случае их отсутствия будет возникать ошибка при загрузке файлов.

View File

@ -1 +0,0 @@
описание зависимостей

View File

@ -1,4 +0,0 @@
# Сервис файлов
!!! note
Опциональный элемент системы. API доступно только внутри инфраструктуры серверной части lexema8.

View File

@ -1 +0,0 @@
примеры использования

View File

@ -1 +0,0 @@
описание интеграции, подключение сервиса, использование библиотеки

View File

@ -1 +0,0 @@
Описание API

View File

@ -1,6 +0,0 @@
* [Описание](description.md)
* [Зависимости](dependencies.md)
* [Настройка](configuration.md)
* [API](API.md)
* [Интеграция](integration.md)
* [Примеры](examples.md)

View File

@ -1,10 +0,0 @@
## Подготовка
создание БД для логирования
Выполнить скрипт
## описание полей
таблица логирования
## настройка файла конфигурации
./fluent/fluent.conf

View File

@ -1 +0,0 @@
описание зависимостей

View File

@ -1,2 +0,0 @@
# Коллектор логов fluentd
Использование коллектора логов

View File

@ -1 +0,0 @@
примеры использования

View File

@ -1,12 +0,0 @@
{%
include-markdown "./description.md"
heading-offset=1
%}
{%
include-markdown "./dependencies.md"
heading-offset=1
%}
{%
include-markdown "./configuration.md"
heading-offset=1
%}

View File

@ -1 +0,0 @@
описание интеграции, подключение сервиса, использование библиотеки

View File

@ -1,31 +0,0 @@
### front
Настройки клиентской части.
- **_theme_** - имя пакета, содержащего тему оформления (по умолчанию - `'ecosoft-lexema8-main-theme'`).
- **_controls_** - перечень наборов контролов (по умолчанию - `'ecosoft-lexema8'`).
- если элемент массива - строка, то она будет использована как путь для импорта конструктора контрола, относящемуся к данному набору. Манифест набора будет загружен по пути **{module_path}/lib/controls.manifest.json.**
- если элемент массива - объект, то в качестве пути для импорта конструктора контрола будет использовано значение свойства modulePath, а в качестве пути для загрузки манифеста будет использовано значение свойства **manifestPath.**
- **_publicPath_** - настройка "публичного пути" для производственной сборки клиента (по умолчанию - `'/client/'`).
- **_sourcemap_** - флаг, обозначающий необходимость генерации карт кода (по умолчанию - `true`).
- **_es_** - настройки используемой версии ECMAScript (по умолчанию - `'legacy'`). Перекрывается опцией "ie" интерфейса командной строки.
- **_legacy_** - с поддержкой IE11.
- **_modern_** - без поддержки IE11.
- **_helpUrl_** - "базовая" ссылка для кнопки "Справка".
- **_autoLogin_** - если значение true, то клиент автоматически авторизуется под аккаунтом, который указан в сервисе gate (по умолчанию `false`).
- **_enableSSO_** - флаг, обозначающий доступность sso аутентификации на клиенте (автоматический вход на странице логина).
- **_adfsAuthType_** - Устанавливает тип авторизации через портал сервера федерации. Доступные значения: _saml, openid._ (по умолчанию отключено).
- **_pingOneAuthType_** - Устанавливает тип авторизации через портал PingOne. Доступные значения: _openid_. (по умолчанию отключено).
- **_disableMiddleNameValidation_** - позволяет отключить проверку заполнения отчества при создании нового пользователя и в личном кабинете (по умолчанию false).
- **_browserTabTitle_** - заголовок вкладки браузера (по умолчанию - `'lexema'`).
- **_disabledPersonalDataFields_** - массив, который содержит список аттрибутов пользователя, которые необходимо запретить для редактирования в личном кабинете (По умолчанию - `[]`). Доступные аттрибуты: _LastName_ - фамилия, _FirstName_ - имя, _MiddleName_ - отчество, _PhoneNumber_ - номер телефона.
- **_googleMaps_** - настройки контрола GoogleMaps (по умолчанию undefined).
- **_key_** - ключ для работы с Google Maps API, способ получения описан в статье
- **_version_** - версия Google Maps, рекомендуется ставить квартальное обновление "quarterly"
- **_language_** - язык интерфейса. Для русского языка необходимо указать "ru". Поддерживаемые языки.
- **_region_** - регион использования. Для России необходимо указать "RU"
- **_allowRegistration_** - задает отображение кнопки регистрации на странице входа (используется для внешней регистрации пользователей).
- **_registration_** - настройки для внешней регистрации.
- **_url_** - хост регистрационного сайта.
- **_urlPath_** - дополнение к url с путем к форме заявки на регистрацию (по умолчанию пустая строка).
- **_login_** - логин пользователя с доступом к форме заявки на регистрационном сайте.
- **_password_** - пароль пользователя с доступом к форме заявки на регистрационном сайте.

View File

@ -1 +0,0 @@
Описание API

View File

@ -1,6 +0,0 @@
* [Описание](description.md)
* [Зависимости](dependencies.md)
* [Настройка](configuration.md)
* [API](API.md)
* [Интеграция](integration.md)
* [Примеры](examples.md)

View File

@ -1,50 +0,0 @@
# Настройки сервиса входа.
!!! note
Раздел applications { gate { }} конфигурационного файла ./config/production.js
- _**protocol**_ - используемый веб-протокол (по умолчанию `'http'`).
- _**host**_ - имя хоста (по умолчанию `'localhost'`).
- _**port**_ - порт для запуска (по умолчанию `3061`).
- _**route**_ - используемый маршрут (по умолчанию `'/api/v2.0/gate'`).
- _**script**_ - путь к модулю, запускающему сервис (по умолчанию `'ecosoft-lexema8/gate'`).
- _**sessionLifeTime**_ - время жизни сессии в минутах (по умолчанию `10`).
- _**refreshTokenLifeTime**_ - cрок действия токена обновления в днях (по умолчанию `15`).
- _**userTokenLifeTime**_ - устанавливает время действия токена восстановления пароля или кода входа при двухфакторной аутентификации в часах (по умолчанию `1`). Можно задавать дробные числа, чтобы указать минуты и/или секунды.
- _**attemptsLimitForConfirmCode**_ - количество попыток ввода токена восстановления пароля или кода входа при двухфакторной аутентификации (по умолчанию `0`). Если значение равно `0`, то количество попыток не ограничено.
- _**userTokenProvider**_ - имя провайдера восстановления пароля (по умолчанию `'Email'`). Доступные значения: _Email_, _Phone_.
- _**secret**_ - уникальный секретный ключ, на основе которого шифруется сессия.
- **validation** - настройки валидации пароля и логина пользователя.
- _**passwordRegularExpression**_ - регулярное выражения для проверки пароля (по умолчанию `/^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{8,}$/`).
- _**invalidPasswordMessage**_ - сообщение отображаемое пользователю при вводе невалидного пароля (по умолчанию `'Пароль должен содержать строчные и прописные буквы, а также цифры. Минимальная длина 8 символов'`).
- _**userNameRegularExpression**_ - регулярное выражения для проверки логина (по умолчанию `/^(?=.{8,20}$)[a-zA-Z0-9]+(?:[._][a-zA-Z0-9]+)*$/`).
- _**invalidUserNameMessage**_ - сообщение отображаемое пользователю при вводе невалидного логина (по умолчанию `'Логин должен содержать только латинские буквы или цифры. Минимальная длина 8 символов'`).
- _**cookieName**_ - задает имя cookie для хранения идентификатора сессии (по умолчанию `'ara-session'`).
- _**passwordExpiration**_ - задает срок действия пароля пользователя в днях, значение 0 отключает проверку (по умолчанию значение 0).
- _**ldap**_ - раздел, содержащий настройки доменной авторизации (с проверкой логина/пароля на контроллере домена).
- _**url**_ - адрес контроллера домена. Пример: ldap(s)://domain:port.
- _**bindDN**_ - логин администратора домена. В случае пустой строки будет произведена попытка анонимного подключения.
- _**bindCredentials**_ - пароль администратора домена.
- _**searchBase**_ - описание базового имени откуда начинается поиск пользователей. Пример: ou=users,dc=example,dc=org
- _**searchFilter**_ - описание фильтра ldap для поиска пользователей.
- _**searchAttributes**_ - список атрибутов, возвращаемых контроллером домена при удачном поиске.
- _**ldapSchemeDestionary**_ - словарь сопоставления атрибутов, возвращаемых после поиска пользователя в контроллере домена, и полей, доступных для обновления в таблице пользователей. Доступные значения для обновления в таблице: firstName, lastName, middleName, email, phoneNumber. Пример: _ldapSchemeDestionary: { email: 'mail', phoneNumber: 'mobile' }_
- _**adfs**_ - раздел, содержащий настройки авторизации через портал adfs:
- _**openid**_ - раздел, содержащий настройки для авторизации по схеме openid:
- _**configurationURL**_ - url с OpenId конфигурацией федерации. (чаще всего выглядит так [https://fs.lex.lan/adfs/.well-known/openid-configuration](https://fs.lex.lan/adfs/.well-known/openid-configuration))
- _**clientID**_ - уникальный идентификатор клиентского приложения, зарегистрированного в федерации.
- _**callbackURL**_ - url возврата приложения после авторизации на портале. Для приложения на 8.4 должно выглядеть так: _http(s)://[адрес сайта]/api/v2.0/gate/adfs/openid/callback_. (Вводится при регистрации приложения в федерации)
- _**strictSSL**_ - устанавливает необходимо ли валидировать ssl сертификат при запросах к адресам федерации. (по умолчанию _true_)
- _**userNameField**_ - поле, по которому будет проводится аутентификация пользователя. Зависит от схемы используемой в доменах федерации. (по умолчанию _upn_)
- _**saml**_ - раздел, содержащий настройки для авторизации по схеме saml:
- _**metadata**_ - url для загрузки метаданных в формате xml. (чаще всего выглядит так [https://adfs2.lex.lan/FederationMetadata/2007-06/FederationMetadata.xml](https://adfs2.lex.lan/FederationMetadata/2007-06/FederationMetadata.xml))
- _**callbackUrl**_ - url возврата приложения после авторизации на портале. Для приложения на 8.4 должно выглядеть так: _https://[адрес сайта]/api/v2.0/gate/adfs/saml/callback_. (Вводится при регистрации Relying Party Trusts в федерации)
- _**issuer**_ - идентификатор зарегистрированного Relying Party Trusts. (Вводится при регистрации Relying Party Trusts в федерации)
- _**entryPoint**_ - точка входа в портал. (Пример: [https://adfs2.lex.lan/adfs/ls](https://adfs2.lex.lan/adfs/ls))
- _**upnName**_ - имя запрашиваемых данных из adfs. (Пример: [http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn](http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn))
- _**cert**_ - сертификат подписи(signing) формата X.509, декодированный в Base-64.
- _**disableRequestedAuthnContext**_ - флаг отключения проверки контекста авторизации. Позволяет пройти авторизацию из сети другого домена. Ошибка с текстом _SAML provider returned Responder error: NoAuthnContext_ говорит о том, что контекст неверен или отсутствует и необходимо включить данную настройку при необходимости. (по умолчанию _**false**_)
- _**ssoAuthDC**_ - адрес контроллера домена. Пример: ldap(s)://domain:port.
- _**enableChangePasswordOnFirstLogin**_ - включение необходимости смены пароля при первом входе пользователя после регистрации.
- _**twoFactorProvider**_ - провайдер двухфакторной аутентификации. Доступные значения: _**none**_, _**email**_, _**phone**_. В случае установки значения _**none**_ считается выключенной. (по умолчанию `'none'`)

View File

@ -1 +0,0 @@
описание зависимостей

View File

@ -1,4 +0,0 @@
Сервис входа (аутентификации)
!!! note
Обязательный элемент системы. API доступно только внутри инфраструктуры серверной части lexema8.

View File

@ -1 +0,0 @@
примеры использования

View File

@ -1,8 +0,0 @@
{%
include-markdown "./description.md"
heading-offset=1
%}
{%
include-markdown "./configuration.md"
heading-offset=1
%}

View File

@ -1 +0,0 @@
описание интеграции, подключение сервиса, использование библиотеки

View File

@ -1 +0,0 @@
Описание API

View File

@ -1,6 +0,0 @@
* [Описание](description.md)
* [Зависимости](dependencies.md)
* [Настройка](configuration.md)
* [API](API.md)
* [Интеграция](integration.md)
* [Примеры](examples.md)

View File

@ -1,34 +0,0 @@
# Настройки сервиса отчетов jsreport
!!! note
Раздел applications { jsreport { }} конфигурационного файла ./config/production.js
- _**protocol**_ - используемый веб-протокол (рекомендуемое `'http'`).
- _**host**_ - имя хоста (рекомендуемое `'localhost'`).
- _**port**_ - порт для запуска (рекомендуемое - `3070`).
- _**route**_ - используемый маршрут (по умолчанию `'/api/v2.0/jsreport'`).
- _**script**_ - путь к модулю, запускающему сервис (рекомендуемое `'ecosoft-lexema8-jsreport-service'`).
- _**editor**_ - настройки редактора отчета.
- _**port**_ - порт для запуска (по умолчанию `3069`).
- _**protocol**_ - протокол (по умолчанию `http`).
- _**core**_ - настройки библиотеки jsreport-core для сервиса отчетов. Редактор отчетов использует только настройки раздела extensions.
- _**store**_ - настройки для хранения отчетов.
- _**provider**_ - задает один из возможных вариантов для хранения отчетов. Доступно только значение 'fs' (хранение в файловой системе).
- _**templatingEngines**_ - настройки компоненты, выполняющей задачи рендеринга.
- _**strategy**_ - стратегия для рендеринга отчетов. Доступные значения: 'dedicated-process', 'http-server', 'in-process' (по умолчанию `'in-process'`).
- _**extensions**_ - словарь используемых модулей для сервиса отчетов и редактора (редактор некоторые модули может подключать со своими настройками). Ключом является имя модуля, значением - объект с настройками (если необходимо использовать настройки по умолчанию, то необходимо передать пустой объект). При подключении модуля необходимо установить соответствующий пакет. Имя пакета формируется из имени модуля, с добавлением префикса 'jsreport-' (например, при подключении модуля jsrender имя пакета будет 'jsreport-jsrender'). Чтобы отключить модуль укажите в его настройках свойство enabled со значением false (Пример: _xlsx: {enabled: false}_) и удалите соответствующий пакет в package.json.
- _**fs-store**_ - хранение отчетов в файловой системе.
- _**syncModifications**_ - сброс кэша при изменении отчета (по умолчанию `false`). В редакторе отчетов эта настройка всегда передается со значением false.
- _**chrome-pdf**_ - создание pdf-отчетов с использованием _headless chrome_. Для этого модуля требуется установка пакета puppeteer (убедитесь, что в package.json в разделе dependencies прописан пакет puppeteer. Пропишите, если он отсутствует. В проекте прикладной библиотеки пакет puppeteer должен быть прописан в разделе devDependencies).
- _**launchOptions**_ - настройки запуска.
- _**args**_ - массив аргументов (по умолчанию `['--no-sandbox']`).
- _**handlebars**_ - движок для описания макета шаблона (по умолчанию `{}`).
- _**text**_ - создание текстовых отчетов (по умолчанию `{}`).
- _**xlsx**_ - создание excel-отчетов (по умолчанию `{}`).
- _**html-to-xlsx**_ - создание excel-отчетов из html (по умолчанию `{}`).
- _**templates**_ - хранение и поиск шаблонов (по умолчанию `{}`).
- _**child-templates**_ - использование вложенных шаблонов (по умолчанию `{}`).
- _**assets**_ - встраивание статических ресурсов, такие как стили, шрифты или HTML (по умолчанию `{}`).
- _**data**_ - возможность привязки данных к шаблону (по умолчанию `{}`).
Значения для параметров _**protocol**_, _**host**_, _**port**_, _**script**_ не определены по умолчанию, для работы с сервисом jsreport их необходимо установить в конфигурационном файле конечного приложения.

View File

@ -1 +0,0 @@
описание зависимостей

View File

@ -1,6 +0,0 @@
# jsreport
Сервис jsreport предназначен для работы с отчетами jsreport.
!!! note
Опциональный элемент системы. API доступно только внутри инфраструктуры серверной части lexema8.

View File

@ -1 +0,0 @@
примеры использования

View File

@ -1,8 +0,0 @@
{%
include-markdown "./description.md"
heading-offset=1
%}
{%
include-markdown "./configuration.md"
heading-offset=1
%}

View File

@ -1 +0,0 @@
описание интеграции, подключение сервиса, использование библиотеки

View File

@ -1 +0,0 @@
Описание API

View File

@ -1,6 +0,0 @@
* [Описание](description.md)
* [Зависимости](dependencies.md)
* [Настройка](configuration.md)
* [API](API.md)
* [Интеграция](integration.md)
* [Примеры](examples.md)

View File

@ -1,7 +0,0 @@
# Описание настройки сервиса блокировок
- **_protocol_** - используемый веб-протокол (по умолчанию `'http'`).
- **_host_** - имя хоста (по умолчанию `'localhost'`).
- **_port_** - порт для запуска (по умолчанию - `'3064'`).
- **_route_** - используемый маршрут (по умолчанию `'/api/v2.0/lock'`).
- **_script_** - путь к модулю, запускающему сервис (по умолчанию `'ecosoft-lexema8/lock'`).

View File

@ -1 +0,0 @@
описание зависимостей

View File

@ -1,26 +0,0 @@
#Сервис пессимистического блокировщика
!!! note
Обязательный элемент системы. API доступно только внутри инфраструктуры серверной части lexema8.
Механизм пессимистической блокировки является частью нового функционала, разработанного в версии платформы 8.4. Назначением механизма является блокировка записей моделей при их загрузке в различных клиентах и различными пользователями. Это означает, что в один момент времени с одной записью модели может работать только один пользователь в одном клиенте (то есть в рамках одной вкладки браузера). Механизм реализован с помощью выделенного системного веб-сервиса lock
## Работа пессимистического блокировщика
В одном браузере может быть открыто несколько вкладок с самостоятельными экземплярами веб-клиента. В таком случае каждый отдельный экземпляр веб-клиента (находящийся в собственной вкладке браузера) будет иметь уникальный идентификатор клиента, но все они будут относится к одной и той же браузерной сессии.
## Снятие блокировки
Сценарии снятия блокировки:
- Закрытие документа - клиент отправляет запрос на снятие блокировки с закрываемого документа
- Выход из системы - клиент отправляет запрос на снятие всех блокировок, установленных текущим пользователем в текущей сессии
- Закрытие вкладки браузера - клиент отправляет запрос на снятие всех блокировок, установленных текущим пользователем в текущей сессии с текущего экземпляра клиента
- Ключ блокировки удаляется из хранилища вручную - разработчик, системный администратор или иное лицо (или программа), имеющая доступ к хранилищу, производит удаление ключа (или ключей)
- Истекает время хранения ключа блокировки - см. следующий раздел, а также [EXPIRE](https://redis.io/commands/expire)
## Снятие неактивных блокировок
Во избежание ситуаций, когда установленная пользователем блокировка остаётся активной дольше необходимого, мешая другим пользователям (или даже ему самому) работать с программой, в системе используется подход, согласно которому все блокировки имеют т.н. "время жизни" (по умолчанию равное времени жизни сессии), по окончанию которого они будут удалены. Для того, чтобы блокировки не удалялись раньше времени, любая пользовательская активность (выражающаяся путём отправки запросов к серверу) продлевает время жизни блокировок до исходной величины. При этом учитывается пользователь, от имени которого отправлен запрос, идентификатор сессии и идентификатор экземпляра клиента.
Таким образом, если некий экземпляр клиента в рамках определённой сессии пользователя не отправляет запросы к серверу в течение заданного времени, время жизни блокировок, относящихся к этому экземпляру клиента, не будет продлеваться, и они будут удалены по истечении этого времени.

View File

@ -1 +0,0 @@
примеры использования

View File

@ -1,8 +0,0 @@
{%
include-markdown "./description.md"
heading-offset=1
%}
{%
include-markdown "./configuration.md"
heading-offset=1
%}

View File

@ -1 +0,0 @@
описание интеграции, подключение сервиса, использование библиотеки

View File

@ -1 +0,0 @@
Описание API

View File

@ -1,6 +0,0 @@
* [Описание](description.md)
* [Зависимости](dependencies.md)
* [Настройка](configuration.md)
* [API](API.md)
* [Интеграция](integration.md)
* [Примеры](examples.md)

View File

@ -1,10 +0,0 @@
# Настройки сервиса логики.
!!! note
Раздел applications { logic { }} конфигурационного файла ./config/production.js
- _**protocol**_ - используемый веб-протокол (по умолчанию `'http'`).
- _**host**_ - имя хоста (по умолчанию `'localhost'`).
- _**port**_ - порт для запуска (по умолчанию `3072`).
- _**script**_ - путь к модулю, запускающему сервис (по умолчанию `'ecosoft-lexema8-logic-service'`).
- _**noProxify**_ - настройка проксирования сервиса (по умолчанию `true`).

View File

@ -1 +0,0 @@
описание зависимостей

View File

@ -1,20 +0,0 @@
# Сервис логики
!!! note
Обязательный элемент системы. API доступно только внутри инфраструктуры серверной части lexema8.
Сервис логики предназначен для получения информации о серверных объектах бизнес-логики: моделях, запросах, отчетах, sql-объектах.
Доступные типы объектов бизнес-логики:
+ models - модели
+ queries - запросы
+ sqlObjects - sql-объекты
+ reports - отчеты
В режиме разработки сервис логики поднимается с помощью dev-сервера и использует файлы проекта(node_modules и context).
В производственном режиме сервис логики запускается как отдельный самостоятельный docker-контейнер. Для его работы необходимо собрать логику с помощью команды build:logic. Эта команда копирует файлы с описанием моделей, запросов, sql-объектов и отчетов, а также связанные с ними файлы, в отдельный каталог. Из проекта копируются все файлы логики, из исходников подключенных библиотек копируются только файлы, указанные в файлах зависимостей.

View File

@ -1 +0,0 @@
примеры использования

View File

@ -1,8 +0,0 @@
{%
include-markdown "./description.md"
heading-offset=1
%}
{%
include-markdown "./configuration.md"
heading-offset=1
%}

View File

@ -1 +0,0 @@
описание интеграции, подключение сервиса, использование библиотеки

View File

@ -1 +0,0 @@
Описание API

View File

@ -1,6 +0,0 @@
* [Описание](description.md)
* [Зависимости](dependencies.md)
* [Настройка](configuration.md)
* [API](API.md)
* [Интеграция](integration.md)
* [Примеры](examples.md)

View File

@ -1,29 +0,0 @@
# Настройки сервиса электронной почты и смс сообщений.
!!! note
Раздел applications { post { }} конфигурационного файла ./config/production.js
- _**protocol**_ - используемый веб-протокол (по умолчанию `'http'`).
- _**host**_ - имя хоста (по умолчанию `'localhost'`).
- _**port**_ - порт для запуска (по умолчанию - `3066`).
- _**route**_ - используемый маршрут (по умолчанию `'/api/v2.0/post'`).
- _**script**_ - путь к модулю, запускающему сервис (по умолчанию `'ecosoft-lexema8/post'`).
- _**attachmentRequestTimeout**_ - максимальное время ожидания загрузки файла в миллисекундах (по умолчанию `1000`).
- **defaultEmailId** - идентификатор почтового ящика, который используется по умолчанию.
- **emails** - словарь с описанием используемых почтовых ящиков. Ключом является уникальный идентификатор почтового ящика, а значением - объект со свойствами:
- **host** - имя хоста smtp-сервера.
- **port** - порт smtp-сервера.
- **secure** - включить/выключить доставку по электронной почте с использованием TLS/STARTTLS (по умолчанию false). Доступные значение true, false. (Для 'smtp.yandex.ru' значение должно быть true)
- **user** - логин.
- **pass** - пароль.
- **userName** - имя отображаемое при отправке почты.
__sms__ - настройки сервиса для отправки смс (можно не описывать, если код для восстановления пароля не отправляется через смс).
provider - имя провайдера, реализующий отправку смс сообщений (по умолчанию undefined). Доступные значения:
prostor
mts
либо путь к своему собственному классу
login - логин.
password - пароль.
token - токен доступа к api (используется у провайдера "мтс коммуникатор").
sender - имя отправителя.

View File

@ -1 +0,0 @@
описание зависимостей

View File

@ -1,4 +0,0 @@
# Сервис электронной почты и смс сообщений
!!! note
Опциональный элемент системы. API доступно только внутри инфраструктуры серверной части lexema8.

View File

@ -1 +0,0 @@
примеры использования

View File

@ -1,8 +0,0 @@
{%
include-markdown "./description.md"
heading-offset=1
%}
{%
include-markdown "./configuration.md"
heading-offset=1
%}

View File

@ -1 +0,0 @@
описание интеграции, подключение сервиса, использование библиотеки

View File

@ -1 +0,0 @@
Описание API

Some files were not shown because too many files have changed in this diff Show More