service backend
All checks were successful
ci/woodpecker/push/db Pipeline was successful
ci/woodpecker/push/nats Pipeline was successful

This commit is contained in:
Stephan D
2025-11-07 18:35:26 +01:00
parent 20e8f9acc4
commit 62a6631b9a
537 changed files with 48453 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
// posting_line.go
package ledger
import (
"github.com/tech/sendico/pkg/db/storable"
"github.com/tech/sendico/pkg/model"
"github.com/tech/sendico/pkg/mservice"
"github.com/shopspring/decimal"
"go.mongodb.org/mongo-driver/bson/primitive"
)
// LineType is a closed set of posting line roles within an entry.
type LineType string
const (
LineMain LineType = "main"
LineFee LineType = "fee"
LineSpread LineType = "spread"
LineReversal LineType = "reversal"
)
type PostingLine struct {
storable.Base `bson:",inline" json:",inline"`
JournalEntryRef primitive.ObjectID `bson:"journalEntryRef" json:"journalEntryRef"`
LedgerAccountRef primitive.ObjectID `bson:"ledgerAccountRef" json:"ledgerAccountRef"`
// Amount sign convention: positive = credit, negative = debit
Amount decimal.Decimal `bson:"amount" json:"amount"`
Currency model.Currency `bson:"currency" json:"currency"`
LineType LineType `bson:"lineType" json:"lineType"`
}
func (p *PostingLine) Collection() string {
return mservice.LedgerPlines
}