У меня есть такая модель:
const User = db.Model.extend({
tableName: 'users',
hasSecurePassword: true
});
module.exports = User;
С этим я могу делать такие вещи, как
const User = require("../models/user");
User.fetchAll({columns:['id','email']}).then((data) => {
res.json(data);
}).catch(err => {
res.json(err);
});
Что, если я хочу добавить в свою модель функции костюма, такие как:
var connection = require('./dbconnection.js');
var User = db.Model.extend({
tableName: 'users',
hasSecurePassword: true
});
User.getUsers = (callback) => {
if (connection) {
const newLocal = "select * FROM users";
connection.query(newLocal, (err,rows,fields) => {
if (err) {
return res.sendStatus(500);
} else {
callback(null,rows);
}
});
}
};
module.exports = User;
А затем сделайте что-то вроде:
const User = require("../models/user");
User.getUsers((err,data) => {
res.status(200).json(data);
});
Это возможно? Или я должен просто соответствовать функциям книжной полки?
Сейчас я получаю ошибку connection.query is not a function
И models / dbconnection.js - это:
const mysql = require('mysql');
port = process.env.PORT || 3333;
if (port == 3333) {
var connection = mysql.createConnection({
host: process.env.DB_HOST,
port: process.env.DB_PORT,
user: process.env.DB_USER,
password: process.env.DB_PASSWORD,
database: process.env.DB_NAME,
insecureAuth: true
});
} else {
console.log("Error");
}
connection.connect();
module.exports.connection = connection;