21 lines
384 B
Go
21 lines
384 B
Go
package lishwist
|
|
|
|
import "fmt"
|
|
|
|
type Session struct {
|
|
user User
|
|
}
|
|
|
|
// Returns a copy of the user associated with this session
|
|
func (s *Session) User() User {
|
|
return s.user
|
|
}
|
|
|
|
func SessionFromUsername(username string) (*Session, error) {
|
|
user, err := getUserByName(username)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("Failed to get user: %w", err)
|
|
}
|
|
return &Session{*user}, nil
|
|
}
|