diff api/handlers.go @ 10:5c124578fed2

fix timer bug
author Dennis C. M. <dennis@denniscm.com>
date Sat, 15 Mar 2025 17:03:53 +0000
parents
children aaf85ae1f942
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/api/handlers.go	Sat Mar 15 17:03:53 2025 +0000
@@ -0,0 +1,72 @@
+package api
+
+import (
+	"net/http"
+
+	"github.com/denniscmcom/pacobot/auth"
+	"github.com/denniscmcom/pacobot/socket"
+	"github.com/gin-gonic/gin"
+)
+
+func GetUserHandler(c *gin.Context) {
+	userName := c.Query("username")
+	user := auth.GetUser(userName, getAccessToken())
+
+	c.JSON(http.StatusOK, gin.H{
+		"message": user.Data[len(user.Data)-1].Id,
+	})
+}
+
+func AuthHandler(c *gin.Context) {
+	authUrl := auth.GetAuthUrl()
+	c.Redirect(http.StatusMovedPermanently, authUrl)
+}
+
+func AuthValidateHandler(c *gin.Context) {
+	msg := "failed"
+
+	if auth.IsAuthTokenValid(getAccessToken()) {
+		msg = "ok"
+	}
+
+	c.JSON(http.StatusOK, gin.H{
+		"message": msg,
+	})
+}
+
+func AuthRefreshHandler(c *gin.Context) {
+	authRes := auth.RefreshAuthToken(getAccessToken(), getRefreshToken())
+	setAccessToken(authRes.AccessToken)
+	setRefreshToken(authRes.RefreshToken)
+
+	c.JSON(http.StatusOK, gin.H{
+		"message": "ok",
+	})
+}
+
+func AuthRevokeHandler(c *gin.Context) {
+	auth.RevokeAuthToken(getAccessToken())
+
+	c.JSON(http.StatusOK, gin.H{
+		"message": "ok",
+	})
+}
+
+func TwitchCallbackHandler(c *gin.Context) {
+	authCode := c.Query("code")
+	authRes := auth.GetAuthToken(authCode)
+	authStore.Store("accessToken", authRes.AccessToken)
+	authStore.Store("refreshToken", authRes.RefreshToken)
+
+	c.JSON(http.StatusOK, gin.H{
+		"message": "ok",
+	})
+}
+
+func ConnectHandler(c *gin.Context) {
+	go socket.Connect(getAccessToken())
+
+	c.JSON(http.StatusOK, gin.H{
+		"message": "ok",
+	})
+}