2019-12-13 18:08:26 +00:00
|
|
|
package model
|
|
|
|
|
2019-12-17 20:17:25 +00:00
|
|
|
import (
|
|
|
|
"errors"
|
|
|
|
)
|
2019-12-13 18:08:26 +00:00
|
|
|
|
|
|
|
var (
|
|
|
|
ErrSessionNotFound = errors.New("session not found")
|
|
|
|
)
|
|
|
|
|
|
|
|
type Session struct {
|
2019-12-21 11:13:21 +00:00
|
|
|
ID string `json:"id"`
|
2020-02-02 08:30:40 +00:00
|
|
|
UserID string `json:"user_id"`
|
2019-12-21 11:13:21 +00:00
|
|
|
InstanceDomain string `json:"instance_domain"`
|
|
|
|
AccessToken string `json:"access_token"`
|
2020-01-25 10:07:06 +00:00
|
|
|
CSRFToken string `json:"csrf_token"`
|
2019-12-21 11:13:21 +00:00
|
|
|
Settings Settings `json:"settings"`
|
2019-12-13 18:08:26 +00:00
|
|
|
}
|
|
|
|
|
2020-01-28 17:51:00 +00:00
|
|
|
type SessionRepo interface {
|
2019-12-13 18:08:26 +00:00
|
|
|
Add(session Session) (err error)
|
|
|
|
Get(sessionID string) (session Session, err error)
|
2020-03-04 15:59:59 +00:00
|
|
|
Remove(sessionID string)
|
2019-12-13 18:08:26 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func (s Session) IsLoggedIn() bool {
|
|
|
|
return len(s.AccessToken) > 0
|
|
|
|
}
|