Удаление пользователей из проектов или компаний с использованием Blue API.


Удаление пользователей

Эта страница описывает, как удалить пользователей из проектов и компаний. Удаление пользователя является постоянным действием, которое отменяет назначение пользователя во всех записях и удаляет его доступ, хотя его исторические данные сохраняются для аудиторских целей.

Удаление пользователя из проекта

Удалите пользователя из конкретного проекта, сохраняя его доступ к компании.

Простой пример

mutation {
  removeProjectUser(
    input: {
      projectId: "project-id"
      userId: "user-id"
    }
  ) {
    success
    operationId
  }
}

Пример ответа

{
  "data": {
    "removeProjectUser": {
      "success": true,
      "operationId": null
    }
  }
}

Примечание: Поле operationId в настоящее время не заполняется этой мутацией и вернет null.

Удаление пользователя из компании

Удалите пользователя из всей компании, что каскадно затрагивает все проекты.

Простой пример

mutation {
  removeCompanyUser(
    input: {
      companyId: "company-id"
      userId: "user-id"
    }
  )
}

Пример ответа

{
  "data": {
    "removeCompanyUser": true
  }
}

Входные параметры

RemoveProjectUserInput

Параметр Тип Обязательный Описание
projectId String! ✅ Да Идентификатор проекта (не slug)
userId String! ✅ Да Идентификатор пользователя для удаления

RemoveCompanyUserInput

Параметр Тип Обязательный Описание
companyId String! ✅ Да Идентификатор или slug компании
userId String! ✅ Да Идентификатор пользователя для удаления

Поля ответа

RemoveProjectUser Response

Поле Тип Описание
success Boolean! Успешно ли выполнена операция
operationId String Уникальный идентификатор операции (в настоящее время возвращает null)

RemoveCompanyUser Response

Мутация removeCompanyUser возвращает простое значение Boolean:

  • true - Пользователь был успешно удален

Необходимые разрешения

Удаление пользователя из проекта

Роль Может удалять пользователей
OWNER ✅ Да
ADMIN ✅ Да
MEMBER ❌ Нет
READ_ONLY ❌ Нет

Важные примечания:

  • Вы не можете удалить пользователей с ролью OWNER из проекта
  • Система предотвращает удаление владельцев проектов для поддержания целостности владения проектом

Удаление пользователя из компании

Роль Может удалять пользователей
OWNER ✅ Да
ADMIN ❌ Нет
MEMBER ❌ Нет
READ_ONLY ❌ Нет

Примечание: Только владельцы компании могут удалять пользователей из компании. Резолвер обеспечивает строгий доступ только для ВЛАДЕЛЬЦЕВ для операций удаления пользователей из компании.

Побочные эффекты

Удаление из проекта

  • Удаляет все задания todo для пользователя в этом проекте
  • Удаляет папки проекта пользователя
  • Удаляет связь пользователя с проектом
  • Отправляет обновления в реальном времени, чтобы уведомить других пользователей
  • Создает запись в аудиторском журнале

Удаление из компании

  • Каскадное удаление по всем проектам:
    • Удаляет все задания todo во всех проектах компании
    • Удаляет все папки пользователей проектов
    • Удаляет пользователя из всех проектов компании
  • Удаляет папки пользователей компании
  • Удаляет пользователя из компании
  • Отправляет уведомление по электронной почте об удалении удаленному пользователю
  • Обновляет биллинг (если цена за пользователя):
    • Пересчитывает количество активных пользователей
    • Обновляет количество подписок в Stripe
  • Создает запись в аудиторском журнале

Ответы на ошибки

Проект не найден

{
  "errors": [{
    "message": "Project was not found.",
    "extensions": {
      "code": "PROJECT_NOT_FOUND"
    }
  }]
}

Пользователь не найден

{
  "errors": [{
    "message": "User was not found.",
    "extensions": {
      "code": "USER_NOT_FOUND"
    }
  }]
}

Ошибка несанкционированного доступа

{
  "errors": [{
    "message": "You are not authorized.",
    "extensions": {
      "code": "FORBIDDEN"
    }
  }]
}

Компания не найдена (только removeCompanyUser)

{
  "errors": [{
    "message": "Company was not found.",
    "extensions": {
      "code": "COMPANY_NOT_FOUND"
    }
  }]
}

Эта ошибка возникает, когда:

  • У вас нет необходимой роли (ВЛАДЕЛЕЦ/АДМИН для проектов, ВЛАДЕЛЕЦ для компании)
  • Вы пытаетесь удалить ВЛАДЕЛЬЦА проекта
  • Пользователь не является частью проекта/компании

Важные соображения

  • Сохранение данных: Удаление пользователя не подлежит отмене. Хотя пользователь теряет доступ, его исторические данные (комментарии, журналы активности и т. д.) сохраняются для аудиторских целей.
  • Защита владельца: Владельцы проектов не могут быть удалены из проектов. Сначала передайте право собственности, если это необходимо.
  • Влияние на биллинг: Удаление пользователя из компании автоматически обновляет вашу подписку, если вы находитесь на тарифе с оплатой за пользователя.
  • Уведомление по электронной почте: Удаление из компании отправляет уведомление по электронной почте удаленному пользователю.
  • Эффект каскада: Удаление из компании затрагивает все проекты, в то время как удаление из проекта изолировано для этого конкретного проекта.

Связанные операции

AI Ассистент

Ответы генерируются с использованием ИИ и могут содержать ошибки.

Как я могу вам помочь?

Спросите меня о чем угодно, связанном с Blue или этой документацией.

Введите для отправки • Shift+Enter для новой строки • ⌘I для открытия