Small tables rework

This commit is contained in:
Eccentric 2024-02-04 02:05:31 +00:00
parent b1f701d307
commit 97f8569178
8 changed files with 65 additions and 37 deletions

View File

@ -25,7 +25,7 @@ func NewAttribute(key string, value interface{}) *Attribute {
} }
} }
func FromDatabaseAttribute(db *storage.DB_PAttribute) *Attribute { func FromDatabaseAttribute(db *storage.DB_Attribute) *Attribute {
return &Attribute{ return &Attribute{
ID: db.ID, ID: db.ID,
ProfileID: db.ProfileID, ProfileID: db.ProfileID,
@ -35,8 +35,8 @@ func FromDatabaseAttribute(db *storage.DB_PAttribute) *Attribute {
} }
} }
func (a *Attribute) ToDatabase(profileId string) *storage.DB_PAttribute { func (a *Attribute) ToDatabase(profileId string) *storage.DB_Attribute {
return &storage.DB_PAttribute{ return &storage.DB_Attribute{
ID: a.ID, ID: a.ID,
ProfileID: profileId, ProfileID: profileId,
Key: a.Key, Key: a.Key,

View File

@ -96,7 +96,7 @@ func (g *Gift) Delete() {
} }
func (g *Gift) ToDatabase(profileId string) *storage.DB_Gift { func (g *Gift) ToDatabase(profileId string) *storage.DB_Gift {
profileLoot := []storage.DB_Loot{} profileLoot := []storage.DB_GiftLoot{}
for _, item := range g.Loot { for _, item := range g.Loot {
profileLoot = append(profileLoot, *item.ToLootDatabase(g.ID)) profileLoot = append(profileLoot, *item.ToLootDatabase(g.ID))

View File

@ -58,7 +58,7 @@ func FromDatabaseItem(item *storage.DB_Item) *Item {
} }
} }
func FromDatabaseLoot(item *storage.DB_Loot) *Item { func FromDatabaseLoot(item *storage.DB_GiftLoot) *Item {
return &Item{ return &Item{
ID: item.ID, ID: item.ID,
TemplateID: item.TemplateID, TemplateID: item.TemplateID,
@ -202,8 +202,8 @@ func (i *Item) Save() {
storage.Repo.SaveItem(i.ToDatabase(i.ProfileID)) storage.Repo.SaveItem(i.ToDatabase(i.ProfileID))
} }
func (i *Item) ToLootDatabase(giftId string) *storage.DB_Loot { func (i *Item) ToLootDatabase(giftId string) *storage.DB_GiftLoot {
return &storage.DB_Loot{ return &storage.DB_GiftLoot{
GiftID: giftId, GiftID: giftId,
ProfileType: i.ProfileType, ProfileType: i.ProfileType,
ID: i.ID, ID: i.ID,

View File

@ -330,7 +330,7 @@ func (p *Person) ToDatabase() *storage.DB_Person {
Gifts: []storage.DB_Gift{}, Gifts: []storage.DB_Gift{},
Quests: []storage.DB_Quest{}, Quests: []storage.DB_Quest{},
Loadouts: []storage.DB_Loadout{}, Loadouts: []storage.DB_Loadout{},
Attributes: []storage.DB_PAttribute{}, Attributes: []storage.DB_Attribute{},
Revision: profile.Revision, Revision: profile.Revision,
} }

View File

@ -437,7 +437,7 @@ func (p *Profile) ToDatabase() *storage.DB_Profile {
Gifts: []storage.DB_Gift{}, Gifts: []storage.DB_Gift{},
Quests: []storage.DB_Quest{}, Quests: []storage.DB_Quest{},
Loadouts: []storage.DB_Loadout{}, Loadouts: []storage.DB_Loadout{},
Attributes: []storage.DB_PAttribute{}, Attributes: []storage.DB_Attribute{},
Revision: p.Revision, Revision: p.Revision,
} }

View File

@ -35,17 +35,19 @@ func (s *PostgresStorage) Migrate(table interface{}, tableName string) {
func (s *PostgresStorage) MigrateAll() { func (s *PostgresStorage) MigrateAll() {
s.Migrate(&DB_Person{}, "Persons") s.Migrate(&DB_Person{}, "Persons")
s.Migrate(&DB_Relationship{}, "Relationships")
s.Migrate(&DB_Profile{}, "Profiles") s.Migrate(&DB_Profile{}, "Profiles")
s.Migrate(&DB_Item{}, "Items") s.Migrate(&DB_Attribute{}, "Attributes")
s.Migrate(&DB_Gift{}, "Gifts")
s.Migrate(&DB_Quest{}, "Quests")
s.Migrate(&DB_Loadout{}, "Loadouts") s.Migrate(&DB_Loadout{}, "Loadouts")
s.Migrate(&DB_Loot{}, "Loot") s.Migrate(&DB_Item{}, "Items")
s.Migrate(&DB_Purchase{}, "Purchases")
s.Migrate(&DB_PurchaseLoot{}, "PurchaseLoot")
s.Migrate(&DB_VariantChannel{}, "Variants") s.Migrate(&DB_VariantChannel{}, "Variants")
s.Migrate(&DB_PAttribute{}, "Attributes") s.Migrate(&DB_Quest{}, "Quests")
s.Migrate(&DB_Gift{}, "Gifts")
s.Migrate(&DB_GiftLoot{}, "GiftLoot")
s.Migrate(&DB_DiscordPerson{}, "Discords") s.Migrate(&DB_DiscordPerson{}, "Discords")
s.Migrate(&DB_SeasonStat{}, "Stats") s.Migrate(&DB_SeasonStat{}, "Stats")
s.Migrate(&DB_Relationship{}, "Relationships")
} }
func (s *PostgresStorage) DropTables() { func (s *PostgresStorage) DropTables() {
@ -242,12 +244,12 @@ func (s *PostgresStorage) DeleteQuest(questId string) {
s.Postgres.Delete(&DB_Quest{}, "id = ?", questId) s.Postgres.Delete(&DB_Quest{}, "id = ?", questId)
} }
func (s *PostgresStorage) SaveLoot(loot *DB_Loot) { func (s *PostgresStorage) SaveLoot(loot *DB_GiftLoot) {
s.Postgres.Save(loot) s.Postgres.Save(loot)
} }
func (s *PostgresStorage) DeleteLoot(lootId string) { func (s *PostgresStorage) DeleteLoot(lootId string) {
s.Postgres.Delete(&DB_Loot{}, "id = ?", lootId) s.Postgres.Delete(&DB_GiftLoot{}, "id = ?", lootId)
} }
func (s *PostgresStorage) SaveGift(gift *DB_Gift) { func (s *PostgresStorage) SaveGift(gift *DB_Gift) {
@ -258,12 +260,12 @@ func (s *PostgresStorage) DeleteGift(giftId string) {
s.Postgres.Delete(&DB_Gift{}, "id = ?", giftId) s.Postgres.Delete(&DB_Gift{}, "id = ?", giftId)
} }
func (s *PostgresStorage) SaveAttribute(attribute *DB_PAttribute) { func (s *PostgresStorage) SaveAttribute(attribute *DB_Attribute) {
s.Postgres.Save(attribute) s.Postgres.Save(attribute)
} }
func (s *PostgresStorage) DeleteAttribute(attributeId string) { func (s *PostgresStorage) DeleteAttribute(attributeId string) {
s.Postgres.Delete(&DB_PAttribute{}, "id = ?", attributeId) s.Postgres.Delete(&DB_Attribute{}, "id = ?", attributeId)
} }
func (s *PostgresStorage) SaveLoadout(loadout *DB_Loadout) { func (s *PostgresStorage) SaveLoadout(loadout *DB_Loadout) {

View File

@ -37,13 +37,13 @@ type Storage interface {
SaveQuest(quest *DB_Quest) SaveQuest(quest *DB_Quest)
DeleteQuest(questId string) DeleteQuest(questId string)
SaveLoot(loot *DB_Loot) SaveLoot(loot *DB_GiftLoot)
DeleteLoot(lootId string) DeleteLoot(lootId string)
SaveGift(gift *DB_Gift) SaveGift(gift *DB_Gift)
DeleteGift(giftId string) DeleteGift(giftId string)
SaveAttribute(attribute *DB_PAttribute) SaveAttribute(attribute *DB_Attribute)
DeleteAttribute(attributeId string) DeleteAttribute(attributeId string)
SaveLoadout(loadout *DB_Loadout) SaveLoadout(loadout *DB_Loadout)
@ -175,7 +175,7 @@ func (r *Repository) DeleteQuest(questId string) {
r.Storage.DeleteQuest(questId) r.Storage.DeleteQuest(questId)
} }
func (r *Repository) SaveLoot(loot *DB_Loot) { func (r *Repository) SaveLoot(loot *DB_GiftLoot) {
r.Storage.SaveLoot(loot) r.Storage.SaveLoot(loot)
} }
@ -191,7 +191,7 @@ func (r *Repository) DeleteGift(giftId string) {
r.Storage.DeleteGift(giftId) r.Storage.DeleteGift(giftId)
} }
func (r *Repository) SaveAttribute(attribute *DB_PAttribute) { func (r *Repository) SaveAttribute(attribute *DB_Attribute) {
r.Storage.SaveAttribute(attribute) r.Storage.SaveAttribute(attribute)
} }

View File

@ -36,7 +36,7 @@ type DB_Profile struct {
Items []DB_Item `gorm:"foreignkey:ProfileID"` Items []DB_Item `gorm:"foreignkey:ProfileID"`
Gifts []DB_Gift `gorm:"foreignkey:ProfileID"` Gifts []DB_Gift `gorm:"foreignkey:ProfileID"`
Quests []DB_Quest `gorm:"foreignkey:ProfileID"` Quests []DB_Quest `gorm:"foreignkey:ProfileID"`
Attributes []DB_PAttribute `gorm:"foreignkey:ProfileID"` Attributes []DB_Attribute `gorm:"foreignkey:ProfileID"`
Loadouts []DB_Loadout `gorm:"foreignkey:ProfileID"` Loadouts []DB_Loadout `gorm:"foreignkey:ProfileID"`
Type string Type string
Revision int Revision int
@ -46,7 +46,7 @@ func (DB_Profile) TableName() string {
return "Profiles" return "Profiles"
} }
type DB_PAttribute struct { type DB_Attribute struct {
ID string `gorm:"primary_key"` ID string `gorm:"primary_key"`
ProfileID string ProfileID string
Key string Key string
@ -54,7 +54,7 @@ type DB_PAttribute struct {
Type string Type string
} }
func (DB_PAttribute) TableName() string { func (DB_Attribute) TableName() string {
return "Attributes" return "Attributes"
} }
@ -94,6 +94,34 @@ func (DB_Item) TableName() string {
return "Items" return "Items"
} }
type DB_Purchase struct {
ID string `gorm:"primary_key"`
ProfileID string `gorm:"index"`
Loot []DB_PurchaseLoot `gorm:"foreignkey:PurchaseID"`
OfferID string
PurchaseDate int64
FreeRefundExpiry int64
RefundExpiry int64
Refundable bool
Refunded bool
}
func (DB_Purchase) TableName() string {
return "Purchases"
}
type DB_PurchaseLoot struct {
ID string `gorm:"primary_key"`
PurchaseID string `gorm:"index"`
TemplateID string
Quantity int
ProfileType string
}
func (DB_PurchaseLoot) TableName() string {
return "PurchaseLoot"
}
type DB_VariantChannel struct { type DB_VariantChannel struct {
ID string `gorm:"primary_key"` ID string `gorm:"primary_key"`
ItemID string `gorm:"index"` ItemID string `gorm:"index"`
@ -129,14 +157,14 @@ type DB_Gift struct {
FromID string FromID string
GiftedAt int64 GiftedAt int64
Message string Message string
Loot []DB_Loot `gorm:"foreignkey:GiftID"` Loot []DB_GiftLoot `gorm:"foreignkey:GiftID"`
} }
func (DB_Gift) TableName() string { func (DB_Gift) TableName() string {
return "Gifts" return "Gifts"
} }
type DB_Loot struct { type DB_GiftLoot struct {
ID string `gorm:"primary_key"` ID string `gorm:"primary_key"`
GiftID string `gorm:"index"` GiftID string `gorm:"index"`
TemplateID string TemplateID string
@ -144,8 +172,8 @@ type DB_Loot struct {
ProfileType string ProfileType string
} }
func (DB_Loot) TableName() string { func (DB_GiftLoot) TableName() string {
return "Loot" return "GiftLoot"
} }
type DB_DiscordPerson struct { type DB_DiscordPerson struct {
@ -166,14 +194,12 @@ type DB_SeasonStat struct {
ID string `gorm:"primary_key"` ID string `gorm:"primary_key"`
PersonID string PersonID string
Build string Build string
XP int SeasonXP int
Level int SeasonalLevel int
LevelClaimed int SeasonalTier int
Stars int BattleStars int
Tier int
TierClaimed int
} }
func (DB_SeasonStat) TableName() string { func (DB_SeasonStat) TableName() string {
return "Stats" return "Stats"
} }