91 lines
2.4 KiB
Go
91 lines
2.4 KiB
Go
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
|
//go:build plus
|
|
|
|
package models
|
|
|
|
import (
|
|
"encoding/json"
|
|
"github.com/TeaOSLab/EdgeCommon/pkg/dnsconfigs"
|
|
"github.com/TeaOSLab/EdgeCommon/pkg/systemconfigs"
|
|
"github.com/TeaOSLab/EdgeCommon/pkg/userconfigs"
|
|
"github.com/iwind/TeaGo/dbs"
|
|
)
|
|
|
|
func (this *SysSettingDAO) ReadNSUserConfig(tx *dbs.Tx) (*dnsconfigs.NSUserConfig, error) {
|
|
valueJSON, err := this.ReadSetting(tx, systemconfigs.SettingCodeNSUserConfig)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
if len(valueJSON) == 0 {
|
|
return dnsconfigs.NewNSUserConfig(), nil
|
|
}
|
|
|
|
var config = dnsconfigs.NewNSUserConfig()
|
|
err = json.Unmarshal(valueJSON, config)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return config, nil
|
|
}
|
|
|
|
// ReadUserPriceConfig 读取服务价格配置
|
|
func (this *SysSettingDAO) ReadUserPriceConfig(tx *dbs.Tx) (*userconfigs.UserPriceConfig, error) {
|
|
valueJSON, err := this.ReadSetting(tx, systemconfigs.SettingCodeUserPriceConfig)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
if len(valueJSON) == 0 {
|
|
return userconfigs.DefaultUserPriceConfig(), nil
|
|
}
|
|
|
|
var config = userconfigs.DefaultUserPriceConfig()
|
|
err = json.Unmarshal(valueJSON, config)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return config, nil
|
|
}
|
|
|
|
// ReadUserSenderConfig 读取用户消息发送配置
|
|
func (this *SysSettingDAO) ReadUserSenderConfig(tx *dbs.Tx) (*userconfigs.UserSenderConfig, error) {
|
|
valueJSON, err := this.ReadSetting(tx, systemconfigs.SettingCodeUserSenderConfig)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
if len(valueJSON) == 0 {
|
|
return userconfigs.DefaultUserSenderConfig(), nil
|
|
}
|
|
|
|
var config = userconfigs.DefaultUserSenderConfig()
|
|
err = json.Unmarshal(valueJSON, config)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return config, nil
|
|
}
|
|
|
|
// ReadClickHouseConfig 读取 ClickHouse 连接配置(后台页面配置,用于访问日志 logs_ingest 查询)
|
|
func (this *SysSettingDAO) ReadClickHouseConfig(tx *dbs.Tx) (*systemconfigs.ClickHouseSetting, error) {
|
|
valueJSON, err := this.ReadSetting(tx, systemconfigs.SettingCodeClickHouseConfig)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
out := &systemconfigs.ClickHouseSetting{Port: 8123, Database: "default"}
|
|
if len(valueJSON) == 0 {
|
|
return out, nil
|
|
}
|
|
err = json.Unmarshal(valueJSON, out)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
if out.Port <= 0 {
|
|
out.Port = 8123
|
|
}
|
|
if out.Database == "" {
|
|
out.Database = "default"
|
|
}
|
|
return out, nil
|
|
}
|