final
This commit is contained in:
@@ -38,12 +38,31 @@ export async function GET(request: NextRequest) {
|
||||
)
|
||||
const settings = settingsRows as any[]
|
||||
|
||||
// Get EUR-based settings (preferred)
|
||||
let pointsToEur = parseFloat(
|
||||
settings.find(s => s.setting_key === 'points_to_eur')?.setting_value || '0'
|
||||
)
|
||||
let pointsPerEur = parseFloat(
|
||||
settings.find(s => s.setting_key === 'points_per_eur')?.setting_value || '0'
|
||||
)
|
||||
|
||||
// Get CHF-based settings (for backward compatibility)
|
||||
const pointsToChf = parseFloat(
|
||||
settings.find(s => s.setting_key === 'points_to_chf')?.setting_value || '100'
|
||||
)
|
||||
const pointsPerChf = parseFloat(
|
||||
settings.find(s => s.setting_key === 'points_per_chf')?.setting_value || '10'
|
||||
)
|
||||
|
||||
// If EUR settings not found, convert from CHF (1 CHF ≈ 1.0309 EUR)
|
||||
const chfToEurRate = 1.030927835
|
||||
if (pointsToEur === 0) {
|
||||
pointsToEur = pointsToChf / chfToEurRate
|
||||
}
|
||||
if (pointsPerEur === 0) {
|
||||
pointsPerEur = pointsPerChf * chfToEurRate
|
||||
}
|
||||
|
||||
const pointsToCryptoChf = parseFloat(
|
||||
settings.find(s => s.setting_key === 'points_to_crypto_chf')?.setting_value || '100'
|
||||
)
|
||||
@@ -51,15 +70,19 @@ export async function GET(request: NextRequest) {
|
||||
settings.find(s => s.setting_key === 'min_redemption_points')?.setting_value || '1000'
|
||||
)
|
||||
|
||||
// Calculate maximum discount available
|
||||
const maxDiscountChf = referralPoints / pointsToChf
|
||||
// Calculate maximum discount available (in EUR, then convert to CHF for display)
|
||||
const maxDiscountEur = referralPoints / pointsToEur
|
||||
const maxDiscountChf = maxDiscountEur * 0.97 // Convert EUR to CHF
|
||||
|
||||
return NextResponse.json({
|
||||
referral_points: referralPoints,
|
||||
points_to_chf: pointsToChf,
|
||||
points_per_chf: pointsPerChf,
|
||||
points_to_eur: pointsToEur,
|
||||
points_per_eur: pointsPerEur,
|
||||
points_to_chf: pointsToChf, // Keep for backward compatibility
|
||||
points_per_chf: pointsPerChf, // Keep for backward compatibility
|
||||
points_to_crypto_chf: pointsToCryptoChf,
|
||||
min_redemption_points: minRedemptionPoints,
|
||||
max_discount_eur: maxDiscountEur,
|
||||
max_discount_chf: maxDiscountChf,
|
||||
})
|
||||
} catch (error) {
|
||||
|
||||
Reference in New Issue
Block a user