Size: a a a

Sequelize - community (eng/ru)

2021 April 10

MR

Mayuresh Rele in Sequelize - community (eng/ru)
Thank you
источник

ES

Eugene Stepanyuk in Sequelize - community (eng/ru)
Я бы с радостью уже бы так и сделал) но разве авторизацию получится сделать без модели юзера?
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
в ручную чтоб отдебажить и понять
источник

ES

Eugene Stepanyuk in Sequelize - community (eng/ru)
Я кстати понял откуда берется второй запрос) 1й с проверкой по email c findOne, а второй берется с этой строки
const token = sign(user.toPlainObject(), env.secret)
sign это метод с jwt, формирует данные южнра и подпись
источник

ES

Eugene Stepanyuk in Sequelize - community (eng/ru)
а в user.toPlainObject() лежат такие данные
public toPlainObject() {
   return {
     id: this.id,
     login: this.login,
     isSendEmail: this.isSendEmail,
     phone: this.phone,
     createdAt: this.createdAt,
     gender: this.gender,
     email: this.email,
     firstName: this.firstName,
     lastName: this.lastName,
     middleName: this.middleName,
     residenceIndex: this.residenceIndex,
     residenceHouse: this.residenceHouse,
     residenceFlat: this.residenceFlat,
     residenceOther: this.residenceOther,
     del: this.del,
     tmp: this.tmp,
     rememberToken: this.rememberToken,
     streetId: this.streetId,
     btaId: this.btaId,
     kontId: this.kontId,
     roleId: this.roleId
   }
 }
источник

ES

Eugene Stepanyuk in Sequelize - community (eng/ru)
Они и прилетают в клиент после авторизации, проблема в том что после findOne  и связи между таблицами в токен не передаются данные с связующей таблицы access, пустой массив получаетсч
источник

ES

Eugene Stepanyuk in Sequelize - community (eng/ru)
Уже горит от этого
источник
2021 April 11

М

Максим in Sequelize - community (eng/ru)
Ребята привет, помогите пожалуйста.
Скачал с мастера аппку, в конфигах проставил креды тестовой бд (все модели уже прописаны в инициализации бд) и вроде как все таблицы уже есть в тестовой БД

КОгда запускаю аппку - она виснет на обращении к БД для поиска пользователей
Может мне надо как-то проинициализировать принудительно бд? главное чтобы ничего там не удалить 🙂

КОннект вроде есть, а вот findOne - вечное ожидание. Ответа нет
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
надо дебажить, секвалайз сам создаст подключение, дополнительно не надо
источник

М

Максим in Sequelize - community (eng/ru)
const get_user_by_phone = (phone) => new PromisePromise((resolve, reject) => {
   
dbdb.employees.findOne({
       where: { phone },
       raw: true
   }).then((user) => {
       resolve(user);
   }).catch((err) => {
       reject(err);
   });
});



не получаю никакого ответа...
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
да, ожидание промиса не вижу
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
await
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
этого промиса есть?
источник

М

Максим in Sequelize - community (eng/ru)
да
источник

М

Максим in Sequelize - community (eng/ru)
module.exports.get_user = (req, res) => {
   let info,
       user_jwt;
   get_token(req.query.code).then((token) => {
       user_jwt = token;
       req.session.user = {};
       info =
jwtjwt.decode(token);
       const phone =
jwtjwt.decode(token).user_name.slice(1);

return fn.get_user_by_phone(phone);
   }).then((user) => {
       if (user) {
           req.session.user.id = user.id;
           req.session.user.full_name = user.fio;

           req.session.user.exp =
DateDate.now() + 30 * 60 * 1000;

return req.session.user.id;
       }

return add_new_employee(user_jwt);

   }).then((user_id) => {

       if (user_id) {
           return get_user_accesses(user_id);
       }
   }).then((access) => {
       if (access) {
           req.session.user.roles = access;
       }
       req.session.user.filter = {
           status: [1, 2, 3, 4, 5, 6, 7],
           group: false,
           classification: req.session.user.roles.admin.concat(req.session.user.roles.executor),
           request: null,
           create: null,
           description: "%",
           details: null
       };
       res.redirect('/');
   }).catch((err) => {
           
consoleconsole.log(err);
           res.redirect('/login');

       });
};
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
если с асинхроностью все впорядке, то надо дэбажить
источник

М

Максим in Sequelize - community (eng/ru)
в проде все работает на ура, качал мастер и изменил название бд
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
а что при подключении, ошибок нет?
источник

М

Максим in Sequelize - community (eng/ru)
неа
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
или варнингов
источник