package models import ( "time" "git.solsynth.dev/hypernet/nexus/pkg/nex/cruda" "gorm.io/datatypes" ) type Poll struct { cruda.BaseModel ExpiredAt *time.Time `json:"expired_at"` Options datatypes.JSONSlice[PollOption] `json:"options"` AccountID uint `json:"account_id"` Metric PollMetric `json:"metric" gorm:"-"` } type PollMetric struct { TotalAnswer int64 `json:"total_answer"` ByOptions map[string]int64 `json:"by_options"` ByOptionsPercentage map[string]float64 `json:"by_options_percentage"` } type PollOption struct { ID string `json:"id"` Icon string `json:"icon"` Name string `json:"name"` Description string `json:"description"` } type PollAnswer struct { cruda.BaseModel Answer string `json:"answer"` PollID uint `json:"poll_id"` AccountID uint `json:"account_id"` }