do reservations
This commit is contained in:
@@ -254,7 +254,14 @@ func (s *PoolServer) AddMultipleItemHandler(w http.ResponseWriter, r *http.Reque
|
||||
return err
|
||||
}
|
||||
|
||||
reply, err := s.ApplyLocal(r.Context(), id, getMultipleAddMessages(r.Context(), setCartItems.Items, setCartItems.Country)...)
|
||||
msgs := getMultipleAddMessages(r.Context(), setCartItems.Items, setCartItems.Country)
|
||||
|
||||
err = s.HandleReservations(r.Context(), id, msgs...)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
reply, err := s.ApplyLocal(r.Context(), id, msgs...)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -274,11 +281,16 @@ func (s *PoolServer) GetReservationTime(item *messages.AddItem) time.Duration {
|
||||
//return nil
|
||||
}
|
||||
|
||||
func (s *PoolServer) HandleReservations(ctx context.Context, cartId cart.CartId, msgs ...*messages.AddItem) error {
|
||||
func (s *PoolServer) HandleReservations(ctx context.Context, cartId cart.CartId, msgs ...proto.Message) error {
|
||||
if s.reservationService == nil {
|
||||
return nil
|
||||
}
|
||||
for _, item := range msgs {
|
||||
for _, msg := range msgs {
|
||||
item, ok := msg.(*messages.AddItem)
|
||||
if !ok {
|
||||
log.Printf("not an AddItem message, skipping reservation, was of type: %T", msg)
|
||||
continue
|
||||
}
|
||||
timeout := s.GetReservationTime(item)
|
||||
if timeout == 0 {
|
||||
continue
|
||||
@@ -320,8 +332,9 @@ func (s *PoolServer) AddSkuRequestHandler(w http.ResponseWriter, r *http.Request
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if s.reservationService != nil {
|
||||
|
||||
err = s.HandleReservations(r.Context(), id, msg)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
reply, err := s.ApplyLocal(r.Context(), id, msg)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user