package services import( "fmt" "git.dynamicdiscord.de/kalipso/zineshop/models" "git.dynamicdiscord.de/kalipso/zineshop/repositories" ) var( ShopItems ShopItemService = ShopItemService{} ) type ShopItemService struct {} func (u *ShopItemService) NewShopItem(name string, abstract string, description string, price float64, tagIds []string) (models.ShopItem, error) { shopItem := models.ShopItem{ Name: name, Abstract: abstract, Description: description, BasePrice: price, IsPublic: true, } for _, tagId := range tagIds { tag, err := repositories.Tags.GetById(tagId) if err != nil { return models.ShopItem{}, fmt.Errorf("Could not get tag by id") } shopItem.Tags = append(shopItem.Tags, tag) } return repositories.ShopItems.Create(shopItem) }