@@ -2,9 +2,8 @@ package db
22
33import (
44 "fmt"
5- "os"
65
7- "github.com/joho/godotenv "
6+ "github.com/trysupernova/supernova-api/utils "
87 "gorm.io/driver/mysql"
98 "gorm.io/gorm"
109)
@@ -16,20 +15,12 @@ var DB *gorm.DB
1615 * Returns a database connection URL suitable for use with Atlas
1716 */
1817func GetDatabaseUrl () string {
19- // set config file for dev environment only
20- if os .Getenv ("ENVIRONMENT" ) == "dev" || os .Getenv ("ENVIRONMENT" ) == "" {
21- err := godotenv .Load (".env" )
22- if err != nil {
23- panic ("Error loading .env file" )
24- }
25- }
26-
2718 //db config vars
28- dbHost := os . Getenv ( "DB_HOST" )
29- dbName := os . Getenv ( "DB_NAME" )
30- dbUser := os . Getenv ( "DB_USERNAME" )
31- dbPassword := os . Getenv ( "DB_PASSWORD" )
32- dbPort := os . Getenv ( "DB_PORT" )
19+ dbHost := utils . GetConfig (). DB_HOST
20+ dbName := utils . GetConfig (). DB_NAME
21+ dbUser := utils . GetConfig (). DB_USERNAME
22+ dbPassword := utils . GetConfig (). DB_PASSWORD
23+ dbPort := utils . GetConfig (). DB_PORT
3324
3425 //build connection string
3526 var dbConnectionString string = fmt .Sprintf ("mysql://%s:%s@%s:%s/%s" , dbUser , dbPassword , dbHost , dbPort , dbName )
@@ -41,20 +32,12 @@ func GetDatabaseUrl() string {
4132 * Returns a database connection DSN suitable for use with GORM
4233 */
4334func GetDatabaseDSN () string {
44- // set config file for dev environment only
45- if os .Getenv ("ENVIRONMENT" ) == "dev" || os .Getenv ("ENVIRONMENT" ) == "" {
46- err := godotenv .Load (".env" )
47- if err != nil {
48- panic ("Error loading .env file" )
49- }
50- }
51-
5235 //db config vars
53- dbHost := os . Getenv ( "DB_HOST" )
54- dbName := os . Getenv ( "DB_NAME" )
55- dbUser := os . Getenv ( "DB_USERNAME" )
56- dbPassword := os . Getenv ( "DB_PASSWORD" )
57- dbPort := os . Getenv ( "DB_PORT" )
36+ dbHost := utils . GetConfig (). DB_HOST
37+ dbName := utils . GetConfig (). DB_NAME
38+ dbUser := utils . GetConfig (). DB_USERNAME
39+ dbPassword := utils . GetConfig (). DB_PASSWORD
40+ dbPort := utils . GetConfig (). DB_PORT
5841
5942 //build connection string
6043 var dbConnectionString string = fmt .Sprintf ("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=True&loc=Local" , dbUser , dbPassword , dbHost , dbPort , dbName )
@@ -66,16 +49,8 @@ func GetDatabaseDSN() string {
6649 * Setup database connection and return a pointer to the connection
6750 */
6851func SetupDB () * gorm.DB {
69- // set config file for dev environment only
70- if os .Getenv ("ENVIRONMENT" ) == "dev" || os .Getenv ("ENVIRONMENT" ) == "" {
71- err := godotenv .Load (".env" )
72- if err != nil {
73- panic ("Error loading .env file" )
74- }
75- }
76-
7752 //build connection string
78- var dbConnectionString string = GetDatabaseDSN ()
53+ dbConnectionString : = GetDatabaseDSN ()
7954 //connect to db
8055 db , dbError := gorm .Open (mysql .Open (dbConnectionString ), & gorm.Config {SkipDefaultTransaction : true })
8156 if dbError != nil {
0 commit comments