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).
- 프로젝트 소유자를 제거하려고 시도합니다.
- 사용자가 프로젝트/회사에 속하지 않습니다.
중요한 고려사항
- 데이터 보존: 사용자 제거는 되돌릴 수 없습니다. 사용자는 접근 권한을 잃지만, 그들의 역사적 데이터(댓글, 활동 로그 등)는 감사 목적을 위해 보존됩니다.
- 소유자 보호: 프로젝트 소유자는 프로젝트에서 제거될 수 없습니다. 필요할 경우 소유권을 먼저 이전하십시오.
- 청구 영향: 회사 사용자 제거는 사용자당 요금제를 사용하는 경우 자동으로 구독을 업데이트합니다.
- 이메일 알림: 회사 제거는 제거된 사용자에게 알림 이메일을 전송합니다.
- 전파 효과: 회사 제거는 모든 프로젝트에 영향을 미치며, 프로젝트 제거는 특정 프로젝트에 국한됩니다.
관련 작업
- 사용자 목록 - 제거 전에 사용자 보기
- 사용자 정의 역할 검색 - 사용자 권한 확인
- 프로젝트 생성 - 새 프로젝트에 사용자 추가