mirror of
https://github.com/crazy-max/diun.git
synced 2025-01-27 01:08:50 +00:00
fc64b132ff
Co-authored-by: CrazyMax <crazy-max@users.noreply.github.com>
38 lines
1.9 KiB
Go
38 lines
1.9 KiB
Go
package model
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/crazy-max/diun/v4/pkg/utl"
|
|
)
|
|
|
|
// NotifRocketChatDefaultTemplateBody ...
|
|
const NotifRocketChatDefaultTemplateBody = `Docker tag {{ .Entry.Image }} which you subscribed to through {{ .Entry.Provider }} provider {{ if (eq .Entry.Status "new") }}is available{{ else }}has been updated{{ end }} on {{ .Entry.Image.Domain }} registry (triggered by {{ .Meta.Hostname }} host).`
|
|
|
|
// NotifRocketChat holds Rocket.Chat notification configuration details
|
|
type NotifRocketChat struct {
|
|
Endpoint string `yaml:"endpoint,omitempty" json:"endpoint,omitempty" validate:"required"`
|
|
Channel string `yaml:"channel,omitempty" json:"channel,omitempty" validate:"required"`
|
|
UserID string `yaml:"userID,omitempty" json:"userID,omitempty" validate:"required"`
|
|
Token string `yaml:"token,omitempty" json:"token,omitempty" validate:"omitempty"`
|
|
TokenFile string `yaml:"tokenFile,omitempty" json:"tokenFile,omitempty" validate:"omitempty,file"`
|
|
RenderAttachment *bool `yaml:"renderAttachment,omitempty" json:"renderAttachment,omitempty" validate:"required"`
|
|
Timeout *time.Duration `yaml:"timeout,omitempty" json:"timeout,omitempty" validate:"required"`
|
|
TemplateTitle string `yaml:"templateTitle,omitempty" json:"templateTitle,omitempty" validate:"required"`
|
|
TemplateBody string `yaml:"templateBody,omitempty" json:"templateBody,omitempty" validate:"required"`
|
|
}
|
|
|
|
// GetDefaults gets the default values
|
|
func (s *NotifRocketChat) GetDefaults() *NotifRocketChat {
|
|
n := &NotifRocketChat{}
|
|
n.SetDefaults()
|
|
return n
|
|
}
|
|
|
|
// SetDefaults sets the default values
|
|
func (s *NotifRocketChat) SetDefaults() {
|
|
s.RenderAttachment = utl.NewTrue()
|
|
s.Timeout = utl.NewDuration(10 * time.Second)
|
|
s.TemplateTitle = NotifDefaultTemplateTitle
|
|
s.TemplateBody = NotifRocketChatDefaultTemplateBody
|
|
}
|