Refine the relationship to_one texts.
- This is so we can completely replace the data set being used (combination of tplData, and texts) by texts data.
This commit is contained in:
parent
e08eacad05
commit
f4ce95891c
2 changed files with 26 additions and 7 deletions
|
@ -10,6 +10,8 @@ import (
|
||||||
|
|
||||||
// RelationshipToOneTexts contains text that will be used by templates.
|
// RelationshipToOneTexts contains text that will be used by templates.
|
||||||
type RelationshipToOneTexts struct {
|
type RelationshipToOneTexts struct {
|
||||||
|
ForeignKey bdb.ForeignKey
|
||||||
|
|
||||||
LocalTable struct {
|
LocalTable struct {
|
||||||
NameGo string
|
NameGo string
|
||||||
ColumnNameGo string
|
ColumnNameGo string
|
||||||
|
@ -17,10 +19,15 @@ type RelationshipToOneTexts struct {
|
||||||
|
|
||||||
ForeignTable struct {
|
ForeignTable struct {
|
||||||
NameGo string
|
NameGo string
|
||||||
|
Name string
|
||||||
ColumnNameGo string
|
ColumnNameGo string
|
||||||
|
ColumnName string
|
||||||
}
|
}
|
||||||
|
|
||||||
Function struct {
|
Function struct {
|
||||||
|
PackageName string
|
||||||
|
Name string
|
||||||
|
|
||||||
Varname string
|
Varname string
|
||||||
Receiver string
|
Receiver string
|
||||||
|
|
||||||
|
@ -29,15 +36,21 @@ type RelationshipToOneTexts struct {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func textsFromForeignKey(tables []bdb.Table, table bdb.Table, fkey bdb.ForeignKey) RelationshipToOneTexts {
|
func textsFromForeignKey(packageName string, tables []bdb.Table, table bdb.Table, fkey bdb.ForeignKey) RelationshipToOneTexts {
|
||||||
r := RelationshipToOneTexts{}
|
r := RelationshipToOneTexts{}
|
||||||
|
|
||||||
r.LocalTable.NameGo = strmangle.TitleCase(strmangle.Singular(strings.Replace(table.Name, "_id", "", -1)))
|
r.ForeignKey = fkey
|
||||||
r.LocalTable.ColumnNameGo = strmangle.TitleCase(strmangle.Singular(strings.Replace(fkey.Column, "_id", "", -1)))
|
|
||||||
|
|
||||||
|
r.LocalTable.NameGo = strmangle.TitleCase(strmangle.Singular(table.Name))
|
||||||
|
r.LocalTable.ColumnNameGo = strmangle.TitleCase(strmangle.Singular(fkey.Column))
|
||||||
|
|
||||||
|
r.ForeignTable.Name = fkey.ForeignTable
|
||||||
r.ForeignTable.NameGo = strmangle.TitleCase(strmangle.Singular(fkey.ForeignTable))
|
r.ForeignTable.NameGo = strmangle.TitleCase(strmangle.Singular(fkey.ForeignTable))
|
||||||
r.ForeignTable.ColumnNameGo = strmangle.TitleCase(strmangle.Singular(strings.Replace(fkey.ForeignColumn, "_id", "", -1)))
|
r.ForeignTable.ColumnName = fkey.ForeignColumn
|
||||||
|
r.ForeignTable.ColumnNameGo = strmangle.TitleCase(strmangle.Singular(fkey.ForeignColumn))
|
||||||
|
|
||||||
|
r.Function.PackageName = packageName
|
||||||
|
r.Function.Name = strmangle.TitleCase(strmangle.Singular(strings.TrimSuffix(fkey.Column, "_id")))
|
||||||
r.Function.Varname = strmangle.CamelCase(strmangle.Singular(fkey.ForeignTable))
|
r.Function.Varname = strmangle.CamelCase(strmangle.Singular(fkey.ForeignTable))
|
||||||
r.Function.Receiver = strings.ToLower(table.Name[:1])
|
r.Function.Receiver = strings.ToLower(table.Name[:1])
|
||||||
|
|
||||||
|
|
|
@ -75,15 +75,21 @@ func TestTextsFromForeignKey(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
videos := bdb.GetTable(tables, "videos")
|
videos := bdb.GetTable(tables, "videos")
|
||||||
texts := textsFromForeignKey(tables, videos, videos.FKeys[0])
|
texts := textsFromForeignKey("models", tables, videos, videos.FKeys[0])
|
||||||
expect := RelationshipToOneTexts{}
|
expect := RelationshipToOneTexts{}
|
||||||
|
|
||||||
expect.LocalTable.NameGo = "Video"
|
expect.ForeignKey = videos.FKeys[0]
|
||||||
expect.LocalTable.ColumnNameGo = "User"
|
|
||||||
|
|
||||||
|
expect.LocalTable.NameGo = "Video"
|
||||||
|
expect.LocalTable.ColumnNameGo = "UserID"
|
||||||
|
|
||||||
|
expect.ForeignTable.Name = "users"
|
||||||
expect.ForeignTable.NameGo = "User"
|
expect.ForeignTable.NameGo = "User"
|
||||||
|
expect.ForeignTable.ColumnName = "id"
|
||||||
expect.ForeignTable.ColumnNameGo = "ID"
|
expect.ForeignTable.ColumnNameGo = "ID"
|
||||||
|
|
||||||
|
expect.Function.PackageName = "models"
|
||||||
|
expect.Function.Name = "User"
|
||||||
expect.Function.Varname = "user"
|
expect.Function.Varname = "user"
|
||||||
expect.Function.Receiver = "v"
|
expect.Function.Receiver = "v"
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue