/
uptime-mappers.go
36 lines (28 loc) · 1.12 KB
/
uptime-mappers.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
package uptime
import (
"strconv"
"strings"
endpointmonitorv1alpha1 "github.com/stakater/IngressMonitorController/v2/api/v1alpha1"
"github.com/stakater/IngressMonitorController/v2/pkg/models"
)
func UptimeMonitorMonitorToBaseMonitorMapper(uptimeMonitor UptimeMonitorMonitor) *models.Monitor {
var m models.Monitor
m.Name = uptimeMonitor.Name
m.URL = uptimeMonitor.MspAddress
m.ID = strconv.Itoa(uptimeMonitor.PK)
var providerConfig endpointmonitorv1alpha1.UptimeConfig
providerConfig.Interval = uptimeMonitor.MspInterval
providerConfig.CheckType = uptimeMonitor.CheckType
providerConfig.Contacts = strings.Join(uptimeMonitor.ContactGroups, ",")
providerConfig.Locations = strings.Join(uptimeMonitor.Locations, ",")
providerConfig.Tags = strings.Join(uptimeMonitor.Tags, ",")
m.Config = &providerConfig
return &m
}
func UptimeMonitorMonitorsToBaseMonitorsMapper(uptimeMonitors []UptimeMonitorMonitor) []models.Monitor {
var monitors []models.Monitor
for index := 0; index < len(uptimeMonitors); index++ {
monitors = append(monitors, *UptimeMonitorMonitorToBaseMonitorMapper(uptimeMonitors[index]))
}
return monitors
}