Просмотр исходного кода

autorefresh on reserve update

master
peter 4 лет назад
Родитель
Сommit
75c48273ff

+ 2
- 2
src/backend/Components/Item/Interface.ts Просмотреть файл

@@ -16,6 +16,6 @@ export class IItemManager{
16 16
     decayTokens: (tier: Tiers, amount?:number) => Promise<void>
17 17
     decayTokensOfCharacter: (tier: Tiers, character:Character, amount?:number) => Promise<void>
18 18
 
19
-    increaseReserve: (token: Character & SRToken & Item) => Promise<void>
20
-    decreaseReserve: (token: Character & SRToken & Item) => Promise<void>
19
+    increaseReserve: (token: Character & SRToken & Item, raidid?:number) => Promise<void>
20
+    decreaseReserve: (token: Character & SRToken & Item, raidid?:number) => Promise<void>
21 21
 }

+ 19
- 9
src/backend/Components/Item/ItemManager.ts Просмотреть файл

@@ -434,7 +434,8 @@ export class ItemManager
434 434
         }
435 435
     }
436 436
 
437
-    increaseReserve = (token: Character & SRToken & Item) : Promise<void> => this.admin
437
+    increaseReserve = async (token: Character & SRToken & Item, raidid?:number) : Promise<void> => {
438
+        await this.admin
438 439
         .knex(token.tier+"tokens")
439 440
         .where({
440 441
             characterid: token.characterid,
@@ -443,14 +444,23 @@ export class ItemManager
443 444
             level: token.level+1
444 445
         })
445 446
 
446
-    decreaseReserve = (token: Character & SRToken & Item) : Promise<void> => this.admin
447
-    .knex(token.tier+"tokens")
448
-    .where({
449
-        characterid: token.characterid,
450
-        itemname: token.itemname
451
-    }).update({
452
-        level: Math.max(1, token.level-1)
453
-    })
447
+        if(raidid)
448
+            this.raidManager.notifyRaid({id: raidid})
449
+    }
450
+       
451
+    decreaseReserve = async (token: Character & SRToken & Item, raidid?:number) : Promise<void> => {
452
+        await this.admin
453
+        .knex(token.tier+"tokens")
454
+        .where({
455
+            characterid: token.characterid,
456
+            itemname: token.itemname
457
+        }).update({
458
+            level: Math.max(1, token.level-1)
459
+        })
460
+
461
+        if(raidid)
462
+            this.raidManager.notifyRaid({id: raidid})
463
+    }
454 464
 
455 465
 }
456 466
 

+ 1
- 0
src/backend/Components/Raid/Interface.ts Просмотреть файл

@@ -16,4 +16,5 @@ export class IRaidManager{
16 16
     startRaid: (raid:Raid) => Promise<RaidData>
17 17
     adminUnsign: (character:Character, raid:Raid) => Promise<any>
18 18
     cancelRaid: (raid: Raid) => Promise<void>
19
+    notifyRaid : (raid: Raid | { id: number }) => Promise<void>
19 20
 }

+ 1
- 1
src/backend/Components/Raid/RaidManager.ts Просмотреть файл

@@ -29,7 +29,7 @@ export class RaidManager
29 29
     @Inject(ICharacterManager)
30 30
     private characterManager: ICharacterManager
31 31
 
32
-    @Inject(ItemManager)
32
+    @Inject(IItemManager)
33 33
     private itemManager: IItemManager
34 34
 
35 35
     @Inject(IPubSub)

+ 2
- 4
src/frontend/src/app/frontcraft/pages/raid/raid.component.ts Просмотреть файл

@@ -270,12 +270,10 @@ export class FrontcraftRaidComponent
270 270
   }
271 271
 
272 272
   increaseReserve(token: Character & SRToken & Item){
273
-    this.changeReserve.increaseReserve(token)
274
-    .then(_ => this.refresh())
273
+    this.changeReserve.increaseReserve(token, this.raid.id)
275 274
   }
276 275
 
277 276
   decreaseReserve(token: Character & SRToken & Item){  
278
-    this.changeReserve.decreaseReserve(token)
279
-    .then(_ => this.refresh())
277
+    this.changeReserve.decreaseReserve(token, this.raid.id)
280 278
   }
281 279
 }

Загрузка…
Отмена
Сохранить