userutil

package
v0.0.0-...-30e928c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 1, 2026 License: GPL-3.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddAuthorRelationsFromMeQuery

func AddAuthorRelationsFromMeQuery(q *sqlf.Stmt, userID *models.UserID) *sqlf.Stmt

AddAuthorRelationsFromMeQuery adds a CTE for relations from the current user to authors.

func AddAuthorRelationsToMeQuery

func AddAuthorRelationsToMeQuery(q *sqlf.Stmt, userID *models.UserID) *sqlf.Stmt

AddAuthorRelationsToMeQuery adds a CTE for relations from authors to the current user.

func AddCanViewAuthorQuery

func AddCanViewAuthorQuery(q *sqlf.Stmt, userID *models.UserID) *sqlf.Stmt

AddCanViewAuthorQuery adds privacy filtering for checking if a user can view an author's profile.

func AddCanViewEntryQuery

func AddCanViewEntryQuery(q *sqlf.Stmt, userID *models.UserID) *sqlf.Stmt

AddCanViewEntryQuery adds privacy filtering for checking if a user can view an entry.

func AddEntryOpenQuery

func AddEntryOpenQuery(q *sqlf.Stmt, userID *models.UserID, showMe bool) *sqlf.Stmt

AddEntryOpenQuery adds privacy filtering for entry visibility based on entry privacy settings.

func AddViewAuthorQuery

func AddViewAuthorQuery(q *sqlf.Stmt, userID *models.UserID) *sqlf.Stmt

AddViewAuthorQuery adds privacy filtering for viewing an author (includes ignore check).

func AddViewCommentQuery

func AddViewCommentQuery(q *sqlf.Stmt, userID *models.UserID) *sqlf.Stmt

AddViewCommentQuery adds privacy filtering for viewing comments.

func AddViewEntryQuery

func AddViewEntryQuery(q *sqlf.Stmt, userID *models.UserID) *sqlf.Stmt

AddViewEntryQuery adds full privacy filtering for viewing entries.

func CanViewEntry

func CanViewEntry(tx *database.AutoTx, userID *models.UserID, entryID int64) bool

CanViewEntry returns true if the user is allowed to read the entry.

func CanViewTlogName

func CanViewTlogName(tx *database.AutoTx, userID *models.UserID, tlog string) bool

CanViewTlogName checks if the user can view the specified tlog.

func LoadOnlineUsers

func LoadOnlineUsers(tx *database.AutoTx) []*models.User

LoadOnlineUsers loads all currently online users.

func LoadRelation

func LoadRelation(tx *database.AutoTx, from, to int64) string

LoadRelation loads the relationship type between two users.

func LoadUser

func LoadUser(tx *database.AutoTx, id int64) *models.User

LoadUser loads a user by ID from the database.

func LoadUserByName

func LoadUserByName(tx *database.AutoTx, name string) *models.User

LoadUserByName loads a user by name from the database.

Types

type UserAltCount

type UserAltCount struct {
	Count int64
	Alt   string
	// contains filtered or unexported fields
}

UserAltCount represents a count of alternative account matches.

func (UserAltCount) String

func (c UserAltCount) String() string

String formats UserAltCount as an HTML link.

type UserAltCounts

type UserAltCounts []UserAltCount

UserAltCounts is a collection of alternative account counts.

func (UserAltCounts) String

func (counts UserAltCounts) String() string

String formats UserAltCounts as a comma-separated list.

type UserAltQuery

type UserAltQuery struct {
	// contains filtered or unexported fields
}

UserAltQuery provides methods for detecting alternative user accounts.

func NewUserAltQuery

func NewUserAltQuery(tx *database.AutoTx, limit int, baseURL, ipAPI string) *UserAltQuery

NewUserAltQuery creates a new UserAltQuery instance.

func (*UserAltQuery) GetAppAlts

func (q *UserAltQuery) GetAppAlts(user string) UserAltCounts

GetAppAlts finds alternative accounts based on shared app/device combinations.

func (*UserAltQuery) GetCommonApps

func (q *UserAltQuery) GetCommonApps(userA, userB string) UserAppCounts

GetCommonApps finds user agents shared between two users.

func (*UserAltQuery) GetCommonIPs

func (q *UserAltQuery) GetCommonIPs(userA, userB string) UserIPCounts

GetCommonIPs finds IP addresses shared between two users.

func (*UserAltQuery) GetDeviceAlts

func (q *UserAltQuery) GetDeviceAlts(user string) UserAltCounts

GetDeviceAlts finds alternative accounts based on shared devices.

func (*UserAltQuery) GetDiffApps

func (q *UserAltQuery) GetDiffApps(userA, userB string) UserAppCounts

GetDiffApps finds user agents used by userA but not userB.

func (*UserAltQuery) GetDiffIPs

func (q *UserAltQuery) GetDiffIPs(userA, userB string) UserIPCounts

GetDiffIPs finds IP addresses used by userA but not userB.

func (*UserAltQuery) GetEmailAlts

func (q *UserAltQuery) GetEmailAlts(user, email string) UserAltCounts

GetEmailAlts finds alternative accounts based on email similarity.

func (*UserAltQuery) GetIPAlts

func (q *UserAltQuery) GetIPAlts(user string) UserAltCounts

GetIPAlts finds alternative accounts based on shared IP addresses.

func (*UserAltQuery) GetSuspectedAlt

func (q *UserAltQuery) GetSuspectedAlt(user string) (string, bool)

GetSuspectedAlt returns the suspected alternative account for a user.

func (*UserAltQuery) GetUID2Alts

func (q *UserAltQuery) GetUID2Alts(user string) UserAltCounts

GetUID2Alts finds alternative accounts based on shared UID2 tracking.

func (*UserAltQuery) GetUserApps

func (q *UserAltQuery) GetUserApps(user string) UserAppCounts

GetUserApps gets all user agents used by a user.

func (*UserAltQuery) GetUserIPs

func (q *UserAltQuery) GetUserIPs(user string) UserIPCounts

GetUserIPs gets all IP addresses used by a user.

type UserAppCount

type UserAppCount struct {
	Count     int64
	From      time.Time
	To        time.Time
	UserAgent string
}

UserAppCount represents user agent usage statistics.

func (UserAppCount) String

func (c UserAppCount) String() string

String formats UserAppCount with parsed user agent information.

type UserAppCounts

type UserAppCounts []UserAppCount

UserAppCounts is a collection of user agent counts.

func (UserAppCounts) String

func (counts UserAppCounts) String() string

String formats UserAppCounts as a newline-separated list.

type UserIPCount

type UserIPCount struct {
	Count int64
	From  time.Time
	To    time.Time
	IP    string
	// contains filtered or unexported fields
}

UserIPCount represents IP address usage statistics.

func (UserIPCount) String

func (c UserIPCount) String() string

String formats UserIPCount with IP API link and date range.

type UserIPCounts

type UserIPCounts []UserIPCount

UserIPCounts is a collection of IP address counts.

func (UserIPCounts) String

func (counts UserIPCounts) String() string

String formats UserIPCounts as a newline-separated list.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL