| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 | package schemaimport (	"context"	"time"	"github.com/gravitl/netmaker/db"	"gorm.io/datatypes")type Nameserver struct {	ID           string                      `gorm:"primaryKey" json:"id"`	Name         string                      `gorm:"name" json:"name"`	NetworkID    string                      `gorm:"network_id" json:"network_id"`	Description  string                      `gorm:"description" json:"description"`	Servers      datatypes.JSONSlice[string] `gorm:"servers" json:"servers"`	MatchAll     bool                        `gorm:"match_all" json:"match_all"`	MatchDomains datatypes.JSONSlice[string] `gorm:"match_domains" json:"match_domains"`	Tags         datatypes.JSONMap           `gorm:"tags" json:"tags"`	Nodes        datatypes.JSONMap           `gorm:"nodes" json:"nodes"`	Status       bool                        `gorm:"status" json:"status"`	CreatedBy    string                      `gorm:"created_by" json:"created_by"`	CreatedAt    time.Time                   `gorm:"created_at" json:"created_at"`	UpdatedAt    time.Time                   `gorm:"updated_at" json:"updated_at"`}func (ns *Nameserver) Get(ctx context.Context) error {	return db.FromContext(ctx).Model(&Nameserver{}).First(&ns).Where("id = ?", ns.ID).Error}func (ns *Nameserver) Update(ctx context.Context) error {	return db.FromContext(ctx).Model(&Nameserver{}).Where("id = ?", ns.ID).Updates(&ns).Error}func (ns *Nameserver) Create(ctx context.Context) error {	return db.FromContext(ctx).Model(&Nameserver{}).Create(&ns).Error}func (ns *Nameserver) ListByNetwork(ctx context.Context) (dnsli []Nameserver, err error) {	err = db.FromContext(ctx).Model(&Nameserver{}).Where("network_id = ?", ns.NetworkID).Find(&dnsli).Error	return}func (ns *Nameserver) Delete(ctx context.Context) error {	return db.FromContext(ctx).Model(&Nameserver{}).Where("id = ?", ns.ID).Delete(&ns).Error}func (ns *Nameserver) UpdateStatus(ctx context.Context) error {	return db.FromContext(ctx).Model(&Nameserver{}).Where("id = ?", ns.ID).Updates(map[string]any{		"status": ns.Status,	}).Error}func (ns *Nameserver) UpdateMatchAll(ctx context.Context) error {	return db.FromContext(ctx).Model(&Nameserver{}).Where("id = ?", ns.ID).Updates(map[string]any{		"match_all": ns.MatchAll,	}).Error}
 |