feat(conversations): align search sender names

This commit is contained in:
2026-06-07 03:51:32 +08:00
parent f4ad2fb3c6
commit 41bdec333b
3 changed files with 40 additions and 13 deletions
@@ -91,11 +91,11 @@ type chatwootConversationSearchPayload struct {
}
type chatwootConversationSearchMessage struct {
Content string `json:"content"`
ID uint `json:"id"`
SenderName string `json:"sender_name,omitempty"`
MessageType int `json:"message_type"`
CreatedAt int64 `json:"created_at"`
Content string `json:"content"`
ID uint `json:"id"`
SenderName *string `json:"sender_name,omitempty"`
MessageType int `json:"message_type"`
CreatedAt int64 `json:"created_at"`
}
type chatwootMessageIndexResponse struct {
@@ -189,6 +189,7 @@ func serializeConversationSearch(ctx context.Context, db *gorm.DB, conversation
payload.Messages = append(payload.Messages, chatwootConversationSearchMessage{
Content: messages[i].Content,
ID: messages[i].ID,
SenderName: messageSenderName(ctx, db, &messages[i]),
MessageType: messageTypeValue(messages[i].MessageType),
CreatedAt: messages[i].CreatedAt.Unix(),
})
@@ -463,6 +464,15 @@ func serializeMessageSender(ctx context.Context, db *gorm.DB, message *model.Mes
return nil
}
func messageSenderName(ctx context.Context, db *gorm.DB, message *model.Message) *string {
sender := serializeMessageSender(ctx, db, message)
if sender == nil {
return nil
}
name, _ := sender["name"].(string)
return &name
}
func serializeContact(contact *model.Contact) map[string]any {
return map[string]any{
"additional_attributes": jsonObject(contact.AdditionalAttributes),