29 lines
734 B
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
|
|
}
|