pusher/kitex_gen/push/pushservice/pushservice.go

197 lines
5.0 KiB
Go
Raw Normal View History

2024-05-17 18:02:10 +08:00
// Code generated by Kitex v0.9.0. DO NOT EDIT.
package pushservice
import (
"context"
"errors"
config "gitea.timerzz.com/kedaya_haitao/pusher/kitex_gen/config"
push "gitea.timerzz.com/kedaya_haitao/pusher/kitex_gen/push"
client "github.com/cloudwego/kitex/client"
kitex "github.com/cloudwego/kitex/pkg/serviceinfo"
)
var errInvalidMessageType = errors.New("invalid message type for service method handler")
var serviceMethods = map[string]kitex.MethodInfo{
"Push": kitex.NewMethodInfo(
pushHandler,
newPushServicePushArgs,
newPushServicePushResult,
false,
kitex.WithStreamingMode(kitex.StreamingNone),
),
"Add": kitex.NewMethodInfo(
addHandler,
newPushServiceAddArgs,
newPushServiceAddResult,
false,
kitex.WithStreamingMode(kitex.StreamingNone),
),
"List": kitex.NewMethodInfo(
listHandler,
newPushServiceListArgs,
newPushServiceListResult,
false,
kitex.WithStreamingMode(kitex.StreamingNone),
),
}
var (
pushServiceServiceInfo = NewServiceInfo()
pushServiceServiceInfoForClient = NewServiceInfoForClient()
pushServiceServiceInfoForStreamClient = NewServiceInfoForStreamClient()
)
// for server
func serviceInfo() *kitex.ServiceInfo {
return pushServiceServiceInfo
}
// for client
func serviceInfoForStreamClient() *kitex.ServiceInfo {
return pushServiceServiceInfoForStreamClient
}
// for stream client
func serviceInfoForClient() *kitex.ServiceInfo {
return pushServiceServiceInfoForClient
}
// NewServiceInfo creates a new ServiceInfo containing all methods
func NewServiceInfo() *kitex.ServiceInfo {
return newServiceInfo(false, true, true)
}
// NewServiceInfo creates a new ServiceInfo containing non-streaming methods
func NewServiceInfoForClient() *kitex.ServiceInfo {
return newServiceInfo(false, false, true)
}
func NewServiceInfoForStreamClient() *kitex.ServiceInfo {
return newServiceInfo(true, true, false)
}
func newServiceInfo(hasStreaming bool, keepStreamingMethods bool, keepNonStreamingMethods bool) *kitex.ServiceInfo {
serviceName := "PushService"
handlerType := (*push.PushService)(nil)
methods := map[string]kitex.MethodInfo{}
for name, m := range serviceMethods {
if m.IsStreaming() && !keepStreamingMethods {
continue
}
if !m.IsStreaming() && !keepNonStreamingMethods {
continue
}
methods[name] = m
}
extra := map[string]interface{}{
"PackageName": "push",
}
if hasStreaming {
extra["streaming"] = hasStreaming
}
svcInfo := &kitex.ServiceInfo{
ServiceName: serviceName,
HandlerType: handlerType,
Methods: methods,
PayloadCodec: kitex.Thrift,
KiteXGenVersion: "v0.9.0",
Extra: extra,
}
return svcInfo
}
func pushHandler(ctx context.Context, handler interface{}, arg, result interface{}) error {
realArg := arg.(*push.PushServicePushArgs)
realResult := result.(*push.PushServicePushResult)
success, err := handler.(push.PushService).Push(ctx, realArg.Req)
if err != nil {
return err
}
realResult.Success = success
return nil
}
func newPushServicePushArgs() interface{} {
return push.NewPushServicePushArgs()
}
func newPushServicePushResult() interface{} {
return push.NewPushServicePushResult()
}
func addHandler(ctx context.Context, handler interface{}, arg, result interface{}) error {
realArg := arg.(*push.PushServiceAddArgs)
err := handler.(push.PushService).Add(ctx, realArg.Req)
if err != nil {
return err
}
return nil
}
func newPushServiceAddArgs() interface{} {
return push.NewPushServiceAddArgs()
}
func newPushServiceAddResult() interface{} {
return push.NewPushServiceAddResult()
}
func listHandler(ctx context.Context, handler interface{}, arg, result interface{}) error {
realArg := arg.(*push.PushServiceListArgs)
realResult := result.(*push.PushServiceListResult)
success, err := handler.(push.PushService).List(ctx, realArg.Req)
if err != nil {
return err
}
realResult.Success = success
return nil
}
func newPushServiceListArgs() interface{} {
return push.NewPushServiceListArgs()
}
func newPushServiceListResult() interface{} {
return push.NewPushServiceListResult()
}
type kClient struct {
c client.Client
}
func newServiceClient(c client.Client) *kClient {
return &kClient{
c: c,
}
}
func (p *kClient) Push(ctx context.Context, req *push.PushReq) (r *push.PushResp, err error) {
var _args push.PushServicePushArgs
_args.Req = req
var _result push.PushServicePushResult
if err = p.c.Call(ctx, "Push", &_args, &_result); err != nil {
return
}
return _result.GetSuccess(), nil
}
func (p *kClient) Add(ctx context.Context, req *config.PushConfig) (err error) {
var _args push.PushServiceAddArgs
_args.Req = req
var _result push.PushServiceAddResult
if err = p.c.Call(ctx, "Add", &_args, &_result); err != nil {
return
}
return nil
}
func (p *kClient) List(ctx context.Context, req *push.ListPusherRequest) (r *push.ListPusherResponse, err error) {
var _args push.PushServiceListArgs
_args.Req = req
var _result push.PushServiceListResult
if err = p.c.Call(ctx, "List", &_args, &_result); err != nil {
return
}
return _result.GetSuccess(), nil
}