For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /ru/docs/web/organizations.md (or send Accept: text/markdown).
Организации и приглашения
Поставьте демонстрационный цикл организации: создание, переключение, приглашение, роли, выход и удаление из danger-зоны.
Настройка и конфигурация
Перед любым действием прочтите Перед началом работы и Основные сведения о терминале. В этих инструкциях предполагается, что вы открыли полный монорепозиторий supastack в VS Code; его корень package.json отмечает корень репозитория. В командах pnpm пакет рабочей области представляет собой папку приложения или общего кода; В продукте рабочее пространство — это контейнер данных и граница безопасности команды. corepack pnpm --filter ... выбирает один пакет из монорепозитория, пока команды выполняются из его корня. Если вы открыли только синхронизированную папку мобильного устройства или рабочего стола, она не содержит веб-серверной части, настройки Docker или корневых сценариев: запустите серверную часть из этого монорепозитория или доступного размещенного сервера и используйте собственные сценарии папки платформы. Переменная среды — это именованный параметр, хранящийся в локальном файле .env или на панели управления хостингом; перезапустите соответствующее приложение после его изменения и не допускайте попадания секретов сервера в значения NEXT_PUBLIC_ и EXPO_PUBLIC_.
1. Запустите веб-приложение из корня репозитория с помощью corepack pnpm --filter @supastack/web dev и создайте тестовую учетную запись.
2. Откройте экран настройки организации, создайте тестовое рабочее пространство, затем пригласите второе тестовое электронное письмо в меню «Настройки» → «Участники». Рабочая область — это граница команды, которой принадлежат участники и записи.
3. Примите приглашение, войдя в систему с тем же адресом электронной почты. Ожидается: вторая учетная запись может войти в приглашенную рабочую область с назначенной ей ролью, но не может управлять действиями только владельца.
Воркспейсы организаций отличны от личных воркспейсов в packages/db. После регистрации шлюзы онбординга (/onboarding, /new-organization, /select-organization, /choose-plan) направляют пользователя в активную организацию до продуктового биллинга и настроек.
Приглашения создают ожидающую строку workspace_invitation и отправляют транзакционное письмо с URL принятия /invite/[token]. Принятие требует совпадающего вошедшего e-mail. Список участников, обновления ролей и выход живут в /settings/members; переименование/удаление и выход также появляются на /organization/settings.
Routes
/new-organization
/select-organization
/invite/[token]
/settings/members
/organization/settings
Server actions
createOrganizationAction
createWorkspaceInviteAction
acceptWorkspaceInviteAction
updateMemberRoleAction
leaveOrganizationAction
renameOrganizationAction
deleteOrganizationActionКоманды для копирования
Следуйте комментариям, чтобы узнать, в какой папке запускается команда. Если помечены два терминала, откройте два окна терминала и продолжайте выполнять первую команду, пока используете вторую.
corepack pnpm --filter @supastack/web devРабочий процесс внедрения
Разрешайте активный воркспейс из cookie → предпочтение пользователя → членство, затем проверяйте членство при каждой записи. Владельцы и админы управляют приглашениями/ролями; единственные владельцы не могут выйти или понизить себя.
Предпочитайте evaluateLeaveOrganization и evaluateMemberRoleUpdate из @supastack/db до мутации членств. Отправляйте in-app-уведомления member.left / member.role_changed после успешных мутаций, когда включён inAppProduct.
Администрирование платформы — это отдельная граница поставки: только администраторы платформы могут управлять пользователями, банами и выдачей себя за другое лицо. Роль владельца/администратора рабочей области не предоставляет доступ к платформе. Документированные роли организации — владелец, администратор и участник.
Проверка и устранение неполадок
Если в ссылке для приглашения указано, что адрес электронной почты не совпадает, войдите в систему, используя точный адрес, на который оно было получено. Если электронное письмо с приглашением отсутствует, проверьте результат локального электронного письма перед повторной отправкой. Если участник не видит организацию, переключитесь на правильное рабочее пространство и подтвердите членство; никогда не исправляйте это, передавая другой workspaceId из браузера.
Фокусный Vitest: помощники выхода/ролей воркспейса, принятие приглашений, шлюзы онбординга организаций. Вручную: создайте организацию → пригласите → примите на втором аккаунте → обновите роль → выйдите как не-владелец → удалите как владелец с типизированным подтверждением.