Versions in this module Expand all Collapse all v0 v0.1.2 Oct 1, 2026 v0.1.1 Oct 1, 2026 Changes in this version + type FilesAccess struct + QuotaBytes int64 + Revoked bool + type Message struct + At time.Time + Body string + From string + ID int64 + Read bool + To string type Store + FilesAccess func(userID int64) (FilesAccess, error) + FilesSetting func(key string) (string, bool, error) + Inbox func(username string, n int) ([]Message, error) + MarkRead func(username string, ids []int64) error + OnlineUsers func() (map[string]bool, error) + SendMessage func(from, to, body string) error + SendMessageMulti func(from string, to []string, body string) (int, error) + SetFilesQuota func(userID, bytes int64) error + SetFilesRevoked func(userID int64, revoked bool) error + SetFilesSetting func(key, value string) error + UnreadCount func(username string) (int, error) v0.1.0 Jun 14, 2026 Changes in this version + var ErrDomainTaken = errors.New("domain already mapped to another account") + var ErrKeyMismatch = errors.New("username registered with a different key") + var ErrQuotaExceeded = errors.New("qrypt invite quota exceeded") + type AdminAction struct + Action string + Admin string + At time.Time + Detail string + Target string + type ChatMessage struct + At time.Time + Role string + Text string + type ChatRow struct + At time.Time + Role string + Text string + Username string + type DomainMap struct + At time.Time + Domain string + Username string + type MatchRow struct + EndedAt time.Time + Game string + ID int64 + Moves []games.Move + P0 string + P1 string + RatingAfter [2]float64 + Reason string + StartedAt time.Time + Winner int + type NewsArticle struct + Body string + Bytes int + CreatedAt time.Time + Date string + From string + Group string + Lines int + MsgID string + Num int64 + Refs string + Subject string + type NewsGroup struct + Count int64 + CreatedAt time.Time + Description string + High int64 + Low int64 + Name string + Posting bool + type RatingRow struct + Played int + Rating float64 + User string + type Score struct + At time.Time + Game string + Score int64 + User string + type SessionRow struct + Ended time.Time + EndedValid bool + ID int64 + Remote string + Route string + Started time.Time + Username string + type Store interface + AddChat func(userID int64, username, role, text string) error + AddScore func(userID int64, game string, score int64) error + AllDomains func() ([]DomainMap, error) + Close func() error + ConfirmEmailCode func(userID int64, code string) (User, bool, error) + DisabledPlugins func() (map[string]bool, error) + DomainUser func(domain string) (string, bool, error) + DomainsForUser func(username string) ([]string, error) + EndSession func(sessionID int64) error + EnsureNewsGroup func(name, description string) error + EnsureUser func(name, kind, pubkeyFP string) (User, error) + GrantPod func(userID int64, until time.Time, paymentRef string) error + GrantPremium func(userID int64, paymentRef string) error + InsertNewsArticle func(a NewsArticle) (NewsArticle, error) + LastSeen func(userID int64) (time.Time, bool, error) + ListUsers func(limit int) ([]User, error) + LogAdminAction func(admin, action, target, detail string) error + MapDomain func(domain, username string) error + MatchByID func(id int64) (MatchRow, bool, error) + MintAPIToken func(username string) (string, error) + NewsArticleByMsgID func(msgID string) (NewsArticle, bool, error) + NewsArticleByNum func(group string, num int64) (NewsArticle, bool, error) + NewsArticlesRange func(group string, from, to int64) ([]NewsArticle, error) + NewsGroup func(name string) (NewsGroup, bool, error) + NewsGroups func() ([]NewsGroup, error) + PodPaidUntil func(userID int64) (time.Time, bool, error) + QryptInviteCount func(username string) (int, error) + Rating func(user, game string) (float64, error) + RecentAdminActions func(n int) ([]AdminAction, error) + RecentChats func(username string, n int) ([]ChatMessage, error) + RecentChatsAll func(n int) ([]ChatRow, error) + RecentMatches func(game string, n int) ([]MatchRow, error) + RecentSessions func(n int) ([]SessionRow, error) + RecordQryptInvite func(username, jti string, quota int) error + RecordSession func(userID int64, username, remote, route string) (int64, error) + SaveMatch func(games.FinishedMatch) error + SetBanned func(userID int64, banned bool) error + SetEmailVerification func(userID int64, email, token string) error + SetPluginDisabled func(id string, disabled bool) error + SetPremiumPayment func(userID int64, payID string) error + TopRatings func(game string, n int) ([]RatingRow, error) + TopScores func(game string, n int) ([]Score, error) + UnmapDomain func(domain, username string) error + UserByFingerprint func(fp string) (User, bool, error) + UserByName func(name string) (User, bool, error) + UserByToken func(token string) (string, bool, error) + VerifyEmail func(token string) (User, bool, error) + func Open(path string) (Store, error) + type User struct + Banned bool + CreatedAt time.Time + Email string + EmailVerified bool + ID int64 + Kind string + Name string + Premium bool + PremiumPayID string + PubKeyFP string