chore: config

pull/2997/head
icey-yu 9 months ago
parent 04f3c99697
commit 15ef276caa

@ -0,0 +1,29 @@
package api
import (
"net/http"
"github.com/gin-gonic/gin"
"github.com/openimsdk/open-im-server/v3/pkg/common/config"
"github.com/openimsdk/tools/apiresp"
"gopkg.in/yaml.v3"
)
type ConfigManager struct {
apiConfig *config.API
}
func NewConfigManager(api *config.API) *ConfigManager {
return &ConfigManager{
apiConfig: api,
}
}
func (cm *ConfigManager) LoadApiConfig(c *gin.Context) {
b, err := yaml.Marshal(cm.apiConfig)
if err != nil {
apiresp.GinError(c, err) // args option error
return
}
c.Data(http.StatusOK, "text/yaml; charset=utf-8", b)
}

@ -68,7 +68,7 @@ func newGinRouter(disCov discovery.SvcDiscoveryRegistry, config *Config) *gin.En
u := NewUserApi(disCov, config.Discovery.RpcService.MessageGateway)
m := NewMessageApi(config.Share.IMAdminUserID)
j := jssdk.NewJSSdkApi()
pd := NewPrometheusDiscoveryApi(config, disCov)
userRouterGroup := r.Group("/user")
{
userRouterGroup.POST("/user_register", u.UserRegister)
@ -245,6 +245,7 @@ func newGinRouter(disCov discovery.SvcDiscoveryRegistry, config *Config) *gin.En
jssdk.POST("/get_conversations", j.GetConversations)
jssdk.POST("/get_active_conversations", j.GetActiveConversations)
pd := NewPrometheusDiscoveryApi(config, disCov)
proDiscoveryGroup := r.Group("/prometheus_discovery", pd.Enable)
proDiscoveryGroup.GET("/api", pd.Api)
proDiscoveryGroup.GET("/user", pd.User)
@ -258,6 +259,9 @@ func newGinRouter(disCov discovery.SvcDiscoveryRegistry, config *Config) *gin.En
proDiscoveryGroup.GET("/msg_gateway", pd.MessageGateway)
proDiscoveryGroup.GET("/msg_transfer", pd.MessageTransfer)
cm := NewConfigManager(&config.API)
configGroup := r.Group("/config")
configGroup.GET("/api", cm.LoadApiConfig)
return r
}

@ -23,7 +23,7 @@ func TestLoadMongoConfig(t *testing.T) {
// os.Setenv("IMENV_MONGODB_URI", "openIM123")
// os.Setenv("IMENV_MONGODB_USERNAME", "openIM123")
err := Load("../../../config/", "mongodb.yml", "IMENV_MONGODB", "source", &mongo)
// err := LoadConfig("../../../config/mongodb.yml", "IMENV_MONGODB", &mongo)
// err := LoadApiConfig("../../../config/mongodb.yml", "IMENV_MONGODB", &mongo)
assert.Nil(t, err)
t.Log(mongo.Password)

Loading…
Cancel
Save