Mercurial > public > pacobot
comparison 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 |
comparison
equal
deleted
inserted
replaced
5:8cf3011fc949 | 6:4deabe76bd7f |
---|---|
1 package main | |
2 | |
3 import ( | |
4 "net/http" | |
5 | |
6 "github.com/denniscmcom/pacobot/cmd" | |
7 "github.com/gin-gonic/gin" | |
8 ) | |
9 | |
10 func main() { | |
11 gin.SetMode(gin.DebugMode) | |
12 r := gin.Default() | |
13 | |
14 var authRes cmd.AuthRes | |
15 | |
16 r.GET("/", func(c *gin.Context) { | |
17 c.JSON(http.StatusOK, gin.H{ | |
18 "message": "Hello world", | |
19 }) | |
20 }) | |
21 | |
22 // TODO: Pass username in parameters | |
23 r.GET("/id", func(c *gin.Context) { | |
24 cmd.GetBroadcasterUserId("denniscmartin", authRes.AccessToken) | |
25 | |
26 c.JSON(http.StatusOK, gin.H{ | |
27 "message": "ok", | |
28 }) | |
29 }) | |
30 | |
31 r.GET("/auth", func(c *gin.Context) { | |
32 authUrl := cmd.GetAuthUrl() | |
33 | |
34 c.Redirect(http.StatusMovedPermanently, authUrl) | |
35 }) | |
36 | |
37 r.GET("/auth-validate", func(c *gin.Context) { | |
38 msg := "failed" | |
39 | |
40 if cmd.IsAuthTokenValid(authRes.AccessToken) { | |
41 msg = "ok" | |
42 } | |
43 | |
44 c.JSON(http.StatusOK, gin.H{ | |
45 "message": msg, | |
46 }) | |
47 }) | |
48 | |
49 r.GET("/auth-refresh", func(c *gin.Context) { | |
50 authRes = cmd.RefreshAuthToken(authRes.AccessToken, authRes.RefreshToken) | |
51 | |
52 c.JSON(http.StatusOK, gin.H{ | |
53 "message": "ok", | |
54 }) | |
55 }) | |
56 | |
57 r.GET("/auth-revoke", func(c *gin.Context) { | |
58 cmd.RevokeAuthToken(authRes.AccessToken) | |
59 | |
60 c.JSON(http.StatusOK, gin.H{ | |
61 "message": "ok", | |
62 }) | |
63 }) | |
64 | |
65 r.GET("/twitch-auth-code-callback", func(c *gin.Context) { | |
66 authCode := c.Query("code") | |
67 authRes = cmd.GetAuthToken(authCode) | |
68 | |
69 c.JSON(http.StatusOK, gin.H{ | |
70 "message": "ok", | |
71 }) | |
72 }) | |
73 | |
74 r.GET("/connect", func(c *gin.Context) { | |
75 go cmd.ConnSocket(authRes.AccessToken) | |
76 | |
77 c.JSON(http.StatusOK, gin.H{ | |
78 "message": "ok", | |
79 }) | |
80 }) | |
81 | |
82 r.Run() | |
83 } |