initial commit
This commit is contained in:
53
database/waifus.go
Normal file
53
database/waifus.go
Normal 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
|
||||
}
|
||||
Reference in New Issue
Block a user