shopitems instead rooms
This commit is contained in:
88
repositories/shopItemRepository.go
Normal file
88
repositories/shopItemRepository.go
Normal file
@@ -0,0 +1,88 @@
|
||||
package repositories
|
||||
|
||||
import(
|
||||
"strconv"
|
||||
"gorm.io/gorm"
|
||||
|
||||
"example.com/gin/test/models"
|
||||
)
|
||||
|
||||
type ShopItemRepository interface {
|
||||
Create(models.ShopItem) (models.ShopItem, error)
|
||||
GetAll() ([]models.ShopItem, error)
|
||||
GetAllPublic() ([]models.ShopItem, error)
|
||||
GetById(string) (models.ShopItem, error)
|
||||
Update(models.ShopItem) (models.ShopItem, error)
|
||||
DeleteById(string) error
|
||||
}
|
||||
|
||||
type GORMShopItemRepository struct {
|
||||
DB *gorm.DB
|
||||
}
|
||||
|
||||
func NewGORMShopItemRepository(db *gorm.DB) ShopItemRepository {
|
||||
return &GORMShopItemRepository{
|
||||
DB: db,
|
||||
}
|
||||
}
|
||||
|
||||
func (r *GORMShopItemRepository) Create(shopItem models.ShopItem) (models.ShopItem, error) {
|
||||
result := r.DB.Create(&shopItem)
|
||||
if result.Error != nil {
|
||||
return models.ShopItem{}, result.Error
|
||||
}
|
||||
|
||||
return shopItem, nil
|
||||
}
|
||||
|
||||
func (r *GORMShopItemRepository) GetAll() ([]models.ShopItem, error) {
|
||||
var shopItems []models.ShopItem
|
||||
result := r.DB.Find(&shopItems)
|
||||
|
||||
return shopItems, result.Error
|
||||
}
|
||||
|
||||
func (r *GORMShopItemRepository) GetAllPublic() ([]models.ShopItem, error) {
|
||||
var shopItems []models.ShopItem
|
||||
result := r.DB.Where("is_public = 1").Find(&shopItems)
|
||||
|
||||
return shopItems, result.Error
|
||||
|
||||
}
|
||||
|
||||
func (r *GORMShopItemRepository) GetById(id string) (models.ShopItem, error) {
|
||||
shopItemId, err := strconv.Atoi(id)
|
||||
|
||||
if err != nil {
|
||||
return models.ShopItem{}, err
|
||||
}
|
||||
|
||||
var shopItem models.ShopItem
|
||||
result := r.DB.First(&shopItem, uint(shopItemId))
|
||||
|
||||
if result.Error != nil {
|
||||
return models.ShopItem{}, result.Error
|
||||
}
|
||||
|
||||
return shopItem, nil
|
||||
}
|
||||
|
||||
func (r *GORMShopItemRepository) Update(shopItem models.ShopItem) (models.ShopItem, error) {
|
||||
result := r.DB.Save(&shopItem)
|
||||
if result.Error != nil {
|
||||
return models.ShopItem{}, result.Error
|
||||
}
|
||||
|
||||
return shopItem, nil
|
||||
}
|
||||
|
||||
func (r *GORMShopItemRepository) DeleteById(id string) error {
|
||||
shopItemId, err := strconv.Atoi(id)
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
result := r.DB.Delete(&models.ShopItem{}, shopItemId)
|
||||
return result.Error
|
||||
}
|
||||
Reference in New Issue
Block a user