-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.go
39 lines (30 loc) · 1.03 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package main
import (
"fmt"
"github.com/gin-gonic/gin"
"github.com/hendriam/movie-service/controller"
"github.com/hendriam/movie-service/framework"
"github.com/hendriam/movie-service/repository"
"github.com/hendriam/movie-service/service"
)
func main() {
cfg := framework.LoadConfig()
logging := framework.LoadLogging()
db, err := framework.LoadDatabase()
if err != nil {
panic(err)
}
movieRepository := repository.NewMovieRepository(db)
movieService := service.NewMovieService(movieRepository)
movieController := controller.NewControllerMovie(movieService, logging)
url := fmt.Sprintf("%s:%d", cfg.Server.Host, cfg.Server.Port)
logging.Info().Msgf("starting web server at http://%s/", url)
gin.SetMode(gin.ReleaseMode)
route := gin.Default()
route.POST("movie/create", movieController.Create)
route.PUT("movie/update/:id", movieController.Update)
route.DELETE("movie/delete/:id", movieController.Delete)
route.GET("movie/:id", movieController.FindById)
route.GET("movie", movieController.FindAll)
route.Run(url)
}