User Management
User Management
Section titled “User Management”The Admin service provides comprehensive user management capabilities, including admin account management, RTC user management, and session tracking.
Admin Management
Section titled “Admin Management”Create Admin
Section titled “Create Admin”POST /api/admin/usersAuthorization: Bearer <access_token>Content-Type: application/json
{ "email": "newadmin@example.com", "name": "New Admin", "role_ids": ["admin-role-uuid"]}Response:
{ "success": true, "data": { "id": "user-uuid", "email": "newadmin@example.com", "name": "New Admin", "roles": [ { "id": "admin-role-uuid", "name": "admin", "code": "admin" } ], "created_at": "2024-01-01T00:00:00Z" }}Admin List
Section titled “Admin List”GET /api/admin/users?page=1&page_size=20Authorization: Bearer <access_token>Response:
{ "success": true, "data": { "list": [ { "id": "user-uuid", "email": "admin@example.com", "name": "Admin", "roles": [ { "id": "role-uuid", "name": "admin", "code": "admin" } ], "created_at": "2024-01-01T00:00:00Z" } ], "total": 1, "page": 1, "page_size": 20 }}Update Admin
Section titled “Update Admin”PUT /api/admin/users/:idAuthorization: Bearer <access_token>Content-Type: application/json
{ "name": "New Name", "role_ids": ["admin-role-uuid"]}Delete Admin
Section titled “Delete Admin”DELETE /api/admin/users/:idAuthorization: Bearer <access_token>Admin Details
Section titled “Admin Details”GET /api/admin/users/:idAuthorization: Bearer <access_token>Role Management
Section titled “Role Management”Create Role
Section titled “Create Role”POST /api/admin/rolesAuthorization: Bearer <access_token>Content-Type: application/json
{ "name": "Custom Role", "code": "custom_role", "description": "Custom role description"}Role List
Section titled “Role List”GET /api/admin/rolesAuthorization: Bearer <access_token>Update Role
Section titled “Update Role”PUT /api/admin/roles/:idAuthorization: Bearer <access_token>Content-Type: application/json
{ "name": "New Role Name", "description": "New description"}Delete Role
Section titled “Delete Role”DELETE /api/admin/roles/:idAuthorization: Bearer <access_token>Permission Management
Section titled “Permission Management”View Role Permissions
Section titled “View Role Permissions”GET /api/admin/roles/:id/permissionsAuthorization: Bearer <access_token>Response:
{ "success": true, "data": { "role_id": "role-uuid", "role_name": "admin", "permissions": [ { "object": "users", "action": "read" }, { "object": "users", "action": "write" }, { "object": "users", "action": "delete" }, { "object": "sessions", "action": "read" }, { "object": "sessions", "action": "delete" }, { "object": "config", "action": "read" }, { "object": "config", "action": "write" } ] }}Set Role Permissions
Section titled “Set Role Permissions”PUT /api/admin/roles/:id/permissionsAuthorization: Bearer <access_token>Content-Type: application/json
{ "permissions": [ { "object": "users", "action": "read" }, { "object": "users", "action": "write" }, { "object": "sessions", "action": "read" } ]}RTC User Management
Section titled “RTC User Management”RTC users are regular users who log in via OAuth2. Admins can view and manage these users.
RTC User List
Section titled “RTC User List”GET /api/rtc-users?page=1&page_size=20Authorization: Bearer <access_token>Response:
{ "success": true, "data": { "list": [ { "id": "user-uuid", "email": "user@example.com", "name": "User Name", "provider": "github", "provider_user_id": "github-123", "created_at": "2024-01-01T00:00:00Z", "last_login_at": "2024-01-02T00:00:00Z" } ], "total": 100, "page": 1, "page_size": 20 }}RTC User Details
Section titled “RTC User Details”GET /api/rtc-users/:idAuthorization: Bearer <access_token>Response:
{ "success": true, "data": { "id": "user-uuid", "email": "user@example.com", "name": "User Name", "provider": "github", "provider_user_id": "github-123", "created_at": "2024-01-01T00:00:00Z", "last_login_at": "2024-01-02T00:00:00Z", "devices": [ { "id": "device-uuid", "name": "Chrome on macOS", "last_active_at": "2024-01-02T10:00:00Z" } ], "stats": { "session_count": 50, "message_count": 1200 } }}Ban User
Section titled “Ban User”POST /api/rtc-users/:id/banAuthorization: Bearer <access_token>Content-Type: application/json
{ "reason": "Terms of Service violation", "duration": 86400}Parameters:
reason: Ban reasonduration: Ban duration in seconds (omit for permanent ban)
Unban User
Section titled “Unban User”POST /api/rtc-users/:id/unbanAuthorization: Bearer <access_token>Session Management
Section titled “Session Management”Session List
Section titled “Session List”GET /api/rtc-sessions?user_id=:user_id&page=1&page_size=20Authorization: Bearer <access_token>Response:
{ "success": true, "data": { "list": [ { "id": "session-uuid", "user_id": "user-uuid", "client_id": "client-uuid", "status": "active", "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-02T00:00:00Z" } ], "total": 50, "page": 1, "page_size": 20 }}Session Details
Section titled “Session Details”GET /api/rtc-sessions/:idAuthorization: Bearer <access_token>Delete Session
Section titled “Delete Session”DELETE /api/rtc-sessions/:idAuthorization: Bearer <access_token>Message Management
Section titled “Message Management”Message List
Section titled “Message List”GET /api/rtc-messages?session_id=:session_id&page=1&page_size=50Authorization: Bearer <access_token>Response:
{ "success": true, "data": { "list": [ { "id": "message-uuid", "session_id": "session-uuid", "role": "user", "content": "Hello", "created_at": "2024-01-01T00:00:00Z" }, { "id": "message-uuid-2", "session_id": "session-uuid", "role": "assistant", "content": "Hello! How can I help you?", "created_at": "2024-01-01T00:00:01Z" } ], "total": 100, "page": 1, "page_size": 50 }}Device Tracking
Section titled “Device Tracking”Device List
Section titled “Device List”GET /api/rtc-users/:id/devicesAuthorization: Bearer <access_token>Response:
{ "success": true, "data": { "list": [ { "id": "device-uuid", "user_id": "user-uuid", "name": "Chrome on macOS", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)...", "ip": "192.168.1.1", "last_active_at": "2024-01-02T10:00:00Z" } ] }}Delete Device
Section titled “Delete Device”DELETE /api/rtc-users/:user_id/devices/:device_idAuthorization: Bearer <access_token>Admin UI Operations
Section titled “Admin UI Operations”The Admin UI provides a graphical interface for user management:

Left Navigation:
- RTC Users: View and manage RTC users
- User Management: Admin account management
- Session Management: Session list and details
- Message Management: Message viewing
User Detail Drawer: Click on a user to open the detail drawer, showing:
- User basic info
- Session list
- Message records
- Device info
Audit Logs
Section titled “Audit Logs”All user management operations are recorded in audit logs:
GET /api/audit-logs?page=1&page_size=20Authorization: Bearer <access_token>Response:
{ "success": true, "data": { "list": [ { "id": "log-uuid", "user_id": "admin-uuid", "action": "ban_user", "resource": "rtc-users", "resource_id": "user-uuid", "details": { "reason": "Terms of Service violation", "duration": 86400 }, "created_at": "2024-01-02T00:00:00Z" } ], "total": 100, "page": 1, "page_size": 20 }}