mirror of
https://github.com/Mezeporta/Erupe.git
synced 2026-03-29 03:52:41 +02:00
revert: remove SQLite support
An MMO server without multiplayer defeats the purpose. PostgreSQL is the right choice and Docker Compose already solves the setup pain. This reverts the common/db wrapper, SQLite schema, config Driver field, modernc.org/sqlite dependency, and all repo type changes while keeping the dashboard, wizard, and CI improvements from the previous commit.
This commit is contained in:
@@ -3,16 +3,16 @@ package channelserver
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
dbutil "erupe-ce/common/db"
|
||||
"github.com/jmoiron/sqlx"
|
||||
)
|
||||
|
||||
// AchievementRepository centralizes all database access for the achievements table.
|
||||
type AchievementRepository struct {
|
||||
db *dbutil.DB
|
||||
db *sqlx.DB
|
||||
}
|
||||
|
||||
// NewAchievementRepository creates a new AchievementRepository.
|
||||
func NewAchievementRepository(db *dbutil.DB) *AchievementRepository {
|
||||
func NewAchievementRepository(db *sqlx.DB) *AchievementRepository {
|
||||
return &AchievementRepository{db: db}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package channelserver
|
||||
|
||||
import (
|
||||
dbutil "erupe-ce/common/db"
|
||||
"testing"
|
||||
|
||||
"github.com/jmoiron/sqlx"
|
||||
@@ -12,7 +11,7 @@ func setupAchievementRepo(t *testing.T) (*AchievementRepository, *sqlx.DB, uint3
|
||||
db := SetupTestDB(t)
|
||||
userID := CreateTestUser(t, db, "ach_test_user")
|
||||
charID := CreateTestCharacter(t, db, userID, "AchChar")
|
||||
repo := NewAchievementRepository(dbutil.Wrap(db))
|
||||
repo := NewAchievementRepository(db)
|
||||
t.Cleanup(func() { TeardownTestDB(t, db) })
|
||||
return repo, db, charID
|
||||
}
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
package channelserver
|
||||
|
||||
import (
|
||||
dbutil "erupe-ce/common/db"
|
||||
"github.com/jmoiron/sqlx"
|
||||
)
|
||||
|
||||
// CafeRepository centralizes all database access for cafe-related tables.
|
||||
type CafeRepository struct {
|
||||
db *dbutil.DB
|
||||
db *sqlx.DB
|
||||
}
|
||||
|
||||
// NewCafeRepository creates a new CafeRepository.
|
||||
func NewCafeRepository(db *dbutil.DB) *CafeRepository {
|
||||
func NewCafeRepository(db *sqlx.DB) *CafeRepository {
|
||||
return &CafeRepository{db: db}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package channelserver
|
||||
|
||||
import (
|
||||
dbutil "erupe-ce/common/db"
|
||||
"testing"
|
||||
|
||||
"github.com/jmoiron/sqlx"
|
||||
@@ -12,7 +11,7 @@ func setupCafeRepo(t *testing.T) (*CafeRepository, *sqlx.DB, uint32) {
|
||||
db := SetupTestDB(t)
|
||||
userID := CreateTestUser(t, db, "cafe_test_user")
|
||||
charID := CreateTestCharacter(t, db, userID, "CafeChar")
|
||||
repo := NewCafeRepository(dbutil.Wrap(db))
|
||||
repo := NewCafeRepository(db)
|
||||
t.Cleanup(func() { TeardownTestDB(t, db) })
|
||||
return repo, db, charID
|
||||
}
|
||||
|
||||
@@ -4,16 +4,16 @@ import (
|
||||
"database/sql"
|
||||
"time"
|
||||
|
||||
dbutil "erupe-ce/common/db"
|
||||
"github.com/jmoiron/sqlx"
|
||||
)
|
||||
|
||||
// CharacterRepository centralizes all database access for the characters table.
|
||||
type CharacterRepository struct {
|
||||
db *dbutil.DB
|
||||
db *sqlx.DB
|
||||
}
|
||||
|
||||
// NewCharacterRepository creates a new CharacterRepository.
|
||||
func NewCharacterRepository(db *dbutil.DB) *CharacterRepository {
|
||||
func NewCharacterRepository(db *sqlx.DB) *CharacterRepository {
|
||||
return &CharacterRepository{db: db}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package channelserver
|
||||
|
||||
import (
|
||||
dbutil "erupe-ce/common/db"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
@@ -13,7 +12,7 @@ func setupCharRepo(t *testing.T) (*CharacterRepository, *sqlx.DB, uint32) {
|
||||
db := SetupTestDB(t)
|
||||
userID := CreateTestUser(t, db, "repo_test_user")
|
||||
charID := CreateTestCharacter(t, db, userID, "RepoChar")
|
||||
repo := NewCharacterRepository(dbutil.Wrap(db))
|
||||
repo := NewCharacterRepository(db)
|
||||
t.Cleanup(func() { TeardownTestDB(t, db) })
|
||||
return repo, db, charID
|
||||
}
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
package channelserver
|
||||
|
||||
import (
|
||||
dbutil "erupe-ce/common/db"
|
||||
"github.com/jmoiron/sqlx"
|
||||
)
|
||||
|
||||
// DistributionRepository centralizes all database access for the distribution,
|
||||
// distribution_items, and distributions_accepted tables.
|
||||
type DistributionRepository struct {
|
||||
db *dbutil.DB
|
||||
db *sqlx.DB
|
||||
}
|
||||
|
||||
// NewDistributionRepository creates a new DistributionRepository.
|
||||
func NewDistributionRepository(db *dbutil.DB) *DistributionRepository {
|
||||
func NewDistributionRepository(db *sqlx.DB) *DistributionRepository {
|
||||
return &DistributionRepository{db: db}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package channelserver
|
||||
|
||||
import (
|
||||
dbutil "erupe-ce/common/db"
|
||||
"testing"
|
||||
|
||||
"github.com/jmoiron/sqlx"
|
||||
@@ -12,7 +11,7 @@ func setupDistributionRepo(t *testing.T) (*DistributionRepository, *sqlx.DB, uin
|
||||
db := SetupTestDB(t)
|
||||
userID := CreateTestUser(t, db, "dist_test_user")
|
||||
charID := CreateTestCharacter(t, db, userID, "DistChar")
|
||||
repo := NewDistributionRepository(dbutil.Wrap(db))
|
||||
repo := NewDistributionRepository(db)
|
||||
t.Cleanup(func() { TeardownTestDB(t, db) })
|
||||
return repo, db, charID
|
||||
}
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
package channelserver
|
||||
|
||||
import (
|
||||
dbutil "erupe-ce/common/db"
|
||||
"github.com/jmoiron/sqlx"
|
||||
)
|
||||
|
||||
// DivaRepository centralizes all database access for diva defense events.
|
||||
type DivaRepository struct {
|
||||
db *dbutil.DB
|
||||
db *sqlx.DB
|
||||
}
|
||||
|
||||
// NewDivaRepository creates a new DivaRepository.
|
||||
func NewDivaRepository(db *dbutil.DB) *DivaRepository {
|
||||
func NewDivaRepository(db *sqlx.DB) *DivaRepository {
|
||||
return &DivaRepository{db: db}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package channelserver
|
||||
|
||||
import (
|
||||
dbutil "erupe-ce/common/db"
|
||||
"testing"
|
||||
|
||||
"github.com/jmoiron/sqlx"
|
||||
@@ -10,7 +9,7 @@ import (
|
||||
func setupDivaRepo(t *testing.T) (*DivaRepository, *sqlx.DB) {
|
||||
t.Helper()
|
||||
db := SetupTestDB(t)
|
||||
repo := NewDivaRepository(dbutil.Wrap(db))
|
||||
repo := NewDivaRepository(db)
|
||||
t.Cleanup(func() { TeardownTestDB(t, db) })
|
||||
return repo, db
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
dbutil "erupe-ce/common/db"
|
||||
"github.com/jmoiron/sqlx"
|
||||
)
|
||||
|
||||
// EventQuest represents a row from the event_quests table.
|
||||
@@ -22,11 +22,11 @@ type EventQuest struct {
|
||||
|
||||
// EventRepository centralizes all database access for event-related tables.
|
||||
type EventRepository struct {
|
||||
db *dbutil.DB
|
||||
db *sqlx.DB
|
||||
}
|
||||
|
||||
// NewEventRepository creates a new EventRepository.
|
||||
func NewEventRepository(db *dbutil.DB) *EventRepository {
|
||||
func NewEventRepository(db *sqlx.DB) *EventRepository {
|
||||
return &EventRepository{db: db}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package channelserver
|
||||
|
||||
import (
|
||||
dbutil "erupe-ce/common/db"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
@@ -11,7 +10,7 @@ import (
|
||||
func setupEventRepo(t *testing.T) (*EventRepository, *sqlx.DB) {
|
||||
t.Helper()
|
||||
db := SetupTestDB(t)
|
||||
repo := NewEventRepository(dbutil.Wrap(db))
|
||||
repo := NewEventRepository(db)
|
||||
t.Cleanup(func() { TeardownTestDB(t, db) })
|
||||
return repo, db
|
||||
}
|
||||
|
||||
@@ -4,17 +4,17 @@ import (
|
||||
"context"
|
||||
"database/sql"
|
||||
|
||||
dbutil "erupe-ce/common/db"
|
||||
"github.com/jmoiron/sqlx"
|
||||
)
|
||||
|
||||
// FestaRepository centralizes all database access for festa-related tables
|
||||
// (events, festa_registrations, festa_submissions, festa_prizes, festa_prizes_accepted, festa_trials, guild_characters).
|
||||
type FestaRepository struct {
|
||||
db *dbutil.DB
|
||||
db *sqlx.DB
|
||||
}
|
||||
|
||||
// NewFestaRepository creates a new FestaRepository.
|
||||
func NewFestaRepository(db *dbutil.DB) *FestaRepository {
|
||||
func NewFestaRepository(db *sqlx.DB) *FestaRepository {
|
||||
return &FestaRepository{db: db}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package channelserver
|
||||
|
||||
import (
|
||||
dbutil "erupe-ce/common/db"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
@@ -14,7 +13,7 @@ func setupFestaRepo(t *testing.T) (*FestaRepository, *sqlx.DB, uint32, uint32) {
|
||||
userID := CreateTestUser(t, db, "festa_test_user")
|
||||
charID := CreateTestCharacter(t, db, userID, "FestaChar")
|
||||
guildID := CreateTestGuild(t, db, charID, "FestaGuild")
|
||||
repo := NewFestaRepository(dbutil.Wrap(db))
|
||||
repo := NewFestaRepository(db)
|
||||
t.Cleanup(func() { TeardownTestDB(t, db) })
|
||||
return repo, db, charID, guildID
|
||||
}
|
||||
|
||||
@@ -5,17 +5,17 @@ import (
|
||||
"errors"
|
||||
"time"
|
||||
|
||||
dbutil "erupe-ce/common/db"
|
||||
"github.com/jmoiron/sqlx"
|
||||
)
|
||||
|
||||
// GachaRepository centralizes all database access for gacha-related tables
|
||||
// (gacha_shop, gacha_entries, gacha_items, gacha_stepup, gacha_box).
|
||||
type GachaRepository struct {
|
||||
db *dbutil.DB
|
||||
db *sqlx.DB
|
||||
}
|
||||
|
||||
// NewGachaRepository creates a new GachaRepository.
|
||||
func NewGachaRepository(db *dbutil.DB) *GachaRepository {
|
||||
func NewGachaRepository(db *sqlx.DB) *GachaRepository {
|
||||
return &GachaRepository{db: db}
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,6 @@ package channelserver
|
||||
import (
|
||||
"database/sql"
|
||||
"errors"
|
||||
dbutil "erupe-ce/common/db"
|
||||
"testing"
|
||||
|
||||
"github.com/jmoiron/sqlx"
|
||||
@@ -14,7 +13,7 @@ func setupGachaRepo(t *testing.T) (*GachaRepository, *sqlx.DB, uint32) {
|
||||
db := SetupTestDB(t)
|
||||
userID := CreateTestUser(t, db, "gacha_test_user")
|
||||
charID := CreateTestCharacter(t, db, userID, "GachaChar")
|
||||
repo := NewGachaRepository(dbutil.Wrap(db))
|
||||
repo := NewGachaRepository(db)
|
||||
t.Cleanup(func() { TeardownTestDB(t, db) })
|
||||
return repo, db, charID
|
||||
}
|
||||
|
||||
@@ -3,16 +3,16 @@ package channelserver
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
dbutil "erupe-ce/common/db"
|
||||
"github.com/jmoiron/sqlx"
|
||||
)
|
||||
|
||||
// GoocooRepository centralizes all database access for the goocoo table.
|
||||
type GoocooRepository struct {
|
||||
db *dbutil.DB
|
||||
db *sqlx.DB
|
||||
}
|
||||
|
||||
// NewGoocooRepository creates a new GoocooRepository.
|
||||
func NewGoocooRepository(db *dbutil.DB) *GoocooRepository {
|
||||
func NewGoocooRepository(db *sqlx.DB) *GoocooRepository {
|
||||
return &GoocooRepository{db: db}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package channelserver
|
||||
|
||||
import (
|
||||
dbutil "erupe-ce/common/db"
|
||||
"testing"
|
||||
|
||||
"github.com/jmoiron/sqlx"
|
||||
@@ -12,7 +11,7 @@ func setupGoocooRepo(t *testing.T) (*GoocooRepository, *sqlx.DB, uint32) {
|
||||
db := SetupTestDB(t)
|
||||
userID := CreateTestUser(t, db, "goocoo_test_user")
|
||||
charID := CreateTestCharacter(t, db, userID, "GoocooChar")
|
||||
repo := NewGoocooRepository(dbutil.Wrap(db))
|
||||
repo := NewGoocooRepository(db)
|
||||
t.Cleanup(func() { TeardownTestDB(t, db) })
|
||||
return repo, db, charID
|
||||
}
|
||||
|
||||
@@ -6,19 +6,17 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
|
||||
dbutil "erupe-ce/common/db"
|
||||
|
||||
"github.com/jmoiron/sqlx"
|
||||
)
|
||||
|
||||
// GuildRepository centralizes all database access for guild-related tables
|
||||
// (guilds, guild_characters, guild_applications).
|
||||
type GuildRepository struct {
|
||||
db *dbutil.DB
|
||||
db *sqlx.DB
|
||||
}
|
||||
|
||||
// NewGuildRepository creates a new GuildRepository.
|
||||
func NewGuildRepository(db *dbutil.DB) *GuildRepository {
|
||||
func NewGuildRepository(db *sqlx.DB) *GuildRepository {
|
||||
return &GuildRepository{db: db}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package channelserver
|
||||
|
||||
import (
|
||||
dbutil "erupe-ce/common/db"
|
||||
"fmt"
|
||||
"testing"
|
||||
"time"
|
||||
@@ -14,7 +13,7 @@ func setupGuildRepo(t *testing.T) (*GuildRepository, *sqlx.DB, uint32, uint32) {
|
||||
db := SetupTestDB(t)
|
||||
userID := CreateTestUser(t, db, "guild_test_user")
|
||||
charID := CreateTestCharacter(t, db, userID, "GuildLeader")
|
||||
repo := NewGuildRepository(dbutil.Wrap(db))
|
||||
repo := NewGuildRepository(db)
|
||||
guildID := CreateTestGuild(t, db, charID, "TestGuild")
|
||||
t.Cleanup(func() { TeardownTestDB(t, db) })
|
||||
return repo, db, guildID, charID
|
||||
@@ -83,7 +82,7 @@ func TestGetByCharIDNotFound(t *testing.T) {
|
||||
func TestCreate(t *testing.T) {
|
||||
db := SetupTestDB(t)
|
||||
defer TeardownTestDB(t, db)
|
||||
repo := NewGuildRepository(dbutil.Wrap(db))
|
||||
repo := NewGuildRepository(db)
|
||||
userID := CreateTestUser(t, db, "create_guild_user")
|
||||
charID := CreateTestCharacter(t, db, userID, "CreateLeader")
|
||||
|
||||
|
||||
@@ -3,17 +3,17 @@ package channelserver
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
dbutil "erupe-ce/common/db"
|
||||
"github.com/jmoiron/sqlx"
|
||||
)
|
||||
|
||||
// HouseRepository centralizes all database access for house-related tables
|
||||
// (user_binary house columns, warehouse, titles).
|
||||
type HouseRepository struct {
|
||||
db *dbutil.DB
|
||||
db *sqlx.DB
|
||||
}
|
||||
|
||||
// NewHouseRepository creates a new HouseRepository.
|
||||
func NewHouseRepository(db *dbutil.DB) *HouseRepository {
|
||||
func NewHouseRepository(db *sqlx.DB) *HouseRepository {
|
||||
return &HouseRepository{db: db}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package channelserver
|
||||
|
||||
import (
|
||||
dbutil "erupe-ce/common/db"
|
||||
"testing"
|
||||
|
||||
"github.com/jmoiron/sqlx"
|
||||
@@ -13,7 +12,7 @@ func setupHouseRepo(t *testing.T) (*HouseRepository, *sqlx.DB, uint32) {
|
||||
userID := CreateTestUser(t, db, "house_test_user")
|
||||
charID := CreateTestCharacter(t, db, userID, "HouseChar")
|
||||
CreateTestUserBinary(t, db, charID)
|
||||
repo := NewHouseRepository(dbutil.Wrap(db))
|
||||
repo := NewHouseRepository(db)
|
||||
t.Cleanup(func() { TeardownTestDB(t, db) })
|
||||
return repo, db, charID
|
||||
}
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
package channelserver
|
||||
|
||||
import (
|
||||
dbutil "erupe-ce/common/db"
|
||||
"github.com/jmoiron/sqlx"
|
||||
)
|
||||
|
||||
// MailRepository centralizes all database access for the mail table.
|
||||
type MailRepository struct {
|
||||
db *dbutil.DB
|
||||
db *sqlx.DB
|
||||
}
|
||||
|
||||
// NewMailRepository creates a new MailRepository.
|
||||
func NewMailRepository(db *dbutil.DB) *MailRepository {
|
||||
func NewMailRepository(db *sqlx.DB) *MailRepository {
|
||||
return &MailRepository{db: db}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package channelserver
|
||||
|
||||
import (
|
||||
dbutil "erupe-ce/common/db"
|
||||
"testing"
|
||||
|
||||
"github.com/jmoiron/sqlx"
|
||||
@@ -14,7 +13,7 @@ func setupMailRepo(t *testing.T) (*MailRepository, *sqlx.DB, uint32, uint32) {
|
||||
senderID := CreateTestCharacter(t, db, userID, "Sender")
|
||||
userID2 := CreateTestUser(t, db, "mail_recipient")
|
||||
recipientID := CreateTestCharacter(t, db, userID2, "Recipient")
|
||||
repo := NewMailRepository(dbutil.Wrap(db))
|
||||
repo := NewMailRepository(db)
|
||||
t.Cleanup(func() { TeardownTestDB(t, db) })
|
||||
return repo, db, senderID, recipientID
|
||||
}
|
||||
|
||||
@@ -4,16 +4,16 @@ import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
dbutil "erupe-ce/common/db"
|
||||
"github.com/jmoiron/sqlx"
|
||||
)
|
||||
|
||||
// MercenaryRepository centralizes database access for mercenary/rasta/airou sequences and queries.
|
||||
type MercenaryRepository struct {
|
||||
db *dbutil.DB
|
||||
db *sqlx.DB
|
||||
}
|
||||
|
||||
// NewMercenaryRepository creates a new MercenaryRepository.
|
||||
func NewMercenaryRepository(db *dbutil.DB) *MercenaryRepository {
|
||||
func NewMercenaryRepository(db *sqlx.DB) *MercenaryRepository {
|
||||
return &MercenaryRepository{db: db}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package channelserver
|
||||
|
||||
import (
|
||||
dbutil "erupe-ce/common/db"
|
||||
"testing"
|
||||
|
||||
"github.com/jmoiron/sqlx"
|
||||
@@ -13,7 +12,7 @@ func setupMercenaryRepo(t *testing.T) (*MercenaryRepository, *sqlx.DB, uint32, u
|
||||
userID := CreateTestUser(t, db, "merc_test_user")
|
||||
charID := CreateTestCharacter(t, db, userID, "MercChar")
|
||||
guildID := CreateTestGuild(t, db, charID, "MercGuild")
|
||||
repo := NewMercenaryRepository(dbutil.Wrap(db))
|
||||
repo := NewMercenaryRepository(db)
|
||||
t.Cleanup(func() { TeardownTestDB(t, db) })
|
||||
return repo, db, charID, guildID
|
||||
}
|
||||
|
||||
@@ -3,16 +3,16 @@ package channelserver
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
dbutil "erupe-ce/common/db"
|
||||
"github.com/jmoiron/sqlx"
|
||||
)
|
||||
|
||||
// MiscRepository centralizes database access for miscellaneous game tables.
|
||||
type MiscRepository struct {
|
||||
db *dbutil.DB
|
||||
db *sqlx.DB
|
||||
}
|
||||
|
||||
// NewMiscRepository creates a new MiscRepository.
|
||||
func NewMiscRepository(db *dbutil.DB) *MiscRepository {
|
||||
func NewMiscRepository(db *sqlx.DB) *MiscRepository {
|
||||
return &MiscRepository{db: db}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package channelserver
|
||||
|
||||
import (
|
||||
dbutil "erupe-ce/common/db"
|
||||
"testing"
|
||||
|
||||
"github.com/jmoiron/sqlx"
|
||||
@@ -10,7 +9,7 @@ import (
|
||||
func setupMiscRepo(t *testing.T) (*MiscRepository, *sqlx.DB) {
|
||||
t.Helper()
|
||||
db := SetupTestDB(t)
|
||||
repo := NewMiscRepository(dbutil.Wrap(db))
|
||||
repo := NewMiscRepository(db)
|
||||
t.Cleanup(func() { TeardownTestDB(t, db) })
|
||||
return repo, db
|
||||
}
|
||||
|
||||
@@ -3,16 +3,16 @@ package channelserver
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
dbutil "erupe-ce/common/db"
|
||||
"github.com/jmoiron/sqlx"
|
||||
)
|
||||
|
||||
// RengokuRepository centralizes all database access for the rengoku_score table.
|
||||
type RengokuRepository struct {
|
||||
db *dbutil.DB
|
||||
db *sqlx.DB
|
||||
}
|
||||
|
||||
// NewRengokuRepository creates a new RengokuRepository.
|
||||
func NewRengokuRepository(db *dbutil.DB) *RengokuRepository {
|
||||
func NewRengokuRepository(db *sqlx.DB) *RengokuRepository {
|
||||
return &RengokuRepository{db: db}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package channelserver
|
||||
|
||||
import (
|
||||
dbutil "erupe-ce/common/db"
|
||||
"testing"
|
||||
|
||||
"github.com/jmoiron/sqlx"
|
||||
@@ -13,7 +12,7 @@ func setupRengokuRepo(t *testing.T) (*RengokuRepository, *sqlx.DB, uint32, uint3
|
||||
userID := CreateTestUser(t, db, "rengoku_test_user")
|
||||
charID := CreateTestCharacter(t, db, userID, "RengokuChar")
|
||||
guildID := CreateTestGuild(t, db, charID, "RengokuGuild")
|
||||
repo := NewRengokuRepository(dbutil.Wrap(db))
|
||||
repo := NewRengokuRepository(db)
|
||||
t.Cleanup(func() { TeardownTestDB(t, db) })
|
||||
return repo, db, charID, guildID
|
||||
}
|
||||
|
||||
@@ -3,16 +3,16 @@ package channelserver
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
dbutil "erupe-ce/common/db"
|
||||
"github.com/jmoiron/sqlx"
|
||||
)
|
||||
|
||||
// ScenarioRepository centralizes all database access for the scenario_counter table.
|
||||
type ScenarioRepository struct {
|
||||
db *dbutil.DB
|
||||
db *sqlx.DB
|
||||
}
|
||||
|
||||
// NewScenarioRepository creates a new ScenarioRepository.
|
||||
func NewScenarioRepository(db *dbutil.DB) *ScenarioRepository {
|
||||
func NewScenarioRepository(db *sqlx.DB) *ScenarioRepository {
|
||||
return &ScenarioRepository{db: db}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package channelserver
|
||||
|
||||
import (
|
||||
dbutil "erupe-ce/common/db"
|
||||
"testing"
|
||||
|
||||
"github.com/jmoiron/sqlx"
|
||||
@@ -10,7 +9,7 @@ import (
|
||||
func setupScenarioRepo(t *testing.T) (*ScenarioRepository, *sqlx.DB) {
|
||||
t.Helper()
|
||||
db := SetupTestDB(t)
|
||||
repo := NewScenarioRepository(dbutil.Wrap(db))
|
||||
repo := NewScenarioRepository(db)
|
||||
t.Cleanup(func() { TeardownTestDB(t, db) })
|
||||
return repo, db
|
||||
}
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
package channelserver
|
||||
|
||||
import (
|
||||
dbutil "erupe-ce/common/db"
|
||||
"github.com/jmoiron/sqlx"
|
||||
)
|
||||
|
||||
// SessionRepository centralizes all database access for sign_sessions and servers tables.
|
||||
type SessionRepository struct {
|
||||
db *dbutil.DB
|
||||
db *sqlx.DB
|
||||
}
|
||||
|
||||
// NewSessionRepository creates a new SessionRepository.
|
||||
func NewSessionRepository(db *dbutil.DB) *SessionRepository {
|
||||
func NewSessionRepository(db *sqlx.DB) *SessionRepository {
|
||||
return &SessionRepository{db: db}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package channelserver
|
||||
|
||||
import (
|
||||
dbutil "erupe-ce/common/db"
|
||||
"testing"
|
||||
|
||||
"github.com/jmoiron/sqlx"
|
||||
@@ -14,7 +13,7 @@ func setupSessionRepo(t *testing.T) (*SessionRepository, *sqlx.DB, uint32, uint3
|
||||
charID := CreateTestCharacter(t, db, userID, "SessionChar")
|
||||
token := "test_token_12345"
|
||||
sessionID := CreateTestSignSession(t, db, userID, token)
|
||||
repo := NewSessionRepository(dbutil.Wrap(db))
|
||||
repo := NewSessionRepository(db)
|
||||
t.Cleanup(func() { TeardownTestDB(t, db) })
|
||||
return repo, db, userID, charID, sessionID, token
|
||||
}
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
package channelserver
|
||||
|
||||
import (
|
||||
dbutil "erupe-ce/common/db"
|
||||
"github.com/jmoiron/sqlx"
|
||||
)
|
||||
|
||||
// ShopRepository centralizes all database access for shop-related tables.
|
||||
type ShopRepository struct {
|
||||
db *dbutil.DB
|
||||
db *sqlx.DB
|
||||
}
|
||||
|
||||
// NewShopRepository creates a new ShopRepository.
|
||||
func NewShopRepository(db *dbutil.DB) *ShopRepository {
|
||||
func NewShopRepository(db *sqlx.DB) *ShopRepository {
|
||||
return &ShopRepository{db: db}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package channelserver
|
||||
|
||||
import (
|
||||
dbutil "erupe-ce/common/db"
|
||||
"testing"
|
||||
|
||||
"github.com/jmoiron/sqlx"
|
||||
@@ -12,7 +11,7 @@ func setupShopRepo(t *testing.T) (*ShopRepository, *sqlx.DB, uint32) {
|
||||
db := SetupTestDB(t)
|
||||
userID := CreateTestUser(t, db, "shop_test_user")
|
||||
charID := CreateTestCharacter(t, db, userID, "ShopChar")
|
||||
repo := NewShopRepository(dbutil.Wrap(db))
|
||||
repo := NewShopRepository(db)
|
||||
t.Cleanup(func() { TeardownTestDB(t, db) })
|
||||
return repo, db, charID
|
||||
}
|
||||
|
||||
@@ -4,16 +4,16 @@ import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
dbutil "erupe-ce/common/db"
|
||||
"github.com/jmoiron/sqlx"
|
||||
)
|
||||
|
||||
// StampRepository centralizes all database access for the stamps table.
|
||||
type StampRepository struct {
|
||||
db *dbutil.DB
|
||||
db *sqlx.DB
|
||||
}
|
||||
|
||||
// NewStampRepository creates a new StampRepository.
|
||||
func NewStampRepository(db *dbutil.DB) *StampRepository {
|
||||
func NewStampRepository(db *sqlx.DB) *StampRepository {
|
||||
return &StampRepository{db: db}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package channelserver
|
||||
|
||||
import (
|
||||
dbutil "erupe-ce/common/db"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
@@ -13,7 +12,7 @@ func setupStampRepo(t *testing.T) (*StampRepository, *sqlx.DB, uint32) {
|
||||
db := SetupTestDB(t)
|
||||
userID := CreateTestUser(t, db, "stamp_test_user")
|
||||
charID := CreateTestCharacter(t, db, userID, "StampChar")
|
||||
repo := NewStampRepository(dbutil.Wrap(db))
|
||||
repo := NewStampRepository(db)
|
||||
t.Cleanup(func() { TeardownTestDB(t, db) })
|
||||
return repo, db, charID
|
||||
}
|
||||
|
||||
@@ -3,17 +3,17 @@ package channelserver
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
dbutil "erupe-ce/common/db"
|
||||
"github.com/jmoiron/sqlx"
|
||||
)
|
||||
|
||||
// TowerRepository centralizes all database access for tower-related tables
|
||||
// (tower, guilds tower columns, guild_characters tower columns).
|
||||
type TowerRepository struct {
|
||||
db *dbutil.DB
|
||||
db *sqlx.DB
|
||||
}
|
||||
|
||||
// NewTowerRepository creates a new TowerRepository.
|
||||
func NewTowerRepository(db *dbutil.DB) *TowerRepository {
|
||||
func NewTowerRepository(db *sqlx.DB) *TowerRepository {
|
||||
return &TowerRepository{db: db}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package channelserver
|
||||
|
||||
import (
|
||||
dbutil "erupe-ce/common/db"
|
||||
"testing"
|
||||
|
||||
"github.com/jmoiron/sqlx"
|
||||
@@ -18,7 +17,7 @@ func setupTowerRepo(t *testing.T) (*TowerRepository, *sqlx.DB, uint32, uint32) {
|
||||
if _, err := db.Exec("INSERT INTO guild_characters (guild_id, character_id) VALUES ($1, $2)", guildID, charID); err != nil {
|
||||
t.Fatalf("Failed to add char to guild: %v", err)
|
||||
}
|
||||
repo := NewTowerRepository(dbutil.Wrap(db))
|
||||
repo := NewTowerRepository(db)
|
||||
t.Cleanup(func() { TeardownTestDB(t, db) })
|
||||
return repo, db, charID, guildID
|
||||
}
|
||||
|
||||
@@ -4,16 +4,16 @@ import (
|
||||
"database/sql"
|
||||
"time"
|
||||
|
||||
dbutil "erupe-ce/common/db"
|
||||
"github.com/jmoiron/sqlx"
|
||||
)
|
||||
|
||||
// UserRepository centralizes all database access for the users table.
|
||||
type UserRepository struct {
|
||||
db *dbutil.DB
|
||||
db *sqlx.DB
|
||||
}
|
||||
|
||||
// NewUserRepository creates a new UserRepository.
|
||||
func NewUserRepository(db *dbutil.DB) *UserRepository {
|
||||
func NewUserRepository(db *sqlx.DB) *UserRepository {
|
||||
return &UserRepository{db: db}
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,6 @@ package channelserver
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
dbutil "erupe-ce/common/db"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
@@ -13,7 +12,7 @@ func setupUserRepo(t *testing.T) (*UserRepository, *sqlx.DB, uint32) {
|
||||
t.Helper()
|
||||
db := SetupTestDB(t)
|
||||
userID := CreateTestUser(t, db, "user_repo_test")
|
||||
repo := NewUserRepository(dbutil.Wrap(db))
|
||||
repo := NewUserRepository(db)
|
||||
t.Cleanup(func() { TeardownTestDB(t, db) })
|
||||
return repo, db, userID
|
||||
}
|
||||
|
||||
@@ -6,7 +6,6 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
dbutil "erupe-ce/common/db"
|
||||
"erupe-ce/common/mhfitem"
|
||||
cfg "erupe-ce/config"
|
||||
"erupe-ce/network/clientctx"
|
||||
@@ -598,19 +597,18 @@ func createTestServerWithDB(t *testing.T, db *sqlx.DB) *Server {
|
||||
server.logger = logger
|
||||
|
||||
// Initialize repositories
|
||||
wdb := dbutil.Wrap(db)
|
||||
server.charRepo = NewCharacterRepository(wdb)
|
||||
server.guildRepo = NewGuildRepository(wdb)
|
||||
server.userRepo = NewUserRepository(wdb)
|
||||
server.gachaRepo = NewGachaRepository(wdb)
|
||||
server.houseRepo = NewHouseRepository(wdb)
|
||||
server.festaRepo = NewFestaRepository(wdb)
|
||||
server.towerRepo = NewTowerRepository(wdb)
|
||||
server.rengokuRepo = NewRengokuRepository(wdb)
|
||||
server.mailRepo = NewMailRepository(wdb)
|
||||
server.stampRepo = NewStampRepository(wdb)
|
||||
server.distRepo = NewDistributionRepository(wdb)
|
||||
server.sessionRepo = NewSessionRepository(wdb)
|
||||
server.charRepo = NewCharacterRepository(db)
|
||||
server.guildRepo = NewGuildRepository(db)
|
||||
server.userRepo = NewUserRepository(db)
|
||||
server.gachaRepo = NewGachaRepository(db)
|
||||
server.houseRepo = NewHouseRepository(db)
|
||||
server.festaRepo = NewFestaRepository(db)
|
||||
server.towerRepo = NewTowerRepository(db)
|
||||
server.rengokuRepo = NewRengokuRepository(db)
|
||||
server.mailRepo = NewMailRepository(db)
|
||||
server.stampRepo = NewStampRepository(db)
|
||||
server.distRepo = NewDistributionRepository(db)
|
||||
server.sessionRepo = NewSessionRepository(db)
|
||||
|
||||
return server
|
||||
}
|
||||
|
||||
@@ -11,7 +11,6 @@ import (
|
||||
"time"
|
||||
|
||||
"erupe-ce/common/byteframe"
|
||||
dbutil "erupe-ce/common/db"
|
||||
cfg "erupe-ce/config"
|
||||
"erupe-ce/network"
|
||||
"erupe-ce/network/binpacket"
|
||||
@@ -143,28 +142,27 @@ func NewServer(config *Config) *Server {
|
||||
handlerTable: buildHandlerTable(),
|
||||
}
|
||||
|
||||
wdb := dbutil.Wrap(config.DB)
|
||||
s.charRepo = NewCharacterRepository(wdb)
|
||||
s.guildRepo = NewGuildRepository(wdb)
|
||||
s.userRepo = NewUserRepository(wdb)
|
||||
s.gachaRepo = NewGachaRepository(wdb)
|
||||
s.houseRepo = NewHouseRepository(wdb)
|
||||
s.festaRepo = NewFestaRepository(wdb)
|
||||
s.towerRepo = NewTowerRepository(wdb)
|
||||
s.rengokuRepo = NewRengokuRepository(wdb)
|
||||
s.mailRepo = NewMailRepository(wdb)
|
||||
s.stampRepo = NewStampRepository(wdb)
|
||||
s.distRepo = NewDistributionRepository(wdb)
|
||||
s.sessionRepo = NewSessionRepository(wdb)
|
||||
s.eventRepo = NewEventRepository(wdb)
|
||||
s.achievementRepo = NewAchievementRepository(wdb)
|
||||
s.shopRepo = NewShopRepository(wdb)
|
||||
s.cafeRepo = NewCafeRepository(wdb)
|
||||
s.goocooRepo = NewGoocooRepository(wdb)
|
||||
s.divaRepo = NewDivaRepository(wdb)
|
||||
s.miscRepo = NewMiscRepository(wdb)
|
||||
s.scenarioRepo = NewScenarioRepository(wdb)
|
||||
s.mercenaryRepo = NewMercenaryRepository(wdb)
|
||||
s.charRepo = NewCharacterRepository(config.DB)
|
||||
s.guildRepo = NewGuildRepository(config.DB)
|
||||
s.userRepo = NewUserRepository(config.DB)
|
||||
s.gachaRepo = NewGachaRepository(config.DB)
|
||||
s.houseRepo = NewHouseRepository(config.DB)
|
||||
s.festaRepo = NewFestaRepository(config.DB)
|
||||
s.towerRepo = NewTowerRepository(config.DB)
|
||||
s.rengokuRepo = NewRengokuRepository(config.DB)
|
||||
s.mailRepo = NewMailRepository(config.DB)
|
||||
s.stampRepo = NewStampRepository(config.DB)
|
||||
s.distRepo = NewDistributionRepository(config.DB)
|
||||
s.sessionRepo = NewSessionRepository(config.DB)
|
||||
s.eventRepo = NewEventRepository(config.DB)
|
||||
s.achievementRepo = NewAchievementRepository(config.DB)
|
||||
s.shopRepo = NewShopRepository(config.DB)
|
||||
s.cafeRepo = NewCafeRepository(config.DB)
|
||||
s.goocooRepo = NewGoocooRepository(config.DB)
|
||||
s.divaRepo = NewDivaRepository(config.DB)
|
||||
s.miscRepo = NewMiscRepository(config.DB)
|
||||
s.scenarioRepo = NewScenarioRepository(config.DB)
|
||||
s.mercenaryRepo = NewMercenaryRepository(config.DB)
|
||||
|
||||
s.mailService = NewMailService(s.mailRepo, s.guildRepo, s.logger)
|
||||
s.guildService = NewGuildService(s.guildRepo, s.mailService, s.charRepo, s.logger)
|
||||
|
||||
@@ -8,7 +8,6 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
dbutil "erupe-ce/common/db"
|
||||
"erupe-ce/server/channelserver/compression/nullcomp"
|
||||
"erupe-ce/server/migrations"
|
||||
"github.com/jmoiron/sqlx"
|
||||
@@ -331,26 +330,25 @@ func CreateTestGachaItem(t *testing.T, db *sqlx.DB, entryID uint32, itemType uin
|
||||
// Use this in integration tests instead of setting s.server.db directly.
|
||||
func SetTestDB(s *Server, db *sqlx.DB) {
|
||||
s.db = db
|
||||
wdb := dbutil.Wrap(db)
|
||||
s.charRepo = NewCharacterRepository(wdb)
|
||||
s.guildRepo = NewGuildRepository(wdb)
|
||||
s.userRepo = NewUserRepository(wdb)
|
||||
s.gachaRepo = NewGachaRepository(wdb)
|
||||
s.houseRepo = NewHouseRepository(wdb)
|
||||
s.festaRepo = NewFestaRepository(wdb)
|
||||
s.towerRepo = NewTowerRepository(wdb)
|
||||
s.rengokuRepo = NewRengokuRepository(wdb)
|
||||
s.mailRepo = NewMailRepository(wdb)
|
||||
s.stampRepo = NewStampRepository(wdb)
|
||||
s.distRepo = NewDistributionRepository(wdb)
|
||||
s.sessionRepo = NewSessionRepository(wdb)
|
||||
s.eventRepo = NewEventRepository(wdb)
|
||||
s.achievementRepo = NewAchievementRepository(wdb)
|
||||
s.shopRepo = NewShopRepository(wdb)
|
||||
s.cafeRepo = NewCafeRepository(wdb)
|
||||
s.goocooRepo = NewGoocooRepository(wdb)
|
||||
s.divaRepo = NewDivaRepository(wdb)
|
||||
s.miscRepo = NewMiscRepository(wdb)
|
||||
s.scenarioRepo = NewScenarioRepository(wdb)
|
||||
s.mercenaryRepo = NewMercenaryRepository(wdb)
|
||||
s.charRepo = NewCharacterRepository(db)
|
||||
s.guildRepo = NewGuildRepository(db)
|
||||
s.userRepo = NewUserRepository(db)
|
||||
s.gachaRepo = NewGachaRepository(db)
|
||||
s.houseRepo = NewHouseRepository(db)
|
||||
s.festaRepo = NewFestaRepository(db)
|
||||
s.towerRepo = NewTowerRepository(db)
|
||||
s.rengokuRepo = NewRengokuRepository(db)
|
||||
s.mailRepo = NewMailRepository(db)
|
||||
s.stampRepo = NewStampRepository(db)
|
||||
s.distRepo = NewDistributionRepository(db)
|
||||
s.sessionRepo = NewSessionRepository(db)
|
||||
s.eventRepo = NewEventRepository(db)
|
||||
s.achievementRepo = NewAchievementRepository(db)
|
||||
s.shopRepo = NewShopRepository(db)
|
||||
s.cafeRepo = NewCafeRepository(db)
|
||||
s.goocooRepo = NewGoocooRepository(db)
|
||||
s.divaRepo = NewDivaRepository(db)
|
||||
s.miscRepo = NewMiscRepository(db)
|
||||
s.scenarioRepo = NewScenarioRepository(db)
|
||||
s.mercenaryRepo = NewMercenaryRepository(db)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user