Удаление пользователей из проектов или компаний с использованием 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"
}
}]
}
Эта ошибка возникает, когда:
- У вас нет необходимой роли (ВЛАДЕЛЕЦ/АДМИН для проектов, ВЛАДЕЛЕЦ для компании)
- Вы пытаетесь удалить ВЛАДЕЛЬЦА проекта
- Пользователь не является частью проекта/компании
Важные соображения
- Сохранение данных: Удаление пользователя не подлежит отмене. Хотя пользователь теряет доступ, его исторические данные (комментарии, журналы активности и т. д.) сохраняются для аудиторских целей.
- Защита владельца: Владельцы проектов не могут быть удалены из проектов. Сначала передайте право собственности, если это необходимо.
- Влияние на биллинг: Удаление пользователя из компании автоматически обновляет вашу подписку, если вы находитесь на тарифе с оплатой за пользователя.
- Уведомление по электронной почте: Удаление из компании отправляет уведомление по электронной почте удаленному пользователю.
- Эффект каскада: Удаление из компании затрагивает все проекты, в то время как удаление из проекта изолировано для этого конкретного проекта.
Связанные операции
- Список пользователей - Просмотр пользователей перед удалением
- Получить пользовательскую роль - Проверка разрешений пользователя
- Создать проект - Добавить пользователей в новые проекты