Mobile Locker JavaScript SDK
    Preparing search index...

    Interface Presentation

    A presentation in the user's Mobile Locker library. Mirrors the iOS GRDBPresentation Swift model's toJSON(files:) output.

    Viewer capabilities (e.g. showSearchButton, canBeAnnotated) and download state flags are not serialized by the server — derive them from settings (a JSON string) and status at runtime.

    interface Presentation {
        id: number;
        name: string;
        slug: string;
        code: string | null;
        url: string | null;
        team_id: number | null;
        description: string | null;
        type: string | null;
        main_path: string | null;
        status: string | null;
        installed: boolean;
        thumbnail_url: string | null;
        thumbnail_hash: string | null;
        files_hash: string | null;
        show_in_main_list: boolean;
        is_rateable: boolean;
        is_bookmarked: boolean;
        is_featured: boolean;
        is_internal_use_only: boolean;
        can_be_printed_by_user: boolean;
        can_be_exported: boolean;
        can_be_shared_via_email: boolean;
        can_be_shared_via_link: boolean;
        can_be_shared_via_text: boolean;
        can_be_shared: boolean;
        cah_be_shared_link: boolean;
        brand_id: number;
        new_until_at: string | null;
        expires_at: string | null;
        share_template_id: number;
        locale: string;
        is_pdf_form: boolean;
        is_ceros_experience: boolean;
        is_ispring: boolean;
        can_be_used_in_haystack: boolean;
        has_transcript: boolean;
        comment_count: number;
        subscriber_count: number;
        settings: string;
        is_slide_deck: boolean;
        owner_id: number;
        created_at: string;
        updated_at: string;
        content_updated_at: string;
        files: PresentationFile[];
    }
    Index

    Properties

    id: number
    name: string
    slug: string
    code: string | null

    Short unique code used in share links.

    url: string | null

    External URL, set when the presentation opens a remote URL.

    team_id: number | null
    description: string | null
    type: string | null

    Presentation format type (e.g. 'html', 'pdf', 'video').

    main_path: string | null

    Relative path to the main entry file (e.g. 'index.html').

    status: string | null

    Download/availability status (e.g. 'Installed', 'Available').

    installed: boolean
    thumbnail_url: string | null
    thumbnail_hash: string | null
    files_hash: string | null
    show_in_main_list: boolean
    is_rateable: boolean
    is_bookmarked: boolean
    is_featured: boolean
    is_internal_use_only: boolean
    can_be_printed_by_user: boolean
    can_be_exported: boolean
    can_be_shared_via_email: boolean
    can_be_shared_via_link: boolean
    can_be_shared_via_text: boolean
    can_be_shared: boolean

    Legacy alias for can_be_shared_via_email.

    cah_be_shared_link: boolean

    Legacy alias for can_be_shared_via_link (intentional typo kept for compatibility).

    brand_id: number
    new_until_at: string | null

    ISO 8601 timestamp until which the presentation is flagged as new.

    expires_at: string | null

    ISO 8601 expiry timestamp, or null if the presentation does not expire.

    share_template_id: number
    locale: string
    is_pdf_form: boolean
    is_ceros_experience: boolean
    is_ispring: boolean
    can_be_used_in_haystack: boolean
    has_transcript: boolean
    comment_count: number
    subscriber_count: number
    settings: string

    Raw JSON settings string — parse to read viewer capability flags.

    is_slide_deck: boolean
    owner_id: number
    created_at: string
    updated_at: string
    content_updated_at: string