initial commit
This commit is contained in:
commit
803205ee7f
59 changed files with 3437 additions and 0 deletions
53
src/pages/event/page/claim_all.astro
Normal file
53
src/pages/event/page/claim_all.astro
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
---
|
||||
export const prerender = false;
|
||||
export const partial = true;
|
||||
|
||||
import ClaimAllButton from '../../page/claim_all_button.astro';
|
||||
|
||||
import { Page } from '../../../lib/Page';
|
||||
import { squish } from '../../../lib/tags';
|
||||
|
||||
const pageId = Astro.url.searchParams.get('page');
|
||||
|
||||
|
||||
const questClaims = Page.db.query(squish`
|
||||
update quests set claimed = true where id in (
|
||||
select qs.id from quests qs
|
||||
join questlines ql on ql.id = qs.questline_id
|
||||
join pages ps on ps.id = ql.page_id
|
||||
where qs.completed = true
|
||||
and qs.claimed = false
|
||||
and ps.id = ?
|
||||
)
|
||||
returning id, coins_reward;
|
||||
`).values(pageId);
|
||||
const claimQuestCoins = Page.db.query(squish`
|
||||
insert into events(kind, quest_id, coins_claimed)
|
||||
values ('claim_quest', ?, ?)
|
||||
`);
|
||||
Page.db.transaction(claims => {
|
||||
for(const [id, coins] of claims) claimQuestCoins.run(id, coins)
|
||||
})(questClaims);
|
||||
|
||||
const questlineClaims = Page.db.query(squish`
|
||||
update questlines set claimed = true where id in (
|
||||
select ql.id from questlines ql
|
||||
join pages ps on ps.id = ql.page_id
|
||||
where ps.id = ?
|
||||
and ql.claimed = false
|
||||
and (select min(completed) from quests qs where qs.questline_id = ql.id) = 1
|
||||
)
|
||||
returning id, coins_reward
|
||||
`).values(pageId);
|
||||
const claimQuestlineCoins = Page.db.query(squish`
|
||||
insert into events(kind, questline_id, coins_claimed)
|
||||
values ('claim_questline', ?, ?)
|
||||
`);
|
||||
Page.db.transaction(claims => {
|
||||
for(const [id, coins] of claims) claimQuestlineCoins.run(id, coins)
|
||||
})(questlineClaims);
|
||||
|
||||
Astro.response.headers.set('HX-Trigger', 'claimedAll, questClaimed, bankUpdate');
|
||||
---
|
||||
|
||||
<ClaimAllButton page={pageId} />
|
||||
Loading…
Add table
Add a link
Reference in a new issue