Yimaru-BackEnd/internal/services/notfication/port.go

19 lines
718 B
Go

package notificationservice
import (
"context"
"github.com/SamuelTariku/FortuneBet-Backend/internal/domain"
"github.com/gofiber/websocket/v2"
)
type NotificationStore interface {
SendNotification(ctx context.Context, notification *domain.Notification) error
MarkAsRead(ctx context.Context, notificationID, recipientID string) error
ListNotifications(ctx context.Context, recipientID string, limit, offset int) ([]domain.Notification, error)
ConnectWebSocket(ctx context.Context, recipientID string, c *websocket.Conn) error
DisconnectWebSocket(recipientID string)
SendSMS(ctx context.Context, recipientID, message string) error
SendEmail(ctx context.Context, recipientID, subject, message string) error
}