converge/pkg/server/templates/usageinputs.go
Erik Brakkee 135fd081d8 prometheus support step 1
updates to documentation.
2024-09-08 11:16:49 +02:00

58 lines
1.2 KiB
Go

package templates
import (
"fmt"
)
type UsageInputs struct {
Id string
SshKeys []string
ErrorMessages []string
RemoteShells map[string]bool
LocalShells map[string]bool
DownloadCommand string
}
func NewUsageInputs(id string, sshPublicKeys []string, remoteShells []string, localShells []string,
downloadCommand string) UsageInputs {
inputs := UsageInputs{
Id: id,
SshKeys: sshPublicKeys,
RemoteShells: make(map[string]bool),
LocalShells: make(map[string]bool),
DownloadCommand: downloadCommand,
}
for _, remoteShell := range remoteShells {
inputs.RemoteShells[remoteShell] = true
}
for _, localShell := range localShells {
inputs.LocalShells[localShell] = true
}
return inputs
}
func addSshKeys(shell string, keys []string) string {
quote := `"`
if shell == CMD {
quote = ""
}
res := ""
for index, key := range keys {
operator := ">>"
if index == 0 {
operator = ">"
}
res += fmt.Sprintf(" echo %s%s%s %s .authorized_keys<br/>", quote, key, quote,
operator)
}
return res + " "
}
func formControlTextClass(message string) string {
if message == "" {
return "form-control"
}
return "form-control is-invalid"
}