This repository has been archived by the owner on Nov 21, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
data.go
66 lines (57 loc) · 1.81 KB
/
data.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
package graph
import (
"github.com/AJGherardi/HomeHub/generated"
"github.com/AJGherardi/HomeHub/model"
)
func toElementResponseSlice(elements map[uint16]*model.Element) []*generated.ElementResponse {
elementResponses := []*generated.ElementResponse{}
for i := range elements {
elementResponses = append(
elementResponses,
toElementResponse(i, elements[i]),
)
}
return elementResponses
}
func toDeviceResponseSlice(devices map[uint16]*model.Device) []*generated.DeviceResponse {
deviceResponses := []*generated.DeviceResponse{}
for i := range devices {
deviceResponses = append(
deviceResponses,
toDeviceResponse(i, devices[i]),
)
}
return deviceResponses
}
func toSceneResponseSlice(scenes map[uint16]*model.Scene) []*generated.SceneResponse {
sceneResponses := []*generated.SceneResponse{}
for i := range scenes {
sceneResponses = append(
sceneResponses,
toSceneResponse(i, scenes[i]),
)
}
return sceneResponses
}
func toGroupResponseSlice(groups map[uint16]*model.Group) []*generated.GroupResponse {
groupResponses := []*generated.GroupResponse{}
for i := range groups {
groupResponses = append(
groupResponses,
toGroupResponse(i, groups[i]),
)
}
return groupResponses
}
func toElementResponse(addr uint16, element *model.Element) *generated.ElementResponse {
return &generated.ElementResponse{Addr: int(addr), Element: element}
}
func toDeviceResponse(addr uint16, device *model.Device) *generated.DeviceResponse {
return &generated.DeviceResponse{Addr: int(addr), Device: device}
}
func toSceneResponse(number uint16, scene *model.Scene) *generated.SceneResponse {
return &generated.SceneResponse{Number: int(number), Scene: scene}
}
func toGroupResponse(addr uint16, group *model.Group) *generated.GroupResponse {
return &generated.GroupResponse{Addr: int(addr), Group: group}
}