summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsanine-a <sanine.not@pm.me>2023-05-02 14:20:21 -0500
committersanine-a <sanine.not@pm.me>2023-05-02 14:20:21 -0500
commitad6a617c12d9b341be1357dcbb6ab58febe32ee8 (patch)
tree08fb50ad9ddc17c911ae175c2a62a463d67160de
parente365e8c2fd4e3a595c696849734236008fc67e1f (diff)
add TouchSession
-rw-r--r--db/db.go1
-rw-r--r--db/session.go10
2 files changed, 10 insertions, 1 deletions
diff --git a/db/db.go b/db/db.go
index 87784ff..3a48858 100644
--- a/db/db.go
+++ b/db/db.go
@@ -50,6 +50,7 @@ type Model interface {
CreateSession(user User) (Session, error)
DeleteSession(session Session) error
+ TouchSession(session Session) error
CheckSession(session Session) (bool, error)
CleanSessions(maxIdle time.Duration) error
AllSessions() ([]Session, error)
diff --git a/db/session.go b/db/session.go
index bddedda..b8365ff 100644
--- a/db/session.go
+++ b/db/session.go
@@ -73,6 +73,14 @@ func extractSession(s Scanner) (Session, error) {
}
+func (p *Phlox) TouchSession(session Session) error {
+ now := time.Now().UTC()
+ nowStr := now.Format(time.RFC3339)
+ _, err := p.db.Exec("update sessions set modified=? where sessionid=?;", nowStr, session.Id)
+ return err
+}
+
+
func (p *Phlox) CheckSession(session Session) (bool, error) {
row := p.db.QueryRow("select * from sessions where sessionid = ?", session.Id)
session, err := extractSession(row)
@@ -96,7 +104,7 @@ func (p *Phlox) TouchSession(session Session) error {
"update sessions set modified = ? where sessionid = ?;",
now, session.Id,
)
- return err
+ return err
}