package jwtSet

//
//import (
//	"github.com/iris-contrib/middleware/jwt"
//	"github.com/sirupsen/logrus"
//	"main/database"
//	"main/model"
//	"main/utils"
//	"time"
//)
//
//var Jwt *jwt.Middleware
//var keys model.JwtKeys
//
//func GetJwtKeys() model.JwtKeys {
//	db := database.GetInstance().GetMysqlDb()
//	if utils.DataIsNil(keys) || keys.Date != time.Now().Format("2006-01-02") {
//		keys = model.JwtKeys{}
//		if err := db.Where("date = ? and token = ''", time.Now().Format("2006-01-02")).First(&keys).Error; err != nil {
//			logrus.Errorln("sql执行失败：", err)
//			return model.JwtKeys{}
//		}
//	}
//	if keys.Key == "" {
//		keys.Date = time.Now().Format("2006-01-02")
//		keys.Key = utils.NewKey(32)
//		if err := db.Create(&keys).Error; err != nil {
//			logrus.Errorln("sql执行失败：", err)
//			return model.JwtKeys{}
//		}
//	}
//	if !keys.Updated && !utils.DataIsNil(Jwt) {
//		UpdateJwt()
//	}
//	return keys
//}
////func Init() {
////	if utils.DataIsNil(keys) {
////		GetJwtKeys()
////	}
////	Jwt = jwt.New(jwt.Config{
////		ValidationKeyGetter: func(token *jwt.Token) (interface{}, error) {
////			return []byte(keys.Key), nil
////		},
////		ErrorHandler: func(context iris.Context, err error) {
////			if err == nil {
////				return
////			}
////			context.StopExecution()
////			context.StatusCode(iris.StatusUnauthorized)
////			context.SetErr(err)
////		},
////		Extractor:     jwt.FromAuthHeader,
////		SigningMethod: jwt.SigningMethodHS256,
////	})
////	db := database.GetInstance().GetMysqlDb()
////	keys.Updated = true
////	if err := db.Updates(&keys).Error; err != nil {
////		logrus.Errorln("sql执行失败：", err)
////		return
////	}
////}
//
//func UpdateJwt() {
//	if utils.DataIsNil(keys) {
//		GetJwtKeys()
//	}
//	Jwt.Config.ValidationKeyGetter = func(token *jwt.Token) (interface{}, error) {
//		return []byte(keys.Key), nil
//	}
//	db := database.GetInstance().GetMysqlDb()
//	keys.Updated = true
//	if err := db.Updates(&keys).Error; err != nil {
//		logrus.Errorln("sql执行失败：", err)
//		return
//	}
//}
