-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.go
66 lines (52 loc) · 2.6 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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
package main
import (
"FinalProject/config"
"FinalProject/middleware"
"os"
"FinalProject/controllers/filmController"
"FinalProject/controllers/studioController"
"FinalProject/controllers/ticketController"
"FinalProject/controllers/userController"
"FinalProject/services/filmService"
"FinalProject/services/studioService"
"FinalProject/services/ticketService"
"FinalProject/services/userService"
"github.com/gin-gonic/gin"
)
func main(){
router := gin.Default()
DB := config.Connect()
userService := userService.NewUserService(DB)
userController := userController.NewUserController(userService)
filmService := filmService.NewFilmService(DB)
filmController := filmController.NewFilmController(filmService)
studioService := studioService.NewStudioService(DB)
studioController := studioController.NewStudioController(studioService)
ticketService := ticketService.NewTicketService(DB)
ticketController := ticketController.NewTicketController(ticketService)
/* User Route */
router.POST("/user", userController.AddUser)
router.GET("/user", middleware.Authenticate, userController.GetUser)
router.GET("/user/:id", middleware.Authenticate, userController.GetUserById)
router.PUT("/user/:id", middleware.Authenticate, userController.UpdateUser)
router.DELETE("/user/:id", middleware.Authenticate, userController.DeleteUser)
/* Film Route */
router.POST("/film", middleware.Authenticate, filmController.AddFilm)
router.GET("/film", middleware.Authenticate, filmController.GetFilm)
router.GET("/film/:id", middleware.Authenticate, filmController.GetFilmById)
router.PUT("/film/:id", middleware.Authenticate, filmController.UpdateFilm)
router.DELETE("/film/:id", middleware.Authenticate, filmController.DeleteFilm)
/* Studio Route */
router.POST("/studio", middleware.Authenticate, studioController.AddStudio)
router.GET("/studio", middleware.Authenticate, studioController.GetStudio)
router.GET("/studio/:id", middleware.Authenticate, studioController.GetStudioById)
router.PUT("/studio/:id", middleware.Authenticate, studioController.UpdateStudio)
router.DELETE("/studio/:id", middleware.Authenticate, studioController.DeleteStudio)
/* Ticket Route */
router.POST("/ticket", middleware.Authenticate, ticketController.AddTicket)
router.GET("/ticket", middleware.Authenticate, ticketController.GetTicket)
router.GET("/ticket/:id", middleware.Authenticate, ticketController.GetTicketById)
router.PUT("/ticket/:id", middleware.Authenticate, ticketController.UpdateTicket)
router.DELETE("/ticket/:id", middleware.Authenticate, ticketController.DeleteTicket)
router.Run(":" + os.Getenv("PORT"))
}