session.go 603 B

12345678910111213141516171819202122232425262728
  1. package model
  2. import (
  3. "errors"
  4. )
  5. var (
  6. ErrSessionNotFound = errors.New("session not found")
  7. )
  8. type Session struct {
  9. ID string `json:"id"`
  10. UserID string `json:"user_id"`
  11. InstanceDomain string `json:"instance_domain"`
  12. AccessToken string `json:"access_token"`
  13. CSRFToken string `json:"csrf_token"`
  14. Settings Settings `json:"settings"`
  15. }
  16. type SessionRepo interface {
  17. Add(session Session) (err error)
  18. Get(sessionID string) (session Session, err error)
  19. Remove(sessionID string)
  20. }
  21. func (s Session) IsLoggedIn() bool {
  22. return len(s.AccessToken) > 0
  23. }