You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
900 B
45 lines
900 B
package grpc |
|
|
|
import ( |
|
"context" |
|
|
|
"go-common/app/service/main/share/api" |
|
"go-common/app/service/main/share/model" |
|
"go-common/app/service/main/share/service" |
|
"go-common/library/net/rpc/warden" |
|
) |
|
|
|
// server . |
|
type server struct { |
|
srv *service.Service |
|
} |
|
|
|
// New share warden rpc server. |
|
func New(cfg *warden.ServerConfig, srv *service.Service) *warden.Server { |
|
w := warden.NewServer(cfg) |
|
v1.RegisterShareServer(w.Server(), &server{srv: srv}) |
|
var err error |
|
w, err = w.Start() |
|
if err != nil { |
|
panic(err) |
|
} |
|
return w |
|
} |
|
|
|
// AddShare . |
|
func (s *server) AddShare(ctx context.Context, req *v1.AddShareRequest) (*v1.AddShareReply, error) { |
|
p := &model.ShareParams{ |
|
OID: req.Oid, |
|
MID: req.Mid, |
|
TP: int(req.Type), |
|
IP: req.Ip, |
|
} |
|
shares, err := s.srv.Add(ctx, p) |
|
if err != nil { |
|
return nil, err |
|
} |
|
addShareReply := &v1.AddShareReply{ |
|
Shares: shares, |
|
} |
|
return addShareReply, nil |
|
}
|
|
|