working buytoken (untested)
This commit is contained in:
@@ -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,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>
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user