package mysql

import (
	"context"
	"fmt"
	"time"
)

const (
	tlsConfigName = "custom"
)

func Ping(ctx context.Context, dsn string, tlsConfig *TLSConfig) error {
	ctx, cancel := context.WithTimeout(ctx, time.Second*10)
	defer cancel()

	db, err := newDB(dsn, tlsConfig)
	if err != nil {
		return err
	}
	defer db.Close()

	if err := db.PingContext(ctx); err != nil {
		return fmt.Errorf("ping %s failed: %w", dsn, err)
	}

	return nil
}
