46 lines
2.0 KiB
Go
46 lines
2.0 KiB
Go
package activityclient
|
|
|
|
import (
|
|
"context"
|
|
|
|
activityv1 "hyapp.local/api/proto/activity/v1"
|
|
|
|
"google.golang.org/grpc"
|
|
)
|
|
|
|
// Client 是 admin-server 访问 activity-service 任务配置能力的最小 gRPC 依赖。
|
|
type Client interface {
|
|
ListTaskDefinitions(ctx context.Context, req *activityv1.ListTaskDefinitionsRequest) (*activityv1.ListTaskDefinitionsResponse, error)
|
|
UpsertTaskDefinition(ctx context.Context, req *activityv1.UpsertTaskDefinitionRequest) (*activityv1.UpsertTaskDefinitionResponse, error)
|
|
SetTaskDefinitionStatus(ctx context.Context, req *activityv1.SetTaskDefinitionStatusRequest) (*activityv1.SetTaskDefinitionStatusResponse, error)
|
|
RemoveRegionBroadcastMember(ctx context.Context, req *activityv1.RemoveRegionBroadcastMemberRequest) (*activityv1.RemoveRegionBroadcastMemberResponse, error)
|
|
}
|
|
|
|
type GRPCClient struct {
|
|
taskClient activityv1.AdminTaskServiceClient
|
|
broadcastClient activityv1.BroadcastServiceClient
|
|
}
|
|
|
|
func NewGRPC(conn grpc.ClientConnInterface) *GRPCClient {
|
|
return &GRPCClient{
|
|
taskClient: activityv1.NewAdminTaskServiceClient(conn),
|
|
broadcastClient: activityv1.NewBroadcastServiceClient(conn),
|
|
}
|
|
}
|
|
|
|
func (c *GRPCClient) ListTaskDefinitions(ctx context.Context, req *activityv1.ListTaskDefinitionsRequest) (*activityv1.ListTaskDefinitionsResponse, error) {
|
|
return c.taskClient.ListTaskDefinitions(ctx, req)
|
|
}
|
|
|
|
func (c *GRPCClient) UpsertTaskDefinition(ctx context.Context, req *activityv1.UpsertTaskDefinitionRequest) (*activityv1.UpsertTaskDefinitionResponse, error) {
|
|
return c.taskClient.UpsertTaskDefinition(ctx, req)
|
|
}
|
|
|
|
func (c *GRPCClient) SetTaskDefinitionStatus(ctx context.Context, req *activityv1.SetTaskDefinitionStatusRequest) (*activityv1.SetTaskDefinitionStatusResponse, error) {
|
|
return c.taskClient.SetTaskDefinitionStatus(ctx, req)
|
|
}
|
|
|
|
func (c *GRPCClient) RemoveRegionBroadcastMember(ctx context.Context, req *activityv1.RemoveRegionBroadcastMemberRequest) (*activityv1.RemoveRegionBroadcastMemberResponse, error) {
|
|
return c.broadcastClient.RemoveRegionBroadcastMember(ctx, req)
|
|
}
|