36 lines
1.0 KiB
Go
36 lines
1.0 KiB
Go
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
|
//go:build plus
|
|
|
|
package configloaders
|
|
|
|
import (
|
|
"encoding/json"
|
|
"github.com/TeaOSLab/EdgeAdmin/internal/rpc"
|
|
"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
|
|
"github.com/TeaOSLab/EdgeCommon/pkg/systemconfigs"
|
|
"github.com/TeaOSLab/EdgeCommon/pkg/userconfigs"
|
|
)
|
|
|
|
// LoadUserSenderConfig 加载用户媒介发送配置
|
|
func LoadUserSenderConfig() (*userconfigs.UserSenderConfig, error) {
|
|
var rpcClient, err = rpc.SharedRPC()
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
configResp, err := rpcClient.SysSettingRPC().ReadSysSetting(rpcClient.Context(0), &pb.ReadSysSettingRequest{Code: systemconfigs.SettingCodeUserSenderConfig})
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
var data = configResp.ValueJSON
|
|
if len(data) == 0 {
|
|
return userconfigs.DefaultUserSenderConfig(), nil
|
|
}
|
|
|
|
var config = userconfigs.DefaultUserSenderConfig()
|
|
err = json.Unmarshal(data, config)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return config, nil
|
|
}
|