Files
tecamino-json_data/models/topic.go
Adrian Zuercher 4221815def modify drivers
2025-07-29 12:37:04 +02:00

30 lines
573 B
Go

package models
import "slices"
// topic model
type Topic struct {
Publish []string `json:"Publish,omitempty"`
Subscribe []string `json:"subscribe,omitempty"`
}
func (t *Topic) AddSubscription(subs ...string) {
for _, sub := range subs {
if slices.Contains(t.Subscribe, sub) {
continue
}
t.Subscribe = append(t.Subscribe, sub)
slices.Sort(t.Subscribe)
}
}
func (t *Topic) AddPublish(pubs ...string) {
for _, pub := range pubs {
if slices.Contains(t.Publish, pub) {
continue
}
t.Subscribe = append(t.Publish, pub)
slices.Sort(t.Publish)
}
}