package cloudimpl

import (
	"fmt"

	"github.com/pingcap/dbaas/billing2/billing_errors"
	"github.com/pingcap/dbaas/billing2/db/entity"
	"github.com/pingcap/dbaas/billing2/handler/cloudmarketplacehandler"
)

type MarketplaceHandlerImpl struct {
}

func (*MarketplaceHandlerImpl) GetMarketplace(provider string) (cloudmarketplacehandler.MarketplaceProvider, error) {
	switch provider {
	case entity.PaymentType_AZURE:
		return &AzureMarketplaceImpl{}, nil
	default:
		return nil, billing_errors.NewInvalidInputError(fmt.Errorf("invalid payment handler:%s", provider))
	}
}
