diff --git a/src/backend/Components/Item/Interface.ts b/src/backend/Components/Item/Interface.ts index df590b5..5d2b0a9 100644 --- a/src/backend/Components/Item/Interface.ts +++ b/src/backend/Components/Item/Interface.ts @@ -16,6 +16,6 @@ export class IItemManager{ decayTokens: (tier: Tiers, amount?:number) => Promise decayTokensOfCharacter: (tier: Tiers, character:Character, amount?:number) => Promise - increaseReserve: (token: Character & SRToken & Item) => Promise - decreaseReserve: (token: Character & SRToken & Item) => Promise + increaseReserve: (token: Character & SRToken & Item, raidid?:number) => Promise + decreaseReserve: (token: Character & SRToken & Item, raidid?:number) => Promise } \ No newline at end of file diff --git a/src/backend/Components/Item/ItemManager.ts b/src/backend/Components/Item/ItemManager.ts index 5671399..556471d 100644 --- a/src/backend/Components/Item/ItemManager.ts +++ b/src/backend/Components/Item/ItemManager.ts @@ -434,7 +434,8 @@ export class ItemManager } } - increaseReserve = (token: Character & SRToken & Item) : Promise => this.admin + increaseReserve = async (token: Character & SRToken & Item, raidid?:number) : Promise => { + await this.admin .knex(token.tier+"tokens") .where({ characterid: token.characterid, @@ -443,14 +444,23 @@ export class ItemManager level: token.level+1 }) - decreaseReserve = (token: Character & SRToken & Item) : Promise => this.admin - .knex(token.tier+"tokens") - .where({ - characterid: token.characterid, - itemname: token.itemname - }).update({ - level: Math.max(1, token.level-1) - }) + if(raidid) + this.raidManager.notifyRaid({id: raidid}) + } + + decreaseReserve = async (token: Character & SRToken & Item, raidid?:number) : Promise => { + await this.admin + .knex(token.tier+"tokens") + .where({ + characterid: token.characterid, + itemname: token.itemname + }).update({ + level: Math.max(1, token.level-1) + }) + + if(raidid) + this.raidManager.notifyRaid({id: raidid}) + } } diff --git a/src/backend/Components/Raid/Interface.ts b/src/backend/Components/Raid/Interface.ts index d2d15f0..38361f3 100644 --- a/src/backend/Components/Raid/Interface.ts +++ b/src/backend/Components/Raid/Interface.ts @@ -16,4 +16,5 @@ export class IRaidManager{ startRaid: (raid:Raid) => Promise adminUnsign: (character:Character, raid:Raid) => Promise cancelRaid: (raid: Raid) => Promise + notifyRaid : (raid: Raid | { id: number }) => Promise } diff --git a/src/backend/Components/Raid/RaidManager.ts b/src/backend/Components/Raid/RaidManager.ts index 7fb6e01..767bf9c 100644 --- a/src/backend/Components/Raid/RaidManager.ts +++ b/src/backend/Components/Raid/RaidManager.ts @@ -29,7 +29,7 @@ export class RaidManager @Inject(ICharacterManager) private characterManager: ICharacterManager - @Inject(ItemManager) + @Inject(IItemManager) private itemManager: IItemManager @Inject(IPubSub) diff --git a/src/frontend/src/app/frontcraft/pages/raid/raid.component.ts b/src/frontend/src/app/frontcraft/pages/raid/raid.component.ts index 5cb6d65..199ae46 100644 --- a/src/frontend/src/app/frontcraft/pages/raid/raid.component.ts +++ b/src/frontend/src/app/frontcraft/pages/raid/raid.component.ts @@ -270,12 +270,10 @@ export class FrontcraftRaidComponent } increaseReserve(token: Character & SRToken & Item){ - this.changeReserve.increaseReserve(token) - .then(_ => this.refresh()) + this.changeReserve.increaseReserve(token, this.raid.id) } decreaseReserve(token: Character & SRToken & Item){ - this.changeReserve.decreaseReserve(token) - .then(_ => this.refresh()) + this.changeReserve.decreaseReserve(token, this.raid.id) } } \ No newline at end of file