add func deleteExpiredSessions
parent
0402892963
commit
5f1d06311f
|
@ -264,23 +264,22 @@ func isSessionIdValid(sessionId string) (bool, error) {
|
||||||
db, err := database.GetDatabase()
|
db, err := database.GetDatabase()
|
||||||
|
|
||||||
if db == nil || err != nil {
|
if db == nil || err != nil {
|
||||||
log.Warn("DB error:", err)
|
|
||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
|
|
||||||
defer db.Close()
|
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 {
|
if err == sql.ErrNoRows {
|
||||||
return false, nil
|
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 {
|
if err != nil {
|
||||||
log.Warn("Failed to parse session datetime", err)
|
log.Warn("Failed to parse session datetime", err)
|
||||||
|
@ -288,14 +287,14 @@ func isSessionIdValid(sessionId string) (bool, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// session has expired
|
// session has expired
|
||||||
if time.Now().Add(time.Hour*73).Unix() > t.Unix() {
|
if time.Now().Unix() > sessionExpires.Unix() {
|
||||||
log.Info("bigger")
|
log.Info("bigger")
|
||||||
deleteSession(db, sessionId)
|
deleteSession(db, sessionId)
|
||||||
|
|
||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Info("not bigger")
|
log.Info("not bigger") */
|
||||||
return true, nil
|
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)
|
res, err := db.Exec("DELETE FROM sessions WHERE session_id = ?", sessionId)
|
||||||
|
|
||||||
if err != nil {
|
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) {
|
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 {
|
func getExpiresTime() time.Time {
|
||||||
// TODO: db default
|
// TODO: db default
|
||||||
|
|
||||||
return time.Now().Add(time.Hour * 72)
|
return time.Now().Add(time.Hour * 72)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -442,9 +456,11 @@ func GetUsers(c *fiber.Ctx) error {
|
||||||
// c.Params("id")
|
// c.Params("id")
|
||||||
|
|
||||||
if db == nil || err != nil {
|
if db == nil || err != nil {
|
||||||
return c.SendString("db error")
|
return c.SendStatus(fiber.StatusInternalServerError)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
defer db.Close()
|
||||||
|
|
||||||
list := []string{}
|
list := []string{}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|
Loading…
Reference in New Issue