mirror of
https://github.com/cheveguerra/bot-whatsapp.git
synced 2026-04-17 19:26:23 +00:00
71 lines
1.8 KiB
JavaScript
71 lines
1.8 KiB
JavaScript
require('dotenv').config()
|
|
const mysql = require('mysql2')
|
|
|
|
class MyslAdapter {
|
|
db
|
|
listHistory = []
|
|
credentials = { host: null, user: null, database: null }
|
|
|
|
constructor(_credentials) {
|
|
this.credentials = _credentials
|
|
this.init().then()
|
|
}
|
|
|
|
async init() {
|
|
this.db = mysql.createConnection(this.credentials)
|
|
|
|
await this.db.connect((error) => {
|
|
if (!error) {
|
|
console.log(`Solicitud de conexión a base de datos exitosa`)
|
|
}
|
|
|
|
if (error) {
|
|
console.log(`Solicitud de conexión fallida ${error.stack}`)
|
|
}
|
|
})
|
|
}
|
|
|
|
getPrevByNumber = (from) =>
|
|
new Promise((resolve, reject) => {
|
|
const sql = `SELECT * FROM history WHERE phone=${from} ORDER BY id DESC`
|
|
this.db.query(sql, (error, rows) => {
|
|
if (error) {
|
|
reject(error)
|
|
}
|
|
|
|
if (rows.length) {
|
|
const [row] = rows
|
|
row.options = JSON.parse(row.options)
|
|
resolve(row)
|
|
}
|
|
|
|
if (!rows.length) {
|
|
resolve(null)
|
|
}
|
|
})
|
|
})
|
|
|
|
save = (ctx) => {
|
|
const values = [
|
|
[
|
|
ctx.ref,
|
|
ctx.keyword,
|
|
ctx.answer,
|
|
ctx.refSerialize,
|
|
ctx.from,
|
|
JSON.stringify(ctx.options),
|
|
],
|
|
]
|
|
const sql =
|
|
'INSERT INTO history (ref, keyword, answer, refSerialize, phone, options ) values ?'
|
|
|
|
this.db.query(sql, [values], (err) => {
|
|
if (err) throw err
|
|
console.log('Guardado en DB...', values)
|
|
})
|
|
this.listHistory.push(ctx)
|
|
}
|
|
}
|
|
|
|
module.exports = MyslAdapter
|