Skip to content

Commit

Permalink
fix: Import error if same package name exists
Browse files Browse the repository at this point in the history
Cannot auto import when the same package name exists
  • Loading branch information
myml authored and idersec committed Nov 23, 2021
1 parent d1c85da commit e34e457
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 4 deletions.
10 changes: 8 additions & 2 deletions generator.go
Original file line number Diff line number Diff line change
Expand Up @@ -324,7 +324,10 @@ func (g *Generator) generateQueryFile() (err error) {

// generate query file
var buf bytes.Buffer
err = render(tmpl.Header, &buf, g.queryPkgName)
err = render(tmpl.Header, &buf, map[string]string{
"Package": g.queryPkgName,
"StructPkgPath": "",
})
if err != nil {
return err
}
Expand Down Expand Up @@ -375,7 +378,10 @@ func (g *Generator) generateQueryFile() (err error) {
func (g *Generator) generateSubQuery(data *genInfo) (err error) {
var buf bytes.Buffer

err = render(tmpl.Header, &buf, g.queryPkgName)
err = render(tmpl.Header, &buf, map[string]string{
"Package": g.queryPkgName,
"StructPkgPath": data.StructInfo.PkgPath,
})
if err != nil {
return err
}
Expand Down
2 changes: 1 addition & 1 deletion internal/check/export.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ func CheckStructs(db *gorm.DB, structs ...interface{}) (bases []*BaseStruct, err
S: getPureName(name),
StructName: name,
NewStructName: uncaptialize(name),
StructInfo: parser.Param{Type: name, Package: getPackageName(structType.String())},
StructInfo: parser.Param{PkgPath: structType.PkgPath(), Type: name, Package: getPackageName(structType.String())},
Source: model.Struct,
db: db,
}
Expand Down
1 change: 1 addition & 0 deletions internal/parser/parser.go
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,7 @@ func (i *InterfaceSet) getInterfaceFromFile(filename string, name, Package strin

// Param parameters in method
type Param struct { // (user model.User)
PkgPath string // package's path: internal/model
Package string // package's name: model
Name string // param's name: user
Type string // param's type: User
Expand Down
3 changes: 2 additions & 1 deletion internal/template/base.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit e34e457

Please sign in to comment.