Skip to content
This repository was archived by the owner on Mar 28, 2023. It is now read-only.

Commit d675eae

Browse files
committed
feat: Save refund message in database
1 parent a57b7d0 commit d675eae

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

core/net.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -443,10 +443,26 @@ func (n *OpenBazaarNode) SendRefund(peerID string, refundMessage *pb.RicardianCo
443443
log.Errorf("failed to marshal the contract: %v", err)
444444
return err
445445
}
446+
// Create the REFUND message
446447
m := pb.Message{
447448
MessageType: pb.Message_REFUND,
448449
Payload: a,
449450
}
451+
452+
// Save REFUND message to the database for this order for resending if necessary
453+
orderID0 := refundMessage.Refund.OrderID
454+
if orderID0 == "" {
455+
log.Errorf("failed fetching orderID")
456+
} else {
457+
err = n.Datastore.Messages().Put(
458+
fmt.Sprintf("%s-%d", orderID0, int(pb.Message_REFUND)),
459+
orderID0, pb.Message_REFUND, peerID, repo.Message{Msg: m},
460+
"", 0, []byte{})
461+
if err != nil {
462+
log.Errorf("failed putting message (%s-%d): %v", orderID0, int(pb.Message_REFUND), err)
463+
}
464+
}
465+
450466
k, err := libp2p.UnmarshalPublicKey(refundMessage.GetBuyerOrder().GetBuyerID().GetPubkeys().Identity)
451467
if err != nil {
452468
log.Errorf("failed to unmarshal publicKey: %v", err)

0 commit comments

Comments
 (0)