Documentation
¶
Index ¶
- type Config
- type Engine
- func (e *Engine) AreLinesBillableAsOf(ctx context.Context, input billing.AreLinesBillableAsOfInput) ([]billing.IsLineBillableAsOfResult, error)
- func (e *Engine) BuildStandardInvoiceLines(ctx context.Context, input billing.BuildStandardInvoiceLinesInput) (billing.StandardLines, error)
- func (e *Engine) BuildStandardLinesForGatheringPreview(ctx context.Context, input billing.BuildStandardInvoiceLinesInput) (billing.StandardLines, error)
- func (e *Engine) GateInvoiceAssignment(context.Context, billing.GateInvoiceAssignmentInput) (billing.GateInvoiceAssignmentResult, error)
- func (e *Engine) GetLineEngineType() billing.LineEngineType
- func (e *Engine) OnCollectionCompleted(ctx context.Context, input billing.OnCollectionCompletedInput) (billing.StandardLines, error)
- func (e *Engine) OnInvoiceFinalizing(_ context.Context, input billing.OnInvoiceFinalizingInput) (billing.StandardLines, error)
- func (e *Engine) OnInvoiceIssued(_ context.Context, _ billing.OnInvoiceIssuedInput) error
- func (e *Engine) OnMutableInvoiceLinesEditedViaAPI(ctx context.Context, input billing.OnMutableInvoiceUpdateInput) (billing.OnMutableInvoiceUpdateResult, error)
- func (e *Engine) OnMutableStandardLinesDeletedBySystem(_ context.Context, _ billing.OnMutableStandardLinesDeletedInput) error
- func (e *Engine) OnPaymentAuthorized(_ context.Context, _ billing.OnPaymentAuthorizedInput) error
- func (e *Engine) OnPaymentSettled(_ context.Context, _ billing.OnPaymentSettledInput) error
- func (e *Engine) OnStandardInvoiceCreated(_ context.Context, input billing.OnStandardInvoiceCreatedInput) (billing.StandardLines, error)
- func (e *Engine) OnUnsupportedCreditNote(_ context.Context, _ billing.OnUnsupportedCreditNoteInput) error
- func (e *Engine) RateStandardLines(lines billing.StandardLines) (billing.StandardLines, error)
- func (e *Engine) RecalculateStandardLine(ctx context.Context, input RecalculateStandardLineInput) (*billing.StandardLine, error)
- func (e *Engine) ResolveSplitLineGroupHeaders(ctx context.Context, ns string, lines billing.StandardLines) error
- func (e *Engine) SnapshotLineQuantities(ctx context.Context, invoice billing.StandardInvoice, ...) error
- func (e *Engine) SnapshotLineQuantity(ctx context.Context, input SnapshotLineQuantityInput) (*billing.StandardLine, error)
- func (e *Engine) SplitGatheringLine(ctx context.Context, in billing.SplitGatheringLineInput) (billing.SplitGatheringLineResult, error)
- func (e *Engine) ValidateMutableInvoiceLineEditViaAPI(_ context.Context, input billing.OnMutableInvoiceUpdateInput) error
- type RecalculateStandardLineInput
- type SnapshotLineQuantityInput
- type SplitLineGroupAdapter
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
SplitLineGroupAdapter SplitLineGroupAdapter
RatingService rating.Service
FeatureMeterResolver *billingfeaturemeterservice.Resolver
StreamingConnector streaming.Connector
MaxParallelQuantitySnapshots int
}
type Engine ¶
type Engine struct {
// contains filtered or unexported fields
}
func (*Engine) AreLinesBillableAsOf ¶
func (e *Engine) AreLinesBillableAsOf(ctx context.Context, input billing.AreLinesBillableAsOfInput) ([]billing.IsLineBillableAsOfResult, error)
func (*Engine) BuildStandardInvoiceLines ¶
func (e *Engine) BuildStandardInvoiceLines(ctx context.Context, input billing.BuildStandardInvoiceLinesInput) (billing.StandardLines, error)
func (*Engine) BuildStandardLinesForGatheringPreview ¶
func (e *Engine) BuildStandardLinesForGatheringPreview(ctx context.Context, input billing.BuildStandardInvoiceLinesInput) (billing.StandardLines, error)
func (*Engine) GateInvoiceAssignment ¶
func (e *Engine) GateInvoiceAssignment(context.Context, billing.GateInvoiceAssignmentInput) (billing.GateInvoiceAssignmentResult, error)
func (*Engine) GetLineEngineType ¶
func (e *Engine) GetLineEngineType() billing.LineEngineType
func (*Engine) OnCollectionCompleted ¶
func (e *Engine) OnCollectionCompleted(ctx context.Context, input billing.OnCollectionCompletedInput) (billing.StandardLines, error)
func (*Engine) OnInvoiceFinalizing ¶
func (e *Engine) OnInvoiceFinalizing(_ context.Context, input billing.OnInvoiceFinalizingInput) (billing.StandardLines, error)
func (*Engine) OnInvoiceIssued ¶
func (*Engine) OnMutableInvoiceLinesEditedViaAPI ¶
func (e *Engine) OnMutableInvoiceLinesEditedViaAPI(ctx context.Context, input billing.OnMutableInvoiceUpdateInput) (billing.OnMutableInvoiceUpdateResult, error)
func (*Engine) OnMutableStandardLinesDeletedBySystem ¶
func (*Engine) OnPaymentAuthorized ¶
func (*Engine) OnPaymentSettled ¶
func (*Engine) OnStandardInvoiceCreated ¶
func (e *Engine) OnStandardInvoiceCreated(_ context.Context, input billing.OnStandardInvoiceCreatedInput) (billing.StandardLines, error)
func (*Engine) OnUnsupportedCreditNote ¶
func (*Engine) RateStandardLines ¶
func (e *Engine) RateStandardLines(lines billing.StandardLines) (billing.StandardLines, error)
RateStandardLines rates supplied snapshots on cloned legacy lines, retaining child and discount identity. It performs no snapshotting or persistence and returns calculated lines alongside typed rating issues of any severity.
func (*Engine) RecalculateStandardLine ¶
func (e *Engine) RecalculateStandardLine(ctx context.Context, input RecalculateStandardLineInput) (*billing.StandardLine, error)
RecalculateStandardLine completes a mutable legacy line on a clone. Snapshot failures return no replacement; rating issues accompany the calculated result. Immutable-invoice comparisons must continue using SnapshotLineQuantity.
func (*Engine) ResolveSplitLineGroupHeaders ¶
func (*Engine) SnapshotLineQuantities ¶
func (e *Engine) SnapshotLineQuantities(ctx context.Context, invoice billing.StandardInvoice, lines billing.StandardLines) error
func (*Engine) SnapshotLineQuantity ¶
func (e *Engine) SnapshotLineQuantity(ctx context.Context, input SnapshotLineQuantityInput) (*billing.StandardLine, error)
func (*Engine) SplitGatheringLine ¶
func (e *Engine) SplitGatheringLine(ctx context.Context, in billing.SplitGatheringLineInput) (billing.SplitGatheringLineResult, error)
func (*Engine) ValidateMutableInvoiceLineEditViaAPI ¶
type RecalculateStandardLineInput ¶
type RecalculateStandardLineInput struct {
Invoice *billing.StandardInvoice
Line *billing.StandardLine
}
func (RecalculateStandardLineInput) Validate ¶
func (i RecalculateStandardLineInput) Validate() error
type SnapshotLineQuantityInput ¶
type SnapshotLineQuantityInput struct {
Invoice *billing.StandardInvoice
Line *billing.StandardLine
}
func (SnapshotLineQuantityInput) Validate ¶
func (i SnapshotLineQuantityInput) Validate() error
type SplitLineGroupAdapter ¶
type SplitLineGroupAdapter interface {
CreateSplitLineGroup(ctx context.Context, input billing.CreateSplitLineGroupAdapterInput) (billing.SplitLineGroup, error)
GetSplitLineGroupHeaders(ctx context.Context, input billing.GetSplitLineGroupHeadersInput) (billing.SplitLineGroupHeaders, error)
}
Click to show internal directories.
Click to hide internal directories.