package admin import ( "github.com/gin-gonic/gin" "github.com/lejianwen/rustdesk-api/v2/global" "github.com/lejianwen/rustdesk-api/v2/http/response" "github.com/lejianwen/rustdesk-api/v2/model" "github.com/lejianwen/rustdesk-api/v2/service" "os" "strings" ) type Config struct { } // ServerConfig RUSTDESKservice config // @Tags ADMIN // @Summary RUSTDESKservice config // @Description service config, provides an api-server for the webclient // @Accept json // @Produce json // @Success 200 {object} response.Response // @Failure 500 {object} response.Response // @Router /admin/config/server [get] // @Security token func (co *Config) ServerConfig(c *gin.Context) { cf := &response.ServerConfigResponse{ IdServer: global.Config.Rustdesk.IdServer, Key: global.Config.Rustdesk.Key, RelayServer: global.Config.Rustdesk.RelayServer, ApiServer: global.Config.Rustdesk.ApiServer, } response.Success(c, cf) } // AppConfig APPservice config // @Tags ADMIN // @Summary APPservice config // @Description APPservice config // @Accept json // @Produce json // @Success 200 {object} response.Response // @Failure 500 {object} response.Response // @Router /admin/config/app [get] // @Security token func (co *Config) AppConfig(c *gin.Context) { response.Success(c, &gin.H{ "web_client": global.Config.App.WebClient, }) } // AdminConfig ADMINservice config // @Tags ADMIN // @Summary ADMINservice config // @Description ADMINservice config // @Accept json // @Produce json // @Success 200 {object} response.Response // @Failure 500 {object} response.Response // @Router /admin/config/admin [get] // @Security token func (co *Config) AdminConfig(c *gin.Context) { u := &model.User{} token := c.GetHeader("api-token") if token != "" { u, _ = service.AllService.UserService.InfoByAccessToken(token) if !service.AllService.UserService.CheckUserEnable(u) { u.Id = 0 } } if u.Id == 0 { response.Success(c, &gin.H{ "title": global.Config.Admin.Title, }) return } hello := global.Config.Admin.Hello if hello == "" { helloFile := global.Config.Admin.HelloFile if helloFile != "" { b, err := os.ReadFile(helloFile) if err == nil && len(b) > 0 { hello = string(b) } } } //replace {{username}} to username hello = strings.Replace(hello, "{{username}}", u.Username, -1) response.Success(c, &gin.H{ "title": global.Config.Admin.Title, "hello": hello, }) }