From 62ef8ed57aab9f2b05a64b153d231ae4f42769f4 Mon Sep 17 00:00:00 2001 From: Florian RĂ¼chel Date: Mon, 6 Nov 2023 04:27:35 +1030 Subject: Add WebAuthn / Passkey integration This is a rebase of #1618 in which @dave-atx added WebAuthn support. Closes #1618 --- internal/storage/session.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'internal/storage/session.go') diff --git a/internal/storage/session.go b/internal/storage/session.go index fb78ea02..cf48b5aa 100644 --- a/internal/storage/session.go +++ b/internal/storage/session.go @@ -70,6 +70,23 @@ func (s *Storage) UpdateAppSessionField(sessionID, field string, value any) erro return nil } +func (s *Storage) UpdateAppSessionObjectField(sessionID, field string, value interface{}) error { + query := ` + UPDATE + sessions + SET + data = jsonb_set(data, '{%s}', $1, true) + WHERE + id=$2 + ` + _, err := s.db.Exec(fmt.Sprintf(query, field), value, sessionID) + if err != nil { + return fmt.Errorf(`store: unable to update session field: %v`, err) + } + + return nil +} + // AppSession returns the given session. func (s *Storage) AppSession(id string) (*model.Session, error) { var session model.Session -- cgit v1.2.3