1
0
Fork 0
mirror of https://github.com/miniflux/v2.git synced 2025-09-15 18:57:04 +00:00

Show last login and session creation date in current timezone

This commit is contained in:
Frédéric Guillot 2018-03-04 17:04:31 -08:00
parent 5185bf0c7e
commit 609c57332e
6 changed files with 41 additions and 6 deletions

View file

@ -7,6 +7,8 @@ package model
import (
"errors"
"time"
"github.com/miniflux/miniflux/timezone"
)
// User represents a user in the system.
@ -99,5 +101,19 @@ func (u *User) Merge(override *User) {
}
}
// UseTimezone converts last login date to the given timezone.
func (u *User) UseTimezone(tz string) {
if u.LastLoginAt != nil {
*u.LastLoginAt = timezone.Convert(tz, *u.LastLoginAt)
}
}
// Users represents a list of users.
type Users []*User
// UseTimezone converts last login timestamp of all users to the given timezone.
func (u Users) UseTimezone(tz string) {
for _, user := range u {
user.UseTimezone(tz)
}
}

View file

@ -4,8 +4,12 @@
package model
import "time"
import "fmt"
import (
"fmt"
"time"
"github.com/miniflux/miniflux/timezone"
)
// UserSession represents a user session in the system.
type UserSession struct {
@ -17,9 +21,21 @@ type UserSession struct {
IP string
}
func (s *UserSession) String() string {
return fmt.Sprintf(`ID="%d", UserID="%d", IP="%s", Token="%s"`, s.ID, s.UserID, s.IP, s.Token)
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)
}
// UserSessions represents a list of sessions.
type UserSessions []*UserSession
// UseTimezone converts creation date of all sessions to the given timezone.
func (u UserSessions) UseTimezone(tz string) {
for _, session := range u {
session.UseTimezone(tz)
}
}