Every Go-identifier reference in // and /* */ comments now uses
godoc's [Name] linking syntax so pkg.go.dev and `go doc` render
them as clickable cross-references. No behaviour change.
Pattern applied across the tree:
In-package [Foo], [Foo.Bar]
Cross-package [pkg.Foo], [pkg.Foo.Bar]
Stdlib [netip.Prefix], [errors.Is], [context.Context]
Tailscale [tailcfg.MapResponse], [tailcfg.Node.CapMap],
[tailcfg.NodeAttrSuggestExitNode]
Skip rules:
- File:line refs left as plain text
- HuJSON wire keys inside backtick raw strings untouched
- ACL/policy syntax tokens (tag:foo, autogroup:self, ...) not Go
symbols, left as plain text
- JSON/OIDC wire keys, gorm tags, RFC IPv6 placeholders, markdown
link tags, decorative dividers — all left as-is
32 lines
673 B
Go
32 lines
673 B
Go
package types
|
|
|
|
import (
|
|
"net/netip"
|
|
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
// Deprecated: Approval of routes is denormalised onto the relevant node.
|
|
// Struct is kept for GORM migrations only.
|
|
type Route struct {
|
|
gorm.Model
|
|
|
|
NodeID uint64 `gorm:"not null"`
|
|
Node *Node
|
|
|
|
Prefix netip.Prefix `gorm:"serializer:text"`
|
|
|
|
// Advertised is now only stored as part of [Node.Hostinfo].
|
|
Advertised bool
|
|
|
|
// Enabled is stored directly on the node as [Node.ApprovedRoutes].
|
|
Enabled bool
|
|
|
|
// IsPrimary is only determined in memory as it is only relevant
|
|
// when the server is up.
|
|
IsPrimary bool
|
|
}
|
|
|
|
// Deprecated: Approval of routes is denormalised onto the relevant node.
|
|
type Routes []Route
|