mirror of
https://github.com/containrrr/watchtower.git
synced 2025-09-21 21:30:48 +02:00
34 lines
637 B
Go
34 lines
637 B
Go
package session
|
|
|
|
import "strings"
|
|
|
|
type Trigger int
|
|
|
|
const (
|
|
SchedulerTrigger Trigger = iota
|
|
APITrigger
|
|
StartupTrigger
|
|
)
|
|
|
|
// String returns a string representation of the Trigger
|
|
func (trigger Trigger) String() string {
|
|
switch trigger {
|
|
case SchedulerTrigger:
|
|
return "Scheduler"
|
|
case APITrigger:
|
|
return "API"
|
|
case StartupTrigger:
|
|
return "Startup"
|
|
default:
|
|
return "Unknown"
|
|
}
|
|
}
|
|
|
|
// MarshalJSON marshals Trigger as a quoted string
|
|
func (trigger Trigger) MarshalJSON() ([]byte, error) {
|
|
sb := strings.Builder{}
|
|
sb.WriteString(`"`)
|
|
sb.WriteString(trigger.String())
|
|
sb.WriteString(`"`)
|
|
return []byte(sb.String()), nil
|
|
}
|