package models import ( "context" "errors" "time" ) // ErrUserLookupNotAvailable is returned when user lookup is not configured. var ErrUserLookupNotAvailable = errors.New("user lookup not available") // AuthToken represents an authentication token for a user session. type AuthToken struct { Base Token string `json:"-"` UserID string `json:"userId"` CreatedAt time.Time `json:"createdAt"` ExpiresAt *time.Time `json:"expiresAt,omitempty"` LastUsedAt *time.Time `json:"lastUsedAt,omitempty"` } // User returns the user who owns this token. func (t *AuthToken) User(ctx context.Context) (*User, error) { return t.LookupUser(ctx, t.UserID) }