Спейсы
Домен: Спейсы
Спейс — это рабочее пространство команды, построенное по коллекции-шаблону. Коллекция задаёт исходные слои, блоки, специальности и связи; спейс кладёт поверх них оверлей — свой набор изменений, не трогая саму коллекцию. По спейсу сотрудники создают проекты.
Оверлей даёт четыре действия над любым элементом: переопределить (изменить значение поверх базового), снять переопределение (вернуться к тому, что в коллекции), удалить в спейсе и вернуть удалённый. Команда «сбросить спейс» откатывает все изменения разом к исходной коллекции. Отдельные …/public-эндпоинты отдают публичный срез — то, что видит гость.
Спейсом управляет его менеджер (спейсмен); наблюдатель видит, но не меняет; состав задаётся участниками, а специальности назначаются конкретным людям. Сопоставление ролей привязывает кадровые роли к внутренним. Подробнее о ролях — роли, источник истины по правам — матрица RP. Ниже — методы API и экраны домена.
Методы API
| Метод | Эндпоинт | Статус |
|---|---|---|
| Спейсы организации | GET /api/orgs/:orgId/spaces | код |
| Создать спейс | POST /api/orgs/:orgId/spaces | код |
| Список спейсов | GET /api/spaces | done |
| Переопределить блок | POST /api/spaces/:id/blocks/:blockId | код |
| Снять переопределение блока | POST /api/spaces/:id/blocks/:blockId/clear-override | done |
| Вернуть блок | POST /api/spaces/:id/blocks/:blockId/restore | done |
| Публичные блоки спейса | GET /api/spaces/:id/blocks/public | код |
| Связи спейса | GET /api/spaces/:id/edges | done |
| Добавить связь | POST /api/spaces/:id/edges | done |
| Удалить связь | DELETE /api/spaces/:id/edges/:source/:target | done |
| Публичные связи спейса | GET /api/spaces/:id/edges/public | код |
| Переопределить слой | POST /api/spaces/:id/layers/:layerId | код |
| Изменить слой спейса | PUT /api/spaces/:id/layers/:layerId | код |
| Снять переопределение слоя | POST /api/spaces/:id/layers/:layerId/clear-override | done |
| Вернуть слой | POST /api/spaces/:id/layers/:layerId/restore | done |
| Публичные слои спейса | GET /api/spaces/:id/layers/public | код |
| Удалить участника | DELETE /api/spaces/:id/members/:userId | код |
| Сбросить спейс к исходному | POST /api/spaces/:id/reset | done |
| Восстановить спейс | POST /api/spaces/:id/restore | код |
| Задать сопоставление ролей | PUT /api/spaces/:id/role-mapping | код |
| Переопределить специальность | POST /api/spaces/:id/specialties/:specId | код |
| Снять переопределение специальности | POST /api/spaces/:id/specialties/:specId/clear-override | done |
| Вернуть специальность | POST /api/spaces/:id/specialties/:specId/restore | done |
| Публичные специальности спейса | GET /api/spaces/:id/specialties/public | код |
| Назначить специальность | POST /api/spaces/:id/specialty-assignments | код |
| Снять назначение специальности | DELETE /api/spaces/:id/specialty-assignments/:specId/:userId | код |
| Удалить спейс (в корзину) | DELETE /api/spaces/:spaceId | done |
| Получить спейс | GET /api/spaces/:spaceId | done |
| Обновить спейс | PUT /api/spaces/:spaceId | done |
| Блоки спейса | GET /api/spaces/:spaceId/blocks | done |
| Удалить блок спейса | DELETE /api/spaces/:spaceId/blocks/:id | done |
| Изменить блок спейса | PUT /api/spaces/:spaceId/blocks/:id | done |
| Слои спейса | GET /api/spaces/:spaceId/layers | done |
| Удалить слой спейса | DELETE /api/spaces/:spaceId/layers/:id | done |
| Участники спейса | GET /api/spaces/:spaceId/members | done |
| Добавить участника | POST /api/spaces/:spaceId/members | done |
| Изменить участника | PUT /api/spaces/:spaceId/members/:userId | done |
| Сопоставление ролей спейса | GET /api/spaces/:spaceId/role-mapping | done |
| Удалить сопоставление роли | DELETE /api/spaces/:spaceId/role-mapping/:source | done |
| Назначить менеджера спейса | PUT /api/spaces/:spaceId/spaceman | done |
| Специальности спейса | GET /api/spaces/:spaceId/specialties | done |
| Удалить специальность спейса | DELETE /api/spaces/:spaceId/specialties/:id | done |
| Изменить специальность спейса | PUT /api/spaces/:spaceId/specialties/:id | done |
| Назначения специальностей | GET /api/spaces/:spaceId/specialty-assignments | done |
| Наблюдатели спейса | GET /api/spaces/:spaceId/supervisors | done |
| Добавить наблюдателя | POST /api/spaces/:spaceId/supervisors | done |
| Удалить наблюдателя | DELETE /api/spaces/:spaceId/supervisors/:userId | done |
| Удалённые спейсы | GET /api/spaces/deleted | код |