package db

import (
	sdkdatabase "github.com/tidbcloud/aisupport/packages/sdk-go/infra/database"
	"github.com/tidbcloud/aisupport/packages/sdk-go/infra/database/transaction"
	"github.com/tidbcloud/aisupport/services/core-server/config"
	"gorm.io/gorm"
)

func New(conf *config.RootConfig) (*gorm.DB, transaction.Provider, error) {
	handle, err := sdkdatabase.Connect(conf.Database, "CoreServerDB")
	if err != nil {
		return nil, nil, err
	}

	return handle, transaction.NewProvider(handle), nil
}
