24 lines
475 B
Go
24 lines
475 B
Go
package models
|
|
|
|
import "slices"
|
|
|
|
// topic model
|
|
type Topic struct {
|
|
Publish []string `json:"Publish,omitemtpy"`
|
|
Subscribe []string `json:"subscribe,omitemtpy"`
|
|
}
|
|
|
|
func (t *Topic) AddSubscription(sub string) {
|
|
if !slices.Contains(t.Subscribe, sub) {
|
|
t.Subscribe = append(t.Subscribe, sub)
|
|
slices.Sort(t.Subscribe)
|
|
}
|
|
}
|
|
|
|
func (t *Topic) AddPublish(pub string) {
|
|
if !slices.Contains(t.Publish, pub) {
|
|
t.Publish = append(t.Publish, pub)
|
|
slices.Sort(t.Publish)
|
|
}
|
|
}
|