fix: whitelist names of embed models

This commit is contained in:
zhuyasen
2025-05-18 23:20:56 +08:00
parent d62a16ceb7
commit 7c90a8da10
2 changed files with 65 additions and 0 deletions

View File

@@ -24,6 +24,16 @@ func (m *{{.TableName}}) TableName() string {
return "{{.RawTableName}}"
}
{{end}}
`
tableColumnsTmpl *template.Template
tableColumnsTmplRaw = `
// {{.TableName}}ColumnNames Whitelist for custom query fields to prevent sql injection attacks
var {{.TableName}}ColumnNames = map[string]bool{
{{- range .Fields}}
"{{.ColName}}": true,
{{- end}}
}
`
modelTmpl *template.Template
@@ -730,6 +740,10 @@ func initTemplate() {
if err != nil {
errSum = errors.Wrap(err, "modelStructTmplRaw")
}
tableColumnsTmpl, err = template.New("tableColumns").Parse(tableColumnsTmplRaw)
if err != nil {
errSum = errors.Wrap(err, "tableColumnsTmplRaw")
}
modelTmpl, err = template.New("goFile").Parse(modelTmplRaw)
if err != nil {
errSum = errors.Wrap(errSum, "modelTmplRaw:"+err.Error())