// 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 }