Add support for more generic notification

This is a start to have different kinds of notifications. It is
possible to be notified via e-mail, matrix or gotify. It also extends
the current "periodic query" for due items by allowing notification
over different channels. A "generic periodic query" variant is added
as well.
This commit is contained in:
eikek
2021-11-22 00:22:51 +01:00
parent 93a828720c
commit 4ffc8d1f14
175 changed files with 13041 additions and 599 deletions

View File

@ -0,0 +1,46 @@
{-
Copyright 2020 Eike K. & Contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-}
module Messages.Data.ChannelType exposing (Texts, de, gb)
import Data.ChannelType exposing (ChannelType)
type alias Texts =
ChannelType -> String
gb : Texts
gb ct =
case ct of
Data.ChannelType.Matrix ->
"Matrix"
Data.ChannelType.Gotify ->
"Gotify"
Data.ChannelType.Mail ->
"E-Mail"
Data.ChannelType.Http ->
"HTTP request"
de : Texts
de ct =
case ct of
Data.ChannelType.Matrix ->
"Matrix"
Data.ChannelType.Gotify ->
"Gotify"
Data.ChannelType.Mail ->
"E-Mail"
Data.ChannelType.Http ->
"HTTP Request"

View File

@ -0,0 +1,78 @@
{-
Copyright 2020 Eike K. & Contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-}
module Messages.Data.EventType exposing
( Texts
, de
, gb
)
import Data.EventType exposing (EventType(..))
type alias Texts =
{ name : String
, info : String
}
gb : EventType -> Texts
gb et =
case et of
TagsChanged ->
{ name = "Tags changed"
, info = "Whenever a tag on an item is added or removed"
}
SetFieldValue ->
{ name = "Set field value"
, info = "Whenever a custom field is set to a value"
}
DeleteFieldValue ->
{ name = "Delete field value"
, info = "Whenever a custom field is removed"
}
JobSubmitted ->
{ name = "Job submitted"
, info = "Whenever a new job is submitted"
}
JobDone ->
{ name = "Job done"
, info = "Whenever a new job finished"
}
de : EventType -> Texts
de et =
case et of
TagsChanged ->
{ name = "Tags geändert"
, info = "Wenn ein tag hinzugefügt oder entfernt wird"
}
SetFieldValue ->
{ name = "Benutzerfeldwert ändert"
, info = "Wenn für ein Benutzerfeld ein Wert gesetzt wird"
}
DeleteFieldValue ->
{ name = "Benutzerfeldwert entfernt"
, info = "Wenn der Wert für ein Benuzterfeld entfernt wird"
}
JobSubmitted ->
{ name = "Auftrag gestartet"
, info = "Wenn ein neuer Auftrag gestartet wird"
}
JobDone ->
{ name = "Auftrag beendet"
, info = "Wenn ein Auftrag beendet wurde"
}