You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
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
|
|
}
|