Skip to content

[BE] 관리자 권한 이양 API 구현 #22

Description

@SJA-03

작업 내용

  • 관리자가 다른 승인된 회원에게 관리자 권한을 이양할 수 있는 API를 구현한다.
  • 권한 이양 대상은 APPROVED 상태의 일반 사용자여야 한다.
  • 권한 이양 성공 시 대상 사용자의 role은 ADMIN으로 변경한다.
  • 기존 관리자의 role은 USER로 변경한다.
  • 관리자 권한 이양은 관리자 권한 사용자만 요청할 수 있도록 한다.
  • 자기 자신에게 권한을 이양하거나, 존재하지 않는 사용자에게 이양하는 경우를 예외 처리한다.
  • 권한 이양 과정은 트랜잭션으로 처리하여 중간에 실패할 경우 기존 권한 상태가 유지되도록 한다.

완료 조건

  • 관리자 권한 이양 API가 구현되어 있다.
  • 관리자 권한 사용자만 권한 이양 API를 호출할 수 있다.
  • 권한 이양 대상 사용자가 존재하는지 검증한다.
  • 권한 이양 대상 사용자가 APPROVED 상태인지 검증한다.
  • 권한 이양 대상 사용자의 role이 ADMIN으로 변경된다.
  • 기존 관리자의 role이 USER로 변경된다.
  • 자기 자신에게 권한을 이양하려는 요청은 예외 처리된다.
  • 존재하지 않는 사용자에게 권한을 이양하려는 요청은 예외 처리된다.
  • 권한 이양 과정이 트랜잭션으로 처리된다.
  • 일반 사용자가 요청할 경우 권한 에러를 반환한다.

참고 사항

  • 관리자 권한 이양은 단순 권한 추가가 아니라 기존 관리자의 권한이 일반 사용자로 전환되는 방식이다.
  • 프론트엔드에서는 권한 이양 전 확인 모달을 표시한다.
  • 확인 모달 문구는 다음을 기준으로 한다.

관리자 권한을 이 회원에게 이양하시겠습니까?
권한 이양 후 현재 계정은 일반 사용자로 전환됩니다.

  • 권한은 USER, ADMIN을 기준으로 한다.
  • 회원 상태값은 EMAIL_UNVERIFIED, PENDING, APPROVED, REJECTED, WITHDRAWN을 기준으로 한다.

Metadata

Metadata

Assignees

No one assigned

    Labels

    phase:mvpIncluded in MVP scopetype:featureNew feature implementation

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions