Successfully returning getItem response from item service
This commit is contained in:
@ -3,29 +3,49 @@ package frontapi
|
||||
import (
|
||||
"context"
|
||||
front "crossnokaye-interview-assignment/services/front/gen/front"
|
||||
genClient "crossnokaye-interview-assignment/services/item/gen/grpc/item/client"
|
||||
genItemClient "crossnokaye-interview-assignment/services/item/gen/grpc/item/client"
|
||||
genItem "crossnokaye-interview-assignment/services/item/gen/item"
|
||||
goa "goa.design/goa/v3/pkg"
|
||||
"google.golang.org/grpc"
|
||||
"log"
|
||||
)
|
||||
|
||||
type itemClient struct {
|
||||
getItem goa.Endpoint
|
||||
createItem goa.Endpoint
|
||||
updateItem goa.Endpoint
|
||||
deleteItem goa.Endpoint
|
||||
}
|
||||
|
||||
// front service example implementation.
|
||||
// The example methods log the requests and return zero values.
|
||||
type frontsrvc struct {
|
||||
logger *log.Logger
|
||||
|
||||
itemClient *genClient.Client
|
||||
itemClient *itemClient
|
||||
}
|
||||
|
||||
// NewFront returns the front service implementation.
|
||||
func NewFront(logger *log.Logger, itemClientConnection *grpc.ClientConn) front.Service {
|
||||
|
||||
return &frontsrvc{logger: logger, itemClient: genClient.NewClient(itemClientConnection)}
|
||||
ic := genItemClient.NewClient(itemClientConnection)
|
||||
return &frontsrvc{logger: logger, itemClient: &itemClient{
|
||||
ic.GetItem(),
|
||||
ic.CreateItem(),
|
||||
ic.UpdateItem(),
|
||||
ic.DeleteItem()}}
|
||||
|
||||
}
|
||||
|
||||
// GetItem implements getItem.
|
||||
func (s *frontsrvc) GetItem(ctx context.Context, id int) (res *front.Item, err error) {
|
||||
s.logger.Print("front.getItem")
|
||||
s.logger.Print(s.itemClient.GetItem())
|
||||
getItemResponse, err := s.itemClient.getItem(ctx, &genItem.GetItemPayload{ID: &id})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
item := getItemResponse.(*genItem.Item)
|
||||
res = (*front.Item)(item)
|
||||
return
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user