Привет, ребята, я пытаюсь, я пытаюсь выполнить аутентификацию с помощью JWT и sequelize и postgre, я хочу проверить свой код с помощью почтальона, но у меня возникла ошибка, говорят, что пароль неверен, но мне удалось сделать миграция с тем же паролем здесь мой код:
authControllers:
import models from '../models';
import { hashPassword, jwtToken } from '../utils';
const { User } = models;
const auth = {
async signUp(req, res, next) {
try {
const { name, email, password } = req.body;
const hash = hashPassword(password);
const user = await User.create({ name, email, password: hash });
const token = jwtToken.createToken(user);
const { id } = user;
return res.status(201).send({ token, user: { id, name, email, createdAt, deletedAt } });
} catch (e) {
return next(new Error(e));
}
}
};
индекс Модели:
import fs from 'fs';
import path from 'path';
import Sequelize from 'sequelize';
import envVars from '../config/config';
// const fs = require('fs');
// const path = require('path');
// const Sequelize = require('sequelize');
const basename = path.basename(__filename);
const env = process.env.NODE_ENV || 'development';
const config = envVars[env];
const db = {};
let sequelize;
if (config.use_env_variable) {
sequelize = new Sequelize(process.env[config.use_env_variable], config);
} else {
sequelize = new Sequelize(config.database, config.username, config.password, config);
}
fs
.readdirSync(__dirname)
.filter(file => {
return (file.indexOf('.') !== 0) && (file !== basename) && (file.slice(-3) === '.js');
})
.forEach(file => {
const model = sequelize['import'](path.join(__dirname, file));
db[model.name] = model;
});
Object.keys(db).forEach(modelName => {
if (db[modelName].associate) {
db[modelName].associate(db);
}
});
db.sequelize = sequelize;
db.Sequelize = Sequelize;
module.exports = db;
.env:
DEV_DATABASE_URL="postgres://postgres:xxx@localhost:5432/todo-dev"
TEST_DATABASE_URL="postgres://postgres:xxx@localhost:5432/todo-test"
DATABASE_URL="postgres://postgres:xxx@localhost:5432/todo-dev"
JWT_SECRET="ourjswtsecret"
config. js:
require('dotenv').config();
module.exports = {
development: {
database: 'todo-dev',
url: process.env.DEV_DATABASE_URL,
dialect: 'postgres',
},
database: {
database: 'todo-test',
url: process.env.TEST_DATABASE_URL,
dialect: 'postgres',
},
production: {
database: 'todo-dev',
url: process.env.DATABASE_URL,
dialect: 'postgres',
}
};
Мне удалось выполнить миграцию с помощью sequelize db: migration, но мне не удалось создать пользователя, я не понимаю, почему я думаю, что проблема связана с моей переменной env но не вижу где никаких советов. спасибо.