110 lines
3.1 KiB
Go
110 lines
3.1 KiB
Go
package frontapi
|
|
|
|
import (
|
|
"context"
|
|
front "crossnokaye-interview-assignment/services/front/gen/front"
|
|
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 *itemClient
|
|
}
|
|
|
|
// NewFront returns the front service implementation.
|
|
func NewFront(logger *log.Logger, itemClientConnection *grpc.ClientConn) front.Service {
|
|
|
|
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")
|
|
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
|
|
}
|
|
|
|
// CreateItem implements createItem.
|
|
func (s *frontsrvc) CreateItem(ctx context.Context, p *front.Item) (res *front.Item, err error) {
|
|
res = &front.Item{}
|
|
s.logger.Print("front.createItem")
|
|
return
|
|
}
|
|
|
|
// UpdateItem implements updateItem.
|
|
func (s *frontsrvc) UpdateItem(ctx context.Context, p *front.Item) (res *front.Item, err error) {
|
|
res = &front.Item{}
|
|
s.logger.Print("front.updateItem")
|
|
return
|
|
}
|
|
|
|
// DeleteItem implements deleteItem.
|
|
func (s *frontsrvc) DeleteItem(ctx context.Context, p int) (err error) {
|
|
s.logger.Print("front.deleteItem")
|
|
return
|
|
}
|
|
|
|
// GetCharacter implements getCharacter.
|
|
func (s *frontsrvc) GetCharacter(ctx context.Context, p int) (res *front.Character, err error) {
|
|
res = &front.Character{}
|
|
s.logger.Print("front.getCharacter")
|
|
return
|
|
}
|
|
|
|
// CreateCharacter implements createCharacter.
|
|
func (s *frontsrvc) CreateCharacter(ctx context.Context, p *front.Character) (res *front.Character, err error) {
|
|
res = &front.Character{}
|
|
s.logger.Print("front.createCharacter")
|
|
return
|
|
}
|
|
|
|
// UpdateCharacter implements updateCharacter.
|
|
func (s *frontsrvc) UpdateCharacter(ctx context.Context, p *front.Character) (res *front.Character, err error) {
|
|
res = &front.Character{}
|
|
s.logger.Print("front.updateCharacter")
|
|
return
|
|
}
|
|
|
|
// DeleteCharacter implements deleteCharacter.
|
|
func (s *frontsrvc) DeleteCharacter(ctx context.Context, p int) (err error) {
|
|
s.logger.Print("front.deleteCharacter")
|
|
return
|
|
}
|
|
|
|
// AddItemToInventory implements addItemToInventory.
|
|
func (s *frontsrvc) AddItemToInventory(ctx context.Context, p int) (err error) {
|
|
s.logger.Print("front.addItemToInventory")
|
|
return
|
|
}
|
|
|
|
// RemoveItemFromInventory implements removeItemFromInventory.
|
|
func (s *frontsrvc) RemoveItemFromInventory(ctx context.Context, p int) (err error) {
|
|
s.logger.Print("front.removeItemFromInventory")
|
|
return
|
|
}
|