long options supported
This commit is contained in:
@@ -10,7 +10,7 @@ import (
|
||||
)
|
||||
|
||||
type domainsDAO struct {
|
||||
database.BaseDAO[models.Domain]
|
||||
database.BaseDAO[models.IDomain]
|
||||
}
|
||||
|
||||
func CreateDomain(d *models.Domain) (*models.Domain, error) {
|
||||
@@ -20,7 +20,7 @@ func CreateDomain(d *models.Domain) (*models.Domain, error) {
|
||||
}
|
||||
|
||||
tx := database.Client.Begin()
|
||||
if _, err := (domainsDAO{}).Create(tx, *d); err != nil {
|
||||
if _, err := (domainsDAO{}).Create(tx, d); err != nil {
|
||||
tx.Rollback()
|
||||
return nil, err
|
||||
}
|
||||
@@ -54,21 +54,30 @@ func CreateDomain(d *models.Domain) (*models.Domain, error) {
|
||||
}
|
||||
}
|
||||
|
||||
tx.Commit()
|
||||
return d, err
|
||||
return d, tx.Commit().Error
|
||||
}
|
||||
|
||||
func GetDomains(domain string) ([]models.Domain, error) {
|
||||
if domain != "" {
|
||||
return (domainsDAO{}).GetAll(database.Client, models.Domain{DomainName: domain})
|
||||
r, err := (domainsDAO{}).GetAll(database.Client, models.Domain{DomainName: domain})
|
||||
n := make([]models.Domain, 0)
|
||||
for _, e := range r {
|
||||
n = append(n, e.(models.Domain))
|
||||
}
|
||||
return n, err
|
||||
} else {
|
||||
return (domainsDAO{}).GetAll(database.Client, models.Domain{})
|
||||
r, err := (domainsDAO{}).GetAll(database.Client, models.Domain{})
|
||||
n := make([]models.Domain, 0)
|
||||
for _, e := range r {
|
||||
n = append(n, e.(models.Domain))
|
||||
}
|
||||
return n, err
|
||||
}
|
||||
}
|
||||
|
||||
func UpdateDomain(d *models.Domain) error {
|
||||
tx := database.Client.Begin()
|
||||
if _, err := (domainsDAO{}).Update(tx, *d); err != nil {
|
||||
if _, err := (domainsDAO{}).Update(tx, d); err != nil {
|
||||
tx.Rollback()
|
||||
return err
|
||||
}
|
||||
@@ -98,9 +107,7 @@ func UpdateDomain(d *models.Domain) error {
|
||||
return err
|
||||
}
|
||||
|
||||
tx.Commit()
|
||||
return nil
|
||||
|
||||
return tx.Commit().Error
|
||||
}
|
||||
|
||||
func DeleteDomain(id string) error {
|
||||
@@ -126,8 +133,7 @@ func DeleteDomain(id string) error {
|
||||
return err
|
||||
}
|
||||
|
||||
tx.Commit()
|
||||
return nil
|
||||
return tx.Commit().Error
|
||||
}
|
||||
|
||||
// for metrics
|
||||
|
@@ -6,16 +6,15 @@ import (
|
||||
)
|
||||
|
||||
func Migrate() error {
|
||||
if err := (domainsDAO{}).Migrate(database.Client, models.Domain{}); err != nil {
|
||||
if err := (domainsDAO{}).Migrate(database.Client, &models.Domain{}); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
var recordDefiniation models.IRecord = &models.Record[models.RecordContentDefault]{}
|
||||
if err := (recordsDAO{}).Migrate(database.Client, recordDefiniation); err != nil {
|
||||
if err := (recordsDAO{}).Migrate(database.Client, &models.Record[models.RecordContentDefault]{Content: make(models.RecordContentDefault)}); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := (settingsDAO{}).Migrate(database.Client, models.Settings{}); err != nil {
|
||||
if err := (settingsDAO{}).Migrate(database.Client, &models.Settings{}); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
|
@@ -42,8 +42,8 @@ func CreateRecords(rs []models.IRecord) error {
|
||||
return err
|
||||
}
|
||||
}
|
||||
tx.Commit()
|
||||
return nil
|
||||
|
||||
return tx.Commit().Error
|
||||
}
|
||||
|
||||
func GetRecords(cond models.IRecord) ([]models.IRecord, error) {
|
||||
@@ -84,8 +84,7 @@ func DeleteRecord(domain, id string) error {
|
||||
return err
|
||||
}
|
||||
|
||||
tx.Commit()
|
||||
return nil
|
||||
return tx.Commit().Error
|
||||
}
|
||||
|
||||
// for metrics
|
||||
|
@@ -4,18 +4,20 @@ import (
|
||||
"reCoreD-UI/database"
|
||||
"reCoreD-UI/models"
|
||||
"strings"
|
||||
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
const dnsSep = ","
|
||||
|
||||
type settingsDAO struct {
|
||||
database.BaseDAO[models.Settings]
|
||||
database.BaseDAO[models.ISettings]
|
||||
}
|
||||
|
||||
func SetupDNS(dns ...string) error {
|
||||
settings := models.Settings{Key: models.SettingsKeyDNSServer, Value: strings.Join(dns, dnsSep)}
|
||||
|
||||
if _, err := (settingsDAO{}).UpdateOrCreate(database.Client, settings); err != nil {
|
||||
if _, err := (settingsDAO{}).UpdateOrCreate(database.Client, &settings, models.Settings{Key: models.SettingsKeyDNSServer}); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -28,10 +30,12 @@ func GetDNS() ([]string, error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return strings.Split(settings.Value, dnsSep), nil
|
||||
return strings.Split(settings.(models.Settings).Value, dnsSep), nil
|
||||
}
|
||||
|
||||
func SetupAdmin(username, password string) error {
|
||||
logrus.Debugf("got %s:%s", username, password)
|
||||
|
||||
settingUsername := models.Settings{
|
||||
Key: models.SettingsKeyAdminUsername,
|
||||
Value: username,
|
||||
@@ -42,18 +46,17 @@ func SetupAdmin(username, password string) error {
|
||||
}
|
||||
|
||||
tx := database.Client.Begin()
|
||||
if _, err := (settingsDAO{}).UpdateOrCreate(tx, settingUsername); err != nil {
|
||||
if _, err := (settingsDAO{}).UpdateOrCreate(tx, &settingUsername, models.Settings{Key: models.SettingsKeyAdminUsername}); err != nil {
|
||||
tx.Rollback()
|
||||
return err
|
||||
}
|
||||
|
||||
if _, err := (settingsDAO{}).UpdateOrCreate(tx, settingPassword); err != nil {
|
||||
if _, err := (settingsDAO{}).UpdateOrCreate(tx, &settingPassword, models.Settings{Key: models.SettingsKeyAdminPassword}); err != nil {
|
||||
tx.Rollback()
|
||||
return err
|
||||
}
|
||||
|
||||
tx.Commit()
|
||||
return nil
|
||||
return tx.Commit().Error
|
||||
}
|
||||
|
||||
func GetAdmin() (string, string, error) {
|
||||
@@ -61,13 +64,13 @@ func GetAdmin() (string, string, error) {
|
||||
if err != nil {
|
||||
return "", "", err
|
||||
}
|
||||
username := settings.Value
|
||||
username := settings.(models.Settings).Value
|
||||
|
||||
settings, err = (settingsDAO{}).GetOne(database.Client, models.Settings{Key: models.SettingsKeyAdminPassword})
|
||||
if err != nil {
|
||||
return "", "", err
|
||||
}
|
||||
password := settings.Value
|
||||
password := settings.(models.Settings).Value
|
||||
|
||||
return username, password, nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user