Skip to content

Commit

Permalink
dev: add backup
Browse files Browse the repository at this point in the history
  • Loading branch information
zhangxu19830126 committed Nov 27, 2018
1 parent b52cb9a commit 73be69e
Show file tree
Hide file tree
Showing 12 changed files with 3,910 additions and 1,138 deletions.
13 changes: 13 additions & 0 deletions pkg/client/api.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import (

"github.com/fagongzi/gateway/pkg/pb"
"github.com/fagongzi/gateway/pkg/pb/metapb"
"github.com/fagongzi/gateway/pkg/pb/rpcpb"
)

// APIBuilder api builder
Expand Down Expand Up @@ -683,6 +684,18 @@ func (ab *APIBuilder) Commit() (uint64, error) {
return ab.c.putAPI(ab.value)
}

// Build build
func (ab *APIBuilder) Build() (*rpcpb.PutAPIReq, error) {
err := pb.ValidateAPI(&ab.value)
if err != nil {
return nil, err
}

return &rpcpb.PutAPIReq{
API: ab.value,
}, nil
}

func (ab *APIBuilder) getNode(cluster uint64, index int) *metapb.DispatchNode {
var node *metapb.DispatchNode

Expand Down
35 changes: 35 additions & 0 deletions pkg/client/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,10 @@ type Client interface {
RemoveBind(cluster, server uint64) error
RemoveClusterBind(cluster uint64) error
GetBindServers(cluster uint64) ([]uint64, error)

Clean() error
SetID(id uint64) error
Batch(batch *rpcpb.BatchReq) (*rpcpb.BatchRsp, error)
}

// NewClient returns a gateway client, using direct address
Expand Down Expand Up @@ -452,3 +456,34 @@ func (c *client) GetBindServers(cluster uint64) ([]uint64, error) {

return rsp.Servers, nil
}

func (c *client) Clean() error {
meta, err := c.getMetaClient()
if err != nil {
return err
}

_, err = meta.Clean(context.Background(), &rpcpb.CleanReq{})
return err
}

func (c *client) SetID(id uint64) error {
meta, err := c.getMetaClient()
if err != nil {
return err
}

_, err = meta.SetID(context.Background(), &rpcpb.SetIDReq{
ID: id,
})
return err
}

func (c *client) Batch(batch *rpcpb.BatchReq) (*rpcpb.BatchRsp, error) {
meta, err := c.getMetaClient()
if err != nil {
return nil, err
}

return meta.Batch(context.Background(), batch, grpc.FailFast(true))
}
13 changes: 13 additions & 0 deletions pkg/client/cluster.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package client
import (
"github.com/fagongzi/gateway/pkg/pb"
"github.com/fagongzi/gateway/pkg/pb/metapb"
"github.com/fagongzi/gateway/pkg/pb/rpcpb"
)

// ClusterBuilder cluster builder
Expand Down Expand Up @@ -46,3 +47,15 @@ func (cb *ClusterBuilder) Commit() (uint64, error) {

return cb.c.putCluster(cb.value)
}

// Build build
func (cb *ClusterBuilder) Build() (*rpcpb.PutClusterReq, error) {
err := pb.ValidateCluster(&cb.value)
if err != nil {
return nil, err
}

return &rpcpb.PutClusterReq{
Cluster: cb.value,
}, nil
}
13 changes: 13 additions & 0 deletions pkg/client/routing.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package client
import (
"github.com/fagongzi/gateway/pkg/pb"
"github.com/fagongzi/gateway/pkg/pb/metapb"
"github.com/fagongzi/gateway/pkg/pb/rpcpb"
)

// RoutingBuilder routing builder
Expand Down Expand Up @@ -86,3 +87,15 @@ func (rb *RoutingBuilder) Commit() (uint64, error) {

return rb.c.putRouting(rb.value)
}

// Build build
func (rb *RoutingBuilder) Build() (*rpcpb.PutRoutingReq, error) {
err := pb.ValidateRouting(&rb.value)
if err != nil {
return nil, err
}

return &rpcpb.PutRoutingReq{
Routing: rb.value,
}, nil
}
13 changes: 13 additions & 0 deletions pkg/client/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import (

"github.com/fagongzi/gateway/pkg/pb"
"github.com/fagongzi/gateway/pkg/pb/metapb"
"github.com/fagongzi/gateway/pkg/pb/rpcpb"
)

// ServerBuilder server builder
Expand Down Expand Up @@ -144,3 +145,15 @@ func (sb *ServerBuilder) Commit() (uint64, error) {

return sb.c.putServer(sb.value)
}

// Build build
func (sb *ServerBuilder) Build() (*rpcpb.PutServerReq, error) {
err := pb.ValidateServer(&sb.value)
if err != nil {
return nil, err
}

return &rpcpb.PutServerReq{
Server: sb.value,
}, nil
}
Loading

0 comments on commit 73be69e

Please sign in to comment.