initial commit

This commit is contained in:
2025-08-27 23:26:36 +03:00
commit ae70c229f7
22 changed files with 1087 additions and 0 deletions

53
database/waifus.go Normal file
View File

@@ -0,0 +1,53 @@
package database
import "github.com/shopspring/decimal"
type Waifu struct {
ID int
Name string
Rarity int
ExpBonus decimal.Decimal
MoneyBonus decimal.Decimal
MarketPrice decimal.Decimal
Fandom string
Image string
OwnerID int
Owner *User
}
func GetAllWaifus() ([]*Waifu, error) {
waifus := make([]*Waifu, 0)
tx := Database.Joins("Owner").Find(&waifus).Order("id")
return waifus, tx.Error
}
func GetUserWaifus(userId int) ([]*Waifu, error) {
waifus := make([]*Waifu, 0)
tx := Database.Find(&waifus, "owner_id = ?", userId).Order("id")
return waifus, tx.Error
}
func GetFreeWaifus() ([]*Waifu, error) {
waifus := make([]*Waifu, 0)
tx := Database.Find(&waifus, "owner_id is null").Order("id")
return waifus, tx.Error
}
func GetFreeWaifusCount() (int64, error) {
var count int64 = 0
tx := Database.Model(&Waifu{}).Where("owner_id is null").Count(&count)
return count, tx.Error
}
func GetFreeWaifusWithRarity(rarity int) ([]*Waifu, error) {
waifus := make([]*Waifu, 0)
tx := Database.Find(&waifus, "owner_id is null and rarity = ?", rarity)
return waifus, tx.Error
}
func GetWaifuById(id int) (*Waifu, error) {
waifu := new(Waifu)
tx := Database.Joins("Owner").Find(waifu, id)
return waifu, tx.Error
}