package middle

import (
	"background/config"
	"background/controller"
	"background/model"
	"encoding/json"
	"github.com/gin-gonic/gin"
	"log"
)

func AuthMiddle(c *gin.Context)  {
	token := c.Query("token")
	user := c.Query("userid")
	if user == "" || token == ""{
		log.Print("error user not existed")
		c.JSON(200,controller.RespBase{
			"auth err",20,nil,
		})
		c.Abort()
		return
	}
	if config.RedisOne().Exists(token).Val() {
		users := model.Users{}
		userInfo := config.RedisOne().Get(token).Val()
		e := json.Unmarshal([]byte(userInfo),&users)
		if nil != e{
			c.JSON(200,controller.RespBase{
				"auth err",10,nil,
			})
			c.Abort()
			return
		}
	}else {
		c.JSON(200,controller.RespBase{
			"expired or no login",210,nil,
		})
		c.Abort()
		return
	}
	c.Next()
}