20 lines
419 B
Go
20 lines
419 B
Go
package pricing
|
|
|
|
import "fmt"
|
|
|
|
type PricingService interface {
|
|
Prices(vars map[string]any) (map[string]Price, error)
|
|
}
|
|
|
|
func NewPricingService(implementation string) (PricingService, error) {
|
|
switch implementation {
|
|
case "mms43":
|
|
return NewMMS43PricingService()
|
|
case "pfm63":
|
|
return NewPFM63PricingService()
|
|
default:
|
|
return nil, fmt.Errorf("pricing implementation %v is not supported", implementation)
|
|
|
|
}
|
|
}
|