diff --git a/admin.go b/admin.go index 0c77a6e..848690f 100644 --- a/admin.go +++ b/admin.go @@ -51,6 +51,7 @@ func (a *AdminConfig) Run() { r.GET("/save", ApiSave) r.GET("/config", ApiConfig) + r.GET("/config/:app", ApiConfigApp) srv := &http.Server{ Addr: a.Addr, diff --git a/api.go b/api.go index 3f570c8..d5e1f15 100644 --- a/api.go +++ b/api.go @@ -48,3 +48,27 @@ func ApiConfig(c *gin.Context) { c.Data(http.StatusOK, "application/json", b) } } + +func ApiConfigApp(c *gin.Context) { + name := c.Param("app") + found := false + for _, app := range cfg.Apps { + if app.Name == name { + found = true + if b, err := app.Pretty(); err != nil { + c.JSON(http.StatusInternalServerError, gin.H{ + "message": "error", + "error": err, + }) + } else { + c.Data(http.StatusOK, "application/json", b) + } + } + } + if !found { + c.JSON(http.StatusInternalServerError, gin.H{ + "message": "error", + "error": "no app found", + }) + } +} diff --git a/config.go b/config.go index 70aa8f4..9f4cdde 100644 --- a/config.go +++ b/config.go @@ -206,6 +206,23 @@ func (c *Config) Pretty() ([]byte, error) { return pretty.PrettyOptions(b, &pretty.Options{Indent: " "}), nil } +// Pretty App Config +func (a *AppConfig) Pretty() ([]byte, error) { + log.WithFields(log.Fields{}).Debugf("starting") + defer log.WithFields(log.Fields{}).Debugf("done") + + cfgMx.Lock() + defer cfgMx.Unlock() + + b, err := json.Marshal(a) + if err != nil { + log.WithFields(log.Fields{"error": err, "call": "json.Marshal"}).Errorf("") + return nil, err + } + + return pretty.PrettyOptions(b, &pretty.Options{Indent: " "}), nil +} + // Save config func (c *Config) Save() error { log.WithFields(log.Fields{}).Debugf("starting") diff --git a/version.go b/version.go index 413a966..dc30ede 100644 --- a/version.go +++ b/version.go @@ -1,7 +1,7 @@ // Code generated by version.sh (@generated) DO NOT EDIT. package main -var githash = "6cf9989" +var githash = "fd02cfd" var branch = "master" -var buildstamp = "2025-10-01_20:30:38" -var commits = "109" -var version = "6cf9989-b109 - 2025-10-01_20:30:38" +var buildstamp = "2025-10-07_18:55:46" +var commits = "110" +var version = "fd02cfd-b110 - 2025-10-07_18:55:46"