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