renames stammdaten structs

to Lookup...
This commit is contained in:
2024-12-29 00:01:31 +01:00
parent 7bda58657e
commit 60536eae86
5 changed files with 101 additions and 123 deletions
+34 -45
View File
@@ -7,18 +7,7 @@ import (
"gorm.io/gorm"
)
/*type ImStammFertigkeit struct {
ID uint `gorm:"primaryKey" json:"id"`
System string `gorm:"index" json:"system"`
Name string `json:"name"`
Beschreibung string `json:"beschreibung"`
Initialkeitswert int `json:"initialwert"`
Bonuseigenschaft string `json:"bonuseigenschaft,omitempty"`
Quelle string `json:"quelle"`
}
*/
type ImStamm struct {
type LookupList struct {
ID uint `gorm:"primaryKey" json:"id"`
System string `gorm:"index" json:"system"`
Name string `json:"name"`
@@ -26,18 +15,18 @@ type ImStamm struct {
Quelle string `json:"quelle"`
}
type ImStammFertigkeit struct {
ImStamm
type LookupSkill struct {
LookupList
Initialkeitswert int `json:"initialwert"`
Bonuseigenschaft string `json:"bonuseigenschaft,omitempty"`
}
type ImStammWaffenFertigkeit struct {
ImStammFertigkeit
type LookupWaeponSkill struct {
LookupSkill
}
type ImStammZauber struct {
ImStamm
type LookupSpell struct {
LookupList
Bonus int `json:"bonus"`
Stufe int
AP int
@@ -45,23 +34,23 @@ type ImStammZauber struct {
Wirkungsziel string
}
type ImStammAusruestung struct {
ImStamm
type LookupEquipment struct {
LookupList
Gewicht float64 `json:"gewicht"`
Wert float64 `json:"wert"`
}
type ImStammBehaeltniss struct {
ImStammAusruestung
type LookupContainer struct {
LookupEquipment
Tragkraft float64 `json:"tragkraft"`
Volumen float64 `json:"volumen"`
}
type ImStammTransportation struct {
ImStammBehaeltniss
type LookupTransportation struct {
LookupContainer
}
func (stamm *ImStamm) First(name string) error {
func (stamm *LookupList) First(name string) error {
gameSystem := "midgard"
err := database.DB.First(&stamm, "system=? AND name = ?", gameSystem, name).Error
if err != nil {
@@ -71,13 +60,13 @@ func (stamm *ImStamm) First(name string) error {
return nil
}
func (stamm *ImStamm) Create() error {
func (stamm *LookupList) Create() error {
gameSystem := "midgard"
stamm.System = gameSystem
err := database.DB.Transaction(func(tx *gorm.DB) error {
// Save the main character record
if err := tx.Create(&stamm).Error; err != nil {
return fmt.Errorf("failed to save Stammdaten: %w", err)
return fmt.Errorf("failed to save Lookup: %w", err)
}
return nil
})
@@ -85,7 +74,7 @@ func (stamm *ImStamm) Create() error {
return err
}
func (stamm *ImStammFertigkeit) First(name string) error {
func (stamm *LookupSkill) First(name string) error {
gameSystem := "midgard"
err := database.DB.First(&stamm, "system=? AND name = ?", gameSystem, name).Error
if err != nil {
@@ -95,13 +84,13 @@ func (stamm *ImStammFertigkeit) First(name string) error {
return nil
}
func (stamm *ImStammFertigkeit) Create() error {
func (stamm *LookupSkill) Create() error {
gameSystem := "midgard"
stamm.System = gameSystem
err := database.DB.Transaction(func(tx *gorm.DB) error {
// Save the main character record
if err := tx.Create(&stamm).Error; err != nil {
return fmt.Errorf("failed to save Fertigkeit Stammdaten: %w", err)
return fmt.Errorf("failed to save LookupSkill: %w", err)
}
return nil
})
@@ -109,7 +98,7 @@ func (stamm *ImStammFertigkeit) Create() error {
return err
}
func (stamm *ImStammWaffenFertigkeit) First(name string) error {
func (stamm *LookupWaeponSkill) First(name string) error {
gameSystem := "midgard"
err := database.DB.First(&stamm, "system=? AND name = ?", gameSystem, name).Error
if err != nil {
@@ -119,13 +108,13 @@ func (stamm *ImStammWaffenFertigkeit) First(name string) error {
return nil
}
func (stamm *ImStammWaffenFertigkeit) Create() error {
func (stamm *LookupWaeponSkill) Create() error {
gameSystem := "midgard"
stamm.System = gameSystem
err := database.DB.Transaction(func(tx *gorm.DB) error {
// Save the main character record
if err := tx.Create(&stamm).Error; err != nil {
return fmt.Errorf("failed to save Fertigkeit Stammdaten: %w", err)
return fmt.Errorf("failed to save LookupWaeponSkill: %w", err)
}
return nil
})
@@ -133,7 +122,7 @@ func (stamm *ImStammWaffenFertigkeit) Create() error {
return err
}
func (stamm *ImStammZauber) First(name string) error {
func (stamm *LookupSpell) First(name string) error {
gameSystem := "midgard"
err := database.DB.First(&stamm, "system=? AND name = ?", gameSystem, name).Error
if err != nil {
@@ -143,13 +132,13 @@ func (stamm *ImStammZauber) First(name string) error {
return nil
}
func (stamm *ImStammZauber) Create() error {
func (stamm *LookupSpell) Create() error {
gameSystem := "midgard"
stamm.System = gameSystem
err := database.DB.Transaction(func(tx *gorm.DB) error {
// Save the main character record
if err := tx.Create(&stamm).Error; err != nil {
return fmt.Errorf("failed to save Zauber Stammdaten: %w", err)
return fmt.Errorf("failed to save LookupSpell: %w", err)
}
return nil
})
@@ -157,7 +146,7 @@ func (stamm *ImStammZauber) Create() error {
return err
}
func (stamm *ImStammAusruestung) First(name string) error {
func (stamm *LookupEquipment) First(name string) error {
gameSystem := "midgard"
err := database.DB.First(&stamm, "system=? AND name = ?", gameSystem, name).Error
if err != nil {
@@ -167,13 +156,13 @@ func (stamm *ImStammAusruestung) First(name string) error {
return nil
}
func (stamm *ImStammAusruestung) Create() error {
func (stamm *LookupEquipment) Create() error {
gameSystem := "midgard"
stamm.System = gameSystem
err := database.DB.Transaction(func(tx *gorm.DB) error {
// Save the main character record
if err := tx.Create(&stamm).Error; err != nil {
return fmt.Errorf("failed to save Stammdaten: %w", err)
return fmt.Errorf("failed to save LookupEquipment: %w", err)
}
return nil
})
@@ -181,7 +170,7 @@ func (stamm *ImStammAusruestung) Create() error {
return err
}
func (stamm *ImStammBehaeltniss) First(name string) error {
func (stamm *LookupContainer) First(name string) error {
gameSystem := "midgard"
err := database.DB.First(&stamm, "system=? AND name = ?", gameSystem, name).Error
if err != nil {
@@ -191,20 +180,20 @@ func (stamm *ImStammBehaeltniss) First(name string) error {
return nil
}
func (stamm *ImStammBehaeltniss) Create() error {
func (stamm *LookupContainer) Create() error {
gameSystem := "midgard"
stamm.System = gameSystem
err := database.DB.Transaction(func(tx *gorm.DB) error {
// Save the main character record
if err := tx.Create(&stamm).Error; err != nil {
return fmt.Errorf("failed to save Stammdaten: %w", err)
return fmt.Errorf("failed to save LookupContainer: %w", err)
}
return nil
})
return err
}
func (stamm *ImStammTransportation) First(name string) error {
func (stamm *LookupTransportation) First(name string) error {
gameSystem := "midgard"
err := database.DB.First(&stamm, "system=? AND name = ?", gameSystem, name).Error
if err != nil {
@@ -214,13 +203,13 @@ func (stamm *ImStammTransportation) First(name string) error {
return nil
}
func (stamm *ImStammTransportation) Create() error {
func (stamm *LookupTransportation) Create() error {
gameSystem := "midgard"
stamm.System = gameSystem
err := database.DB.Transaction(func(tx *gorm.DB) error {
// Save the main character record
if err := tx.Create(&stamm).Error; err != nil {
return fmt.Errorf("failed to save Stammdaten: %w", err)
return fmt.Errorf("failed to save Lookup: %w", err)
}
return nil
})
+12 -23
View File
@@ -1,16 +1,12 @@
package stammdaten
import (
"bamort/database"
"bamort/models"
"fmt"
"strings"
"gorm.io/gorm"
)
func CheckFertigkeit(fertigkeit *models.ImFertigkeit, autocreate bool) (*models.ImStammFertigkeit, error) {
stammF := models.ImStammFertigkeit{}
func CheckSkill(fertigkeit *models.ImFertigkeit, autocreate bool) (*models.LookupSkill, error) {
stammF := models.LookupSkill{}
//err := database.DB.First(&stammF, "system=? AND name = ?", gameSystem, fertigkeit.Name).Error
err := stammF.First(fertigkeit.Name)
if err == nil {
@@ -49,13 +45,11 @@ func CheckFertigkeit(fertigkeit *models.ImFertigkeit, autocreate bool) (*models.
return &stammF, nil
}
func CheckZauber(zauber *models.ImZauber, autocreate bool) (*models.ImStammZauber, error) {
stammF := models.ImStammZauber{}
gameSystem := "none"
if strings.HasPrefix(zauber.ID, "moam") {
gameSystem = "midgard"
}
err := database.DB.First(&stammF, "system=? AND name = ?", gameSystem, zauber.Name).Error
func CheckSpell(zauber *models.ImZauber, autocreate bool) (*models.LookupSpell, error) {
stammF := models.LookupSpell{}
//err := database.DB.First(&stammF, "system=? AND name = ?", gameSystem, zauber.Name).Error
err := stammF.First(zauber.Name)
if err == nil {
// zauber found
return &stammF, nil
@@ -73,21 +67,16 @@ func CheckZauber(zauber *models.ImZauber, autocreate bool) (*models.ImStammZaube
stammF.Quelle = zauber.Quelle
//fmt.Println(stammF)
err = database.DB.Transaction(func(tx *gorm.DB) error {
// Save the main character record
if err := tx.Create(&stammF).Error; err != nil {
return fmt.Errorf("failed to save zauber Stammdaten: %w", err)
}
return nil
})
err = stammF.Create()
if err != nil {
// zauber found
// spell found
return nil, err
}
err = database.DB.First(&stammF, "system=? AND name = ?", gameSystem, zauber.Name).Error
//err = database.DB.First(&stammF, "system=? AND name = ?", gameSystem, zauber.Name).Error
err = stammF.First(zauber.Name)
if err != nil {
// zauber found
// spell found
return nil, err
}
return &stammF, nil
+11 -11
View File
@@ -37,8 +37,8 @@ func initTestDB4Import() *gorm.DB {
&models.ImMagisch{},
&models.ImCharacterImport{},
*/
&models.ImStammFertigkeit{}, //needed for stammdaten.CheckFertigkeit
&models.ImStammZauber{}, //needed for stammdaten.CheckZauber
&models.LookupSkill{}, //needed for stammdaten.CheckFertigkeit
&models.LookupSpell{}, //needed for stammdaten.CheckZauber
)
return db
}
@@ -93,10 +93,10 @@ func TestImportFertigkeitenStammdatenSingle(t *testing.T) {
//checke Fertigkeit auf vorhandensein in den Stammdaten
fertigkeit := character.Fertigkeiten[1]
stammF, err := stammdaten.CheckFertigkeit(&fertigkeit, false)
stammF, err := stammdaten.CheckSkill(&fertigkeit, false)
assert.Error(t, err, "expexted Error does not exist in Fertigkeit Stammdaten")
if stammF == nil && err != nil {
stammF, err = stammdaten.CheckFertigkeit(&fertigkeit, true)
stammF, err = stammdaten.CheckSkill(&fertigkeit, true)
}
assert.NoError(t, err, "Expected to finds the Fertigkeit Stammdaten in the database")
assert.Equal(t, fertigkeit.Name, stammF.Name)
@@ -110,10 +110,10 @@ func TestImportFertigkeitenStammdatenSingle(t *testing.T) {
// und noch mal
//checke Fertigkeit auf vorhandensein in den Stammdaten
//fertigkeit := character.Fertigkeiten[1]
stammF, err = stammdaten.CheckFertigkeit(&fertigkeit, false)
stammF, err = stammdaten.CheckSkill(&fertigkeit, false)
assert.NoError(t, err, "expexted no Error exist in Fertigkeit Stammdaten")
if stammF == nil && err != nil {
stammF, err = stammdaten.CheckFertigkeit(&fertigkeit, true)
stammF, err = stammdaten.CheckSkill(&fertigkeit, true)
}
assert.NoError(t, err, "Expected to finds the Fertigkeit Stammdaten in the database")
assert.Equal(t, fertigkeit.Name, stammF.Name)
@@ -142,7 +142,7 @@ func TestImportFertigkeitenStammdatenMulti(t *testing.T) {
//for index, fertigkeit := range character.Fertigkeiten {
for _, fertigkeit := range character.Fertigkeiten {
fmt.Println(fertigkeit.Name)
stammF, err := stammdaten.CheckFertigkeit(&fertigkeit, true)
stammF, err := stammdaten.CheckSkill(&fertigkeit, true)
assert.NoError(t, err, "Expected to finds the Fertigkeit Stammdaten in the database")
assert.Equal(t, fertigkeit.Name, stammF.Name, "Name should be equal")
if fertigkeit.Name != "Sprache" {
@@ -174,10 +174,10 @@ func TestImportZauberStammdatenSingle(t *testing.T) {
//checke zauber auf vorhandensein in den Stammdaten
zauber := character.Zauber[0]
stammF, err := stammdaten.CheckZauber(&zauber, false)
stammF, err := stammdaten.CheckSpell(&zauber, false)
assert.Error(t, err, "expexted Error does not exist in zauber Stammdaten")
if stammF == nil && err != nil {
stammF, err = stammdaten.CheckZauber(&zauber, true)
stammF, err = stammdaten.CheckSpell(&zauber, true)
}
assert.NoError(t, err, "Expected to finds the zauber Stammdaten in the database")
assert.Equal(t, zauber.Name, stammF.Name)
@@ -193,10 +193,10 @@ func TestImportZauberStammdatenSingle(t *testing.T) {
// und noch mal
//checke zauber auf vorhandensein in den Stammdaten
//zauber := character.zauberen[1]
stammF, err = stammdaten.CheckZauber(&zauber, false)
stammF, err = stammdaten.CheckSpell(&zauber, false)
assert.NoError(t, err, "expexted no Error exist in zauber Stammdaten")
if stammF == nil && err != nil {
stammF, err = stammdaten.CheckZauber(&zauber, true)
stammF, err = stammdaten.CheckSpell(&zauber, true)
}
assert.NoError(t, err, "Expected to finds the zauber Stammdaten in the database")
assert.Equal(t, zauber.Name, stammF.Name)
+1 -1
View File
@@ -29,7 +29,7 @@ func initTestDB4Char() *gorm.DB {
&models.MagischWaffe{},
&models.Waffe{},
&models.Waffenfertigkeit{},
&models.ImStammFertigkeit{},
&models.LookupSkill{},
)
return db
}
+43 -43
View File
@@ -9,24 +9,24 @@ import (
"gorm.io/gorm"
)
func initTestDB4Stammdaten() *gorm.DB {
func initTestDB4Lookup() *gorm.DB {
db := SetupTestDB()
db.AutoMigrate(
&models.ImStammFertigkeit{}, //needed for stammdaten.CheckFertigkeit
&models.ImStammZauber{}, //needed for stammdaten.CheckZauber
&models.ImStammWaffenFertigkeit{}, //needed for stammdaten.CheckWaffenFertigkeit
&models.ImStammAusruestung{}, //needed for stammdaten.Check...
&models.ImStammBehaeltniss{}, //needed for stammdaten.Check...
&models.ImStammTransportation{}, //needed for stammdaten.Check...
&models.LookupSkill{}, //needed for stammdaten.CheckFertigkeit
&models.LookupSpell{}, //needed for stammdaten.CheckZauber
&models.LookupWaeponSkill{}, //needed for stammdaten.CheckWaffenFertigkeit
&models.LookupEquipment{}, //needed for stammdaten.Check...
&models.LookupContainer{}, //needed for stammdaten.Check...
&models.LookupTransportation{}, //needed for stammdaten.Check...
)
return db
}
func TestCreateStammdatenFertigkeiten(t *testing.T) {
func TestCreateLookupSkill(t *testing.T) {
// Setup test database
testDB := initTestDB4Stammdaten()
testDB := initTestDB4Lookup()
database.DB = testDB // Assign test DB to global DB
stamm := models.ImStammFertigkeit{}
stamm := models.LookupSkill{}
stamm.System = "Midgard"
stamm.Name = "Lesen"
stamm.Beschreibung = "Lesen und Schreiben"
@@ -39,10 +39,10 @@ func TestCreateStammdatenFertigkeiten(t *testing.T) {
assert.Equal(t, "midgard", stamm.System)
}
func TestFindStammdatenFertigkeiten(t *testing.T) {
func TestFindLookupSkill(t *testing.T) {
// Setup test database
TestCreateStammdatenFertigkeiten(t)
stamm := models.ImStammFertigkeit{}
TestCreateLookupSkill(t)
stamm := models.LookupSkill{}
stamm.Name = "Lesen"
err := stamm.First("Lesen")
@@ -52,11 +52,11 @@ func TestFindStammdatenFertigkeiten(t *testing.T) {
assert.Equal(t, "In", stamm.Bonuseigenschaft)
}
func TestCreateStammdatenWaffenFertigkeiten(t *testing.T) {
func TestCreateLookupWaeponSkill(t *testing.T) {
// Setup test database
testDB := initTestDB4Stammdaten()
testDB := initTestDB4Lookup()
database.DB = testDB // Assign test DB to global DB
stamm := models.ImStammWaffenFertigkeit{}
stamm := models.LookupWaeponSkill{}
stamm.System = "Midgard"
stamm.Name = "Stichwaffen"
stamm.Beschreibung = "Für Dolche und Ochsenzungen"
@@ -69,10 +69,10 @@ func TestCreateStammdatenWaffenFertigkeiten(t *testing.T) {
assert.Equal(t, "midgard", stamm.System)
}
func TestFindStammdatenWaffenFertigkeiten(t *testing.T) {
func TestFindLookupWaeponSkill(t *testing.T) {
// Setup test database
TestCreateStammdatenWaffenFertigkeiten(t)
stamm := models.ImStammWaffenFertigkeit{}
TestCreateLookupWaeponSkill(t)
stamm := models.LookupWaeponSkill{}
stamm.Name = "Lesen"
err := stamm.First("Stichwaffen")
@@ -84,11 +84,11 @@ func TestFindStammdatenWaffenFertigkeiten(t *testing.T) {
assert.Equal(t, "Gs", stamm.Bonuseigenschaft)
}
func TestCreateStammdatenZauber(t *testing.T) {
func TestCreateLookupSpell(t *testing.T) {
// Setup test database
testDB := initTestDB4Stammdaten()
testDB := initTestDB4Lookup()
database.DB = testDB // Assign test DB to global DB
stamm := models.ImStammZauber{}
stamm := models.LookupSpell{}
stamm.System = "Midgard"
stamm.Name = "Unsichtbarkeit"
stamm.Beschreibung = "werde unsichtbar"
@@ -107,10 +107,10 @@ func TestCreateStammdatenZauber(t *testing.T) {
assert.Equal(t, 1, stamm.Stufe)
}
func TestFindStammdatenZauber(t *testing.T) {
func TestFindLookupSpell(t *testing.T) {
// Setup test database
TestCreateStammdatenZauber(t)
stamm := models.ImStammZauber{}
TestCreateLookupSpell(t)
stamm := models.LookupSpell{}
stamm.Name = "lesen"
err := stamm.First("Unsichtbarkeit")
@@ -125,11 +125,11 @@ func TestFindStammdatenZauber(t *testing.T) {
assert.Equal(t, 0, stamm.Bonus)
}
func TestCreateStammdatenAusruestung(t *testing.T) {
func TestCreateLookupEquipment(t *testing.T) {
// Setup test database
testDB := initTestDB4Stammdaten()
testDB := initTestDB4Lookup()
database.DB = testDB // Assign test DB to global DB
stamm := models.ImStammAusruestung{}
stamm := models.LookupEquipment{}
stamm.System = "Midgard"
stamm.Name = "Decke"
stamm.Beschreibung = "zum zudecken"
@@ -142,10 +142,10 @@ func TestCreateStammdatenAusruestung(t *testing.T) {
assert.Equal(t, "midgard", stamm.System)
}
func TestFindStammdatenAusruestung(t *testing.T) {
func TestFindLookupEquipment(t *testing.T) {
// Setup test database
TestCreateStammdatenAusruestung(t)
stamm := models.ImStammAusruestung{}
TestCreateLookupEquipment(t)
stamm := models.LookupEquipment{}
stamm.Name = "Lesen"
err := stamm.First("Decke")
@@ -155,11 +155,11 @@ func TestFindStammdatenAusruestung(t *testing.T) {
assert.Equal(t, 0.2, stamm.Gewicht)
}
func TestCreateStammdatenBehaeltniss(t *testing.T) {
func TestCreateLookupContainer(t *testing.T) {
// Setup test database
testDB := initTestDB4Stammdaten()
testDB := initTestDB4Lookup()
database.DB = testDB // Assign test DB to global DB
stamm := models.ImStammBehaeltniss{}
stamm := models.LookupContainer{}
stamm.System = "Midgard"
stamm.Name = "Topf"
stamm.Beschreibung = "zum kochen"
@@ -173,10 +173,10 @@ func TestCreateStammdatenBehaeltniss(t *testing.T) {
assert.Equal(t, "midgard", stamm.System)
}
func TestFindStammdatenBehaeltniss(t *testing.T) {
func TestFindLookupContainer(t *testing.T) {
// Setup test database
TestCreateStammdatenBehaeltniss(t)
stamm := models.ImStammBehaeltniss{}
TestCreateLookupContainer(t)
stamm := models.LookupContainer{}
stamm.Name = "Lesen"
err := stamm.First("Topf")
@@ -187,11 +187,11 @@ func TestFindStammdatenBehaeltniss(t *testing.T) {
assert.Equal(t, 12.2, stamm.Volumen)
}
func TestCreateStammdatenTransportation(t *testing.T) {
func TestCreateLookupTransportation(t *testing.T) {
// Setup test database
testDB := initTestDB4Stammdaten()
testDB := initTestDB4Lookup()
database.DB = testDB // Assign test DB to global DB
stamm := models.ImStammTransportation{}
stamm := models.LookupTransportation{}
stamm.System = "Midgard"
stamm.Name = "Topf"
stamm.Beschreibung = "zum kochen"
@@ -205,10 +205,10 @@ func TestCreateStammdatenTransportation(t *testing.T) {
assert.Equal(t, "midgard", stamm.System)
}
func TestFindStammdatenTransportation(t *testing.T) {
func TestFindLookupTransportation(t *testing.T) {
// Setup test database
TestCreateStammdatenTransportation(t)
stamm := models.ImStammTransportation{}
TestCreateLookupTransportation(t)
stamm := models.LookupTransportation{}
stamm.Name = "Lesen"
err := stamm.First("Topf")