go-kratos/app/websocket/internal/biz/websocket.go

26 lines
619 B
Go

package biz
import (
"context"
)
// WebSocketRepo is a WebSocket repository interface.
type WebSocketRepo interface {
SendMessage(ctx context.Context, message []byte) error
}
// WebSocketUsecase is a WebSocket use case.
type WebSocketUsecase struct {
repo WebSocketRepo
}
// NewWebSocketUsecase new a WebSocket use case.
func NewWebSocketUsecase(repo WebSocketRepo) *WebSocketUsecase {
return &WebSocketUsecase{repo: repo}
}
// HandleMessage handles incoming WebSocket messages.
func (uc *WebSocketUsecase) HandleMessage(ctx context.Context, message []byte) error {
return uc.repo.SendMessage(ctx, message)
}