Skip to content
Snippets Groups Projects
protobuf_endpoint_converters.microgen.go 4.26 KiB
// Code generated by microgen 1.0.4. DO NOT EDIT.

// Please, do not change functions names!
package transportgrpc

import (
	"context"
	"errors"

	"git.perx.ru/perxis/perxis-go/pkg/references/transport"
	pb "git.perx.ru/perxis/perxis-go/proto/references"
)

func _Encode_Get_Request(ctx context.Context, request interface{}) (interface{}, error) {
	if request == nil {
		return nil, errors.New("nil GetRequest")
	}
	req := request.(*transport.GetRequest)
	reqReferences, err := ListPtrReferenceToProto(req.References)
	if err != nil {
		return nil, err
	}
	return &pb.GetRequest{
		EnvId:      req.EnvId,
		References: reqReferences,
		SpaceId:    req.SpaceId,
	}, 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)
	respItems, err := ListPtrItemsItemToProto(resp.Items)
	if err != nil {
		return nil, err
	}
	respNotfound, err := ListPtrReferenceToProto(resp.Notfound)
	if err != nil {
		return nil, err
	}
	return &pb.GetResponse{
		Items:    respItems,
		Notfound: respNotfound,
	}, nil
}

func _Decode_Get_Request(ctx context.Context, request interface{}) (interface{}, error) {
	if request == nil {
		return nil, errors.New("nil GetRequest")
	}
	req := request.(*pb.GetRequest)
	reqReferences, err := ProtoToListPtrReference(req.References)
	if err != nil {
		return nil, err
	}
	return &transport.GetRequest{
		EnvId:      string(req.EnvId),
		References: reqReferences,
		SpaceId:    string(req.SpaceId),
	}, 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)
	respItems, err := ProtoToListPtrItemsItem(resp.Items)
	if err != nil {
		return nil, err
	}
	respNotfound, err := ProtoToListPtrReference(resp.Notfound)
	if err != nil {
		return nil, err
	}
	return &transport.GetResponse{
		Items:    respItems,
		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
}