package item import ( "context" "github.com/golang/protobuf/ptypes/empty" goa "goa.design/goa/v3/pkg" "google.golang.org/grpc" "google.golang.org/protobuf/types/known/emptypb" genClient "crossnokaye-interview-assignment/services/item/gen/grpc/item/client" genItem "crossnokaye-interview-assignment/services/item/gen/item" ) type ( ItemClient interface { GetItemRequest(ctx context.Context, id int32) (*genItem.Item, error) // listItems(ctx context.Context) (*Forecast, error) CreateItemRequest(ctx context.Context, item genItem.Item) (*genItem.Item, error) UpdateItemRequest(ctx context.Context, item genItem.Item) (*genItem.Item, error) DeleteItemRequest(ctx context.Context, id int32) (*empty.Empty, error) } // client is the client implementation. itemClient struct { getItem goa.Endpoint createItem goa.Endpoint updateItem goa.Endpoint deleteItem goa.Endpoint } ) // New instantiates a new forecast service client. func New(clientConnection *grpc.ClientConn) ItemClient { c := genClient.NewClient(clientConnection, grpc.WaitForReady(true)) return &itemClient{c.GetItem(), c.CreateItem(), c.UpdateItem(), c.DeleteItem()} } // createItemRequest implements ItemClient. func (itemClient *itemClient) CreateItemRequest(ctx context.Context, item genItem.Item) (*genItem.Item, error) { res, err := itemClient.createItem(ctx, item) if err != nil { return nil, err } return res.(*genItem.Item), nil } // deleteItemRequest implements ItemClient. func (itemClient *itemClient) DeleteItemRequest(ctx context.Context, id int32) (*emptypb.Empty, error) { panic("unimplemented") } // getItemRequest implements ItemClient. func (itemClient *itemClient) GetItemRequest(ctx context.Context, id int32) (*genItem.Item, error) { panic("unimplemented") } // updateItemRequest implements ItemClient. func (itemClient *itemClient) UpdateItemRequest(ctx context.Context, item genItem.Item) (*genItem.Item, error) { panic("unimplemented") }