24 lines
1.2 KiB
Go
24 lines
1.2 KiB
Go
package notificationservice
|
|
|
|
// import (
|
|
// "context"
|
|
|
|
// "github.com/SamuelTariku/FortuneBet-Backend/internal/domain"
|
|
// "github.com/gorilla/websocket"
|
|
// )
|
|
|
|
// type NotificationStore interface {
|
|
// SendNotification(ctx context.Context, notification *domain.Notification) error
|
|
// MarkAsRead(ctx context.Context, notificationID string, recipientID int64) error
|
|
// GetUserNotifications(ctx context.Context, recipientID int64, limit, offset int) ([]domain.Notification, int64, error)
|
|
// ConnectWebSocket(ctx context.Context, recipientID int64, c *websocket.Conn) error
|
|
// DisconnectWebSocket(recipientID int64)
|
|
// SendSMS(ctx context.Context, recipientID int64, message string) error
|
|
// SendEmail(ctx context.Context, recipientID int64, subject, message string) error
|
|
// ListRecipientIDs(ctx context.Context, receiver domain.NotificationRecieverSide) ([]int64, error) // New method
|
|
// CountUnreadNotifications(ctx context.Context, recipient_id int64) (int64, error)
|
|
// GetAllNotifications(ctx context.Context, limit, offset int) ([]domain.Notification, error)
|
|
|
|
// GetNotificationCounts(ctx context.Context, filter domain.ReportFilter) (total, read, unread int64, err error)
|
|
// }
|