add comments, fix user expiry log spam

now actually removes the already deleted user from the expiry list.
This commit is contained in:
Harvey Tindall 2021-03-21 22:50:33 +00:00
parent e351c35cc8
commit 1a6d78352c
Signed by: hrfee
GPG Key ID: BBC65952848FB1A2
4 changed files with 12 additions and 5 deletions

View File

@ -79,7 +79,7 @@ type appContext struct {
configBase settings
dataPath string
webFS httpFS
cssClass string
cssClass string // Default theme, "light-theme"|"dark-theme".
jellyfinLogin bool
users []User
invalidTokens []string

View File

@ -1,3 +1,6 @@
// Mediabrowser provides user-related bindings to the Jellyfin & Emby APIs.
// Some data aren't bound to structs as jfa-go doesn't need to interact with them, for example DisplayPreferences.
// See Jellyfin/Emby swagger docs for more info on them.
package mediabrowser
import (
@ -21,7 +24,8 @@ const (
EmbyServer
)
type serverInfo struct {
// ServerInfo stores info about the server.
type ServerInfo struct {
LocalAddress string `json:"LocalAddress"`
Name string `json:"ServerName"`
Version string `json:"Version"`
@ -39,7 +43,7 @@ type MediaBrowser struct {
useragent string
auth string
header map[string]string
ServerInfo serverInfo
ServerInfo ServerInfo
Username string
password string
Authenticated bool
@ -56,7 +60,7 @@ type MediaBrowser struct {
timeoutHandler common.TimeoutHandler
}
// NewServer returns a new Jellyfin object.
// NewServer returns a new Mediabrowser object.
func NewServer(st serverType, server, client, version, device, deviceID string, timeoutHandler common.TimeoutHandler, cacheTimeout int) (*MediaBrowser, error) {
mb := &MediaBrowser{}
mb.serverType = st

View File

@ -11,6 +11,7 @@ type magicParse struct {
Parsed time.Time `json:"parseme"`
}
// Time embeds time.Time with a custom JSON Unmarshal method to work with Jellyfin & Emby's time formatting.
type Time struct {
time.Time
}
@ -62,7 +63,8 @@ type User struct {
LastLoginDate Time `json:"LastLoginDate"`
LastActivityDate Time `json:"LastActivityDate"`
Configuration Configuration `json:"Configuration"`
Policy Policy `json:"Policy"`
// Policy stores the user's permissions.
Policy Policy `json:"Policy"`
}
type SessionInfo struct {

View File

@ -76,6 +76,7 @@ func (app *appContext) checkUsers() {
}
if !found {
app.info.Printf("Expired user already deleted, ignoring.")
delete(app.storage.users, id)
continue
}
app.info.Printf("%s expired user \"%s\"", termPlural, user.Name)