From 8be78506d8d0ca51101b1fcacf1a1b1834f0cc11 Mon Sep 17 00:00:00 2001 From: Brandon Watson Date: Sat, 12 Aug 2023 19:13:13 -0400 Subject: [PATCH] WIP --- services/front/client/item/itemClient.go | 62 ++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 services/front/client/item/itemClient.go diff --git a/services/front/client/item/itemClient.go b/services/front/client/item/itemClient.go new file mode 100644 index 0000000..5b94507 --- /dev/null +++ b/services/front/client/item/itemClient.go @@ -0,0 +1,62 @@ +package itemClient + +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") +}