user_session.go 727 B

123456789101112131415161718192021222324252627282930
  1. // SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
  2. // SPDX-License-Identifier: Apache-2.0
  3. package model // import "miniflux.app/v2/internal/model"
  4. import (
  5. "fmt"
  6. "time"
  7. "miniflux.app/v2/internal/timezone"
  8. )
  9. // UserSession represents a user session in the system.
  10. type UserSession struct {
  11. ID int64
  12. UserID int64
  13. Token string
  14. CreatedAt time.Time
  15. UserAgent string
  16. IP string
  17. }
  18. func (u *UserSession) String() string {
  19. return fmt.Sprintf(`ID=%d, UserID=%d, IP=%q, Token=%q`, u.ID, u.UserID, u.IP, u.Token)
  20. }
  21. // UseTimezone converts creation date to the given timezone.
  22. func (u *UserSession) UseTimezone(tz string) {
  23. u.CreatedAt = timezone.Convert(tz, u.CreatedAt)
  24. }