6
|
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 }
|