Appearance
User Management
File Information
- Path:
pages/_workspace_id/workspace-settings/user/list.vue - Route:
/:workspace_id/workspace-settings/user/list - Purpose: Workspace user management and administration
Overview
The User Management page allows workspace administrators to manage workspace users, including adding users, removing users, updating user roles and permissions, and managing user access to workspace modules.
Key Features
User List
- Display all workspace users
- User information (name, email, role)
- User status (active, inactive)
- Last login information
Add Users
- Invite users by email
- Bulk user import
- User role assignment
- Module access assignment
User Management
- Edit user details
- Update user roles
- Change user permissions
- Activate/deactivate users
Role Management
- View available roles
- Assign roles to users
- Role-based permissions
- Custom role creation (if supported)
Module Access
- Assign module access
- Remove module access
- Module-specific permissions
- Access control management
Components Used
- User list table components
- User dialog components
- Role selector components
- Module access components
- Invite user dialog
Data Properties
javascript
{
users: [], // List of workspace users
loading: false, // Loading state
saving: false, // Saving state
showInviteDialog: false, // Invite dialog visibility
roles: [], // Available roles
modules: [] // Available modules
}Computed Properties
activeUsers
Returns active users
inactiveUsers
Returns inactive users
usersByRole
Returns users grouped by role
Methods
loadUsers()
Loads workspace users:
- Fetches users from API
- Updates user list
- Handles errors
inviteUser(userData)
Invites new user:
- Validates user data
- Sends invitation via API
- Refreshes user list
- Shows success message
updateUser(userId, userData)
Updates user:
- Validates user data
- Updates user via API
- Refreshes user list
- Shows success message
removeUser(userId)
Removes user from workspace:
- Confirms removal
- Removes user via API
- Refreshes user list
- Shows success message
updateUserRole(userId, role)
Updates user role:
- Validates role
- Updates role via API
- Refreshes user list
- Shows success message
updateModuleAccess(userId, modules)
Updates module access:
- Validates modules
- Updates access via API
- Refreshes user list
- Shows success message
API Endpoints
Get Workspace Users
- Endpoint:
GET /workspace/users - Query Parameters:
workspace_id - Response: Array of user objects
Invite User
- Endpoint:
POST /workspace/user/invite - Request Body: User invitation data
- Response: Invitation sent confirmation
Update User
- Endpoint:
PUT /workspace/user/update - Request Body: User update data
- Response: Updated user object
Remove User
- Endpoint:
DELETE /workspace/user/remove - Query Parameters:
user_id,workspace_id - Response: Success confirmation
Update User Role
- Endpoint:
PUT /workspace/user/role - Request Body: User ID and role
- Response: Updated user object
User Object Structure
javascript
{
id: 789,
name: "John Doe",
email: "[email protected]",
role: "member",
status: "active",
modules: ["dam", "analytics"],
last_login: "2024-01-20T14:30:00Z",
invited_at: "2024-01-15T10:00:00Z"
}User Flow
- User navigates to User Management
- Page loads workspace users
- User views user list
- User invites new user
- User updates user roles/permissions
- User manages module access
- User removes user (if needed)
- Changes are saved
- Success message displayed
Roles
- Admin: Full workspace access
- Member: Standard user access
- Viewer: Read-only access
Notes for Development
- Page requires workspace admin permissions
- User invitations send email
- Role changes affect permissions immediately
- Removing users requires confirmation
- Module access is role-dependent
Related Documentation
- External Users - External user management
- Workspace Settings - Main settings page
- Permissions Feature - Permission system