github.com/stakater/IngressMonitorController@v1.0.103/pkg/monitors/uptime/uptime-mappers.go (about)

     1  package uptime
     2  
     3  import (
     4  	"strconv"
     5  	"strings"
     6  
     7  	"github.com/stakater/IngressMonitorController/pkg/models"
     8  )
     9  
    10  func UptimeMonitorMonitorToBaseMonitorMapper(uptimeMonitor UptimeMonitorMonitor) *models.Monitor {
    11  	var m models.Monitor
    12  
    13  	m.Name = uptimeMonitor.Name
    14  	m.URL = uptimeMonitor.MspAddress
    15  	m.ID = strconv.Itoa(uptimeMonitor.PK)
    16  
    17  	var annotations = map[string]string{
    18  		"uptime.monitor.stakater.com/interval":   strconv.Itoa(uptimeMonitor.MspInterval),
    19  		"uptime.monitor.stakater.com/check_type": uptimeMonitor.CheckType,
    20  		"uptime.monitor.stakater.com/contacts":   strings.Join(uptimeMonitor.ContactGroups, ","),
    21  		"uptime.monitor.stakater.com/locations":  strings.Join(uptimeMonitor.Locations, ","),
    22  	}
    23  
    24  	m.Annotations = annotations
    25  	return &m
    26  }
    27  
    28  func UptimeMonitorMonitorsToBaseMonitorsMapper(uptimeMonitors []UptimeMonitorMonitor) []models.Monitor {
    29  	var monitors []models.Monitor
    30  
    31  	for index := 0; index < len(uptimeMonitors); index++ {
    32  		monitors = append(monitors, *UptimeMonitorMonitorToBaseMonitorMapper(uptimeMonitors[index]))
    33  	}
    34  
    35  	return monitors
    36  }