in pkg/handlers/template.go [29:60]
func GetTemplate(name, version, dest string, templateWriter templatewriter.TemplateWriter) (*Template, error) {
template, ok := templateConfigs[strings.ToLower(name)]
if !ok {
return nil, fmt.Errorf("template not found: %s", name)
}
template = template.DeepCopy()
if version == "" {
version = template.Config.DefaultVersion
log.Println("version not provided, using default version: ", version)
}
if !IsValidVersion(template.Config.Versions, version) {
return nil, fmt.Errorf("invalid version: %s", version)
}
if dest == "" {
dest = "."
log.Println("destination not provided, using current directory")
}
if _, err := filepath.Abs(dest); err != nil {
return nil, fmt.Errorf("invalid destination: %s", dest)
}
template.dest = dest
template.version = version
template.templateWriter = templateWriter
return template, nil
}