package mail

import (
	"github.com/mailgun/mailgun-go/v4"
	"github.com/sendgrid/sendgrid-go"
	"github.com/tidbcloud/account/commons/config"
	mailv2 "github.com/tidbcloud/pkgv2/mail/v2"
)

func NewMailFacade(centralConfig *config.CentralConfig) mailv2.Facade {
	serverConfig := centralConfig.ServerConfig

	mg := mailgun.NewMailgun(config.Domain, serverConfig.MailGunApiKey)
	sgCli := sendgrid.NewSendClient(serverConfig.SendgridApiKey)
	return mailv2.NewMailProvider(mg, sgCli, config.SendgridTemplateName2id)
}
