Update files

This commit is contained in:
glpshchn 2025-12-08 23:11:50 +03:00
parent f98ebc8e08
commit 56bdedacac
4 changed files with 15 additions and 6 deletions

View File

@ -180,20 +180,26 @@ const authenticate = async (req, res, next) => {
const normalizedStartParam = trimmedParam.toLowerCase();
if (normalizedStartParam.startsWith('ref_')) {
// referralCode в базе хранится с префиксом "ref_" в верхнем регистре
// Ищем регистронезависимо по полному коду
const escapedCode = trimmedParam.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
// Убираем все префиксы ref_/REF_ (может быть двойной префикс ref_REF_)
let codeToSearch = trimmedParam;
while (codeToSearch.toLowerCase().startsWith('ref_')) {
codeToSearch = codeToSearch.substring(4); // Убираем "ref_" или "REF_"
}
// referralCode в базе хранится с префиксом "REF_" (в верхнем регистре)
// Ищем по коду с префиксом REF_
const escapedCode = codeToSearch.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
const referrer = await User.findOne({
referralCode: { $regex: new RegExp(`^${escapedCode}$`, 'i') }
referralCode: { $regex: new RegExp(`^REF_${escapedCode}$`, 'i') }
});
if (referrer) {
referredBy = referrer._id;
console.log(`🔗 Реферальная ссылка: пользователь ${normalizedUser.username || normalizedUser.id} зарегистрирован по ссылке от ${referrer.username} (${referrer._id}), код: ${trimmedParam}`);
console.log(`🔗 Реферальная ссылка: пользователь ${normalizedUser.username || normalizedUser.id} зарегистрирован по ссылке от ${referrer.username} (${referrer._id}), код: ${trimmedParam} -> REF_${codeToSearch}`);
} else {
// Дополнительная проверка: посмотрим все referralCode в базе для отладки
const allCodes = await User.find({ referralCode: { $exists: true } }, { referralCode: 1, username: 1 }).limit(5);
console.warn(`⚠️ Реферальный код не найден: ${trimmedParam}`);
console.warn(`⚠️ Реферальный код не найден: ${trimmedParam} (искали: REF_${codeToSearch})`);
console.warn(` Примеры кодов в базе: ${allCodes.map(u => u.referralCode).join(', ')}`);
}
} else {

View File

@ -48,3 +48,4 @@ TagSchema.index({ usageCount: -1 });
module.exports = mongoose.model('Tag', TagSchema);

View File

@ -61,3 +61,4 @@
0 0 30px rgba(255, 165, 0, 0.4);
}

View File

@ -10,3 +10,4 @@ export function decodeHtmlEntities(str = '') {
return textarea.value;
}