fix: changed loadTargets to only overwrite plugin path if set

This commit is contained in:
David Allen 2024-12-18 16:23:47 -07:00
parent 41aa0c7a42
commit 93cf6bba12
Signed by: towk
GPG key ID: 793B2924A49B3A3F

View file

@ -65,6 +65,7 @@ func New(conf *config.Config) *Server {
} }
// load templates for server from config // load templates for server from config
newServer.loadTargets() newServer.loadTargets()
log.Debug().Any("targets", newServer.Targets).Msg("new server targets")
return newServer return newServer
} }
@ -154,6 +155,7 @@ func (s *Server) Generate(opts ...client.Option) func(w http.ResponseWriter, r *
// try to generate with target supplied by client first // try to generate with target supplied by client first
if target != nil { if target != nil {
log.Debug().Any("target", target).Msg("target for Generate()")
outputs, err = generator.Generate(target.PluginPath, s.GeneratorParams) outputs, err = generator.Generate(target.PluginPath, s.GeneratorParams)
if err != nil { if err != nil {
log.Error().Err(err).Msg("failed to generate file") log.Error().Err(err).Msg("failed to generate file")
@ -161,6 +163,7 @@ func (s *Server) Generate(opts ...client.Option) func(w http.ResponseWriter, r *
} }
} else { } else {
// try and generate a new config file from supplied params // try and generate a new config file from supplied params
log.Debug().Str("target", targetParam).Msg("target for GenerateWithTarget()")
outputs, err = generator.GenerateWithTarget(s.Config, targetParam) outputs, err = generator.GenerateWithTarget(s.Config, targetParam)
if err != nil { if err != nil {
writeErrorResponse(w, "failed to generate file") writeErrorResponse(w, "failed to generate file")
@ -199,11 +202,16 @@ func (s *Server) loadTargets() {
} }
s.Targets[name] = serverTarget s.Targets[name] = serverTarget
} }
// add targets from config to server // add targets from config to server (overwrites default targets)
for name, target := range s.Config.Targets { for name, target := range s.Config.Targets {
serverTarget := Target{ serverTarget := Target{
Name: name, Name: name,
PluginPath: target.Plugin, }
// only overwrite plugin path if it's set
if target.Plugin != "" {
serverTarget.PluginPath = target.Plugin
} else {
serverTarget.PluginPath = name
} }
// add templates using template paths from config // add templates using template paths from config
for _, templatePath := range target.TemplatePaths { for _, templatePath := range target.TemplatePaths {
@ -270,8 +278,8 @@ func (s *Server) createTarget(w http.ResponseWriter, r *http.Request) {
} }
func (s *Server) getTarget(target string) *Target { func (s *Server) getTarget(name string) *Target {
t, ok := s.Targets[target] t, ok := s.Targets[name]
if ok { if ok {
return &t return &t
} }