Skip to content

Commit 73d9a3c

Browse files
committed
refactor: currencies service pkg
1 parent 0eede87 commit 73d9a3c

17 files changed

Lines changed: 286 additions & 228 deletions

File tree

api/v3/handlers/currencies/create.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ func (h *handler) CreateCurrency() CreateCurrencyHandler {
3535
return body, nil
3636
},
3737
func(ctx context.Context, request CreateCurrencyRequest) (CreateCurrencyResponse, error) {
38-
resp, err := h.currencyService.CreateCurrency(ctx, request)
38+
resp, err := h.service.CreateCurrency(ctx, request)
3939
if err != nil {
4040
return CreateCurrencyResponse{}, err
4141
}

api/v3/handlers/currencies/create_cost_basis.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ func (h *handler) CreateCostBasis() CreateCostBasisHandler {
3737
return body, nil
3838
},
3939
func(ctx context.Context, request CreateCostBasisRequest) (CreateCostBasisResponse, error) {
40-
resp, err := h.currencyService.CreateCostBasis(ctx, request)
40+
resp, err := h.service.CreateCostBasis(ctx, request)
4141
if err != nil {
4242
return CreateCostBasisResponse{}, err
4343
}

api/v3/handlers/currencies/get_cost_bases.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ func (h *handler) ListCostBases() ListCostBasesHandler {
6464
}, nil
6565
},
6666
func(ctx context.Context, req ListCostBasesRequest) (ListCostBasesResponse, error) {
67-
result, err := h.currencyService.ListCostBases(ctx, req)
67+
result, err := h.service.ListCostBases(ctx, req)
6868
if err != nil {
6969
return ListCostBasesResponse{}, err
7070
}

api/v3/handlers/currencies/handler.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,17 @@ type Handler interface {
1717
type handler struct {
1818
resolveNamespace func(ctx context.Context) (string, error)
1919
options []httptransport.HandlerOption
20-
currencyService currencies.CurrencyService
20+
service currencies.Service
2121
}
2222

2323
func New(
2424
resolveNamespace func(ctx context.Context) (string, error),
25-
currencyService currencies.CurrencyService,
25+
currencyService currencies.Service,
2626
options ...httptransport.HandlerOption,
2727
) Handler {
2828
return &handler{
2929
resolveNamespace: resolveNamespace,
3030
options: options,
31-
currencyService: currencyService,
31+
service: currencyService,
3232
}
3333
}

api/v3/handlers/currencies/list.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ func (h *handler) ListCurrencies() ListCurrenciesHandler {
8989
return req, nil
9090
},
9191
func(ctx context.Context, request ListCurrenciesRequest) (ListCurrenciesResponse, error) {
92-
result, err := h.currencyService.ListCurrencies(ctx, request)
92+
result, err := h.service.ListCurrencies(ctx, request)
9393
if err != nil {
9494
return ListCurrenciesResponse{}, err
9595
}

app/common/currency.go

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,36 @@ package common
22

33
import (
44
"fmt"
5-
"log/slog"
65

76
"github.com/google/wire"
87

98
"github.com/openmeterio/openmeter/openmeter/currencies"
10-
currencyAdapter "github.com/openmeterio/openmeter/openmeter/currencies/adapter"
9+
currencyadapter "github.com/openmeterio/openmeter/openmeter/currencies/adapter"
1110
"github.com/openmeterio/openmeter/openmeter/currencies/service"
1211
entdb "github.com/openmeterio/openmeter/openmeter/ent/db"
1312
)
1413

1514
var Currency = wire.NewSet(
15+
NewCurrencyAdapter,
1616
NewCurrencyService,
1717
)
1818

19-
func NewCurrencyService(logger *slog.Logger, db *entdb.Client) (currencies.CurrencyService, error) {
20-
adapter, err := currencyAdapter.New(currencyAdapter.Config{
19+
func NewCurrencyAdapter(db *entdb.Client) (currencies.Repository, error) {
20+
repo, err := currencyadapter.New(currencyadapter.Config{
2121
Client: db,
2222
})
2323
if err != nil {
2424
return nil, fmt.Errorf("failed to create currency adapter: %w", err)
2525
}
26-
return service.New(adapter), nil
26+
27+
return repo, nil
28+
}
29+
30+
func NewCurrencyService(repo currencies.Repository) (currencies.Service, error) {
31+
s, err := service.New(repo)
32+
if err != nil {
33+
return nil, fmt.Errorf("failed to create currency service: %w", err)
34+
}
35+
36+
return s, nil
2737
}

cmd/server/wire.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ type Application struct {
5959
CustomerSubjectHook common.CustomerSubjectHook
6060
CustomerEntitlementValidatorHook common.CustomerEntitlementValidatorHook
6161
BillingRegistry common.BillingRegistry
62-
CurrencyService currencies.CurrencyService
62+
CurrencyService currencies.Service
6363
CostService cost.Service
6464
CreditGrantService creditgrant.Service
6565
Ledger ledger.Ledger

cmd/server/wire_gen.go

Lines changed: 14 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

openmeter/currencies/adapter/adapter.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,17 @@ func (c Config) Validate() error {
2424
return nil
2525
}
2626

27-
func New(config Config) (currencies.Adapter, error) {
27+
func New(config Config) (currencies.Repository, error) {
2828
if err := config.Validate(); err != nil {
29-
return nil, err
29+
return nil, fmt.Errorf("invalid config: %w", err)
3030
}
3131

3232
return &adapter{
3333
db: config.Client,
3434
}, nil
3535
}
3636

37-
var _ currencies.Adapter = (*adapter)(nil)
37+
var _ currencies.Repository = (*adapter)(nil)
3838

3939
type adapter struct {
4040
db *entdb.Client

openmeter/currencies/adapter/currencies.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@ import (
2020
"github.com/openmeterio/openmeter/pkg/sortx"
2121
)
2222

23-
var _ currencies.Adapter = (*adapter)(nil)
24-
2523
func mapCurrencyFromDB(c *entdb.CustomCurrency) currencies.Currency {
2624
return currencies.Currency{
2725
NamespacedID: models.NamespacedID{ID: c.ID, Namespace: c.Namespace},

0 commit comments

Comments
 (0)