All checks were successful
Go / build (push) Successful in 12m50s
paper weight is missing
51 lines
1.1 KiB
Go
51 lines
1.1 KiB
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
|
|
ConfigOptions ConfigRepository
|
|
Papers PaperRepository
|
|
)
|
|
|
|
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.Config{},
|
|
&models.Paper{},
|
|
&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)
|
|
ConfigOptions = NewGORMConfigRepository(db)
|
|
Papers = NewGORMPaperRepository(db)
|
|
}
|