Skip to content

Shared Assets

File Information

  • Path: pages/shared-assets/_type.vue
  • Route: /shared-assets/:type
  • Purpose: View shared assets by type (link, embed, etc.)

Overview

The Shared Assets page displays assets that have been shared via share links or embed codes. It allows users to view and interact with shared assets based on the share type and permissions.

Key Features

  1. Asset Display

    • Shared asset list
    • Asset preview
    • Asset details
    • Download options
  2. Share Type Handling

    • Link-based shares
    • Embed-based shares
    • Password-protected shares
    • Public shares
  3. Permission Management

    • View permissions
    • Download permissions
    • Share expiration
    • Access control
  4. Asset Interaction

    • View assets
    • Download assets
    • Share assets (if permitted)
    • View asset metadata

Components Used

  • Asset list components
  • Asset preview components
  • Share permission components
  • Download components

Data Properties

javascript
{
  shareType: '',       // Share type from route
  assets: [],         // Shared assets list
  loading: false,    // Loading state
  shareToken: null,  // Share token from query
  password: ''      // Password for protected shares
}

Computed Properties

shareType

Returns share type from route parameter

shareToken

Returns share token from query parameter

canDownload

Checks if user can download assets

canView

Checks if user can view assets

Methods

loadSharedAssets()

Loads shared assets:

  • Validates share token
  • Fetches assets from API
  • Updates asset list
  • Handles errors

verifyPassword(password)

Verifies password for protected shares:

  • Validates password
  • Unlocks assets if correct
  • Shows error if incorrect

downloadAsset(assetId)

Downloads shared asset:

  • Checks download permission
  • Downloads asset file
  • Handles errors

viewAsset(assetId)

Views shared asset:

  • Checks view permission
  • Opens asset preview
  • Handles errors

API Endpoints

Get Shared Assets

  • Endpoint: GET /digital-assets/shared-assets
  • Query Parameters: share_token, type
  • Response: Array of shared asset objects

Verify Share Password

  • Endpoint: POST /digital-assets/share/verify-password
  • Request Body: Share token and password
  • Response: Verification result

Download Shared Asset

  • Endpoint: GET /digital-assets/shared-assets/download
  • Query Parameters: share_token, asset_id
  • Response: File download

Route Parameters

  • type - Share type (link, embed, etc.)

Query Parameters

  • share_token - Share token for accessing assets
  • password - Password for protected shares (optional)

User Flow

  1. User accesses shared asset link
  2. Page loads with share token
  3. If password-protected, user enters password
  4. Shared assets are loaded
  5. User views asset list
  6. User views/downloads assets (based on permissions)
  7. Share expiration checked

Notes for Development

  • Page accessible without authentication
  • Share token required
  • Password required for protected shares
  • Permissions enforced by backend
  • Share expiration checked