WIP
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@ -13,7 +13,7 @@
|
||||
*.test
|
||||
bin
|
||||
**/cmd
|
||||
**/gen
|
||||
services/**/gen
|
||||
api-cli
|
||||
|
||||
# Output of the go coverage tool, specifically when used with LiteIDE
|
||||
|
14
scripts/gen
Executable file
14
scripts/gen
Executable file
@ -0,0 +1,14 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
GIT_ROOT=$(git rev-parse --show-toplevel)
|
||||
pushd ${GIT_ROOT}
|
||||
|
||||
echo "Generating Goa code..."
|
||||
|
||||
for svc in front character item inventory; do
|
||||
goa gen crossnokaye-interview-assignment/services/${svc}/design -o services/${svc}
|
||||
done
|
||||
|
||||
popd
|
62
services/front/client/item/itemClient.go
Normal file
62
services/front/client/item/itemClient.go
Normal file
@ -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")
|
||||
}
|
Reference in New Issue
Block a user