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! | ✅ はい | プロジェクトのID(スラッグではありません) |
userId |
String! | ✅ はい | 削除するユーザーのID |
RemoveCompanyUserInput
パラメータ | 型 | 必須 | 説明 |
---|---|---|---|
companyId |
String! | ✅ はい | 会社のIDまたはスラッグ |
userId |
String! | ✅ はい | 削除するユーザーのID |
レスポンスフィールド
RemoveProjectUser レスポンス
フィールド | 型 | 説明 |
---|---|---|
success |
Boolean! | 操作が成功したかどうか |
operationId |
String | 操作の一意の識別子(現在null を返します) |
RemoveCompanyUser レスポンス
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"
}
}]
}
このエラーは次のときに発生します:
- 必要な役割が不足している(プロジェクトの場合はOWNER/ADMIN、会社の場合はOWNER)
- プロジェクトのOWNERを削除しようとした
- ユーザーがプロジェクト/会社の一部ではない
重要な考慮事項
- データの保存: ユーザーの削除は元に戻せません。ユーザーはアクセスを失いますが、その履歴データ(コメント、アクティビティログなど)は監査目的のために保持されます。
- 所有者の保護: プロジェクトの所有者はプロジェクトから削除できません。必要に応じて所有権を移転してください。
- 請求への影響: 会社ユーザーの削除は、ユーザーごとの料金プランの場合に自動的にサブスクリプションを更新します。
- メール通知: 会社の削除は削除されたユーザーに通知メールを送信します。
- カスケード効果: 会社の削除はすべてのプロジェクトに影響を与え、プロジェクトの削除は特定のプロジェクトに限定されます。