2023-06-19 17:42:47 -04:00
|
|
|
// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
|
|
|
|
// SPDX-License-Identifier: Apache-2.0
|
2017-11-20 00:10:04 -05:00
|
|
|
|
2023-08-10 22:46:45 -04:00
|
|
|
package model // import "miniflux.app/v2/internal/model"
|
2017-11-20 00:10:04 -05:00
|
|
|
|
2018-03-04 20:04:31 -05:00
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
"time"
|
|
|
|
|
2023-08-10 22:46:45 -04:00
|
|
|
"miniflux.app/v2/internal/timezone"
|
2018-03-04 20:04:31 -05:00
|
|
|
)
|
2017-11-20 00:10:04 -05:00
|
|
|
|
2017-12-16 15:15:33 -05:00
|
|
|
// UserSession represents a user session in the system.
|
|
|
|
type UserSession struct {
|
2017-11-20 00:10:04 -05:00
|
|
|
ID int64
|
|
|
|
UserID int64
|
|
|
|
Token string
|
|
|
|
CreatedAt time.Time
|
|
|
|
UserAgent string
|
|
|
|
IP string
|
|
|
|
}
|
|
|
|
|
2018-03-04 20:04:31 -05:00
|
|
|
func (u *UserSession) String() string {
|
|
|
|
return fmt.Sprintf(`ID="%d", UserID="%d", IP="%s", Token="%s"`, u.ID, u.UserID, u.IP, u.Token)
|
|
|
|
}
|
|
|
|
|
|
|
|
// UseTimezone converts creation date to the given timezone.
|
|
|
|
func (u *UserSession) UseTimezone(tz string) {
|
|
|
|
u.CreatedAt = timezone.Convert(tz, u.CreatedAt)
|
2017-11-20 00:10:04 -05:00
|
|
|
}
|
|
|
|
|
2017-12-16 15:15:33 -05:00
|
|
|
// UserSessions represents a list of sessions.
|
|
|
|
type UserSessions []*UserSession
|
2018-03-04 20:04:31 -05:00
|
|
|
|
|
|
|
// UseTimezone converts creation date of all sessions to the given timezone.
|
|
|
|
func (u UserSessions) UseTimezone(tz string) {
|
|
|
|
for _, session := range u {
|
|
|
|
session.UseTimezone(tz)
|
|
|
|
}
|
|
|
|
}
|