32 lines
925 B
Go
32 lines
925 B
Go
package main
|
|
|
|
import "time"
|
|
|
|
type Attachment struct {
|
|
Filename string `json:"filename"`
|
|
Type string `json:"type"` // "image", "video", "audio", "sticker", "document"
|
|
}
|
|
|
|
type Message struct {
|
|
Timestamp time.Time `json:"timestamp"`
|
|
Sender string `json:"sender"` // empty for system messages
|
|
Text string `json:"text"`
|
|
Attachments []Attachment `json:"attachments"`
|
|
IsSystem bool `json:"isSystem"`
|
|
}
|
|
|
|
type Conversation struct {
|
|
ID string `json:"id"`
|
|
Name string `json:"name"`
|
|
Messages []Message `json:"messages"`
|
|
MessageCount int `json:"messageCount"`
|
|
LastMessageDate time.Time `json:"lastMessageDate"`
|
|
}
|
|
|
|
type ConversationSummary struct {
|
|
ID string `json:"id"`
|
|
Name string `json:"name"`
|
|
MessageCount int `json:"messageCount"`
|
|
LastMessageDate time.Time `json:"lastMessageDate"`
|
|
}
|