@selfcommunity/types
Version:
Types to integrate a community created with SelfCommunity.
56 lines (55 loc) • 1.81 kB
TypeScript
import { SCUserType } from './user';
import { SCEventType } from './event';
export interface SCLiveStreamType {
id?: number;
title: string;
description?: string;
created_at?: Date | string;
last_started_at?: Date | string;
last_finished_at?: Date | string;
closed_at_by_host?: Date | string;
slug?: string;
roomName?: string;
settings?: Record<string, any>;
host?: SCUserType;
cover?: string;
event?: SCEventType;
}
export declare enum SCLiveStreamViewType {
GALLERY = "gallery",
SPEAKER = "speaker"
}
export interface SCLiveStreamConnectionDetailsType {
serverUrl: string;
roomName: string;
participantToken: string;
}
export declare enum SCLiveStreamConnectionDetailsErrorType {
LIVE_STREAM_IS_CLOSED = "LIVE_STREAM_IS_CLOSED",
MONTHLY_MINUTE_LIMIT_REACHED = "MONTHLY_MINUTE_LIMIT_REACHED",
WAITING_HOST_TO_START_LIVE_STREAM = "WAITING_HOST_TO_START_LIVE_STREAM",
PARTICIPANTS_LIMIT_REACHED = "PARTICIPANTS_LIMIT_REACHED",
PARTICIPATE_THE_EVENT_TO_JOIN_LIVE_STREAM = "PARTICIPATE_THE_EVENT_TO_JOIN_LIVE_STREAM",
USER_BANNED_FOR_THIS_LIVE_STREAM = "USER_BANNED_FOR_THIS_LIVE_STREAM"
}
export interface SCLiveStreamConnectionDetailsResponseErrorType {
errors: [{
code: SCLiveStreamConnectionDetailsErrorType;
}];
}
export interface SCLiveStreamSettingsType {
muteParticipants?: boolean;
disableVideo?: boolean;
disableChat?: boolean;
disableShareScreen?: boolean;
hideParticipantsList?: boolean;
automaticallyNotifyFollowers?: boolean;
showInProfile?: boolean;
view?: SCLiveStreamViewType;
}
export interface SCLiveStreamMonthlyDurationType {
duration_total_minutes: number;
max_minutes: number;
remaining_minutes: number;
minutes_exausted: boolean;
}