deckhearth/lib/pricing/collection-valuation.js

20 lines
715 B
JavaScript
Raw Permalink Normal View History

/**
* SQL expression for foil-aware unit price on user-owned rows.
*
* @param {{ cardAlias?: string, userCardAlias?: string }} [options]
* @returns {string}
*/
export function effectiveUnitPriceExpr({ cardAlias = 'c', userCardAlias = 'uc' } = {}) {
return `CASE WHEN ${userCardAlias}.is_foil THEN ${cardAlias}.market_price ELSE COALESCE(${cardAlias}.current_price, ${cardAlias}.market_price) END`;
}
/**
* SQL expression for list/catalog unit price (no per-row foil flag on collection_cards).
*
* @param {{ cardAlias?: string }} [options]
* @returns {string}
*/
export function listUnitPriceExpr({ cardAlias = 'c' } = {}) {
return `COALESCE(${cardAlias}.current_price, ${cardAlias}.market_price)`;
}