Files
zineshop/repositories/repository.go
2025-04-14 23:29:24 +02:00

45 lines
944 B
Go

package repositories
import (
"gorm.io/driver/sqlite"
"gorm.io/gorm"
"os"
"git.dynamicdiscord.de/kalipso/zineshop/models"
)
var (
ShopItems ShopItemRepository
Users UserRepository
Tags TagRepository
CartItems CartItemRepository
Orders OrderRepository
Tokens RegisterTokenRepository
)
func InitRepositories() {
db, err := gorm.Open(sqlite.Open(os.Getenv("SQLITE_DB")), &gorm.Config{})
if err != nil {
panic("failed to connect to database")
}
err = db.AutoMigrate(&models.ShopItem{},
&models.ItemVariant{},
&models.User{},
&models.Tag{},
&models.CartItem{},
&models.Order{},
&models.RegisterToken{})
if err != nil {
panic("failed to migrate database")
}
ShopItems = NewGORMShopItemRepository(db)
Users = NewGORMUserRepository(db)
Tags = NewGORMTagRepository(db)
CartItems = NewGORMCartItemRepository(db)
Orders = NewGORMOrderRepository(db)
Tokens = NewGORMRegisterTokenRepository(db)
}