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