import { BillingAction } from './action-policies.js' /** @param {{ balance:Function, actionPolicies:{ get:Function }, dailyClaim:{ status:Function } }} billing */ export function createCommerceOperations(billing) { async function summary({ user_id, now = new Date() }) { const [balance, turn, daily_claim] = await Promise.all([ billing.balance({ user_id }), billing.actionPolicies.get(BillingAction.TURN_PLAY), billing.dailyClaim.status({ user_id, now }), ]) if (!turn.enabled) throw new Error('turn_play is disabled') return { points: balance.points, playable_turns: Math.floor(balance.points / turn.points), action_prices: { turn_play: turn.points }, daily_claim, } } return { summary } }