Versions in this module Expand all Collapse all v1 v1.0.2 Oct 28, 2026 v1.0.1 Oct 27, 2026 Changes in this version + var ErrFormat = errors.New("not a valid admin address") + var ErrNoSiteConfig = errors.New("adminpath: no site config row") + var ReservedPrefixes = []string + var ScannerList = []string + func Generate() (string, error) + func Normalize(s string) (string, error) + type DB interface + Exec func(ctx context.Context, sql string, args ...any) (pgconn.CommandTag, error) + QueryRow func(ctx context.Context, sql string, args ...any) pgx.Row + type Level int + const LevelInvalid + const LevelOK + const LevelReserved + const LevelStrong + const LevelWeak + func (l Level) String() string + type Reason struct + Code string + Text string + type Result struct + Bits float64 + Level Level + Path string + Reasons []Reason + func Assess(ctx context.Context, path string, site Site) Result + type Site interface + Domain func() string + Name func() string + Serves func(ctx context.Context, path string) (bool, string) + type Store struct + func NewStore(db DB) *Store + func (s *Store) Ack(ctx context.Context, path, by string) error + func (s *Store) Get(ctx context.Context) (Stored, error) + func (s *Store) Set(ctx context.Context, path, by string) error + func (s *Store) SetAck(ctx context.Context, path, by string) error + func (s *Store) SetIfPending(ctx context.Context, path string) (bool, error) + type Stored struct + AckAt *time.Time + AckBy *string + Path *string + SetAt *time.Time + SetBy *string