-
Notifications
You must be signed in to change notification settings - Fork 1
/
router.go
69 lines (57 loc) · 1.84 KB
/
router.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
67
68
69
package main
import (
"net/http"
"github.com/gin-gonic/gin"
"massliking/backend/auth"
"massliking/backend/config"
. "massliking/backend/handlers"
)
func InitRoutes(engine *gin.Engine) {
engine.LoadHTMLGlob("./static/*.html")
// NGINX serve static for production
if config.IsDevelop() {
engine.Static("/js", "./static/js")
engine.Static("/statics", "./static/statics")
engine.Static("/css", "./static/css")
engine.Static("/fonts", "./static/fonts")
}
engine.GET("/", func(c *gin.Context) {
c.HTML(http.StatusOK, "index.html", gin.H{})
})
v1 := engine.Group("/api/v1")
{
v1.POST("/login", auth.JWT.LoginHandler)
v1.POST("/signup", SignupHandler)
user := v1.Group("/user")
user.Use(auth.JWT.MiddlewareFunc())
{
user.GET("", GetUserHandler)
user.GET("/refresh_token", auth.JWT.RefreshHandler)
}
instagram := v1.Group("/instagrams")
instagram.Use(auth.JWT.MiddlewareFunc())
{
instagram.POST("", CreateInstagramHandler)
instagram.GET("", FindInstagramsHandler)
instagram.GET("/:instagram_id", GetInstagramHandler)
instagram.GET("/:instagram_id/stop", StopInstagramHandler)
instagram.GET("/:instagram_id/start", StartInstagramHandler)
instagram.PUT("/:instagram_id", UpdateInstagramHandler)
instagram.DELETE("/:instagram_id", DeleteInstagramHandler)
}
channel := v1.Group("/instagram/:instagram_id/channels")
channel.Use(auth.JWT.MiddlewareFunc())
{
channel.POST("", CreateChannelHandler)
channel.GET("", FindChannelsHandler)
channel.GET("/:channel_id", GetChannelHandler)
channel.GET("/:channel_id/stop", StopChannelHandler)
channel.GET("/:channel_id/start", StartChannelHandler)
channel.PUT("/:channel_id", UpdateChannelHandler)
channel.DELETE("/:channel_id", DeleteChannelHandler)
}
}
engine.NoRoute(func(c *gin.Context) {
c.HTML(http.StatusOK, "index.html", gin.H{})
})
}