Mercurial > public > pacobot
diff main.go @ 6:4deabe76bd7f
cmd: add CMD package
author | Dennis C. M. <dennis@denniscm.com> |
---|---|
date | Wed, 12 Mar 2025 14:13:24 +0000 |
parents | |
children | 228ab74e8321 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.go Wed Mar 12 14:13:24 2025 +0000 @@ -0,0 +1,83 @@ +package main + +import ( + "net/http" + + "github.com/denniscmcom/pacobot/cmd" + "github.com/gin-gonic/gin" +) + +func main() { + gin.SetMode(gin.DebugMode) + r := gin.Default() + + var authRes cmd.AuthRes + + r.GET("/", func(c *gin.Context) { + c.JSON(http.StatusOK, gin.H{ + "message": "Hello world", + }) + }) + + // TODO: Pass username in parameters + r.GET("/id", func(c *gin.Context) { + cmd.GetBroadcasterUserId("denniscmartin", authRes.AccessToken) + + c.JSON(http.StatusOK, gin.H{ + "message": "ok", + }) + }) + + r.GET("/auth", func(c *gin.Context) { + authUrl := cmd.GetAuthUrl() + + c.Redirect(http.StatusMovedPermanently, authUrl) + }) + + r.GET("/auth-validate", func(c *gin.Context) { + msg := "failed" + + if cmd.IsAuthTokenValid(authRes.AccessToken) { + msg = "ok" + } + + c.JSON(http.StatusOK, gin.H{ + "message": msg, + }) + }) + + r.GET("/auth-refresh", func(c *gin.Context) { + authRes = cmd.RefreshAuthToken(authRes.AccessToken, authRes.RefreshToken) + + c.JSON(http.StatusOK, gin.H{ + "message": "ok", + }) + }) + + r.GET("/auth-revoke", func(c *gin.Context) { + cmd.RevokeAuthToken(authRes.AccessToken) + + c.JSON(http.StatusOK, gin.H{ + "message": "ok", + }) + }) + + r.GET("/twitch-auth-code-callback", func(c *gin.Context) { + authCode := c.Query("code") + authRes = cmd.GetAuthToken(authCode) + + c.JSON(http.StatusOK, gin.H{ + "message": "ok", + }) + }) + + r.GET("/connect", func(c *gin.Context) { + go cmd.ConnSocket(authRes.AccessToken) + + c.JSON(http.StatusOK, gin.H{ + "message": "ok", + }) + }) + + r.Run() +}