diff --git a/Makefile b/Makefile index b0b31e1dfe312e8ba8ae22c93fd17e5341d60079..7885775e8a4b394adf66a1fbd6830eab495528ec 100644 --- a/Makefile +++ b/Makefile @@ -88,3 +88,12 @@ mocks: $(MOCKS) mocks-clean: @rm -rf $(MOCKS) + + +# Deprecated +# Генерация кода для go-kit при помощи 'github.com/devimteam/microgen' - go-kit перешел на github.com/recolabs/microgen/cmd/microgen +#MICROGENFILES?=$(shell find . -name "service.go" -exec grep -Ril "microgen" {} \;) +#microgen: $(MICROGENFILES) +# +#%/service.go: % .FORCE +# -microgen -file "$@" -out "$<" diff --git a/pkg/references/transport/client.microgen.go b/pkg/references/transport/client.microgen.go index a79d9192b857e3360087ddae86298e880df93be9..5c0eb4143138bac3e2eecb3713103cf7c347c873 100644 --- a/pkg/references/transport/client.microgen.go +++ b/pkg/references/transport/client.microgen.go @@ -1,4 +1,4 @@ -// Code generated by microgen 0.9.1. DO NOT EDIT. +// Code generated by microgen 1.0.4. DO NOT EDIT. package transport @@ -27,3 +27,21 @@ func (set EndpointsSet) Get(arg0 context.Context, arg1 string, arg2 string, arg3 } return response.(*GetResponse).Items, response.(*GetResponse).Notfound, res2 } + +func (set EndpointsSet) Publish(arg0 context.Context, arg1 string, arg2 string, arg3 []*references.Reference, arg4 bool, arg5 bool) (res0 []*references.Reference, res1 []*references.Reference, res2 []*references.Reference, res3 error) { + request := PublishRequest{ + EnvId: arg2, + Force: arg5, + Recursive: arg4, + References: arg3, + SpaceId: arg1, + } + response, res3 := set.PublishEndpoint(arg0, &request) + if res3 != nil { + if e, ok := status.FromError(res3); ok || e.Code() == codes.Internal || e.Code() == codes.Unknown { + res3 = errors.New(e.Message()) + } + return + } + return response.(*PublishResponse).Published, response.(*PublishResponse).Notfound, response.(*PublishResponse).Unpublished, res3 +} diff --git a/pkg/references/transport/endpoints.microgen.go b/pkg/references/transport/endpoints.microgen.go index 737752a45beef781518c38424e8fe8c31ac47d6a..4993e5172f1e2d56712b236657c992beb974322f 100644 --- a/pkg/references/transport/endpoints.microgen.go +++ b/pkg/references/transport/endpoints.microgen.go @@ -1,4 +1,4 @@ -// Code generated by microgen 0.9.1. DO NOT EDIT. +// Code generated by microgen 1.0.4. DO NOT EDIT. package transport @@ -6,5 +6,6 @@ import endpoint "github.com/go-kit/kit/endpoint" // EndpointsSet implements References API and used for transport purposes. type EndpointsSet struct { - GetEndpoint endpoint.Endpoint + GetEndpoint endpoint.Endpoint + PublishEndpoint endpoint.Endpoint } diff --git a/pkg/references/transport/exchanges.microgen.go b/pkg/references/transport/exchanges.microgen.go index bd31aa2d3f78b6e0d321eb7ce602501056842d16..a0e1774d8b88deb4fb3393473e7efbebbc9a5118 100644 --- a/pkg/references/transport/exchanges.microgen.go +++ b/pkg/references/transport/exchanges.microgen.go @@ -1,10 +1,10 @@ -// Code generated by microgen 0.9.1. DO NOT EDIT. +// Code generated by microgen 1.0.4. DO NOT EDIT. package transport import ( - items "git.perx.ru/perxis/perxis-go/pkg/items" - references "git.perx.ru/perxis/perxis-go/pkg/references" + "git.perx.ru/perxis/perxis-go/pkg/items" + "git.perx.ru/perxis/perxis-go/pkg/references" ) type ( @@ -17,4 +17,17 @@ type ( Items []*items.Item `json:"items"` Notfound []*references.Reference `json:"notfound"` } + + PublishRequest struct { + SpaceId string `json:"space_id"` + EnvId string `json:"env_id"` + References []*references.Reference `json:"references"` + Recursive bool `json:"recursive"` + Force bool `json:"force"` + } + PublishResponse struct { + Published []*references.Reference `json:"published"` + Notfound []*references.Reference `json:"notfound"` + Unpublished []*references.Reference `json:"unpublished"` + } ) diff --git a/pkg/references/transport/grpc/client.microgen.go b/pkg/references/transport/grpc/client.microgen.go index f475ea9cb27f040fbcdb32a06b8893f7975c46ec..0cc0cfe3c18e3274267517d1be1472167ebc21e6 100644 --- a/pkg/references/transport/grpc/client.microgen.go +++ b/pkg/references/transport/grpc/client.microgen.go @@ -1,9 +1,9 @@ -// Code generated by microgen 0.9.1. DO NOT EDIT. +// Code generated by microgen 1.0.4. DO NOT EDIT. package transportgrpc import ( - transport "git.perx.ru/perxis/perxis-go/pkg/references/transport" + "git.perx.ru/perxis/perxis-go/pkg/references/transport" pb "git.perx.ru/perxis/perxis-go/proto/references" grpckit "github.com/go-kit/kit/transport/grpc" grpc "google.golang.org/grpc" @@ -13,11 +13,20 @@ func NewGRPCClient(conn *grpc.ClientConn, addr string, opts ...grpckit.ClientOpt if addr == "" { addr = "content.references.References" } - return transport.EndpointsSet{GetEndpoint: grpckit.NewClient( - conn, addr, "Get", - _Encode_Get_Request, - _Decode_Get_Response, - pb.GetResponse{}, - opts..., - ).Endpoint()} + return transport.EndpointsSet{ + GetEndpoint: grpckit.NewClient( + conn, addr, "Get", + _Encode_Get_Request, + _Decode_Get_Response, + pb.GetResponse{}, + opts..., + ).Endpoint(), + PublishEndpoint: grpckit.NewClient( + conn, addr, "Publish", + _Encode_Publish_Request, + _Decode_Publish_Response, + pb.PublishResponse{}, + opts..., + ).Endpoint(), + } } diff --git a/pkg/references/transport/grpc/protobuf_endpoint_converters.microgen.go b/pkg/references/transport/grpc/protobuf_endpoint_converters.microgen.go index d47c0574bb55f654778bafac1035fbb6ba018d0d..0c995ffcb98960a8257533992cc5e33faaa9aa59 100644 --- a/pkg/references/transport/grpc/protobuf_endpoint_converters.microgen.go +++ b/pkg/references/transport/grpc/protobuf_endpoint_converters.microgen.go @@ -1,4 +1,4 @@ -// Code generated by microgen 0.9.1. DO NOT EDIT. +// Code generated by microgen 1.0.4. DO NOT EDIT. // Please, do not change functions names! package transportgrpc @@ -7,7 +7,7 @@ import ( "context" "errors" - transport "git.perx.ru/perxis/perxis-go/pkg/references/transport" + "git.perx.ru/perxis/perxis-go/pkg/references/transport" pb "git.perx.ru/perxis/perxis-go/proto/references" ) @@ -80,3 +80,87 @@ func _Decode_Get_Response(ctx context.Context, response interface{}) (interface{ Notfound: respNotfound, }, nil } + +func _Encode_Publish_Request(ctx context.Context, request interface{}) (interface{}, error) { + if request == nil { + return nil, errors.New("nil PublishRequest") + } + req := request.(*transport.PublishRequest) + reqReferences, err := ListPtrReferenceToProto(req.References) + if err != nil { + return nil, err + } + return &pb.PublishRequest{ + EnvId: req.EnvId, + Force: req.Force, + Recursive: req.Recursive, + References: reqReferences, + SpaceId: req.SpaceId, + }, nil +} + +func _Encode_Publish_Response(ctx context.Context, response interface{}) (interface{}, error) { + if response == nil { + return nil, errors.New("nil PublishResponse") + } + resp := response.(*transport.PublishResponse) + respPublished, err := ListPtrReferenceToProto(resp.Published) + if err != nil { + return nil, err + } + respNotfound, err := ListPtrReferenceToProto(resp.Notfound) + if err != nil { + return nil, err + } + respUnpublished, err := ListPtrReferenceToProto(resp.Unpublished) + if err != nil { + return nil, err + } + return &pb.PublishResponse{ + Notfound: respNotfound, + Published: respPublished, + Unpublished: respUnpublished, + }, nil +} + +func _Decode_Publish_Request(ctx context.Context, request interface{}) (interface{}, error) { + if request == nil { + return nil, errors.New("nil PublishRequest") + } + req := request.(*pb.PublishRequest) + reqReferences, err := ProtoToListPtrReference(req.References) + if err != nil { + return nil, err + } + return &transport.PublishRequest{ + EnvId: string(req.EnvId), + Force: bool(req.Force), + Recursive: bool(req.Recursive), + References: reqReferences, + SpaceId: string(req.SpaceId), + }, nil +} + +func _Decode_Publish_Response(ctx context.Context, response interface{}) (interface{}, error) { + if response == nil { + return nil, errors.New("nil PublishResponse") + } + resp := response.(*pb.PublishResponse) + respPublished, err := ProtoToListPtrReference(resp.Published) + if err != nil { + return nil, err + } + respNotfound, err := ProtoToListPtrReference(resp.Notfound) + if err != nil { + return nil, err + } + respUnpublished, err := ProtoToListPtrReference(resp.Unpublished) + if err != nil { + return nil, err + } + return &transport.PublishResponse{ + Notfound: respNotfound, + Published: respPublished, + Unpublished: respUnpublished, + }, nil +} diff --git a/pkg/references/transport/grpc/server.microgen.go b/pkg/references/transport/grpc/server.microgen.go index 960cf20350072d36498b2bb57edb8c594d193d28..e5fe77fde5f1463720b2dc9424f2620a464d6f17 100644 --- a/pkg/references/transport/grpc/server.microgen.go +++ b/pkg/references/transport/grpc/server.microgen.go @@ -1,28 +1,37 @@ -// Code generated by microgen 0.9.1. DO NOT EDIT. +// Code generated by microgen 1.0.4. DO NOT EDIT. // DO NOT EDIT. package transportgrpc import ( - transport "git.perx.ru/perxis/perxis-go/pkg/references/transport" + "git.perx.ru/perxis/perxis-go/pkg/references/transport" pb "git.perx.ru/perxis/perxis-go/proto/references" - grpc "github.com/go-kit/kit/transport/grpc" - context "golang.org/x/net/context" + "github.com/go-kit/kit/transport/grpc" + "golang.org/x/net/context" ) type referencesServer struct { - get grpc.Handler + get grpc.Handler + publish grpc.Handler pb.UnsafeReferencesServer } func NewGRPCServer(endpoints *transport.EndpointsSet, opts ...grpc.ServerOption) pb.ReferencesServer { - return &referencesServer{get: grpc.NewServer( - endpoints.GetEndpoint, - _Decode_Get_Request, - _Encode_Get_Response, - opts..., - )} + return &referencesServer{ + get: grpc.NewServer( + endpoints.GetEndpoint, + _Decode_Get_Request, + _Encode_Get_Response, + opts..., + ), + publish: grpc.NewServer( + endpoints.PublishEndpoint, + _Decode_Publish_Request, + _Encode_Publish_Response, + opts..., + ), + } } func (S *referencesServer) Get(ctx context.Context, req *pb.GetRequest) (*pb.GetResponse, error) { @@ -32,3 +41,11 @@ func (S *referencesServer) Get(ctx context.Context, req *pb.GetRequest) (*pb.Get } return resp.(*pb.GetResponse), nil } + +func (S *referencesServer) Publish(ctx context.Context, req *pb.PublishRequest) (*pb.PublishResponse, error) { + _, resp, err := S.publish.ServeGRPC(ctx, req) + if err != nil { + return nil, err + } + return resp.(*pb.PublishResponse), nil +} diff --git a/pkg/references/transport/server.microgen.go b/pkg/references/transport/server.microgen.go index f66b4c6b4b8ff529bb498f11cec2bfce8f79c2bf..581aa61605034fa7fbb4cf025279ba6c38368d4a 100644 --- a/pkg/references/transport/server.microgen.go +++ b/pkg/references/transport/server.microgen.go @@ -1,16 +1,19 @@ -// Code generated by microgen 0.9.1. DO NOT EDIT. +// Code generated by microgen 1.0.4. DO NOT EDIT. package transport import ( "context" - references "git.perx.ru/perxis/perxis-go/pkg/references" - endpoint "github.com/go-kit/kit/endpoint" + "git.perx.ru/perxis/perxis-go/pkg/references" + "github.com/go-kit/kit/endpoint" ) func Endpoints(svc references.References) EndpointsSet { - return EndpointsSet{GetEndpoint: GetEndpoint(svc)} + return EndpointsSet{ + GetEndpoint: GetEndpoint(svc), + PublishEndpoint: PublishEndpoint(svc), + } } func GetEndpoint(svc references.References) endpoint.Endpoint { @@ -23,3 +26,15 @@ func GetEndpoint(svc references.References) endpoint.Endpoint { }, res2 } } + +func PublishEndpoint(svc references.References) endpoint.Endpoint { + return func(arg0 context.Context, request interface{}) (interface{}, error) { + req := request.(*PublishRequest) + res0, res1, res2, res3 := svc.Publish(arg0, req.SpaceId, req.EnvId, req.References, req.Recursive, req.Force) + return &PublishResponse{ + Notfound: res1, + Published: res0, + Unpublished: res2, + }, res3 + } +}