Files
crossnokaye-interview-assig…/services/front/client/item/itemClient.go

63 lines
1.9 KiB
Go

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")
}