group_member.go 854 B

123456789101112131415
  1. package model
  2. import "time"
  3. // GroupMember records the relationship between a TG group/channel and a member (merchant).
  4. // One member can belong to multiple groups; one group can have multiple members.
  5. type GroupMember struct {
  6. ID uint `gorm:"primaryKey;autoIncrement" json:"id"`
  7. GroupUsername string `gorm:"size:255;not null;uniqueIndex:idx_group_member,priority:1" json:"group_username"`
  8. MemberUsername string `gorm:"size:255;not null;uniqueIndex:idx_group_member,priority:2;index" json:"member_username"`
  9. GroupTitle string `gorm:"size:500" json:"group_title"`
  10. SourceType string `gorm:"size:50" json:"source_type"` // tg_channel / web / github
  11. TaskID uint `gorm:"index" json:"task_id"` // which task discovered this
  12. DiscoveredAt time.Time `json:"discovered_at"`
  13. }