mirror of
https://github.com/containrrr/watchtower.git
synced 2025-09-22 05:40:50 +02:00
35 lines
637 B
Go
35 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
|
||
|
}
|