Привет всем! Вопрос в следующем!
У меня настроена стратегия в пасспорт.js она отвечает за регистрацию, принимает данные полей usernameField: 'email' и passwordField: 'password', и проверяет что если мэйл такой занят то не регает нового юзера, если свободен то регает (банальная проверка на мэйл). При правильном мэйле регается новый юзер и добавляются в таблицу БД данные пароля и мэйла.
Понадобилось мне и другие данные передавать из формы регистрации в БД, и тут пошли проблемы,
Сначала добавил данные AGE в запрос на создание в таблице строки и получаю ответ что
age is not definedconst user = await User.create({
email,
password,
age
});
Окей, не проблема, забыл определить age, определяю в async данную колонку таблицы
passport.use('signup', new LocalStrategy(
{
usernameField: 'email',
passwordField: 'password',
ageField: 'age'
},
async (email, password, age, done) =>.....
При таком раскладе мне пишет лог что done is not function
Окей, поменял местами
async (email, password, done, age) =>.....
Теперь все норм, ни каких ошибок но и данные поля age не добавляются
Как тут быть?? Помогите пожалуйста
PS вот полный код данной стратегии.
passport.use('signup', new LocalStrategy(
{
usernameField: 'email',
passwordField: 'password',
ageField: 'age'
},
async (email, password, done, age) => {
try {
const findUser = await User.findOne({
where: { email }
});
if (findUser) {
done(null, false, {
message: 'Email already taken'
});
return;
}
const user = await User.create({
email,
password,
age
});
done(null, user);
} catch (error) {
done(error);
}
}
));