File tree Expand file tree Collapse file tree 8 files changed +63
-17
lines changed Expand file tree Collapse file tree 8 files changed +63
-17
lines changed Original file line number Diff line number Diff line change 6
6
"github.com/gin-gonic/gin"
7
7
"github.com/joho/godotenv"
8
8
"github.com/murillolamego/golang-basic/src/config/logger"
9
+ "github.com/murillolamego/golang-basic/src/controller"
9
10
"github.com/murillolamego/golang-basic/src/controller/routes"
11
+ "github.com/murillolamego/golang-basic/src/model/service"
10
12
)
11
13
12
14
func main () {
@@ -16,9 +18,12 @@ func main() {
16
18
log .Fatal ("Could not load env file" )
17
19
}
18
20
21
+ service := service .NewUserDomainService ()
22
+ userController := controller .NewUserControllerInterface (service )
23
+
19
24
router := gin .Default ()
20
25
21
- routes .InitRoutes (& router .RouterGroup )
26
+ routes .InitRoutes (& router .RouterGroup , userController )
22
27
23
28
if err := router .Run (":8080" ); err != nil {
24
29
log .Fatal (err )
Original file line number Diff line number Diff line change @@ -8,15 +8,15 @@ import (
8
8
"github.com/murillolamego/golang-basic/src/config/validation"
9
9
"github.com/murillolamego/golang-basic/src/controller/model/request"
10
10
"github.com/murillolamego/golang-basic/src/model"
11
- "github.com/murillolamego/golang-basic/src/model/service "
11
+ "github.com/murillolamego/golang-basic/src/view "
12
12
"go.uber.org/zap"
13
13
)
14
14
15
15
var (
16
16
UserDomainInterface model.UserDomainInterface
17
17
)
18
18
19
- func CreateUser (c * gin.Context ) {
19
+ func ( uc * userControllerInterface ) CreateUser (c * gin.Context ) {
20
20
logger .Info ("init CreateUser controller" , zap .String ("journey" , "createUser" ))
21
21
var userRequest request.UserRequest
22
22
@@ -35,15 +35,13 @@ func CreateUser(c *gin.Context) {
35
35
userRequest .Age ,
36
36
)
37
37
38
- service := service .NewUserDomainService ()
39
-
40
- user , err := service .CreateUser (domain )
38
+ user , err := uc .service .CreateUser (domain )
41
39
if err != nil {
42
40
c .JSON (err .Code , err )
43
41
return
44
42
}
45
43
46
44
logger .Info ("user created successfully" , zap .String ("journey" , "createUser" ))
47
45
48
- c .JSON (http .StatusCreated , user )
46
+ c .JSON (http .StatusCreated , view . ConvertDomainToResponse ( user ) )
49
47
}
Original file line number Diff line number Diff line change @@ -2,4 +2,4 @@ package controller
2
2
3
3
import "github.com/gin-gonic/gin"
4
4
5
- func DeleteUser (c * gin.Context ) {}
5
+ func ( uc * userControllerInterface ) DeleteUser (c * gin.Context ) {}
Original file line number Diff line number Diff line change @@ -2,6 +2,6 @@ package controller
2
2
3
3
import "github.com/gin-gonic/gin"
4
4
5
- func FindUserById (c * gin.Context ) {}
5
+ func ( uc * userControllerInterface ) FindUserByID (c * gin.Context ) {}
6
6
7
- func FindUserByEmail (c * gin.Context ) {}
7
+ func ( uc * userControllerInterface ) FindUserByEmail (c * gin.Context ) {}
Original file line number Diff line number Diff line change @@ -5,11 +5,11 @@ import (
5
5
"github.com/murillolamego/golang-basic/src/controller"
6
6
)
7
7
8
- func InitRoutes (r * gin.RouterGroup ) {
8
+ func InitRoutes (r * gin.RouterGroup , userController controller. UserControllerInterface ) {
9
9
10
- r .GET ("/getUserById/:userId" , controller . FindUserById )
11
- r .GET ("/getUserByEmail/:userEmail" , controller .FindUserByEmail )
12
- r .POST ("/createUser" , controller .CreateUser )
13
- r .PUT ("/updateUser/:userId" , controller .UpdateUser )
14
- r .DELETE ("/deleteUser/:userId" , controller .DeleteUser )
10
+ r .GET ("/getUserById/:userId" , userController . FindUserByID )
11
+ r .GET ("/getUserByEmail/:userEmail" , userController .FindUserByEmail )
12
+ r .POST ("/createUser" , userController .CreateUser )
13
+ r .PUT ("/updateUser/:userId" , userController .UpdateUser )
14
+ r .DELETE ("/deleteUser/:userId" , userController .DeleteUser )
15
15
}
Original file line number Diff line number Diff line change @@ -2,4 +2,4 @@ package controller
2
2
3
3
import "github.com/gin-gonic/gin"
4
4
5
- func UpdateUser (c * gin.Context ) {}
5
+ func ( uc * userControllerInterface ) UpdateUser (c * gin.Context ) {}
Original file line number Diff line number Diff line change
1
+ package controller
2
+
3
+ import (
4
+ "github.com/gin-gonic/gin"
5
+ "github.com/murillolamego/golang-basic/src/model/service"
6
+ )
7
+
8
+ func NewUserControllerInterface (
9
+ serviceInterface service.UserDomainService ,
10
+ ) UserControllerInterface {
11
+ return & userControllerInterface {
12
+ service : serviceInterface ,
13
+ }
14
+ }
15
+
16
+ type UserControllerInterface interface {
17
+ CreateUser (c * gin.Context )
18
+ FindUserByID (c * gin.Context )
19
+ FindUserByEmail (c * gin.Context )
20
+ UpdateUser (c * gin.Context )
21
+ DeleteUser (c * gin.Context )
22
+ }
23
+
24
+ type userControllerInterface struct {
25
+ service service.UserDomainService
26
+ }
Original file line number Diff line number Diff line change
1
+ package view
2
+
3
+ import (
4
+ "github.com/murillolamego/golang-basic/src/controller/model/response"
5
+ "github.com/murillolamego/golang-basic/src/model"
6
+ )
7
+
8
+ func ConvertDomainToResponse (
9
+ userDomain model.UserDomainInterface ,
10
+ ) response.UserResponse {
11
+ return response.UserResponse {
12
+ ID : "test" ,
13
+ Email : userDomain .GetEmail (),
14
+ Name : userDomain .GetName (),
15
+ Age : userDomain .GetAge (),
16
+ }
17
+ }
You can’t perform that action at this time.
0 commit comments