package model // ContactInbox represents the join between Contact and Inbox with source info. // Reference: Chatwoot ContactInbox model + P2B M4 spec type ContactInbox struct { Base ContactID uint `gorm:"column:contact_id;not null;index" json:"contact_id"` InboxID uint `gorm:"column:inbox_id;not null;index" json:"inbox_id"` SourceID string `gorm:"column:source_id;size:255;index" json:"source_id"` HMACToken string `gorm:"column:hmac_token;size:255" json:"hmac_token"` HMACVerified bool `gorm:"column:hmac_verified;default:false" json:"hmac_verified"` PubsubToken string `gorm:"column:pubsub_token;size:255" json:"pubsub_token"` HasAroundFlag bool `gorm:"column:has_around_flag;default:false" json:"has_around_flag"` Contact Contact `gorm:"foreignKey:ContactID" json:"contact,omitempty"` Inbox Inbox `gorm:"foreignKey:InboxID" json:"inbox,omitempty"` } func (ContactInbox) TableName() string { return "contact_inboxes" }