All checks were successful
Build and Publish Docker Image / build-and-push (push) Successful in 50s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
87 lines
1.6 KiB
TypeScript
87 lines
1.6 KiB
TypeScript
export type NotificationType =
|
|
| "playlist_followed"
|
|
| "user_followed"
|
|
| "user_dump_posted"
|
|
| "playlist_dump_added"
|
|
| "dump_upvoted"
|
|
| "user_mentioned"
|
|
| "dump_commented"
|
|
| "comment_liked";
|
|
|
|
export interface PlaylistFollowedData {
|
|
followerId: string;
|
|
followerUsername: string;
|
|
playlistId: string;
|
|
playlistTitle: string;
|
|
}
|
|
|
|
export interface UserFollowedData {
|
|
followerId: string;
|
|
followerUsername: string;
|
|
}
|
|
|
|
export interface UserDumpPostedData {
|
|
dumperId: string;
|
|
dumperUsername: string;
|
|
dumpId: string;
|
|
dumpTitle: string;
|
|
}
|
|
|
|
export interface PlaylistDumpAddedData {
|
|
dumpId: string;
|
|
dumpTitle: string;
|
|
playlistId: string;
|
|
playlistTitle: string;
|
|
}
|
|
|
|
export interface DumpUpvotedData {
|
|
voterId: string;
|
|
voterUsername: string;
|
|
dumpId: string;
|
|
dumpTitle: string;
|
|
}
|
|
|
|
export interface UserMentionedData {
|
|
mentionerId: string;
|
|
mentionerUsername: string;
|
|
contextType: "comment" | "dump" | "playlist" | "chat";
|
|
contextId: string;
|
|
contextTitle: string;
|
|
dumpId?: string;
|
|
}
|
|
|
|
export interface DumpCommentedData {
|
|
commenterId: string;
|
|
commenterUsername: string;
|
|
commentId: string;
|
|
dumpId: string;
|
|
dumpTitle: string;
|
|
}
|
|
|
|
export interface CommentLikedData {
|
|
likerId: string;
|
|
likerUsername: string;
|
|
commentId: string;
|
|
dumpId: string;
|
|
dumpTitle: string;
|
|
}
|
|
|
|
export type NotificationData =
|
|
| PlaylistFollowedData
|
|
| UserFollowedData
|
|
| UserDumpPostedData
|
|
| PlaylistDumpAddedData
|
|
| DumpUpvotedData
|
|
| UserMentionedData
|
|
| DumpCommentedData
|
|
| CommentLikedData;
|
|
|
|
export interface Notification {
|
|
id: string;
|
|
userId: string;
|
|
type: NotificationType;
|
|
data: NotificationData;
|
|
read: boolean;
|
|
createdAt: Date;
|
|
}
|