29 lines
517 B
Go
29 lines
517 B
Go
package notify
|
|
|
|
import (
|
|
"fmt"
|
|
"strings"
|
|
)
|
|
|
|
|
|
type Notifier interface {
|
|
SendNotification(camera string, online bool)
|
|
}
|
|
|
|
func createMessage(camera string, online bool) string {
|
|
var msgTemplates = map[bool]string{
|
|
true: "%s camera is back online!",
|
|
false: "%s camera is offline!",
|
|
}
|
|
|
|
var cameraTitle string
|
|
for i, s := range strings.Split(camera, "_") {
|
|
if i > 0 {
|
|
cameraTitle += " "
|
|
}
|
|
cameraTitle += strings.ToUpper(string(s[0])) + s[1:]
|
|
}
|
|
|
|
return fmt.Sprintf(msgTemplates[online], cameraTitle)
|
|
}
|