20 lines
715 B
JavaScript
20 lines
715 B
JavaScript
|
|
/**
|
||
|
|
* 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)`;
|
||
|
|
}
|