Leon4gr45's picture
Upload folder using huggingface_hub (part 2)
5a22efd verified
Raw
History Blame Contribute Delete
2.43 kB
package usagebased
import (
"context"
"github.com/openmeterio/openmeter/openmeter/billing/charges/meta"
"github.com/openmeterio/openmeter/openmeter/billing/charges/models/creditrealization"
"github.com/openmeterio/openmeter/openmeter/billing/charges/models/invoicedusage"
"github.com/openmeterio/openmeter/openmeter/billing/charges/models/payment"
"github.com/openmeterio/openmeter/pkg/framework/entutils"
)
type Adapter interface {
RealizationRunAdapter
RealizationRunCreditAllocationAdapter
RealizationRunInvoiceUsageAdapter
RealizationRunPaymentAdapter
ChargeAdapter
entutils.TxCreator
}
type ChargeAdapter interface {
CreateCharges(ctx context.Context, charges CreateChargesInput) ([]Charge, error)
UpdateCharge(ctx context.Context, charge ChargeBase) (ChargeBase, error)
CreateChargeOverride(ctx context.Context, charge ChargeBase, override IntentMutableFields) (ChargeBase, error)
DeleteChargeOverride(ctx context.Context, charge ChargeBase) (ChargeBase, error)
UpdateSubscriptionItemID(ctx context.Context, charge Charge, newSubscriptionItemID string) (Charge, error)
DeleteCharge(ctx context.Context, charge Charge) error
GetByIDs(ctx context.Context, input GetByIDsInput) ([]Charge, error)
GetByID(ctx context.Context, input GetByIDInput) (Charge, error)
}
type RealizationRunAdapter interface {
CreateRealizationRun(ctx context.Context, chargeID meta.ChargeID, input CreateRealizationRunInput) (RealizationRunBase, error)
UpdateRealizationRun(ctx context.Context, input UpdateRealizationRunInput) (RealizationRunBase, error)
UpsertRunDetailedLines(ctx context.Context, chargeID meta.ChargeID, runID RealizationRunID, lines DetailedLines) error
FetchDetailedLines(ctx context.Context, charge Charge) (Charge, error)
}
type RealizationRunCreditAllocationAdapter interface {
CreateRunCreditRealization(ctx context.Context, runID RealizationRunID, creditAllocations creditrealization.CreateInputs) (creditrealization.Realizations, error)
}
type RealizationRunInvoiceUsageAdapter interface {
CreateRunInvoicedUsage(ctx context.Context, runID RealizationRunID, invoicedUsage invoicedusage.AccruedUsage) (invoicedusage.AccruedUsage, error)
}
type RealizationRunPaymentAdapter interface {
CreateRunPayment(ctx context.Context, runID RealizationRunID, in payment.InvoicedCreate) (payment.Invoiced, error)
UpdateRunPayment(ctx context.Context, in payment.Invoiced) (payment.Invoiced, error)
}