Update files
This commit is contained in:
parent
f98ebc8e08
commit
56bdedacac
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -48,3 +48,4 @@ TagSchema.index({ usageCount: -1 });
|
|||
|
||||
module.exports = mongoose.model('Tag', TagSchema);
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -61,3 +61,4 @@
|
|||
0 0 30px rgba(255, 165, 0, 0.4);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -10,3 +10,4 @@ export function decodeHtmlEntities(str = '') {
|
|||
return textarea.value;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue