package mysql

import (
	"fmt"
	"strconv"

	"github.com/pingcap/schrodinger/pkg/types"
	"github.com/pingcap/schrodinger/util"
)

const downloadURL = "http://fileserver.pingcap.net/download/schrodinger"

func getImage(app *types.APPConfig) string {
	if app.IsMariaDB() {
		return fmt.Sprintf("%s/mariadb:%s", util.ImagePrefix, app.Version)
	}
	return fmt.Sprintf("%s/mysql-server:%s", util.ImagePrefix, app.Version)
}

func getConfDownloadURL(app *types.APPConfig) string {
	var (
		id  int
		err error
	)

	if app.Labels != nil {
		idStr, ok := app.Labels["id"]
		if !ok {
			id = 0
		} else {
			id, err = strconv.Atoi(idStr)
			if err != nil {
				id = 0
			}
		}
	}

	if id <= 0 || id > 5 {
		if app.IsMariaDB() {
			return downloadURL + "/mariadb/my.cnf"
		}
		return downloadURL + "/mysql/my.cnf"
	}
	if app.IsMariaDB() {
		return fmt.Sprintf(downloadURL+"/mariadb/my%d.cnf", id)
	}

	return fmt.Sprintf(downloadURL+"/mysql/my%d.cnf", id)
}
