Skip to content
Snippets Groups Projects
Commit dbad761e authored by Guillaume Vagner's avatar Guillaume Vagner
Browse files

merge

parent c32a7d23
No related branches found
No related tags found
No related merge requests found
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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment