go-kratos/app/websocket/internal/service/socket.go

29 lines
734 B
Go

package service
import (
"context"
so "ky-go-kratos/api/websocket"
"ky-go-kratos/app/websocket/internal/biz"
)
// SocketService is a socket service.
type SocketService struct {
so.UnimplementedSocketServer
socketUsecase biz.SocketUsecase
}
// NewSocketService new a socket service.
func NewSocketService(socketUsecase biz.SocketUsecase) *SocketService {
return &SocketService{socketUsecase: socketUsecase}
}
// SendMessage implements websocket.SocketServer.
func (s *SocketService) SendMessage(ctx context.Context, req *so.SendMessageRequest) (*so.SendMessageReply, error) {
err := s.socketUsecase.SendMessage(ctx, req.To, req.From, req.Message)
if err != nil {
return nil, err
}
return &so.SendMessageReply{}, nil
}