Initial open source release
This commit is contained in:
commit
74992e893f
377 changed files with 118084 additions and 0 deletions
58
internal/domain/update_event.go
Normal file
58
internal/domain/update_event.go
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
package domain
|
||||
|
||||
// UpdateEventType 标识 update 队列事件类型。
|
||||
type UpdateEventType string
|
||||
|
||||
const (
|
||||
UpdateEventNewMessage UpdateEventType = "new_message"
|
||||
UpdateEventReadHistoryInbox UpdateEventType = "read_history_inbox"
|
||||
UpdateEventReadHistoryOutbox UpdateEventType = "read_history_outbox"
|
||||
UpdateEventEditMessage UpdateEventType = "edit_message"
|
||||
UpdateEventMessageReactions UpdateEventType = "message_reactions"
|
||||
UpdateEventContactsReset UpdateEventType = "contacts_reset"
|
||||
UpdateEventDialogPinned UpdateEventType = "dialog_pinned"
|
||||
UpdateEventPinnedDialogs UpdateEventType = "pinned_dialogs"
|
||||
UpdateEventDialogUnreadMark UpdateEventType = "dialog_unread_mark"
|
||||
UpdateEventPeerSettings UpdateEventType = "peer_settings"
|
||||
UpdateEventDeleteMessages UpdateEventType = "delete_messages"
|
||||
UpdateEventDialogFilter UpdateEventType = "dialog_filter"
|
||||
UpdateEventDialogFilterOrder UpdateEventType = "dialog_filter_order"
|
||||
UpdateEventDialogFilters UpdateEventType = "dialog_filters"
|
||||
UpdateEventFolderPeers UpdateEventType = "folder_peers"
|
||||
UpdateEventChannelAvailable UpdateEventType = "channel_available_messages"
|
||||
UpdateEventChannelViewForum UpdateEventType = "channel_view_forum_as_messages"
|
||||
UpdateEventNoop UpdateEventType = "noop"
|
||||
)
|
||||
|
||||
// UpdateEvent 是账号视角的增量事件,按 user_id + pts 顺序持久化。
|
||||
type UpdateEvent struct {
|
||||
UserID int64
|
||||
Type UpdateEventType
|
||||
Pts int
|
||||
PtsCount int
|
||||
Date int
|
||||
Message Message
|
||||
Peer Peer
|
||||
Peers []Peer
|
||||
Bool bool
|
||||
Settings PeerSettings
|
||||
MessageIDs []int
|
||||
MaxID int
|
||||
StillUnreadCount int
|
||||
Users []User
|
||||
Channels []Channel
|
||||
FilterID int
|
||||
DialogFilter *DialogFolder
|
||||
FilterOrder []int
|
||||
FolderPeers []FolderPeerUpdate
|
||||
TagsEnabled bool
|
||||
}
|
||||
|
||||
// UpdateDifference 是 updates.getDifference 的业务层结果。
|
||||
type UpdateDifference struct {
|
||||
State UpdateState
|
||||
Events []UpdateEvent
|
||||
// Partial 为 true 表示连续事件被 limit 截断、后面还有(映射 updates.differenceSlice,
|
||||
// 客户端据 State 继续翻页);false 表示已到当前连续末尾(updates.difference)。
|
||||
Partial bool
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue