-
Notifications
You must be signed in to change notification settings - Fork 0
/
models.go
59 lines (51 loc) · 1.53 KB
/
models.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
package messageengine
import (
"github.com/alxarno/swap/models"
)
type onlineUsersMove int
const (
onlineUserInc onlineUsersMove = 1
onlineUserDec onlineUsersMove = 2
)
const (
messageActionOnlineUser = "online_user"
messageActionUserChatInserted = "user_inserted"
messageActionChatCreated = "chat_created"
messageActionUserAddedToChat = "add_in_chat"
messageActionLeaveChat = "leave_chat"
messageActionReturnChat = "return_chat"
messageTypeSystem = "system"
messageTypeUser = "user"
messageEncrypted = "encrypted"
messageActionAuth = "auth"
messageActionKeyExchange = "key-exchange"
messageSuccess = "Success"
messageFailed = "Error"
)
const (
writingSystemChannelFailed = "Writing to system channel failed: "
writingMessageChannelFailed = "Writing message to channel failed: "
marshalingMessageFailed = "Message marshaling failed: "
unmarshalingMessageFailed = "Message unmarshaling failed: "
writingEncryptedChannelFailed = "Writing to encrypted channel failed: "
)
const (
messageTypeField = "mtype"
)
type systemMessage struct {
data string
encode bool
}
type userConnection struct {
UserID int64
RemoteAddr string
MessageChan chan models.NewMessageToUser
SystemMessageChan chan string
Auth bool
}
type answer struct {
MessageType string `json:"mtype"`
Result string `json:"result"`
Action string `json:"action"`
Error string `json:"error"`
}