Описание изменений

This commit is contained in:
2025-03-20 18:44:32 +03:00
parent fe9783e814
commit ee6e71d7ec
11 changed files with 1177 additions and 657 deletions

View File

@@ -1,3 +1,5 @@
const db = require('../db');
// Функция для создания задержки
function sleep(ms) {
return new Promise((resolve) => setTimeout(resolve, ms));
@@ -9,7 +11,43 @@ function isValidEmail(email) {
return emailRegex.test(email);
}
// Генерация кода подтверждения
function generateVerificationCode(length = 6) {
return Math.random()
.toString(36)
.substring(2, 2 + length)
.toUpperCase();
}
// Проверка существования идентификатора пользователя
async function checkUserIdentity(userId, provider, providerId) {
const result = await db.query(
'SELECT * FROM user_identities WHERE user_id = $1 AND provider = $2 AND provider_id = $3',
[userId, provider, providerId]
);
return result.rows.length > 0;
}
// Добавление новой идентификации
async function addUserIdentity(userId, provider, providerId) {
try {
await db.query(
'INSERT INTO user_identities (user_id, provider, provider_id) VALUES ($1, $2, $3)',
[userId, provider, providerId]
);
return true;
} catch (error) {
if (error.code === '23505') { // Уникальное ограничение нарушено
return false;
}
throw error;
}
}
module.exports = {
sleep,
isValidEmail,
generateVerificationCode,
checkUserIdentity,
addUserIdentity
};