package main

import (
	"fmt"

	"github.com/gin-gonic/gin"
	"github.com/pingcap/dbaas/billing2/api"
	"github.com/pingcap/dbaas/billing2/config"
	"github.com/pingcap/dbaas/billing2/db"
	"github.com/pingcap/dbaas/billing2/handler/cachehandler"
	"github.com/pingcap/dbaas/billing2/utils/panicIf"
	"github.com/pingcap/log"
	"github.com/spf13/viper"
	"go.uber.org/zap"
)

func main() {
	gin.DisableConsoleColor()

	panicIf.Error(config.Init())

	_, err := db.Initialize()
	panicIf.Error(err)
	cachehandler.Init()
	engine, err := api.NewService()
	panicIf.Error(err)
	log.Fatal("start billing server failed", zap.Error(engine.Run(fmt.Sprintf(":%d", viper.GetInt(config.BillingServerPort)))))
}
