refactor(backend): rename user role to member across the system (#12853)

This commit is contained in:
Hiep Le
2026-02-13 00:45:47 +07:00
committed by GitHub
parent 2bc107564c
commit d7656bf1c9
6 changed files with 92 additions and 57 deletions

View File

@@ -18,7 +18,7 @@ IS_LOCAL_ENV = bool(HOST == 'localhost')
# Role name constants
ROLE_OWNER = 'owner'
ROLE_ADMIN = 'admin'
ROLE_USER = 'user'
ROLE_MEMBER = 'member'
# Deprecated - billing margins are now handled internally in litellm
DEFAULT_BILLING_MARGIN = float(os.environ.get('DEFAULT_BILLING_MARGIN', '1.0'))

View File

@@ -272,7 +272,7 @@ class OrgMemberPage(BaseModel):
class OrgMemberUpdate(BaseModel):
"""Request model for updating an organization member."""
role: str | None = None # Role name: 'owner', 'admin', or 'user'
role: str | None = None # Role name: 'owner', 'admin', or 'member'
class MeResponse(BaseModel):

View File

@@ -716,12 +716,12 @@ async def update_org_member(
"""Update a member's role in an organization.
Permission rules:
- Admins can change roles of regular users to Admin or User
- Admins can change roles of regular members to Admin or Member
- Admins cannot modify other Admins or Owners
- Owners can change roles of Admins and Users to any role (Owner, Admin, User)
- Owners can change roles of Admins and Members to any role (Owner, Admin, Member)
- Owners cannot modify other Owners
Users cannot modify their own role. The last owner cannot be demoted.
Members cannot modify their own role. The last owner cannot be demoted.
"""
try:
return await OrgMemberService.update_org_member(

View File

@@ -2,7 +2,7 @@
from uuid import UUID
from server.constants import ROLE_ADMIN, ROLE_OWNER, ROLE_USER
from server.constants import ROLE_ADMIN, ROLE_MEMBER, ROLE_OWNER
from server.routes.org_models import (
CannotModifySelfError,
InsufficientPermissionError,
@@ -325,8 +325,8 @@ class OrgMemberService:
if requester_role_name == ROLE_OWNER:
return True
elif requester_role_name == ROLE_ADMIN:
# Admins can only remove users (not owners or other admins)
return target_role_name == ROLE_USER
# Admins can only remove members (not owners or other admins)
return target_role_name == ROLE_MEMBER
return False
@staticmethod