mirror of
https://github.com/netbirdio/netbird.git
synced 2026-03-31 06:34:19 -04:00
33 lines
1.0 KiB
Go
33 lines
1.0 KiB
Go
package domain
|
|
|
|
type Type string
|
|
|
|
const (
|
|
TypeFree Type = "free"
|
|
TypeCustom Type = "custom"
|
|
)
|
|
|
|
type Domain struct {
|
|
ID string `gorm:"unique;primaryKey;autoIncrement"`
|
|
Domain string `gorm:"unique"` // Domain records must be unique, this avoids domain reuse across accounts.
|
|
AccountID string `gorm:"index"`
|
|
TargetCluster string // The proxy cluster this domain should be validated against
|
|
Type Type `gorm:"-"`
|
|
Validated bool
|
|
// SupportsCustomPorts is populated at query time for free domains from the
|
|
// proxy cluster capabilities. Not persisted.
|
|
SupportsCustomPorts *bool `gorm:"-"`
|
|
// RequireSubdomain is populated at query time. When true, the domain
|
|
// cannot be used bare and a subdomain label must be prepended. Not persisted.
|
|
RequireSubdomain *bool `gorm:"-"`
|
|
}
|
|
|
|
// EventMeta returns activity event metadata for a domain
|
|
func (d *Domain) EventMeta() map[string]any {
|
|
return map[string]any{
|
|
"domain": d.Domain,
|
|
"target_cluster": d.TargetCluster,
|
|
"validated": d.Validated,
|
|
}
|
|
}
|