2
0

dns_record.go 633 B

123456789101112131415161718192021222324252627282930
  1. package models
  2. import (
  3. "fmt"
  4. "github.com/porter-dev/porter/api/types"
  5. "gorm.io/gorm"
  6. )
  7. // DNSRecord type that extends gorm.Model
  8. type DNSRecord struct {
  9. gorm.Model
  10. SubdomainPrefix string `json:"subdomain_prefix" gorm:"unique"`
  11. RootDomain string `json:"root_domain"`
  12. Endpoint string `json:"endpoint"`
  13. Hostname string `json:"hostname"`
  14. ClusterID uint `json:"cluster_id"`
  15. }
  16. func (p *DNSRecord) ToDNSRecordType() *types.DNSRecord {
  17. return &types.DNSRecord{
  18. ExternalURL: fmt.Sprintf("%s.%s", p.SubdomainPrefix, p.RootDomain),
  19. Endpoint: p.Endpoint,
  20. Hostname: p.Hostname,
  21. ClusterID: p.ClusterID,
  22. }
  23. }