Appearance
Spaces
Назначение
Сервис управления пространствами (workspaces) платформы. Пространства — изолированные рабочие области, объединяющие документы, медиафайлы, команды и других пользователей.
Порты
- HTTP: 8092
- БД:
spaces_db
Ключевые возможности
- CRUD пространств
- Управление участниками пространств через
space_usersтаблицу (миграция из JSONBshared_user_ids) - Шаринг с ролями
admin/viewerчерезservice-common/sharing - Публикация событий
spaces.created-with-user-creationв NATS - Интеграция с documents-сервисом (автосоздание дефолтного документа при создании пространства)
- Аутентификация через JWT
- Swagger UI
Структура БД
| Таблица | Описание |
|---|---|
spaces | id (UUID), name, owner_id, shared_user_ids (JSONB, legacy) |
space_users | id, space_id, user_id, role (admin/viewer), created_at, updated_at |
Примечание: Таблица
space_usersсоздана в миграции 005 с миграцией данных из JSONBshared_user_ids. Новые записи создаются вspace_users.
Интеграции
- NATS: публикация событий
spaces.created-with-user-creationдля документов и других сервисов - Gateway: проксирует запросы через порт 8090
Конфигурация
| Переменная | По умолчанию | Описание |
|---|---|---|
PORT | 8092 | Порт сервера |
DB_HOST | — | Адрес PostgreSQL |
DB_PORT | 5432 | Порт PostgreSQL |
DB_USER | — | Пользователь PostgreSQL |
DB_PASSWORD | — | Пароль PostgreSQL |
DB_NAME | — | Имя базы данных |
DB_SSL_MODE | disable | Режим SSL |
JWT_SECRET | — | Секрет для JWT |
JWT_TTL | 24h | Время жизни токена |
MESSAGING_URL | nats://localhost:4222 | URL NATS |
SERVICE_TOKEN | — | Токен межсервисного взаимодействия |
SESSION_* | — | Настройки сессий (см. auth) |
LOG_LEVEL | info | Уровень логирования |
LOG_FORMAT | json | Формат логов |
LOG_OUTPUT | stdout | Куда писать логи |