notify.pl -- SWISH notifications
This module keeps track of which users wish to track which notifications
and sending the notifications to the user. If the target user is online
we will notify using an avatar. Otherwise we send an email.
A user has the following options to control notifications:
- Per (gitty) file
- Notify update
- Notify chat
- By profile
- Notify by E-mail: never/immediate/daily
- follow(+DocID, +ProfileID, +Flags) is det
- Assert that DocID is being followed by ProfileID using Flags.
- notify(+DocID, +Action) is det
- Action has been executed on DocID. Notify all interested users.
Actions that may be notified:
- updated(Commit)
- Gitty file was updated
- deleted(Commit)
- Gitty file was deleted
- forked(OldCommit, Commit)
- Gitty file was forked
- created(Commit)
- A new gitty file was created
- chat(Message)
- A chat message was sent. Message is the JSON content as a dict.
Message contains a
docid
key.