📘 Серверная логика и API модулей Inn-Book

🧩 Архитектура модулей

Каждый модуль Inn-Book — это отдельный функциональный блок с серверной и клиентской частью.
Серверная логика модуля реализуется через Node.js-скрипты в папке execution, а интерфейс — через HTML/CSS/JS.
UI модуля может быть встроен в:

  • Любую страницу системы Inn-Book (например, карточку бронирования)
  • Отдельный раздел программы
  • Мобильное приложение Inn-Book

🔧 Запуск серверных скриптов

Скрипты в папке execution управляются через интерфейс модуля и могут запускаться:

  • По cron — настраивается в конфигурации модуля
  • Как служба (daemon) — через конфигурацию модуля
  • Ручной вызов:
    • Через веб-интерфейс
    • Из других скриптов
Для отладки: установите своё расширение. Ваш JS-файл появится в папке: /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