63 lines
1.3 KiB
TypeScript
63 lines
1.3 KiB
TypeScript
import { IRocketChatRecord } from './IRocketChatRecord';
|
|
import { IUser } from './IUser';
|
|
import { IServerRoomItem } from './IRoom';
|
|
|
|
export enum TEAM_TYPE {
|
|
PUBLIC = 0,
|
|
PRIVATE = 1
|
|
}
|
|
|
|
export type SortType = -1 | 1;
|
|
|
|
export interface ITeam extends IRocketChatRecord {
|
|
name: string;
|
|
type: TEAM_TYPE;
|
|
roomId: string;
|
|
createdBy: Pick<IUser, '_id' | 'username'>;
|
|
createdAt: Date;
|
|
}
|
|
|
|
export interface ITeamMember extends IRocketChatRecord {
|
|
teamId: string;
|
|
userId: string;
|
|
roles?: Array<string>;
|
|
createdBy: Pick<IUser, '_id' | 'username'>;
|
|
createdAt: Date;
|
|
}
|
|
export interface IPaginationOptions {
|
|
offset: number;
|
|
count: number;
|
|
}
|
|
export interface IRecordsWithTotal<T> {
|
|
records: Array<T>;
|
|
total: number;
|
|
}
|
|
|
|
export interface ITeamStatData {
|
|
teamId: string;
|
|
mainRoom: string;
|
|
totalRooms: number;
|
|
totalMessages: number;
|
|
totalPublicRooms: number;
|
|
totalPrivateRooms: number;
|
|
totalDefaultRooms: number;
|
|
totalMembers: number;
|
|
}
|
|
export interface ITeamStats {
|
|
totalTeams: number;
|
|
teamStats: Array<ITeamStatData>;
|
|
}
|
|
|
|
export interface IServerTeamUpdateRoom
|
|
extends Omit<
|
|
IServerRoomItem,
|
|
'topic' | 'joinCodeRequired' | 'description' | 'jitsiTimeout' | 'usersCount' | 'e2eKeyId' | 'avatarETag'
|
|
> {
|
|
broadcast: boolean;
|
|
msgs: number;
|
|
default: boolean;
|
|
sysMes: boolean;
|
|
teamId: string;
|
|
teamDefault: boolean;
|
|
}
|