openvibe-sdk/video

Generated at from openvibe-contracts v0.221.0 and openvibe-sdk v0.65.0.

From types/video.d.ts (server only). Declarations are shown verbatim.

type PlaylistVisibility

export type PlaylistVisibility = 'public' | 'unlisted' | 'private';

interface PlaylistItemRef

export interface PlaylistItemRef { kind: 'vod' | 'clip'; id: number }

interface Playlist

export interface Playlist { id: string; title: string; description: string | null; visibility: PlaylistVisibility; item_count: number; created_at: string; updated_at: string; owner?: { kind: string; username?: string | null } }

interface PlaylistItem

export interface PlaylistItem extends PlaylistItemRef { position: number; added_at: string }

interface VideoClient

export interface VideoClient {
    playlists: {
        list(opts?: Opts): Promise<{ playlists: Playlist[] }>;
        create(req: { title: string; description?: string; visibility?: PlaylistVisibility }, opts?: Opts): Promise<{ playlist: Playlist }>;
        get(id: string, opts?: Opts): Promise<{ playlist: Playlist; items: PlaylistItem[] }>;
        update(id: string, patch: { title?: string; description?: string | null; visibility?: PlaylistVisibility }, opts?: Opts): Promise<{ playlist: Playlist }>;
        remove(id: string, opts?: Opts): Promise<unknown>;
        items: {
            add(id: string, item: PlaylistItemRef, opts?: Opts): Promise<Record<string, any>>;
            reorder(id: string, items: PlaylistItemRef[], opts?: Opts): Promise<{ items: PlaylistItem[] }>;
            remove(id: string, item: PlaylistItemRef, opts?: Opts): Promise<unknown>;
        };
    };
    users: { playlists(username: string, opts?: Opts & { limit?: number; cursor?: string }): Promise<{ playlists: Playlist[]; next_cursor: string | null }> };
}

export export function createVideoClient(client: { json(opts: Recor

export function createVideoClient(client: { json(opts: Record<string, unknown>): Promise<any> }, options?: { baseUrl?: string }): VideoClient;