add func deleteExpiredSessions
parent
0402892963
commit
5f1d06311f
|
@ -264,23 +264,22 @@ func isSessionIdValid(sessionId string) (bool, error) {
|
|||
db, err := database.GetDatabase()
|
||||
|
||||
if db == nil || err != nil {
|
||||
log.Warn("DB error:", err)
|
||||
return false, err
|
||||
}
|
||||
|
||||
defer db.Close()
|
||||
|
||||
var expires string
|
||||
deleteExpiredSessions(db)
|
||||
|
||||
err = db.QueryRow("SELECT session_id, expires FROM sessions WHERE session_id = ?", sessionId).Scan(&sessionId, &expires)
|
||||
err = db.QueryRow("SELECT session_id FROM sessions WHERE session_id = ?", sessionId).Scan(&sessionId)
|
||||
|
||||
if err == sql.ErrNoRows {
|
||||
return false, nil
|
||||
}
|
||||
|
||||
t, err := time.Parse("2006-01-02 15:04:05", expires)
|
||||
/*sessionExpires, err := time.Parse("2006-01-02 15:04:05", expires)
|
||||
|
||||
log.Infoln("expires", expires, time.Now().Add(time.Hour*73).Unix(), t.Unix())
|
||||
log.Infoln("expires", expires, time.Now().Add(time.Hour*72).Unix(), sessionExpires.Unix())
|
||||
|
||||
if err != nil {
|
||||
log.Warn("Failed to parse session datetime", err)
|
||||
|
@ -288,14 +287,14 @@ func isSessionIdValid(sessionId string) (bool, error) {
|
|||
}
|
||||
|
||||
// session has expired
|
||||
if time.Now().Add(time.Hour*73).Unix() > t.Unix() {
|
||||
if time.Now().Unix() > sessionExpires.Unix() {
|
||||
log.Info("bigger")
|
||||
deleteSession(db, sessionId)
|
||||
|
||||
return false, err
|
||||
}
|
||||
|
||||
log.Info("not bigger")
|
||||
log.Info("not bigger") */
|
||||
return true, nil
|
||||
}
|
||||
|
||||
|
@ -303,10 +302,24 @@ func deleteSession(db *sql.DB, sessionId string) {
|
|||
res, err := db.Exec("DELETE FROM sessions WHERE session_id = ?", sessionId)
|
||||
|
||||
if err != nil {
|
||||
log.Infoln("err delete session", err)
|
||||
log.Warnln("err deleting session:", err)
|
||||
}
|
||||
|
||||
log.Infoln("delete session res", res)
|
||||
a, b := res.RowsAffected()
|
||||
|
||||
log.Debugln("delete session res", a, b)
|
||||
}
|
||||
|
||||
func deleteExpiredSessions(db *sql.DB) {
|
||||
res, err := db.Exec("DELETE FROM `sessions` WHERE expires < CURRENT_TIMESTAMP()")
|
||||
|
||||
if err != nil {
|
||||
log.Warnln("err deleting expired sessions:", err)
|
||||
}
|
||||
|
||||
a, b := res.RowsAffected()
|
||||
|
||||
log.Debugln("Delete expired sessions:", a, b)
|
||||
}
|
||||
|
||||
func createUserSession(db *sql.DB, userId string, ip string, userAgent string) (string, error) {
|
||||
|
@ -334,6 +347,7 @@ func createUserSession(db *sql.DB, userId string, ip string, userAgent string) (
|
|||
|
||||
func getExpiresTime() time.Time {
|
||||
// TODO: db default
|
||||
|
||||
return time.Now().Add(time.Hour * 72)
|
||||
}
|
||||
|
||||
|
@ -442,9 +456,11 @@ func GetUsers(c *fiber.Ctx) error {
|
|||
// c.Params("id")
|
||||
|
||||
if db == nil || err != nil {
|
||||
return c.SendString("db error")
|
||||
return c.SendStatus(fiber.StatusInternalServerError)
|
||||
}
|
||||
|
||||
defer db.Close()
|
||||
|
||||
list := []string{}
|
||||
|
||||
var (
|
||||
|
|
Loading…
Reference in New Issue