wip itemvariant
This commit is contained in:
@@ -21,7 +21,7 @@ func InitRepositories() {
|
||||
panic("failed to connect to database")
|
||||
}
|
||||
|
||||
err = db.AutoMigrate(&models.ShopItem{}, &models.User{}, &models.Tag{}, &models.CartItem{})
|
||||
err = db.AutoMigrate(&models.ShopItem{}, &models.ItemVariant{}, &models.User{}, &models.Tag{}, &models.CartItem{})
|
||||
if err != nil {
|
||||
panic("failed to migrate database")
|
||||
}
|
||||
|
||||
@@ -38,14 +38,14 @@ func (r *GORMShopItemRepository) Create(shopItem models.ShopItem) (models.ShopIt
|
||||
|
||||
func (r *GORMShopItemRepository) GetAll() ([]models.ShopItem, error) {
|
||||
var shopItems []models.ShopItem
|
||||
result := r.DB.Preload("Tags").Find(&shopItems)
|
||||
result := r.DB.Preload("Tags").Preload("Variants").Find(&shopItems)
|
||||
|
||||
return shopItems, result.Error
|
||||
}
|
||||
|
||||
func (r *GORMShopItemRepository) GetAllPublic() ([]models.ShopItem, error) {
|
||||
var shopItems []models.ShopItem
|
||||
result := r.DB.Preload("Tags").Where("is_public = 1").Find(&shopItems)
|
||||
result := r.DB.Preload("Tags").Preload("Variants").Where("is_public = 1").Find(&shopItems)
|
||||
|
||||
return shopItems, result.Error
|
||||
|
||||
@@ -59,7 +59,7 @@ func (r *GORMShopItemRepository) GetById(id string) (models.ShopItem, error) {
|
||||
}
|
||||
|
||||
var shopItem models.ShopItem
|
||||
result := r.DB.Preload("Tags").First(&shopItem, uint(shopItemId))
|
||||
result := r.DB.Preload("Tags").Preload("Variants").First(&shopItem, uint(shopItemId))
|
||||
|
||||
if result.Error != nil {
|
||||
return models.ShopItem{}, result.Error
|
||||
@@ -74,6 +74,11 @@ func (r *GORMShopItemRepository) Update(shopItem models.ShopItem) (models.ShopIt
|
||||
return models.ShopItem{}, err
|
||||
}
|
||||
|
||||
err = r.DB.Model(&shopItem).Association("Variants").Replace(shopItem.Variants)
|
||||
if err != nil {
|
||||
return models.ShopItem{}, err
|
||||
}
|
||||
|
||||
result := r.DB.Save(&shopItem)
|
||||
if result.Error != nil {
|
||||
return models.ShopItem{}, result.Error
|
||||
|
||||
Reference in New Issue
Block a user