1+ declare namespace zetaret . node . api {
2+ export interface ChatControllerCTOR {
3+ new ( ) : ChatController
4+ }
5+ export interface ChatController extends APIController {
6+ messages : { [ mid : string ] : Array < ChatMessage > } ;
7+ autoDelete : WeakMap < object , ChatMessage > ;
8+ db : ChatDB | object ;
9+ install : Function ;
10+ error : Function ;
11+ defaults : Function ;
12+
13+ installDBInterface ( method : Function ) : void
14+ handleError ( method : Function ) : void
15+ onDefault ( method : Function ) : void
16+ addMessage ( user : string , msg : string ) : string
17+ buildMessage ( user : string , message : string , mid ?: string ) : ChatMessage
18+ appendMessage ( mid : string , text : Array < string > , data ?: object ) : ChatMessage
19+ addClient ( server : zetaret . node . modules . Subserver , robj : zetaret . node . RouteObject , routeData : object , request : zetaret . node . XRequest , response : zetaret . node . RoutedResponseX ) : void
20+ getClients ( server : zetaret . node . modules . Subserver , robj : zetaret . node . RouteObject , routeData : object , request : zetaret . node . XRequest , response : zetaret . node . RoutedResponseX ) : void
21+ editClient ( server : zetaret . node . modules . Subserver , robj : zetaret . node . RouteObject , routeData : object , request : zetaret . node . XRequest , response : zetaret . node . RoutedResponseX ) : void
22+ sendMessage ( server : zetaret . node . modules . Subserver , robj : zetaret . node . RouteObject , routeData : object , request : zetaret . node . XRequest , response : zetaret . node . RoutedResponseX ) : void
23+ getMessages ( server : zetaret . node . modules . Subserver , robj : zetaret . node . RouteObject , routeData : object , request : zetaret . node . XRequest , response : zetaret . node . RoutedResponseX ) : void
24+ editMessages ( server : zetaret . node . modules . Subserver , robj : zetaret . node . RouteObject , routeData : object , request : zetaret . node . XRequest , response : zetaret . node . RoutedResponseX ) : void
25+ addGroup ( server : zetaret . node . modules . Subserver , robj : zetaret . node . RouteObject , routeData : object , request : zetaret . node . XRequest , response : zetaret . node . RoutedResponseX ) : void
26+ getGroups ( server : zetaret . node . modules . Subserver , robj : zetaret . node . RouteObject , routeData : object , request : zetaret . node . XRequest , response : zetaret . node . RoutedResponseX ) : void
27+ editGroups ( server : zetaret . node . modules . Subserver , robj : zetaret . node . RouteObject , routeData : object , request : zetaret . node . XRequest , response : zetaret . node . RoutedResponseX ) : void
28+ }
29+ export interface NullMessage {
30+ mid ?: string ;
31+ }
32+ export interface ChatMessage extends NullMessage {
33+ user ?: string ;
34+ message ?: string ;
35+ time ?: number ;
36+ etime ?: number ;
37+ stream ?: Array < StreamMessage | string | object > ;
38+ groups ?: Array < ChatGroup > ;
39+ sent ?: Array < ChatUser > ;
40+ }
41+ export interface ChatUser {
42+ uid ?: string ;
43+ vars ?: object ;
44+ }
45+ export interface ChatGroup {
46+ gid ?: string ;
47+ users ?: Array < string | ChatUser > ;
48+ data ?: object ;
49+ }
50+ export interface ChatDB {
51+ users : { [ uid : string ] : ChatUser } ;
52+ groups : { [ gid : string ] : ChatGroup } ;
53+ messages : { [ uid : string ] : Array < string | ChatMessage > } ;
54+ weak : WeakMap < ChatUser , Array < ChatMessage > > ;
55+ }
56+ export interface ChatEvents {
57+ INSTALL : "install" ;
58+ ERROR : "error" ;
59+ DEFAULTS : "defaults" ;
60+ MESSAGE : "message" ;
61+ MESSAGE_UPDATE : "messageUpdate" ;
62+ USER : "user" ;
63+ USER_UPDATE : "userUpdate" ;
64+ GROUP : "group" ;
65+ GROUP_UPDATE : "groupUpdate" ;
66+ DB_CONNECT : "dbConnect" ;
67+ DB_UPDATE : "dbUpdate" ;
68+ API_MOUNT : "apiMount" ;
69+ }
70+ export interface ChatControllerStatic {
71+ EVENTS : ChatEvents ;
72+ }
73+ export interface ChatControllerModule {
74+ ChatController : ChatControllerCTOR ;
75+ }
76+ }
0 commit comments