Skip to content

Commit

Permalink
fix(database): fix naming
Browse files Browse the repository at this point in the history
  • Loading branch information
leifermendez authored Feb 4, 2023
1 parent 9311aa0 commit c9831d2
Show file tree
Hide file tree
Showing 2 changed files with 106 additions and 106 deletions.
106 changes: 106 additions & 0 deletions packages/database/src/ mysql /index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
const mysql = require("mysql2");

class MyslAdapter {
db;
listHistory = [];
credentials = { host: null, user: null, database: null, password: null };

constructor(_credentials) {
this.credentials = _credentials;
this.init().then();
}

async init() {
this.db = mysql.createConnection(this.credentials);

await this.db.connect(async (error) => {
if (!error) {
console.log(`Solicitud de conexión a base de datos exitosa`);
await this.checkTableExists();
}

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);
};

createTable = () =>
new Promise((resolve) => {
const tableName = "history";

const sql = `CREATE TABLE ${tableName}
(id INT AUTO_INCREMENT PRIMARY KEY,
ref varchar(255) NOT NULL,
keyword varchar(255) NOT NULL,
answer longtext NOT NULL,
refSerialize varchar(255) NOT NULL,
phone varchar(255) NOT NULL,
options longtext NOT NULL)
CHARACTER SET utf8mb4 COLLATE utf8mb4_General_ci`;

this.db.query(sql, (err) => {
if (err) throw err;
console.log(`Tabla ${tableName} creada correctamente `);
resolve(true);
});
});

checkTableExists = () =>
new Promise((resolve) => {
const sql = "SHOW TABLES LIKE 'history'";

this.db.query(sql, (err, rows) => {
if (err) throw err;

if (!rows.length) {
this.createTable();
}

resolve(!!rows.length);
});
});
}

module.exports = MyslAdapter;
106 changes: 0 additions & 106 deletions paquetes / base de datos / src / mysql /index.js

This file was deleted.

0 comments on commit c9831d2

Please # to comment.