package models

import (
	"github.com/pingcap/log"
	adminmodel "github.com/tidbcloud/internal-portal/core-portal/admin/admin"
	"github.com/tidbcloud/internal-portal/core-portal/admin/admin/grafana"
	"github.com/tidbcloud/internal-portal/core-portal/central/config"
)

var (
	adminModel *adminmodel.Model
)

func GetAdminModel() *adminmodel.Model {
	return adminModel
}

func InitAdminModel() error {
	grafanaConfig := config.Global().GrafanaConfig
	grafanaClient := grafana.NewClient(grafanaConfig.Server, grafanaConfig.APIKey, grafana.DefaultHTTPClient)

	admin := adminmodel.NewModel(log.L(), grafanaClient)
	adminModel = &admin
	return nil
}
