working buytoken (untested)

This commit is contained in:
peter
2020-02-08 15:05:17 +01:00
parent 59f518679e
commit d1b679d55a
6 changed files with 113 additions and 17 deletions
+13 -4
View File
@@ -141,6 +141,8 @@ implements FrontworkComponent<ItemManagerIfc, ItemManagerFeatureIfc>, TableDefin
await this.userManager.decrementCurrency(record.user, item.tier, 1)
const modifier = await this.calculatePriorities(itemname, character)
const tx = await this.admin.knex.transaction()
if(streaks.length > 0){
const myStreak = streaks.find(token => token.itemname === itemname)
if(myStreak){
@@ -148,6 +150,7 @@ implements FrontworkComponent<ItemManagerIfc, ItemManagerFeatureIfc>, TableDefin
//getLogger('ItemManager').debug('update signupid and increment level')
await this.admin
.knex(item.tier+'tokens')
.transacting(tx)
.where({
characterid: character.id,
itemname: item.itemname
@@ -162,6 +165,7 @@ implements FrontworkComponent<ItemManagerIfc, ItemManagerFeatureIfc>, TableDefin
//getLogger('ItemManager').debug('delete streaks')
await Promise.all(streaks.map(async s => await this.admin
.knex(item.tier+'tokens')
.transacting(tx)
.where({
itemname: s.itemname,
characterid: character.id,
@@ -169,16 +173,19 @@ implements FrontworkComponent<ItemManagerIfc, ItemManagerFeatureIfc>, TableDefin
})
.del()
))
if(myStreak)
if(myStreak){
await tx.commit()
return await this.getToken(character, item)
}
}
const matchingReserve = activeTokens.find(token => token.itemname === itemname)
if(matchingReserve){
getLogger('ItemManager').debug('upgrade reserve')
//getLogger('ItemManager').debug('upgrade reserve')
await this.admin
.knex(item.tier+'tokens')
.transacting(tx)
.increment('level')
.where({
signupid: signup.id,
@@ -186,9 +193,10 @@ implements FrontworkComponent<ItemManagerIfc, ItemManagerFeatureIfc>, TableDefin
itemname: item.itemname
})
}else{
getLogger('ItemManager').debug('new reserve')
//getLogger('ItemManager').debug('new reserve')
await this.admin
.knex(item.tier+'tokens')
.transacting(tx)
.insert({
characterid: character.id,
itemname: item.itemname,
@@ -196,6 +204,7 @@ implements FrontworkComponent<ItemManagerIfc, ItemManagerFeatureIfc>, TableDefin
signupid: signup.id
})
}
await tx.commit()
return await this.getToken(character, item)
}
+2 -2
View File
@@ -2,8 +2,8 @@ import { Raid, Signup, Character, RaidData, User, Spec } from "../../Types/Types
export class IRaidManager{
getRaids: () => Promise<Raid[]>
createRaid: (raid:Raid) => Promise<any>
addSignup: (signup: Signup) => Promise<any>
createRaid: (raid:Raid) => Promise<Raid>
addSignup: (signup: Signup) => Promise<Signup>
removeSignup: (signup: Signup) => Promise<any>
getSignups: (raid:Raid) => Promise<(Signup & Character & Spec & User)[]>
sign: (userToken: string, character:Character, raid:Raid, late:boolean) => Promise<any>
+18 -9
View File
@@ -66,7 +66,7 @@ implements FrontworkComponent<RaidManagerIfc, RaidManagerFeatureIfc>, IRaidManag
table.string('description').notNullable()
table.string('title').notNullable()
table.integer('size').defaultTo(40)
table.enu('tier', _Tiers).defaultTo(null as any)
table.string('tier').defaultTo('null')
}
},{
name: 'archive',
@@ -90,14 +90,23 @@ implements FrontworkComponent<RaidManagerIfc, RaidManagerFeatureIfc>, IRaidManag
]
}
createRaid = async (raid:Raid) => await this.admin
.knex('raids')
.insert(raid)
addSignup = async (signup: Signup) => await this.admin
.knex('signups')
.insert(signup)
createRaid = async (raid:Raid) : Promise<Raid>=> {
const ids:number[] = await this.admin
.knex('raids')
.insert(raid)
return await this.admin.knex('raids').where({id: ids[0]}).first()
}
addSignup = async (signup: Signup) => {
const ids:number[] = await this.admin
.knex('signups')
.insert(signup)
return await this.admin.knex('signups').where({id: ids[0]}).first()
}
removeSignup = async (signup: Signup) => await this.admin
.knex('signups')
.where({
@@ -25,7 +25,7 @@ status="control">
<br/><br />
<span *ngFor="let token of tokens">
[ {{token.level}} ]
<wowhead [item]="token"></wowhead><br />
<wowhead [item]="token"></wowhead>
</span>
</nb-card-body>
</nb-card>
@@ -33,6 +33,10 @@ export class FrontcraftCreateRaidsComponent implements OnInit {
loadNext(cardData) {
}
onTierSelect(){
}
onTemplateSelect(){
const templateDate = new Date(this.template.start)
this.title = this.template.title