Aller au contenu principal

Types

IRoomUser

interface IRoomUser {
username: string;
id: string;
avatar: string;
connected: boolean;
}

IConnectedUser

interface IConnectedUser extends IRoomUser {
isAnimator: boolean;
}

IData<T>

interface IData<T = any> {
id: string;
value: T;
}

IReceivedData

interface IReceivedData<T = any> extends IData<T> {
senderUserId: string;
}

IRoomData

interface IRoomData {
[dataId: string]: IData;
}

IRoomTeam

interface IRoomTeam {
id: string;
name: string;
color: string;
shape: string;
userIds: string[];
}

IRoomConfig

interface IRoomConfig {
isLocked: boolean;
isTeamActive: boolean;
showAvatars: boolean;
userCanSelectTeam: boolean;
generateUsernames: boolean;
canShowTeamUsers: boolean;
authMode: 'logged' | 'free' | 'free_logged';
}

ITag

interface ITag {
_id: string;
name: string;
}

FileType

enum FileType {
IMAGE,
DOCUMENT,
AUDIO,
VIDEO
}

IFile

interface IFile {
_id: string;
name: string;
createdAt: string;
path: string;
size: number;
tagIds: string[];
extension: string;
type: FileType;
}