diff --git a/backend/services/falukantService.js b/backend/services/falukantService.js index 75c73fa..2c8825f 100644 --- a/backend/services/falukantService.js +++ b/backend/services/falukantService.js @@ -6105,8 +6105,30 @@ class FalukantService extends BaseService { return {}; } + _toNumericValue(raw) { + if (typeof raw === 'number') { + return Number.isFinite(raw) ? raw : NaN; + } + if (typeof raw === 'string') { + const normalized = raw + .trim() + .replace(/\s/g, '') + .replace(/\.(?=\d{3}(?:\D|$))/g, '') + .replace(',', '.'); + const parsed = Number(normalized); + return Number.isFinite(parsed) ? parsed : NaN; + } + const parsed = Number(raw); + return Number.isFinite(parsed) ? parsed : NaN; + } + async checkMoneyRequirement(user, requirement) { - return user.money >= requirement.requirementValue; + const availableMoney = this._toNumericValue(user?.money); + const requiredMoney = this._toNumericValue(requirement?.requirementValue); + if (!Number.isFinite(availableMoney) || !Number.isFinite(requiredMoney)) { + return false; + } + return availableMoney >= requiredMoney; } async checkBranchesRequirement(hashedUserId, requirement) {