Skip to content
Snippets Groups Projects
Commit f5ded723 authored by Gomez Goiri, Aitor's avatar Gomez Goiri, Aitor
Browse files

Returning error if not existing bid is accepted or rejected

parent b6e361bd
No related branches found
No related tags found
No related merge requests found
...@@ -57,6 +57,7 @@ var ( ...@@ -57,6 +57,7 @@ var (
errChildrenMissmatch = errors.New("number of requested childs and proposed id count mismatch") errChildrenMissmatch = errors.New("number of requested childs and proposed id count mismatch")
errBidirectionalLink = errors.New("failed to bidirectonally link base asset on current transaction") errBidirectionalLink = errors.New("failed to bidirectonally link base asset on current transaction")
errInvalidBidQuantity = errors.New("bid quantity is greater than the available quantity") errInvalidBidQuantity = errors.New("bid quantity is greater than the available quantity")
errInvalidBidder = errors.New("bidder has no registered bid")
) )
// constructor like function // constructor like function
...@@ -192,10 +193,10 @@ func (c BidDecisionController) bidResponse(stub shared.LedgerBuildrStubInterface ...@@ -192,10 +193,10 @@ func (c BidDecisionController) bidResponse(stub shared.LedgerBuildrStubInterface
return nil, nil, err return nil, nil, err
} }
var selectedBid Bid var selectedBid *Bid = nil
for i, bid := range auxArr { for i, bid := range auxArr {
if bid.Bidder.Id == bidDecisionParams.Bidder { if bid.Bidder.Id == bidDecisionParams.Bidder {
selectedBid = bid selectedBid = &bid
if acceptBid { if acceptBid {
auxArr[i].Status = Accepted auxArr[i].Status = Accepted
} else { } else {
...@@ -205,10 +206,14 @@ func (c BidDecisionController) bidResponse(stub shared.LedgerBuildrStubInterface ...@@ -205,10 +206,14 @@ func (c BidDecisionController) bidResponse(stub shared.LedgerBuildrStubInterface
} }
} }
if selectedBid == nil {
return nil, nil, errInvalidBidder
}
biddableAsset.Add("bids", auxArr) biddableAsset.Add("bids", auxArr)
biddableAsset.MarkModification(stub) biddableAsset.MarkModification(stub)
return biddableAsset, &selectedBid, nil return biddableAsset, selectedBid, nil
} }
func (c BidDecisionController) RejectBid(stub shared.LedgerBuildrStubInterface, params shared.LedgerBuildrAsset) protos.Response { func (c BidDecisionController) RejectBid(stub shared.LedgerBuildrStubInterface, params shared.LedgerBuildrAsset) protos.Response {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment