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 ❌ 아니오

참고: 회사 소유자만 회사에서 사용자를 제거할 수 있습니다. 리졸버는 회사 사용자 제거 작업에 대해 엄격한 소유자 전용 접근을 시행합니다.

부작용

프로젝트 제거

  • 해당 프로젝트에서 사용자의 모든 할 일 할당을 제거합니다.
  • 사용자의 프로젝트 폴더를 삭제합니다.
  • 프로젝트 사용자 관계를 제거합니다.
  • 다른 사용자에게 알리기 위해 실시간 업데이트를 전송합니다.
  • 감사 로그 항목을 생성합니다.

회사 제거

  • 모든 프로젝트에 걸친 전파 삭제:
    • 모든 회사 프로젝트에서 모든 할 일 할당을 제거합니다.
    • 모든 프로젝트 사용자 폴더를 제거합니다.
    • 모든 회사 프로젝트에서 사용자를 제거합니다.
  • 회사 사용자 폴더를 제거합니다.
  • 회사를 사용자에서 제거합니다.
  • 제거된 사용자에게 제거 알림 이메일을 전송합니다.
  • 청구 업데이트(사용자당 요금제인 경우):
    • 활성 사용자 수를 재계산합니다.
    • 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).
  • 프로젝트 소유자를 제거하려고 시도합니다.
  • 사용자가 프로젝트/회사에 속하지 않습니다.

중요한 고려사항

  • 데이터 보존: 사용자 제거는 되돌릴 수 없습니다. 사용자는 접근 권한을 잃지만, 그들의 역사적 데이터(댓글, 활동 로그 등)는 감사 목적을 위해 보존됩니다.
  • 소유자 보호: 프로젝트 소유자는 프로젝트에서 제거될 수 없습니다. 필요할 경우 소유권을 먼저 이전하십시오.
  • 청구 영향: 회사 사용자 제거는 사용자당 요금제를 사용하는 경우 자동으로 구독을 업데이트합니다.
  • 이메일 알림: 회사 제거는 제거된 사용자에게 알림 이메일을 전송합니다.
  • 전파 효과: 회사 제거는 모든 프로젝트에 영향을 미치며, 프로젝트 제거는 특정 프로젝트에 국한됩니다.

관련 작업

AI 어시스턴트

응답은 AI를 사용하여 생성되며 오류가 포함될 수 있습니다.

어떻게 도와드릴까요?

Blue 또는 이 문서에 대해 궁금한 점이 있으면 무엇이든 물어보세요.

전송하려면 Enter • 새 줄을 추가하려면 Shift+Enter • ⌘I를 눌러 열기