Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var StaticFS, _ = fs.Sub(staticFiles, "static")
StaticFS provides access to embedded static files (htmx.min.js, etc.) with the "static/" prefix stripped so files are served at their base names.
Functions ¶
This section is empty.
Types ¶
type CompareInput ¶
type CompareInput struct {
// ASN1 is the first network's Autonomous System Number.
ASN1 int
// ASN2 is the second network's Autonomous System Number.
ASN2 int
// ViewMode is "shared" (default) or "full".
ViewMode string
}
CompareInput holds the parameters for a network comparison.
type CompareService ¶
type CompareService struct {
// contains filtered or unexported fields
}
CompareService compares two networks' presences across IXPs, facilities, and campuses.
func NewCompareService ¶
func NewCompareService(client *ent.Client) *CompareService
NewCompareService creates a CompareService backed by the given ent client.
func (*CompareService) Compare ¶
func (s *CompareService) Compare(ctx context.Context, input CompareInput) (*templates.CompareData, error)
Compare loads both networks' presences and computes set intersections to find shared IXPs, facilities, and campuses.
type Handler ¶
type Handler struct {
// contains filtered or unexported fields
}
Handler serves web UI pages.
func NewHandler ¶
func NewHandler(in NewHandlerInput) *Handler
NewHandler creates a web UI handler with integrated search and compare services. AuthMode and PublicTier are captured at construction and surface on /ui/about (Phase 61 OBS-02). Per threat T-61-06 the input uses named fields so callers cannot transpose them.
type NewHandlerInput ¶ added in v1.14.0
type NewHandlerInput struct {
Client *ent.Client
DB *sql.DB
AuthMode string
PublicTier privctx.Tier
}
NewHandlerInput configures a web Handler. Client is required; DB may be nil for tests that do not exercise the sync-status table. AuthMode and PublicTier feed the /ui/about Privacy & Sync section (Phase 61 OBS-02 D-04/D-05/D-06). When AuthMode is empty, the renderer falls back to "anonymous"; when PublicTier is the zero value (TierPublic), no override flag is shown.
type PageContent ¶
type PageContent struct {
Title string
Content templ.Component
Data any // Raw data struct for terminal/JSON rendering. Nil for pages without entity data.
Freshness time.Time // Freshness is the last successful sync time for terminal footer display.
}
PageContent holds the title and body component for a page render. Defined per CS-5 to avoid >2 non-ctx arguments in renderPage.
type SearchHit ¶
type SearchHit struct {
// ID is the entity's database identifier.
ID int
// Name is the entity's display name.
Name string
// Country is the ISO 3166-1 alpha-2 code; empty if not available.
Country string
// City is the city name; empty if not available.
City string
// ASN is the AS number; 0 if not applicable (non-network entity).
ASN int
// DetailURL is the path to the entity's detail page (e.g. "/ui/asn/13335").
DetailURL string
}
SearchHit represents a single search result with display-ready fields.
type SearchService ¶
type SearchService struct {
// contains filtered or unexported fields
}
SearchService provides search across all 6 PeeringDB entity types.
func NewSearchService ¶
func NewSearchService(client *ent.Client) *SearchService
NewSearchService creates a SearchService backed by the given ent client.
func (*SearchService) Search ¶
func (s *SearchService) Search(ctx context.Context, query string) ([]TypeResult, error)
Search queries all 6 entity types in parallel for the given search term. Returns only types with matches, sorted in canonical type order. Queries under 2 characters (after trimming) return an empty slice.
type TypeResult ¶
type TypeResult struct {
// TypeName is the human-readable plural name (e.g. "Networks", "IXPs").
TypeName string
// TypeSlug is the short identifier used in URLs (e.g. "net", "ix").
TypeSlug string
// AccentColor is the Tailwind color name for visual grouping (e.g. "emerald", "sky").
AccentColor string
// Results holds up to displayLimit matching entities.
Results []SearchHit
// HasMore indicates whether additional matches exist beyond the displayed results.
HasMore bool
}
TypeResult groups search hits for a single entity type with metadata for display.
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
templ: version: v0.3.1001
|
templ: version: v0.3.1001 |
|
Package termrender provides terminal client detection and ANSI text rendering for serving styled text responses to CLI clients like curl, wget, and HTTPie.
|
Package termrender provides terminal client detection and ANSI text rendering for serving styled text responses to CLI clients like curl, wget, and HTTPie. |