ExpireSessions expires session object in database.
(db *gorp.DbMap)
| 346 | |
| 347 | // ExpireSessions expires session object in database. |
| 348 | func ExpireSessions(db *gorp.DbMap) (expireCount int64, err error) { |
| 349 | var sessions []*Session |
| 350 | _, err = db.Select(&sessions, `SELECT * FROM "session" WHERE "expire" <= ?`, |
| 351 | time.Now().Unix()) |
| 352 | if err != nil { |
| 353 | err = errors.Wrapf(err, "get sessions to expire failed") |
| 354 | return |
| 355 | } |
| 356 | |
| 357 | if len(sessions) == 0 { |
| 358 | return |
| 359 | } |
| 360 | |
| 361 | var args []interface{} |
| 362 | |
| 363 | for _, s := range sessions { |
| 364 | args = append(args, s) |
| 365 | } |
| 366 | |
| 367 | expireCount, err = db.Delete(args...) |
| 368 | if err != nil { |
| 369 | err = errors.Wrapf(err, "remove expired sessions failed") |
| 370 | } |
| 371 | |
| 372 | return |
| 373 | } |
no test coverage detected