Types
IRoomUser
IConnectedUser
IData<T>
IReceivedData<T>
IRoomData
IRoomTeam
IRoomConfig
ITag
FileType
IFile
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;
}