2 Commits

Author SHA1 Message Date
matst80
e8643b5899 return error if unable to connect
All checks were successful
Build and Publish / BuildAndDeploy (push) Successful in 1m54s
2024-11-10 22:37:39 +01:00
matst80
c12d40ec81 update cart model 2024-11-10 22:33:04 +01:00
5 changed files with 40 additions and 5 deletions

View File

@@ -25,17 +25,27 @@ func (id *CartId) UnmarshalJSON(data []byte) error {
}
type CartItem struct {
Id int `json:"id"`
Sku string `json:"sku"`
Name string `json:"name"`
Price int64 `json:"price"`
Image string `json:"image"`
}
type CartDelivery struct {
Provider string `json:"provider"`
Price int64 `json:"price"`
Items []int `json:"items"`
}
type CartGrain struct {
lastItemId int
lastDeliveryId int
storageMessages []Message
Id CartId `json:"id"`
Items []CartItem `json:"items"`
TotalPrice int64 `json:"totalPrice"`
Deliveries []string `json:"deliveries,omitempty"`
}
type Grain interface {
@@ -127,7 +137,9 @@ func (c *CartGrain) HandleMessage(message *Message, isReplay bool) ([]byte, erro
if !ok {
err = fmt.Errorf("expected AddItem")
} else {
c.lastItemId++
c.Items = append(c.Items, CartItem{
Id: c.lastItemId,
Sku: msg.Sku,
Name: msg.Name,
Price: msg.Price,
@@ -135,6 +147,12 @@ func (c *CartGrain) HandleMessage(message *Message, isReplay bool) ([]byte, erro
})
c.TotalPrice += msg.Price
}
case RemoveItemType:
//msg, ok := message.Content.(*messages.RemoveItem)
case AddDeliveryType:
c.lastDeliveryId++
//msg, ok := message.Content.(*messages.AddDelivery)
case RemoveDeliveryType:
default:
err = fmt.Errorf("unknown message type %d", message.Type)
}

View File

@@ -101,7 +101,7 @@ func main() {
var config *rest.Config
var kerr error
if podIp == "" {
config, kerr = clientcmd.BuildConfigFromFlags("", "/home/mats/.kube/config")
config, kerr = clientcmd.BuildConfigFromFlags("", "/Users/mats/.kube/config")
} else {
config, kerr = rest.InClusterConfig()
}

View File

@@ -3,4 +3,7 @@ package main
const (
AddRequestType = 1
AddItemType = 2
AddDeliveryType = 3
RemoveItemType = 4
RemoveDeliveryType = 5
)

View File

@@ -14,8 +14,21 @@ message AddItem {
string Image = 6;
}
message Negotiate {
repeated Host host = 1;
message RemoteItem {
int64 Id = 1;
}
message ChangeQuantity {
int32 Quantity = 1;
}
message SetDelivery {
string Provider = 1;
repeated int64 Items = 2;
}
message RemoveDelivery {
int64 Id = 1;
}

View File

@@ -378,6 +378,7 @@ func (p *SyncedPool) AddRemote(host string) error {
client, err := Dial(fmt.Sprintf("%s:1338", host))
if err != nil {
log.Printf("Error connecting to remote %s: %v\n", host, err)
return err
}
_, err = client.Call(Ping, Pong, []byte{})