more
All checks were successful
Build and Publish / BuildAndDeployAmd64 (push) Successful in 36s
Build and Publish / BuildAndDeployArm64 (push) Successful in 4m29s

This commit is contained in:
matst80
2025-11-28 14:33:26 +01:00
parent 47e69f18a5
commit 330093bdec
13 changed files with 200 additions and 184 deletions

View File

@@ -9,13 +9,14 @@ import (
"net/http"
"time"
messages "git.k6n.net/go-cart-actor/pkg/messages"
"github.com/gogo/protobuf/proto"
"git.k6n.net/go-cart-actor/pkg/messages"
"go.opentelemetry.io/contrib/bridges/otelslog"
"go.opentelemetry.io/otel"
"go.opentelemetry.io/otel/attribute"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure"
"google.golang.org/protobuf/proto"
"google.golang.org/protobuf/types/known/anypb"
)
// RemoteHost mirrors the lightweight controller used for remote node
@@ -105,60 +106,13 @@ func (h *RemoteHost) Apply(ctx context.Context, id uint64, mutation ...proto.Mes
ctx, cancel := context.WithTimeout(ctx, 5*time.Second)
defer cancel()
toSend := make([]*messages.Mutation, len(mutation))
toSend := make([]*anypb.Any, len(mutation))
for i, msg := range mutation {
switch m := msg.(type) {
case *messages.ClearCartRequest:
toSend[i] = &messages.Mutation{Type: &messages.Mutation_ClearCart{ClearCart: m}}
case *messages.AddItem:
toSend[i] = &messages.Mutation{Type: &messages.Mutation_AddItem{AddItem: m}}
case *messages.RemoveItem:
toSend[i] = &messages.Mutation{Type: &messages.Mutation_RemoveItem{RemoveItem: m}}
case *messages.ChangeQuantity:
toSend[i] = &messages.Mutation{Type: &messages.Mutation_ChangeQuantity{ChangeQuantity: m}}
case *messages.SetDelivery:
toSend[i] = &messages.Mutation{Type: &messages.Mutation_SetDelivery{SetDelivery: m}}
case *messages.SetPickupPoint:
toSend[i] = &messages.Mutation{Type: &messages.Mutation_SetPickupPoint{SetPickupPoint: m}}
case *messages.RemoveDelivery:
toSend[i] = &messages.Mutation{Type: &messages.Mutation_RemoveDelivery{RemoveDelivery: m}}
case *messages.SetUserId:
toSend[i] = &messages.Mutation{Type: &messages.Mutation_SetUserId{SetUserId: m}}
case *messages.LineItemMarking:
toSend[i] = &messages.Mutation{Type: &messages.Mutation_LineItemMarking{LineItemMarking: m}}
case *messages.RemoveLineItemMarking:
toSend[i] = &messages.Mutation{Type: &messages.Mutation_RemoveLineItemMarking{RemoveLineItemMarking: m}}
case *messages.SubscriptionAdded:
toSend[i] = &messages.Mutation{Type: &messages.Mutation_SubscriptionAdded{SubscriptionAdded: m}}
case *messages.PaymentDeclined:
toSend[i] = &messages.Mutation{Type: &messages.Mutation_PaymentDeclined{PaymentDeclined: m}}
case *messages.ConfirmationViewed:
toSend[i] = &messages.Mutation{Type: &messages.Mutation_ConfirmationViewed{ConfirmationViewed: m}}
case *messages.CreateCheckoutOrder:
toSend[i] = &messages.Mutation{Type: &messages.Mutation_CreateCheckoutOrder{CreateCheckoutOrder: m}}
case *messages.OrderCreated:
toSend[i] = &messages.Mutation{Type: &messages.Mutation_OrderCreated{OrderCreated: m}}
case *messages.Noop:
toSend[i] = &messages.Mutation{Type: &messages.Mutation_Noop{Noop: m}}
case *messages.InitializeCheckout:
toSend[i] = &messages.Mutation{Type: &messages.Mutation_InitializeCheckout{InitializeCheckout: m}}
case *messages.InventoryReserved:
toSend[i] = &messages.Mutation{Type: &messages.Mutation_InventoryReserved{InventoryReserved: m}}
case *messages.AddVoucher:
toSend[i] = &messages.Mutation{Type: &messages.Mutation_AddVoucher{AddVoucher: m}}
case *messages.RemoveVoucher:
toSend[i] = &messages.Mutation{Type: &messages.Mutation_RemoveVoucher{RemoveVoucher: m}}
case *messages.UpsertSubscriptionDetails:
toSend[i] = &messages.Mutation{Type: &messages.Mutation_UpsertSubscriptionDetails{UpsertSubscriptionDetails: m}}
case *messages.PreConditionFailed:
toSend[i] = &messages.Mutation{Type: &messages.Mutation_PreConditionFailed{PreConditionFailed: m}}
case *messages.AddGiftcard:
toSend[i] = &messages.Mutation{Type: &messages.Mutation_AddGiftcard{AddGiftcard: m}}
case *messages.RemoveGiftcard:
toSend[i] = &messages.Mutation{Type: &messages.Mutation_RemoveGiftcard{RemoveGiftcard: m}}
default:
toSend[i] = nil
anyMsg, err := anypb.New(msg)
if err != nil {
return false, fmt.Errorf("failed to pack message: %w", err)
}
toSend[i] = anyMsg
}
resp, err := h.controlClient.Apply(ctx, &messages.ApplyRequest{