From b33be53ea9c0be523988a9412fd8e3f6a24782b3 Mon Sep 17 00:00:00 2001 From: GrailFinder Date: Sat, 20 Apr 2024 07:45:00 +0300 Subject: Feat: add auth [wip] --- internal/models/auth.go | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 internal/models/auth.go (limited to 'internal/models') diff --git a/internal/models/auth.go b/internal/models/auth.go new file mode 100644 index 0000000..5dadf8a --- /dev/null +++ b/internal/models/auth.go @@ -0,0 +1,25 @@ +package models + +import ( + "time" +) + +// each session contains the username of the user and the time at which it expires +type Session struct { + Username string + CurrentRoom string + Expiry time.Time +} + +// we'll use this method later to determine if the session has expired +func (s Session) IsExpired() bool { + return s.Expiry.Before(time.Now()) +} + +func ListUsernames(ss map[string]*Session) []string { + resp := make([]string, 0, len(ss)) + for _, s := range ss { + resp = append(resp, s.Username) + } + return resp +} -- cgit v1.2.3