database changes
This commit is contained in:
@@ -3,7 +3,6 @@ package psql
|
||||
import (
|
||||
"database/sql"
|
||||
|
||||
"git.nix13.pw/scuroneko/extypes"
|
||||
"git.nix13.pw/scuroneko/laniakea"
|
||||
"github.com/shopspring/decimal"
|
||||
"github.com/vinovest/sqlx"
|
||||
@@ -31,11 +30,9 @@ func NewWaifuRepository(db *laniakea.DatabaseContext) *WaifuRepository {
|
||||
return &WaifuRepository{db: db.PostgresSQL}
|
||||
}
|
||||
|
||||
func (rep *WaifuRepository) GetAll() (extypes.Slice[*Waifu], error) {
|
||||
waifus, err := sqlx.List[*Waifu](rep.db, "SELECT waifus.* FROM waifus;")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
func (rep *WaifuRepository) GetAll() ([]Waifu, error) {
|
||||
waifus, err := sqlx.List[Waifu](rep.db, "SELECT * FROM waifus;")
|
||||
//userRep := newUserRepository(rep.db)
|
||||
|
||||
for _, waifu := range waifus {
|
||||
if !waifu.OwnerID.Valid {
|
||||
@@ -47,18 +44,20 @@ func (rep *WaifuRepository) GetAll() (extypes.Slice[*Waifu], error) {
|
||||
return waifus, err
|
||||
}
|
||||
|
||||
func (rep *WaifuRepository) GetByUserId(userId int) ([]*Waifu, error) {
|
||||
waifus, err := sqlx.List[*Waifu](rep.db, "SELECT waifus.* FROM waifus WHERE owner_id=$1;", userId)
|
||||
func (rep *WaifuRepository) GetByUserId(userId int) ([]Waifu, error) {
|
||||
waifus, err := sqlx.List[Waifu](rep.db, "SELECT waifus.* FROM waifus WHERE owner_id=$1;", userId)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
userRep := newUserRepository(rep.db)
|
||||
user, err := userRep.GetById(userId)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
for _, waifu := range waifus {
|
||||
waifu.Owner = new(User)
|
||||
err = rep.db.Get(waifu.Owner, "SELECT * FROM users WHERE id=$1;", waifu.OwnerID.Int64)
|
||||
if err != nil {
|
||||
return waifus, err
|
||||
}
|
||||
waifu.Owner = user
|
||||
}
|
||||
return waifus, nil
|
||||
}
|
||||
@@ -69,8 +68,8 @@ func (rep *WaifuRepository) GetCountByUserId(userId int) (int64, error) {
|
||||
return count, err
|
||||
}
|
||||
|
||||
func (rep *WaifuRepository) GetFree() ([]*Waifu, error) {
|
||||
waifus, err := sqlx.List[*Waifu](rep.db, "SELECT * FROM waifus WHERE owner_id IS NULL;")
|
||||
func (rep *WaifuRepository) GetFree() ([]Waifu, error) {
|
||||
waifus, err := sqlx.List[Waifu](rep.db, "SELECT * FROM waifus WHERE owner_id IS NULL;")
|
||||
return waifus, err
|
||||
}
|
||||
|
||||
@@ -80,16 +79,16 @@ func (rep *WaifuRepository) GetFreeCount() (int64, error) {
|
||||
return count, err
|
||||
}
|
||||
|
||||
func (rep *WaifuRepository) GetFreeByRarity(rarity int) ([]*Waifu, error) {
|
||||
waifus, err := sqlx.List[*Waifu](rep.db, "SELECT * FROM waifus WHERE owner_id IS NULL AND rarity=$1;", rarity)
|
||||
func (rep *WaifuRepository) GetFreeByRarity(rarity int) ([]Waifu, error) {
|
||||
waifus, err := sqlx.List[Waifu](rep.db, "SELECT * FROM waifus WHERE owner_id IS NULL AND rarity=$1;", rarity)
|
||||
return waifus, err
|
||||
}
|
||||
|
||||
func (rep *WaifuRepository) GetById(id int) (*Waifu, error) {
|
||||
waifu := new(Waifu)
|
||||
err := rep.db.Get(waifu, "SELECT * FROM waifus WHERE id=$1;", id)
|
||||
func (rep *WaifuRepository) GetById(id int) (Waifu, error) {
|
||||
waifu := Waifu{}
|
||||
err := rep.db.Get(&waifu, "SELECT * FROM waifus WHERE id=$1;", id)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return waifu, err
|
||||
}
|
||||
if !waifu.OwnerID.Valid {
|
||||
return waifu, err
|
||||
|
||||
Reference in New Issue
Block a user