Appearance
Spaces
Назначение
Сервис управления пространствами (workspaces) платформы. Пространства — изолированные рабочие области, объединяющие документы, медиафайлы, команды и других пользователей.
Порты
- HTTP: 8092
- БД:
spaces_db
Ключевые возможности
- CRUD пространств
- Иконка пространства (
icon_file_id— файл Storage) - Общий словарь тегов пространства (
space_tags: имя, цвет#RRGGBB,position); вложения тегов живут в task-tracker / documents / spark-grid - Релизы пространства (
space_releases); задачи ссылаются черезrelease_id - MCP-серверы пространства (
mcp_slugs) - Управление участниками пространств через
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, icon_file_id, mcp_slugs, shared_user_ids (JSONB, legacy) |
space_users | id, space_id, user_id, role (admin/viewer), created_at, updated_at |
space_tags | Общий словарь меток пространства (name, color, position) |
space_releases | Релизы пространства; задачи ссылаются по UUID |
Примечание: Таблица
space_usersсоздана в миграции 005 с миграцией данных из JSONBshared_user_ids. Новые записи создаются вspace_users.
Теги и релизы
Теги — словарь пространства, не копии в каждом сервисе. Task Tracker, Documents и Spark Grid хранят только UUID тега.
| Метод | Путь | Описание |
|---|---|---|
GET · POST | /spaces/:id/tags | Список и создание |
PUT | /spaces/:id/tags/order | Порядок (position) |
GET · PATCH · DELETE | /spaces/:id/tags/:tag_id | Чтение, правка, удаление |
GET · POST | /spaces/:id/releases | Список и создание релизов |
GET · PATCH · DELETE | /spaces/:id/releases/:release_id | Карточка релиза |
Интеграции
- 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 | Куда писать логи |