summaryrefslogtreecommitdiff
path: root/internal/configuration/schema/notifier.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/configuration/schema/notifier.go')
-rw-r--r--internal/configuration/schema/notifier.go31
1 files changed, 31 insertions, 0 deletions
diff --git a/internal/configuration/schema/notifier.go b/internal/configuration/schema/notifier.go
new file mode 100644
index 000000000..6a3a7694a
--- /dev/null
+++ b/internal/configuration/schema/notifier.go
@@ -0,0 +1,31 @@
+package schema
+
+// FileSystemNotifierConfiguration represents the configuration of the notifier writing emails in a file.
+type FileSystemNotifierConfiguration struct {
+ Filename string `yaml:"filename"`
+}
+
+// EmailNotifierConfiguration represents the configuration of the email service notifier (like GMAIL API).
+type EmailNotifierConfiguration struct {
+ Username string `yaml:"username"`
+ Password string `yaml:"password"`
+ Sender string `yaml:"sender"`
+ Service string `yaml:"service"`
+}
+
+// SMTPNotifierConfiguration represents the configuration of the SMTP server to send emails with.
+type SMTPNotifierConfiguration struct {
+ Username string `yaml:"username"`
+ Password string `yaml:"password"`
+ Secure string `yaml:"secure"`
+ Host string `yaml:"host"`
+ Port int `yaml:"port"`
+ Sender string `yaml:"sender"`
+}
+
+// NotifierConfiguration representes the configuration of the notifier to use when sending notifications to users.
+type NotifierConfiguration struct {
+ FileSystem *FileSystemNotifierConfiguration `yaml:"filesystem"`
+ Email *EmailNotifierConfiguration `yaml:"email"`
+ SMTP *SMTPNotifierConfiguration `yaml:"smtp"`
+}