Merge branch 'feature/re-structure-controllers'

This commit is contained in:
Fran Jurmanović
2021-05-11 21:37:58 +02:00
6 changed files with 30 additions and 14 deletions

2
.gitignore vendored
View File

@@ -9,6 +9,8 @@ _obj
_test
vendor
bin
.vscode
.idea
.env

View File

@@ -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()

View File

@@ -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: &registerService}
apiController.Init(s)
registerController.Init(s)
controllers.NewApiController(&apiService, api)
controllers.NewRegisterController(&registerService, register)
}

View File

@@ -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) {

View File

@@ -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) {

View File

@@ -1 +1,6 @@
package configs
const (
Version = "0.0.1"
Prefix = "v1"
)