28 lines
585 B
Go
28 lines
585 B
Go
package models
|
|
|
|
import (
|
|
"github.com/google/uuid"
|
|
json_dataModels "github.com/tecamino/tecamino-json_data/models"
|
|
)
|
|
|
|
type Subscriptions map[uuid.UUID][]Subscription
|
|
|
|
type Subscription struct {
|
|
Bus string
|
|
Address []uint
|
|
}
|
|
|
|
func NewSubscriptions() Subscriptions {
|
|
return make(Subscriptions)
|
|
}
|
|
|
|
func (s *Subscriptions) AddSubscription(uid uuid.UUID, drv *json_dataModels.Driver) {
|
|
subs := []Subscription{}
|
|
for _, bus := range drv.Buses {
|
|
sub := Subscription{Bus: bus.Name}
|
|
sub.Address = append(sub.Address, bus.Address...)
|
|
subs = append(subs, sub)
|
|
}
|
|
(*s)[uid] = subs
|
|
}
|