package ledger

import (
	"github.com/tech/sendico/pkg/model"
	"github.com/tech/sendico/pkg/mservice"
	"github.com/shopspring/decimal"
	"go.mongodb.org/mongo-driver/bson/primitive"
)

type AccountBalance struct {
	model.PermissionBound `bson:",inline" json:",inline"`
	LedgerAccountRef      primitive.ObjectID `bson:"ledgerAccountRef" json:"ledgerAccountRef"` // unique
	Balance               decimal.Decimal    `bson:"balance" json:"balance"`
	Version               int64              `bson:"version" json:"version"` // for optimistic locking
}

func (a *AccountBalance) Collection() string {
	return mservice.LedgerBalances
}
