У меня есть два файла:Sequelize - this.get()
server.js для получения запроса от клиента:
var db = require("./db.js");
app.post("https://stackoverflow.com/users/login", function (req, res) {
var body = _.pick(req.body, "email", "password");
db.user.authenticate(body).then(function (data) { //data is entire record and use "authenticate" function instance
res.header("Auth", data.generateToken("authentication")).json(data);
}, function (e) {
res.status(401).send("Incorrect username or password! Please try again");
})
user.js
...........
instanceMethods: {
generateToken: function (type) {
if (!_.isString(type)) {
return undefined;
}
try {
//"this" is refer of istance sequelize "user"
var stringData = JSON.stringify({ id: this.get("id"), type: type });
// encrypt json string "stringData" and we set a secret password for decrypt data
var encryptedData = crypto.AES.encrypt(stringData, "yyyy").toString();
var token = jwt.sign({
token: encryptedData
}, "xxxx");
return token;
} catch (e) {
console.log(e);
return undefined;
} {
}
}
}
Когда я вызываю data.generateToken
из server.js, я использую объект db.user
, который передает весь модуль от user.js
. Но как он знает, что с this.get("id")
должен взять идентификатор data
записи? Какая связь между «этим» и «данным»? Важно: «данные» - это запись базы данных, которую я получил после управления учетными данными, отправленными от пользователя.