Skip to content

Commit de598ef

Browse files
committed
feat(ledger): transaction listing API
1 parent 171cbc2 commit de598ef

39 files changed

Lines changed: 1534 additions & 59 deletions

api/v3/handlers/customers/credits/handler.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,17 @@ package customerscredits
33
import (
44
"context"
55

6+
"github.com/alpacahq/alpacadecimal"
7+
68
"github.com/openmeterio/openmeter/openmeter/billing/creditgrant"
79
"github.com/openmeterio/openmeter/openmeter/customer"
10+
"github.com/openmeterio/openmeter/openmeter/ledger"
811
"github.com/openmeterio/openmeter/openmeter/ledger/customerbalance"
912
"github.com/openmeterio/openmeter/pkg/framework/transport/httptransport"
1013
)
1114

1215
type customerBalanceFacade interface {
16+
GetBalance(ctx context.Context, input customerbalance.GetBalanceInput) (alpacadecimal.Decimal, error)
1317
GetBalances(ctx context.Context, input customerbalance.GetBalancesInput) ([]customerbalance.BalanceByCurrency, error)
1418
}
1519

@@ -18,13 +22,16 @@ type Handler interface {
1822
ListCreditGrants() ListCreditGrantsHandler
1923
CreateCreditGrant() CreateCreditGrantHandler
2024
GetCreditGrant() GetCreditGrantHandler
25+
ListCreditTransactions() ListCreditTransactionsHandler
2126
}
2227

2328
type handler struct {
2429
resolveNamespace func(ctx context.Context) (string, error)
2530
customerService customer.Service
2631
balanceFacade customerBalanceFacade
2732
creditGrantService creditgrant.Service
33+
ledger ledger.Ledger
34+
accountResolver ledger.AccountResolver
2835
options []httptransport.HandlerOption
2936
}
3037

@@ -33,13 +40,17 @@ func New(
3340
customerService customer.Service,
3441
balanceFacade customerBalanceFacade,
3542
creditGrantService creditgrant.Service,
43+
ledger ledger.Ledger,
44+
accountResolver ledger.AccountResolver,
3645
options ...httptransport.HandlerOption,
3746
) Handler {
3847
return &handler{
3948
resolveNamespace: resolveNamespace,
4049
customerService: customerService,
4150
balanceFacade: balanceFacade,
4251
creditGrantService: creditGrantService,
52+
ledger: ledger,
53+
accountResolver: accountResolver,
4354
options: options,
4455
}
4556
}

0 commit comments

Comments
 (0)