Commit 1a81bbf1 authored by Guillaume Vagner's avatar Guillaume Vagner
Browse files

added

parent f61c219f
var mysql = require('promise-mysql');
const config = require('./config');
function query(req) {
return mysql.createConnection(
config.mysql
).then(connection => {
return Promise.all([
connection.query(req),
connection
])
}).then(([rep, connection]) => {
connection.end();
return rep;
}).catch(error => {
//logs out the error
console.error(error);
});
}
Promise.all([
query(`CREATE TABLE IF NOT EXISTS channel(
chatId INT PRIMARY KEY NOT NULL,
username TEXT,
state TEXT,
token TEXT,
refresh TEXT,
expiration TEXT,
schedule TEXT
)`),
query(`CREATE TABLE IF NOT EXISTS groups(
chatId INT NOT NULL,
grp INT,
primary key (chatId, grp)
)`)
]).then(_ => {
console.log('[mariadb] connected to database')
})
function getChanByChatId(chatId) {
return query(`
SELECT *
FROM channel
WHERE chatId = ${chatId}
`).then(rep => rep[0]);
}
function createChan(data) {
return query(`
INSERT INTO channel
VALUES (${data.chatId}, "${data.username}", "${data.state}", "${data.token}", "${data.refresh}", "${data.expiration}", "${data.schedule}")
`)
}
function deleteChanByChatId(chatId) {
return query(`DELETE FROM channel WHERE chatId = ${chatId}`);
}
function modifyChan(data) {
return query(`
UPDATE channel
SET username = "${data.username}",
state = "${data.state}",
token = "${data.token}",
refresh = "${data.refresh}",
expiration = "${data.expiration}",
schedule = "${data.schedule}"
WHERE chatId = ${data.chatId}
`).then(_ => {
return getChanByChatId(data.chatId)
})
}
function getChanByState(state) {
return query(`
SELECT *
FROM channel
WHERE state = "${state}"
`).then(rep => rep[0]);
}
function addGroup(chatId, groupId) {
return query(`
INSERT INTO groups
VALUES (${chatId}, ${groupId})
`);
}
function getGroups(chatId) {
return query(`
SELECT grp
FROM groups
WHERE chatId = ${chatId}
`).then(rep => {
return rep.map(element => element.grp);
})
}
module.exports = { query, getChanByChatId, createChan, deleteChanByChatId, modifyChan, getChanByState, addGroup, getGroups };
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment