Notifications tell a user when someone follows them or their playlists, upvotes, comments, likes or mentions them, or posts where they follow. This module types the ones api/services/notification-service.ts makes, and the data each kind carries. The client's /notifications page lists them and turns each into a sentence and a link.

Interfaces

I
I
DumpRef

Where a notification's dump is now, for its link (dumpPath). The server joins it each time it sends the notification, so a renamed dump or poster still links right; it is absent once the dump is deleted.

I
DumpUpvotedData

Carried by a dump_upvoted notification, sent to the dump's poster.

I
Notification

Pushed to its user's sockets in a notification_created message when it is made, and returned by GET /api/me/notifications.

I
PlaylistDumpAddedData

Carried by a playlist_dump_added notification, sent to the followers of a public playlist when a public dump is added to it.

I
PlaylistFollowedData

Carried by a playlist_followed notification, sent to a playlist's owner.

I
PlaylistRef

Where a notification's playlist is now, joined as DumpRef is.

I
UserDumpPostedData

Carried by a user_dump_posted notification, sent to the followers of a user who posted a public dump.

I
UserFollowedData

Carried by a user_followed notification, sent to the user followed.

I
UserMentionedData

Carried by a user_mentioned notification, sent to a user @mentioned in a comment, a dump, a playlist's description or a chat message, or to every user by a chat message's @everyone. Its DumpRef is the dump's, or the comment's dump's; its PlaylistRef the playlist's.

Type Aliases

T
NotificationData =
PlaylistFollowedData
| UserFollowedData
| UserDumpPostedData
| PlaylistDumpAddedData
| DumpUpvotedData
| UserMentionedData
| DumpCommentedData
| CommentLikedData

Stored when the notification is made, so a title changed later still shows the old one. The …Username fields and the refs are joined when it is sent, so they follow a rename. The notification's type says which member it is.

T
NotificationType =
"playlist_followed"
| "user_followed"
| "user_dump_posted"
| "playlist_dump_added"
| "dump_upvoted"
| "user_mentioned"
| "dump_commented"
| "comment_liked"

Says which of the …Data interfaces a notification's data is. Each value has one notify… trigger in notification-service.ts.