add sets up

This commit is contained in:
mr 2025-06-20 10:50:01 +02:00
parent 82d25b0bee
commit 583ca2fbac

View File

@ -26,21 +26,6 @@ type Bill struct {
Total float64 `json:"total" bson:"total" validate:"required"`
}
func (r *Bill) StoreDraftDefault() {
r.IsDraft = true
}
func (r *Bill) CanUpdate(set utils.DBObject) (bool, utils.DBObject) {
if !r.IsDraft && r.Status != set.(*Bill).Status {
return true, &Bill{Status: set.(*Bill).Status} // only state can be updated
}
return r.IsDraft, set
}
func (r *Bill) CanDelete() bool {
return r.IsDraft // only draft order can be deleted
}
func DraftBill(order *order.Order, request *tools.APIRequest) (*Bill, error) {
peers := map[string][]*PeerItemOrder{}
for _, p := range order.Purchases {
@ -51,6 +36,7 @@ func DraftBill(order *order.Order, request *tools.APIRequest) (*Bill, error) {
peers[p.DestPeerID] = append(peers[p.DestPeerID], &PeerItemOrder{
Purchase: p,
Item: p.PricedItem,
Quantity: 1,
})
}
for _, b := range order.Bookings {
@ -78,10 +64,9 @@ func DraftBill(order *order.Order, request *tools.APIRequest) (*Bill, error) {
if err != nil {
return nil, err
}
pp := pr.(*peer.Peer)
peerOrders[peerID] = &PeerOrder{
PeerID: peerID,
BillingAddress: pp.WalletAddress,
BillingAddress: pr.(*peer.Peer).WalletAddress,
Items: items,
}
}
@ -101,6 +86,21 @@ func (d *Bill) GetAccessor(request *tools.APIRequest) utils.Accessor {
return NewAccessor(request) // Create a new instance of the accessor
}
func (r *Bill) StoreDraftDefault() {
r.IsDraft = true
}
func (r *Bill) CanUpdate(set utils.DBObject) (bool, utils.DBObject) {
if !r.IsDraft && r.Status != set.(*Bill).Status {
return true, &Bill{Status: set.(*Bill).Status} // only state can be updated
}
return r.IsDraft, set
}
func (r *Bill) CanDelete() bool {
return r.IsDraft // only draft order can be deleted
}
func (d *Bill) SumUpBill(request *tools.APIRequest) (*Bill, error) {
for _, b := range d.SubOrders {
err := b.SumUpBill(request)