Skip to content

Commit

Permalink
fix: move mapper to parser.go
Browse files Browse the repository at this point in the history
  • Loading branch information
turip committed Jul 9, 2024
1 parent ebb4ed5 commit d46bebf
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 31 deletions.
31 changes: 0 additions & 31 deletions internal/entitlement/httpdriver/entitlement.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,6 @@ import (

"github.com/openmeterio/openmeter/api"
"github.com/openmeterio/openmeter/internal/entitlement"
booleanentitlement "github.com/openmeterio/openmeter/internal/entitlement/boolean"
meteredentitlement "github.com/openmeterio/openmeter/internal/entitlement/metered"
staticentitlement "github.com/openmeterio/openmeter/internal/entitlement/static"
"github.com/openmeterio/openmeter/internal/namespace/namespacedriver"
"github.com/openmeterio/openmeter/pkg/clock"
"github.com/openmeterio/openmeter/pkg/convert"
Expand Down Expand Up @@ -196,34 +193,6 @@ func (h *entitlementHandler) GetEntitlementValue() GetEntitlementValueHandler {
)
}

func MapEntitlementValueToAPI(entitlementValue entitlement.EntitlementValue) (api.EntitlementValue, error) {
switch ent := entitlementValue.(type) {
case *meteredentitlement.MeteredEntitlementValue:
return api.EntitlementValue{
HasAccess: convert.ToPointer(ent.HasAccess()),
Balance: &ent.Balance,
Usage: &ent.UsageInPeriod,
Overage: &ent.Overage,
}, nil
case *staticentitlement.StaticEntitlementValue:
var config *string
if len(ent.Config) > 0 {
config = convert.ToPointer(string(ent.Config))
}

return api.EntitlementValue{
HasAccess: convert.ToPointer(ent.HasAccess()),
Config: config,
}, nil
case *booleanentitlement.BooleanEntitlementValue:
return api.EntitlementValue{
HasAccess: convert.ToPointer(ent.HasAccess()),
}, nil
default:
return api.EntitlementValue{}, errors.New("unknown entitlement type")
}
}

type GetEntitlementsOfSubjectHandlerRequest = models.NamespacedID
type GetEntitlementsOfSubjectHandlerResponse = []api.Entitlement
type GetEntitlementsOfSubjectHandlerParams struct {
Expand Down
29 changes: 29 additions & 0 deletions internal/entitlement/httpdriver/parser.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package httpdriver

import (
"errors"
"fmt"

"github.com/openmeterio/openmeter/api"
Expand Down Expand Up @@ -133,6 +134,34 @@ func (p parser) ToAPIGeneric(e *entitlement.Entitlement) (*api.Entitlement, erro
}
}

func MapEntitlementValueToAPI(entitlementValue entitlement.EntitlementValue) (api.EntitlementValue, error) {
switch ent := entitlementValue.(type) {
case *meteredentitlement.MeteredEntitlementValue:
return api.EntitlementValue{
HasAccess: convert.ToPointer(ent.HasAccess()),
Balance: &ent.Balance,
Usage: &ent.UsageInPeriod,
Overage: &ent.Overage,
}, nil
case *staticentitlement.StaticEntitlementValue:
var config *string
if len(ent.Config) > 0 {
config = convert.ToPointer(string(ent.Config))
}

return api.EntitlementValue{
HasAccess: convert.ToPointer(ent.HasAccess()),
Config: config,
}, nil
case *booleanentitlement.BooleanEntitlementValue:
return api.EntitlementValue{
HasAccess: convert.ToPointer(ent.HasAccess()),
}, nil
default:
return api.EntitlementValue{}, errors.New("unknown entitlement type")
}
}

func mapUsagePeriod(u *entitlement.UsagePeriod) *api.RecurringPeriod {
if u == nil {
return nil
Expand Down

0 comments on commit d46bebf

Please sign in to comment.