package database

import (
	"context"
	"database/sql"
	"os"

	_ "github.com/go-sql-driver/mysql"
	log "github.com/rs/zerolog/log"
)

const CfcDb = ""
const CfDb = "PRD_"

func Connect(connection string) (*sql.Tx, context.Context, *sql.DB) {

	conn := os.Getenv(connection+"USER") + ":" + os.Getenv(connection+"CRE") + "@tcp(" + os.Getenv(connection+"HOST") + ":3306)/" + os.Getenv(connection+"DB")

	db, err := sql.Open("mysql", conn)

	ctx := context.Background()
	tx, err := db.BeginTx(ctx, nil)
	if err != nil {
		log.Print("mysql connection error")
// 		log.Print(err.Error())
		log.Fatal().Err(err).Msg(err.Error())
	}
	return tx, ctx, db
}

func Close(tx *sql.Tx, db *sql.DB) {
	err := tx.Commit()
	defer db.Close()
	if err != nil {
// 		log.Print(err.Error())
		log.Fatal().Err(err).Msg(err.Error())
	}
}
