From c2d2917de3342b81cc6521dff26c148cf2141934 Mon Sep 17 00:00:00 2001 From: peter Date: Sun, 31 Jan 2021 18:19:33 +0100 Subject: [PATCH] changereserve buttons --- src/backend/Components/Item/Interface.ts | 3 +++ src/backend/Components/Item/ItemManager.ts | 25 +++++++++++++++++++ src/backend/Components/Item/RPCInterface.ts | 4 +++ .../frontcraft/pages/raid/raid.component.html | 9 ++++++- .../frontcraft/pages/raid/raid.component.ts | 11 ++++++++ 5 files changed, 51 insertions(+), 1 deletion(-) diff --git a/src/backend/Components/Item/Interface.ts b/src/backend/Components/Item/Interface.ts index 4eb6d8c..df590b5 100644 --- a/src/backend/Components/Item/Interface.ts +++ b/src/backend/Components/Item/Interface.ts @@ -15,4 +15,7 @@ export class IItemManager{ wipeCurrencyAndItems: () => Promise 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 } \ No newline at end of file diff --git a/src/backend/Components/Item/ItemManager.ts b/src/backend/Components/Item/ItemManager.ts index 896cc40..5671399 100644 --- a/src/backend/Components/Item/ItemManager.ts +++ b/src/backend/Components/Item/ItemManager.ts @@ -62,6 +62,12 @@ export class ItemManager RPCs: () => [ this.decayTokensOfCharacter ] + }, { + name: 'changeReserve' as 'changeReserve', + RPCs: () => [ + this.decreaseReserve, + this.increaseReserve + ] }] notifyRaid = async (raid: Raid | { id: number }) => { @@ -427,6 +433,25 @@ export class ItemManager ) } } + + increaseReserve = (token: Character & SRToken & Item) : Promise => this.admin + .knex(token.tier+"tokens") + .where({ + characterid: token.characterid, + itemname: token.itemname + }).update({ + 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) + }) + } function toStats(obj:any){ diff --git a/src/backend/Components/Item/RPCInterface.ts b/src/backend/Components/Item/RPCInterface.ts index cf952a8..82abeff 100644 --- a/src/backend/Components/Item/RPCInterface.ts +++ b/src/backend/Components/Item/RPCInterface.ts @@ -23,4 +23,8 @@ export type ItemManagerFeatureIfc = { decay: { decayTokensOfCharacter: IItemManager['decayTokensOfCharacter'] } + changeReserve: { + increaseReserve: IItemManager['increaseReserve'] + decreaseReserve: IItemManager['decreaseReserve'] + } } \ No newline at end of file diff --git a/src/frontend/src/app/frontcraft/pages/raid/raid.component.html b/src/frontend/src/app/frontcraft/pages/raid/raid.component.html index 64ff328..7fce100 100644 --- a/src/frontend/src/app/frontcraft/pages/raid/raid.component.html +++ b/src/frontend/src/app/frontcraft/pages/raid/raid.component.html @@ -257,7 +257,6 @@
- @@ -267,7 +266,15 @@ + [ {{token.level}} ]  + {{token.charactername}} 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 d9c91a6..5cb6d65 100644 --- a/src/frontend/src/app/frontcraft/pages/raid/raid.component.ts +++ b/src/frontend/src/app/frontcraft/pages/raid/raid.component.ts @@ -26,6 +26,7 @@ export class FrontcraftRaidComponent isTier = false reservesShown = true manageRaid + changeReserve mySignup: (Signup & Character & Spec) raid: RaidData = { @@ -64,6 +65,7 @@ export class FrontcraftRaidComponent ngOnInit() { this.manageRaid = this.api.get('manageRaid') + this.changeReserve = this.api.get('changeReserve') const signupFeature = this.api.get('signup') if (signupFeature) { @@ -267,4 +269,13 @@ export class FrontcraftRaidComponent } } + increaseReserve(token: Character & SRToken & Item){ + this.changeReserve.increaseReserve(token) + .then(_ => this.refresh()) + } + + decreaseReserve(token: Character & SRToken & Item){ + this.changeReserve.decreaseReserve(token) + .then(_ => this.refresh()) + } } \ No newline at end of file