annotate main.go @ 9:228ab74e8321

Add index.html
author Dennis C. M. <dennis@denniscm.com>
date Thu, 13 Mar 2025 18:27:25 +0000
parents 4deabe76bd7f
children 5c124578fed2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
1 package main
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
2
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
3 import (
9
228ab74e8321 Add index.html
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
4 "log"
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
5 "net/http"
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
6
9
228ab74e8321 Add index.html
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
7 "github.com/denniscmcom/pacobot/auth"
228ab74e8321 Add index.html
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
8 "github.com/denniscmcom/pacobot/bot"
228ab74e8321 Add index.html
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
9 "github.com/denniscmcom/pacobot/socket"
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
10 "github.com/gin-gonic/gin"
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
11 )
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
12
9
228ab74e8321 Add index.html
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
13 type PageData struct {
228ab74e8321 Add index.html
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
14 Title string
228ab74e8321 Add index.html
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
15 }
228ab74e8321 Add index.html
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
16
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
17 func main() {
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
18 gin.SetMode(gin.DebugMode)
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
19
9
228ab74e8321 Add index.html
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
20 r := gin.Default()
228ab74e8321 Add index.html
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
21 r.LoadHTMLGlob("./www/*.html")
228ab74e8321 Add index.html
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
22
228ab74e8321 Add index.html
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
23 var authRes auth.AuthRes
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
24
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
25 r.GET("/", func(c *gin.Context) {
9
228ab74e8321 Add index.html
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
26 c.HTML(http.StatusOK, "index.html", gin.H{
228ab74e8321 Add index.html
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
27 "Title": "Index",
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
28 })
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
29 })
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
30
9
228ab74e8321 Add index.html
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
31 r.GET("/user", func(c *gin.Context) {
228ab74e8321 Add index.html
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
32 userName := c.Query("username")
228ab74e8321 Add index.html
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
33 user := auth.GetUser(userName, authRes.AccessToken)
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
34
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
35 c.JSON(http.StatusOK, gin.H{
9
228ab74e8321 Add index.html
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
36 "message": user.Data[len(user.Data)-1].Id,
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
37 })
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
38 })
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
39
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
40 r.GET("/auth", func(c *gin.Context) {
9
228ab74e8321 Add index.html
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
41 authUrl := auth.GetAuthUrl()
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
42
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
43 c.Redirect(http.StatusMovedPermanently, authUrl)
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
44 })
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
45
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
46 r.GET("/auth-validate", func(c *gin.Context) {
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
47 msg := "failed"
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
48
9
228ab74e8321 Add index.html
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
49 if auth.IsAuthTokenValid(authRes.AccessToken) {
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
50 msg = "ok"
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
51 }
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
52
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
53 c.JSON(http.StatusOK, gin.H{
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
54 "message": msg,
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
55 })
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
56 })
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
57
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
58 r.GET("/auth-refresh", func(c *gin.Context) {
9
228ab74e8321 Add index.html
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
59 authRes = auth.RefreshAuthToken(authRes.AccessToken, authRes.RefreshToken)
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
60
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
61 c.JSON(http.StatusOK, gin.H{
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
62 "message": "ok",
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
63 })
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
64 })
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
65
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
66 r.GET("/auth-revoke", func(c *gin.Context) {
9
228ab74e8321 Add index.html
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
67 auth.RevokeAuthToken(authRes.AccessToken)
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
68
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
69 c.JSON(http.StatusOK, gin.H{
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
70 "message": "ok",
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
71 })
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
72 })
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
73
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
74 r.GET("/twitch-auth-code-callback", func(c *gin.Context) {
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
75 authCode := c.Query("code")
9
228ab74e8321 Add index.html
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
76 authRes = auth.GetAuthToken(authCode)
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
77
9
228ab74e8321 Add index.html
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
78 c.Redirect(http.StatusMovedPermanently, "/")
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
79 })
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
80
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
81 r.GET("/connect", func(c *gin.Context) {
9
228ab74e8321 Add index.html
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
82 go socket.Connect(authRes.AccessToken)
228ab74e8321 Add index.html
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
83
228ab74e8321 Add index.html
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
84 c.Redirect(http.StatusMovedPermanently, "/")
228ab74e8321 Add index.html
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
85 })
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
86
9
228ab74e8321 Add index.html
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
87 r.POST("/timer", func(c *gin.Context) {
228ab74e8321 Add index.html
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
88 form := c.Request.PostForm
228ab74e8321 Add index.html
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
89 log.Println(form)
228ab74e8321 Add index.html
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
90 timesec := form.Get("tiempo-oculto")
228ab74e8321 Add index.html
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
91 log.Println(timesec)
228ab74e8321 Add index.html
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
92 args := []string{"timer", timesec}
228ab74e8321 Add index.html
Dennis C. M. <dennis@denniscm.com>
parents: 6
diff changeset
93 bot.HandleCmd(args)
6
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
94 })
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
95
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
96 r.Run()
4deabe76bd7f cmd: add CMD package
Dennis C. M. <dennis@denniscm.com>
parents:
diff changeset
97 }