diff --git a/.gitignore b/.gitignore index 5dbc158..0ef1bde 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,8 @@ _obj _test vendor bin +.vscode +.idea .env diff --git a/cmd/api/main.go b/cmd/api/main.go index 15aa75a..5c72941 100644 --- a/cmd/api/main.go +++ b/cmd/api/main.go @@ -3,7 +3,6 @@ package main import ( "os" "wallet-api/pkg/api" - "wallet-api/pkg/utl/common" "wallet-api/pkg/utl/db" "wallet-api/pkg/utl/server" @@ -12,8 +11,7 @@ import ( ) func main() { - err := godotenv.Load() - common.CheckError(err) + godotenv.Load() dbUrl := os.Getenv("DATABASE_URL") r := gin.Default() diff --git a/pkg/api/routes.go b/pkg/api/routes.go index 442fb46..2c8e034 100644 --- a/pkg/api/routes.go +++ b/pkg/api/routes.go @@ -3,18 +3,21 @@ package api import ( "wallet-api/pkg/controllers" "wallet-api/pkg/services" + "wallet-api/pkg/utl/configs" "github.com/gin-gonic/gin" "github.com/go-pg/pg/v10" ) func Routes(s *gin.Engine, db *pg.DB) { + ver := s.Group(configs.Prefix) + + api := ver.Group("api") + register := ver.Group("register") + apiService := services.ApiService{Db: db} registerService := services.RegisterService{Db: db} - apiController := controllers.ApiController{ApiService: &apiService} - registerController := controllers.RegisterController{RegisterService: ®isterService} - - apiController.Init(s) - registerController.Init(s) + controllers.NewApiController(&apiService, api) + controllers.NewRegisterController(®isterService, register) } diff --git a/pkg/controllers/api.go b/pkg/controllers/api.go index 7350927..cc90334 100644 --- a/pkg/controllers/api.go +++ b/pkg/controllers/api.go @@ -10,9 +10,13 @@ type ApiController struct { ApiService *services.ApiService } -func (ac *ApiController) Init(s *gin.Engine) { - apiGroup := s.Group("/api") - apiGroup.GET("", ac.getFirst) +func NewApiController(as *services.ApiService, s *gin.RouterGroup) *ApiController { + ac := new(ApiController) + ac.ApiService = as + + s.GET("", ac.getFirst) + + return ac } func (ac *ApiController) getFirst(c *gin.Context) { diff --git a/pkg/controllers/register.go b/pkg/controllers/register.go index 5065882..e4a6957 100644 --- a/pkg/controllers/register.go +++ b/pkg/controllers/register.go @@ -13,9 +13,13 @@ type RegisterController struct { RegisterService *services.RegisterService } -func (rc *RegisterController) Init(s *gin.Engine) { - apiGroup := s.Group("/register") - apiGroup.POST("", rc.Post) +func NewRegisterController(rs *services.RegisterService, s *gin.RouterGroup) *RegisterController { + rc := new(RegisterController) + rc.RegisterService = rs + + s.POST("", rc.Post) + + return rc } func (rc *RegisterController) Post(c *gin.Context) { diff --git a/pkg/utl/configs/configs.go b/pkg/utl/configs/configs.go index 27459e6..c89ecf1 100644 --- a/pkg/utl/configs/configs.go +++ b/pkg/utl/configs/configs.go @@ -1 +1,6 @@ package configs + +const ( + Version = "0.0.1" + Prefix = "v1" +)