aboutsummaryrefslogtreecommitdiffstats
path: root/internal/notifier/notifier.go
diff options
context:
space:
mode:
authorLibravatar cel 🌸 <cel@blos.sm>2024-09-10 17:33:54 +0100
committerLibravatar cel 🌸 <cel@blos.sm>2024-09-10 17:33:54 +0100
commit9d04ff6a4d1dde541a0253e0db59957c69fec4cf (patch)
tree70c7f9a2e6b64eef21e5efe78012d2e3261f4de0 /internal/notifier/notifier.go
parent6fb41ab9b491a257b027bf8a3c8a0828dc681b9a (diff)
downloaddonetick-9d04ff6a4d1dde541a0253e0db59957c69fec4cf.tar.gz
donetick-9d04ff6a4d1dde541a0253e0db59957c69fec4cf.tar.bz2
donetick-9d04ff6a4d1dde541a0253e0db59957c69fec4cf.zip
WIP: genericize notifier as interfaceHEADmain
Diffstat (limited to '')
-rw-r--r--internal/notifier/notifier.go17
1 files changed, 17 insertions, 0 deletions
diff --git a/internal/notifier/notifier.go b/internal/notifier/notifier.go
new file mode 100644
index 0000000..7ce94b0
--- /dev/null
+++ b/internal/notifier/notifier.go
@@ -0,0 +1,17 @@
+package notifier
+
+import (
+ "context"
+
+ chModel "donetick.com/core/internal/chore/model"
+ nModel "donetick.com/core/internal/notifier/model"
+ uModel "donetick.com/core/internal/user/model"
+)
+
+type Notifier interface {
+ SendChoreReminder(c context.Context, chore *chModel.Chore, users []*uModel.User)
+ SendChoreCompletion(c context.Context, chore *chModel.Chore, user *uModel.User)
+ SendChoreOverdue(c context.Context, chore *chModel.Chore, users []*uModel.User)
+ SendChorePreDue(c context.Context, chore *chModel.Chore, users []*uModel.User)
+ SendNotification(c context.Context, notification *nModel.Notification)
+}