📘 Серверная логика и API модулей Inn-Book
🧩 Архитектура модулей
Каждый модуль Inn-Book — это отдельный функциональный блок с серверной и клиентской частью.
Серверная логика модуля реализуется через Node.js-скрипты в папке execution, а интерфейс — через HTML/CSS/JS.
UI модуля может быть встроен в:
- Любую страницу системы Inn-Book (например, карточку бронирования)
- Отдельный раздел программы
- Мобильное приложение Inn-Book
🔧 Запуск серверных скриптов
Скрипты в папке execution управляются через интерфейс модуля и могут запускаться:
- По cron — настраивается в конфигурации модуля
- Как служба (daemon) — через конфигурацию модуля
- Ручной вызов:
- Через веб-интерфейс
- Из других скриптов
/www/[папка_расширения]/execution/ваш_скрипт.js.Запуск на локальной машине:
cd /node/bin/ && ./node /www/[папка_расширения]/execution/index.js ...KEY...
В продакшене скрипты запускаются с ограничением прав на директорию — доступ только к папке модуля.
🔑 Доступ к API модулей
Сервер Inn-Book содержит встроенный API для модулей. Доступ осуществляется через API-ключ, привязанный к модулю.
⚠️ Все методы API активируются только после явного согласия пользователя при установке модуля.
🌐 Примеры использования API
// Получение данных по брони
const booking = send('booking', {
act: 'getBookingDataByID',
idBooking: 922
});
// Вызов серверного скрипта из папки execution
const bookingExecution = send('execution', {
act: 'index.js',
idBooking: 922
});
⚙️ Структура execution
Папка execution содержит Node.js-скрипты серверной логики модуля.
Скрипты имеют ограниченные права — доступ только к файловой системе внутри папки модуля.
Любая попытка обращения к внешним директориям блокируется.
🧩 Основные возможности модулей
Модуль может:
- Принимать и обрабатывать REST API-запросы
- Выполнять серверную логику через execution
- Иметь собственный UI на HTML/JS
- Взаимодействовать с другими модулями Inn-Book