From cd089a2cb01c3279ae061b3b183f85f7854b5ff8 Mon Sep 17 00:00:00 2001
From: Valera Shaitorov <shaitorov@perx.ru>
Date: Tue, 6 Jun 2023 14:29:19 +0700
Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=BD=D0=B5=D1=81?=
 =?UTF-8?q?=D0=B5=D0=BD=D1=82=20=D1=82=D1=80=D0=B0=D0=BD=D1=81=D0=BF=D0=BE?=
 =?UTF-8?q?=D1=80=D1=82=20=D0=B4=D0=BB=D1=8F=20content.version?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 perxis-proto                                  |  2 +-
 .../versions}/transport/client.microgen.go    |  0
 .../versions}/transport/endpoints.microgen.go |  0
 .../versions}/transport/exchanges.microgen.go |  0
 .../transport/grpc/client.microgen.go         | 23 ++++++++++
 .../protobuf_endpoint_converters.microgen.go  | 44 +++++++++++++++++++
 .../grpc/protobuf_type_converters.microgen.go | 40 +++++++++++++++++
 .../transport/grpc/server.microgen.go         | 35 +++++++++++++++
 .../versions/transport/server.microgen.go     | 20 +++++++++
 .../versions/transport/client.microgen.go     | 24 ++++++++++
 .../versions/transport/endpoints.microgen.go  | 10 +++++
 .../versions/transport/exchanges.microgen.go  | 13 ++++++
 .../transport/grpc/client.microgen.go         |  2 +-
 .../protobuf_endpoint_converters.microgen.go  |  2 +-
 .../grpc/protobuf_type_converters.microgen.go |  0
 .../transport/grpc/server.microgen.go         |  2 +-
 .../versions}/transport/server.microgen.go    |  0
 17 files changed, 213 insertions(+), 4 deletions(-)
 rename pkg/{version => account/versions}/transport/client.microgen.go (100%)
 rename pkg/{version => account/versions}/transport/endpoints.microgen.go (100%)
 rename pkg/{version => account/versions}/transport/exchanges.microgen.go (100%)
 create mode 100644 pkg/account/versions/transport/grpc/client.microgen.go
 create mode 100644 pkg/account/versions/transport/grpc/protobuf_endpoint_converters.microgen.go
 create mode 100644 pkg/account/versions/transport/grpc/protobuf_type_converters.microgen.go
 create mode 100644 pkg/account/versions/transport/grpc/server.microgen.go
 create mode 100644 pkg/account/versions/transport/server.microgen.go
 create mode 100644 pkg/content/versions/transport/client.microgen.go
 create mode 100644 pkg/content/versions/transport/endpoints.microgen.go
 create mode 100644 pkg/content/versions/transport/exchanges.microgen.go
 rename pkg/{version => content/versions}/transport/grpc/client.microgen.go (88%)
 rename pkg/{version => content/versions}/transport/grpc/protobuf_endpoint_converters.microgen.go (94%)
 rename pkg/{version => content/versions}/transport/grpc/protobuf_type_converters.microgen.go (100%)
 rename pkg/{version => content/versions}/transport/grpc/server.microgen.go (92%)
 rename pkg/{version => content/versions}/transport/server.microgen.go (100%)

diff --git a/perxis-proto b/perxis-proto
index 8606df02..f000812a 160000
--- a/perxis-proto
+++ b/perxis-proto
@@ -1 +1 @@
-Subproject commit 8606df02e0df6807e503bf22471a295020a47fba
+Subproject commit f000812a1eef24093c0d0abf1318e3179b679773
diff --git a/pkg/version/transport/client.microgen.go b/pkg/account/versions/transport/client.microgen.go
similarity index 100%
rename from pkg/version/transport/client.microgen.go
rename to pkg/account/versions/transport/client.microgen.go
diff --git a/pkg/version/transport/endpoints.microgen.go b/pkg/account/versions/transport/endpoints.microgen.go
similarity index 100%
rename from pkg/version/transport/endpoints.microgen.go
rename to pkg/account/versions/transport/endpoints.microgen.go
diff --git a/pkg/version/transport/exchanges.microgen.go b/pkg/account/versions/transport/exchanges.microgen.go
similarity index 100%
rename from pkg/version/transport/exchanges.microgen.go
rename to pkg/account/versions/transport/exchanges.microgen.go
diff --git a/pkg/account/versions/transport/grpc/client.microgen.go b/pkg/account/versions/transport/grpc/client.microgen.go
new file mode 100644
index 00000000..2e029d6c
--- /dev/null
+++ b/pkg/account/versions/transport/grpc/client.microgen.go
@@ -0,0 +1,23 @@
+// Code generated by microgen 0.9.1. DO NOT EDIT.
+
+package transportgrpc
+
+import (
+	transport "git.perx.ru/perxis/perxis-go/pkg/account/versions/transport"
+	pb "git.perx.ru/perxis/perxis-go/proto/versions/account"
+	grpckit "github.com/go-kit/kit/transport/grpc"
+	grpc "google.golang.org/grpc"
+)
+
+func NewGRPCClient(conn *grpc.ClientConn, addr string, opts ...grpckit.ClientOption) transport.EndpointsSet {
+	if addr == "" {
+		addr = "account.Versions"
+	}
+	return transport.EndpointsSet{GetEndpoint: grpckit.NewClient(
+		conn, addr, "Get",
+		_Encode_Get_Request,
+		_Decode_Get_Response,
+		pb.GetResponse{},
+		opts...,
+	).Endpoint()}
+}
diff --git a/pkg/account/versions/transport/grpc/protobuf_endpoint_converters.microgen.go b/pkg/account/versions/transport/grpc/protobuf_endpoint_converters.microgen.go
new file mode 100644
index 00000000..a39b9b3e
--- /dev/null
+++ b/pkg/account/versions/transport/grpc/protobuf_endpoint_converters.microgen.go
@@ -0,0 +1,44 @@
+// Code generated by microgen 0.9.1. DO NOT EDIT.
+
+// Please, do not change functions names!
+package transportgrpc
+
+import (
+	"context"
+	"errors"
+	transport "git.perx.ru/perxis/perxis-go/pkg/account/versions/transport"
+	pb "git.perx.ru/perxis/perxis-go/proto/versions/account"
+	empty "github.com/golang/protobuf/ptypes/empty"
+)
+
+func _Encode_Get_Request(ctx context.Context, request interface{}) (interface{}, error) {
+	return &empty.Empty{}, nil
+}
+
+func _Encode_Get_Response(ctx context.Context, response interface{}) (interface{}, error) {
+	if response == nil {
+		return nil, errors.New("nil GetResponse")
+	}
+	resp := response.(*transport.GetResponse)
+	respVersion, err := PtrVersionsVersionToProto(resp.Version)
+	if err != nil {
+		return nil, err
+	}
+	return &pb.GetResponse{Version: respVersion}, nil
+}
+
+func _Decode_Get_Request(ctx context.Context, request interface{}) (interface{}, error) {
+	return &empty.Empty{}, nil
+}
+
+func _Decode_Get_Response(ctx context.Context, response interface{}) (interface{}, error) {
+	if response == nil {
+		return nil, errors.New("nil GetResponse")
+	}
+	resp := response.(*pb.GetResponse)
+	respVersion, err := ProtoToPtrVersionsVersion(resp.Version)
+	if err != nil {
+		return nil, err
+	}
+	return &transport.GetResponse{Version: respVersion}, nil
+}
diff --git a/pkg/account/versions/transport/grpc/protobuf_type_converters.microgen.go b/pkg/account/versions/transport/grpc/protobuf_type_converters.microgen.go
new file mode 100644
index 00000000..d57d8fc9
--- /dev/null
+++ b/pkg/account/versions/transport/grpc/protobuf_type_converters.microgen.go
@@ -0,0 +1,40 @@
+// Code generated by microgen 0.9.1. DO NOT EDIT.
+
+// It is better for you if you do not change functions names!
+// This file will never be overwritten.
+package transportgrpc
+
+import (
+	"git.perx.ru/perxis/perxis-go/pkg/version"
+	"git.perx.ru/perxis/perxis-go/proto/common"
+)
+
+func PtrVersionsVersionToProto(version *version.Version) (*common.Version, error) {
+	pVersion := &common.Version{
+		ApiVersion:    version.APIVersion,
+		ServerVersion: version.ServerVersion,
+		Commit:        version.Commit,
+		BuildTime:     version.BuildTime,
+		BuildNumber:   int32(version.BuildNumber),
+	}
+	return pVersion, nil
+}
+
+func ProtoToPtrVersionsVersion(protoVersion *common.Version) (*version.Version, error) {
+	version := &version.Version{
+		APIVersion:    protoVersion.ApiVersion,
+		ServerVersion: protoVersion.ServerVersion,
+		Commit:        protoVersion.Commit,
+		BuildTime:     protoVersion.BuildTime,
+		BuildNumber:   int(protoVersion.BuildNumber),
+	}
+	return version, nil
+}
+
+func PtrVersionVersionToProto(version *version.Version) (*common.Version, error) {
+	panic("function not provided") // TODO: provide converter
+}
+
+func ProtoToPtrVersionVersion(protoVersion *common.Version) (*version.Version, error) {
+	panic("function not provided") // TODO: provide converter
+}
diff --git a/pkg/account/versions/transport/grpc/server.microgen.go b/pkg/account/versions/transport/grpc/server.microgen.go
new file mode 100644
index 00000000..9de34e92
--- /dev/null
+++ b/pkg/account/versions/transport/grpc/server.microgen.go
@@ -0,0 +1,35 @@
+// Code generated by microgen 0.9.1. DO NOT EDIT.
+
+// DO NOT EDIT.
+package transportgrpc
+
+import (
+	transport "git.perx.ru/perxis/perxis-go/pkg/account/versions/transport"
+	pb "git.perx.ru/perxis/perxis-go/proto/versions/account"
+	grpc "github.com/go-kit/kit/transport/grpc"
+	empty "github.com/golang/protobuf/ptypes/empty"
+	context "golang.org/x/net/context"
+)
+
+type versionsServer struct {
+	get grpc.Handler
+
+	pb.UnimplementedVersionsServer
+}
+
+func NewGRPCServer(endpoints *transport.EndpointsSet, opts ...grpc.ServerOption) pb.VersionsServer {
+	return &versionsServer{get: grpc.NewServer(
+		endpoints.GetEndpoint,
+		_Decode_Get_Request,
+		_Encode_Get_Response,
+		opts...,
+	)}
+}
+
+func (S *versionsServer) Get(ctx context.Context, req *empty.Empty) (*pb.GetResponse, error) {
+	_, resp, err := S.get.ServeGRPC(ctx, req)
+	if err != nil {
+		return nil, err
+	}
+	return resp.(*pb.GetResponse), nil
+}
diff --git a/pkg/account/versions/transport/server.microgen.go b/pkg/account/versions/transport/server.microgen.go
new file mode 100644
index 00000000..c4df6a7e
--- /dev/null
+++ b/pkg/account/versions/transport/server.microgen.go
@@ -0,0 +1,20 @@
+// Code generated by microgen 0.9.1. DO NOT EDIT.
+
+package transport
+
+import (
+	"context"
+	versions "git.perx.ru/perxis/perxis-go/pkg/version"
+	endpoint "github.com/go-kit/kit/endpoint"
+)
+
+func Endpoints(svc versions.Versions) EndpointsSet {
+	return EndpointsSet{GetEndpoint: GetEndpoint(svc)}
+}
+
+func GetEndpoint(svc versions.Versions) endpoint.Endpoint {
+	return func(arg0 context.Context, request interface{}) (interface{}, error) {
+		res0, res1 := svc.Get(arg0)
+		return &GetResponse{Version: res0}, res1
+	}
+}
diff --git a/pkg/content/versions/transport/client.microgen.go b/pkg/content/versions/transport/client.microgen.go
new file mode 100644
index 00000000..ec9a6965
--- /dev/null
+++ b/pkg/content/versions/transport/client.microgen.go
@@ -0,0 +1,24 @@
+// Code generated by microgen 0.9.1. DO NOT EDIT.
+
+package transport
+
+import (
+	"context"
+	"errors"
+
+	version "git.perx.ru/perxis/perxis-go/pkg/version"
+	codes "google.golang.org/grpc/codes"
+	status "google.golang.org/grpc/status"
+)
+
+func (set EndpointsSet) Get(arg0 context.Context) (res0 *version.Version, res1 error) {
+	request := GetRequest{}
+	response, res1 := set.GetEndpoint(arg0, &request)
+	if res1 != nil {
+		if e, ok := status.FromError(res1); ok || e.Code() == codes.Internal || e.Code() == codes.Unknown {
+			res1 = errors.New(e.Message())
+		}
+		return
+	}
+	return response.(*GetResponse).Version, res1
+}
diff --git a/pkg/content/versions/transport/endpoints.microgen.go b/pkg/content/versions/transport/endpoints.microgen.go
new file mode 100644
index 00000000..b670fc2b
--- /dev/null
+++ b/pkg/content/versions/transport/endpoints.microgen.go
@@ -0,0 +1,10 @@
+// Code generated by microgen 0.9.1. DO NOT EDIT.
+
+package transport
+
+import endpoint "github.com/go-kit/kit/endpoint"
+
+// EndpointsSet implements Versions API and used for transport purposes.
+type EndpointsSet struct {
+	GetEndpoint endpoint.Endpoint
+}
diff --git a/pkg/content/versions/transport/exchanges.microgen.go b/pkg/content/versions/transport/exchanges.microgen.go
new file mode 100644
index 00000000..11c9bfbd
--- /dev/null
+++ b/pkg/content/versions/transport/exchanges.microgen.go
@@ -0,0 +1,13 @@
+// Code generated by microgen 0.9.1. DO NOT EDIT.
+
+package transport
+
+import version "git.perx.ru/perxis/perxis-go/pkg/version"
+
+type (
+	// Formal exchange type, please do not delete.
+	GetRequest  struct{}
+	GetResponse struct {
+		Version *version.Version `json:"version"`
+	}
+)
diff --git a/pkg/version/transport/grpc/client.microgen.go b/pkg/content/versions/transport/grpc/client.microgen.go
similarity index 88%
rename from pkg/version/transport/grpc/client.microgen.go
rename to pkg/content/versions/transport/grpc/client.microgen.go
index 237f175e..abe65ad7 100644
--- a/pkg/version/transport/grpc/client.microgen.go
+++ b/pkg/content/versions/transport/grpc/client.microgen.go
@@ -3,7 +3,7 @@
 package transportgrpc
 
 import (
-	transport "git.perx.ru/perxis/perxis-go/pkg/version/transport"
+	"git.perx.ru/perxis/perxis-go/pkg/content/versions/transport"
 	pb "git.perx.ru/perxis/perxis-go/proto/versions/content"
 	grpckit "github.com/go-kit/kit/transport/grpc"
 	grpc "google.golang.org/grpc"
diff --git a/pkg/version/transport/grpc/protobuf_endpoint_converters.microgen.go b/pkg/content/versions/transport/grpc/protobuf_endpoint_converters.microgen.go
similarity index 94%
rename from pkg/version/transport/grpc/protobuf_endpoint_converters.microgen.go
rename to pkg/content/versions/transport/grpc/protobuf_endpoint_converters.microgen.go
index 26396d63..ccb07ffb 100644
--- a/pkg/version/transport/grpc/protobuf_endpoint_converters.microgen.go
+++ b/pkg/content/versions/transport/grpc/protobuf_endpoint_converters.microgen.go
@@ -7,7 +7,7 @@ import (
 	"context"
 	"errors"
 
-	transport "git.perx.ru/perxis/perxis-go/pkg/version/transport"
+	"git.perx.ru/perxis/perxis-go/pkg/content/versions/transport"
 	pb "git.perx.ru/perxis/perxis-go/proto/versions/content"
 	empty "github.com/golang/protobuf/ptypes/empty"
 )
diff --git a/pkg/version/transport/grpc/protobuf_type_converters.microgen.go b/pkg/content/versions/transport/grpc/protobuf_type_converters.microgen.go
similarity index 100%
rename from pkg/version/transport/grpc/protobuf_type_converters.microgen.go
rename to pkg/content/versions/transport/grpc/protobuf_type_converters.microgen.go
diff --git a/pkg/version/transport/grpc/server.microgen.go b/pkg/content/versions/transport/grpc/server.microgen.go
similarity index 92%
rename from pkg/version/transport/grpc/server.microgen.go
rename to pkg/content/versions/transport/grpc/server.microgen.go
index 63586ae3..6457395d 100644
--- a/pkg/version/transport/grpc/server.microgen.go
+++ b/pkg/content/versions/transport/grpc/server.microgen.go
@@ -4,7 +4,7 @@
 package transportgrpc
 
 import (
-	transport "git.perx.ru/perxis/perxis-go/pkg/version/transport"
+	"git.perx.ru/perxis/perxis-go/pkg/content/versions/transport"
 	pb "git.perx.ru/perxis/perxis-go/proto/versions/content"
 	grpc "github.com/go-kit/kit/transport/grpc"
 	empty "github.com/golang/protobuf/ptypes/empty"
diff --git a/pkg/version/transport/server.microgen.go b/pkg/content/versions/transport/server.microgen.go
similarity index 100%
rename from pkg/version/transport/server.microgen.go
rename to pkg/content/versions/transport/server.microgen.go
-- 
GitLab