Skip to content

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

  1. User List

    • Display all workspace users
    • User information (name, email, role)
    • User status (active, inactive)
    • Last login information
  2. Add Users

    • Invite users by email
    • Bulk user import
    • User role assignment
    • Module access assignment
  3. User Management

    • Edit user details
    • Update user roles
    • Change user permissions
    • Activate/deactivate users
  4. Role Management

    • View available roles
    • Assign roles to users
    • Role-based permissions
    • Custom role creation (if supported)
  5. 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

  1. User navigates to User Management
  2. Page loads workspace users
  3. User views user list
  4. User invites new user
  5. User updates user roles/permissions
  6. User manages module access
  7. User removes user (if needed)
  8. Changes are saved
  9. 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