package main import ( "fmt" "log" "github.com/go-sql-driver/mysql" "github.com/jmoiron/sqlx" "sismedika.com/sas/westone/cmd/api" "sismedika.com/sas/westone/configs" "sismedika.com/sas/westone/db" _ "sismedika.com/sas/westone/docs" "sismedika.com/sas/westone/services/auth" ) // @title WESTONE API // @version 1.0 // @description westone api documentation test // @termsOfService http://swagger.io/terms/ // @license.name Apache 2.0 // @license.url http://www.apache.org/licenses/LICENSE-2.0.html func main() { cfg := mysql.Config{ User: configs.Envs.DBUser, Passwd: configs.Envs.DBPassword, Addr: configs.Envs.DBAddress, DBName: configs.Envs.DBName, Net: "tcp", AllowNativePasswords: true, ParseTime: true, } db, err := db.NewMySQLStorage(cfg) if err != nil { log.Fatal(err) } auth.NewOAuth() initStorage(db) server := api.NewAPIServer(fmt.Sprintf(":%s", configs.Envs.Port), db) if err := server.Run(); err != nil { log.Fatal(err) } } func initStorage(db *sqlx.DB) { err := db.Ping() if err != nil { log.Fatal(err) } log.Println("DB: Successfully connected!") }