Skip to content

External Users

File Information

  • Path: pages/_workspace_id/workspace-settings/external-user/list.vue
  • Route: /:workspace_id/workspace-settings/external-user/list
  • Purpose: External user management and administration

Overview

The External Users page manages external users who have access to the workspace for limited purposes, such as uploading files or accessing shared assets. External users have restricted permissions compared to regular workspace users.

Key Features

  1. External User List

    • Display all external users
    • User information (name, email)
    • Access status
    • Access expiration
    • Upload permissions
  2. Add External Users

    • Invite external users by email
    • Set access permissions
    • Set access expiration
    • Configure upload limits
  3. User Management

    • Edit user details
    • Update access permissions
    • Extend access expiration
    • Revoke access
  4. Access Control

    • Upload-only access
    • View-only access
    • Shared asset access
    • Folder-specific access
  5. Request Management

    • View access requests
    • Approve/reject requests
    • Request history

Components Used

  • External user list components
  • Invite external user dialog
  • Access permission components
  • Request management components

Data Properties

javascript
{
  externalUsers: [],      // List of external users
  accessRequests: [],    // Pending access requests
  loading: false,        // Loading state
  saving: false,        // Saving state
  showInviteDialog: false // Invite dialog visibility
}

Computed Properties

activeExternalUsers

Returns active external users

expiredUsers

Returns users with expired access

pendingRequests

Returns pending access requests

Methods

loadExternalUsers()

Loads external users:

  • Fetches external users from API
  • Updates user list
  • Handles errors

inviteExternalUser(userData)

Invites external user:

  • Validates user data
  • Sets access permissions
  • Sends invitation via API
  • Refreshes user list
  • Shows success message

updateAccess(userId, accessData)

Updates user access:

  • Validates access data
  • Updates access via API
  • Refreshes user list
  • Shows success message

revokeAccess(userId)

Revokes user access:

  • Confirms revocation
  • Revokes access via API
  • Refreshes user list
  • Shows success message

approveRequest(requestId)

Approves access request:

  • Approves request via API
  • Creates external user
  • Refreshes requests and users
  • Shows success message

rejectRequest(requestId)

Rejects access request:

  • Rejects request via API
  • Refreshes requests
  • Shows success message

API Endpoints

Get External Users

  • Endpoint: GET /workspace/external-users
  • Query Parameters: workspace_id
  • Response: Array of external user objects

Invite External User

  • Endpoint: POST /workspace/external-user/invite
  • Request Body: External user invitation data
  • Response: Invitation sent confirmation

Update External User Access

  • Endpoint: PUT /workspace/external-user/access
  • Request Body: Access update data
  • Response: Updated user object

Revoke Access

  • Endpoint: DELETE /workspace/external-user/revoke
  • Query Parameters: user_id, workspace_id
  • Response: Success confirmation

Get Access Requests

  • Endpoint: GET /workspace/external-user/requests
  • Query Parameters: workspace_id
  • Response: Array of request objects

Approve Request

  • Endpoint: POST /workspace/external-user/request/approve
  • Request Body: Request ID
  • Response: Approved request and user

External User Object Structure

javascript
{
  id: 890,
  name: "Jane Smith",
  email: "[email protected]",
  access_type: "upload",
  expires_at: "2024-12-31T23:59:59Z",
  upload_limit: 10,
  status: "active",
  created_at: "2024-01-15T10:00:00Z"
}

User Flow

  1. User navigates to External Users
  2. Page loads external users and requests
  3. User views external user list
  4. User invites external user
  5. User sets access permissions
  6. User manages access requests
  7. User updates/revokes access (if needed)
  8. Changes are saved
  9. Success message displayed

Access Types

  • Upload: Can upload files only
  • View: Can view shared assets only
  • Limited: Limited access to specific folders

Notes for Development

  • Page requires workspace admin permissions
  • External users have restricted access
  • Access expiration enforced
  • Upload limits enforced
  • Request approval required