Files
discord-retokenizer/endpoints/login.go
2022-12-09 20:06:43 -06:00

46 lines
864 B
Go

package endpoints
import (
"fmt"
"git.zomo.dev/zomo/discord-retokenizer/storage"
"github.com/gin-gonic/gin"
)
type LoginBody struct {
Username string `json:"username" binding:"required"`
Password string `json:"password" binding:"required"`
}
func login(c *gin.Context) {
var loginBody LoginBody
if err := c.BindJSON(&loginBody); err != nil {
fmt.Println(err)
return
}
loggedIn, token := storage.CheckLogin(loginBody.Username, loginBody.Password, c.ClientIP())
if loggedIn {
c.JSON(200, gin.H{
"token": token,
})
} else {
c.JSON(401, gin.H{
"error": "invalid username or password",
})
}
}
func updateLogin(c *gin.Context) {
var updateLogin LoginBody
if err := c.BindJSON(&updateLogin); err != nil {
fmt.Println(err)
return
}
storage.UpdateUsername(updateLogin.Username)
storage.UpdatePassword(updateLogin.Password)
}