222 lines
7.1 KiB
JavaScript
222 lines
7.1 KiB
JavaScript
const mariadb = require('./_db');
|
|
|
|
|
|
|
|
async function getUsers(){
|
|
try {
|
|
let conn = await mariadb.getConn();
|
|
|
|
const rows = await conn.query("SELECT * FROM user");
|
|
|
|
conn.release();
|
|
|
|
return rows;
|
|
}
|
|
catch(err){
|
|
console.log("No se pudo acceder a la BD: "+err);
|
|
}
|
|
}
|
|
|
|
module.exports.getUsers = getUsers;
|
|
|
|
async function userLogin(username, password){
|
|
try {
|
|
let conn = await mariadb.getConn();
|
|
|
|
const rows = await conn.query("SELECT userID, discotecaID, userType, username FROM user WHERE username = ? AND password = ?", [username, password]);
|
|
conn.release();
|
|
|
|
if (rows){
|
|
return rows;}
|
|
}
|
|
catch(err){
|
|
console.log("No se pudo acceder a la BD: "+err);
|
|
}
|
|
}
|
|
|
|
module.exports.userLogin = userLogin;
|
|
|
|
async function getDiscoteca(discotecaId){
|
|
try{
|
|
let conn = await mariadb.getConn();
|
|
const rows = await conn.query("SELECT discotecaID, nombre, telefono, localizacion FROM discoteca WHERE discotecaID = ?", [discotecaId]);
|
|
conn.release();
|
|
if (rows){
|
|
return rows;}
|
|
|
|
}catch(err){
|
|
console.log("No se pudo acceder a la BD: "+err);
|
|
}
|
|
|
|
}
|
|
|
|
module.exports.getDiscoteca = getDiscoteca;
|
|
|
|
async function addEvento(evento){
|
|
try{
|
|
let conn = await mariadb.getConn();
|
|
var rows = await conn.query ("SELECT * FROM evento WHERE id = ?", [evento.id]);
|
|
if (!rows.length>0){
|
|
rows = await conn.query
|
|
("INSERT INTO evento (discotecaID, nombre, localizacion, fecha, hora, descripcion, precio1, precio2) VALUES (?, ?, ?, ?, ?, ?, ?, ?)",
|
|
[evento.discotecaID, evento.nombre, evento.localizacion, evento.fecha, evento.hora, evento.descripcion, evento.precio1, evento.precio2]);
|
|
conn.release();
|
|
}
|
|
|
|
else{
|
|
rows = await conn.query
|
|
("UPDATE evento SET discotecaID = ?, nombre = ?, localizacion = ?, fecha = ?, hora = ?, descripcion = ?, precio1 = ?, precio2 = ? WHERE id = ?",
|
|
[evento.discotecaID, evento.nombre, evento.localizacion, evento.fecha, evento.hora, evento.descripcion, evento.precio1, evento.precio2, evento.id]);
|
|
conn.release();
|
|
}
|
|
|
|
if (rows){
|
|
return rows;}
|
|
|
|
}catch(err){
|
|
console.log("No se pudo acceder a la BD: "+err);
|
|
}
|
|
|
|
}
|
|
|
|
module.exports.addEvento = addEvento;
|
|
|
|
async function getEventos(){
|
|
try{
|
|
let conn = await mariadb.getConn();
|
|
const rows = await conn.query("SELECT id, discotecaID, nombre, localizacion, fecha, hora, descripcion, precio1, precio2 FROM evento");
|
|
conn.release();
|
|
|
|
if(rows){
|
|
return rows;}
|
|
}catch(err){
|
|
console.log("No se pudo acceder a la BD: "+err);
|
|
}
|
|
}
|
|
|
|
module.exports.getEventos = getEventos;
|
|
|
|
async function getEventosDiscoteca(discotecaId){
|
|
try{
|
|
let conn = await mariadb.getConn();
|
|
const rows = await conn.query("SELECT id, discotecaID, nombre, localizacion, fecha, hora, descripcion, precio1, precio2 FROM evento WHERE discotecaID = ?", [discotecaId.id]);
|
|
conn.release();
|
|
|
|
if (rows){
|
|
return rows;}
|
|
|
|
}catch(err){
|
|
console.log("No se pudo acceder a la BD: "+err);
|
|
}
|
|
}
|
|
|
|
module.exports.getEventosDiscoteca = getEventosDiscoteca;
|
|
|
|
|
|
|
|
async function addReserva(reserva){
|
|
try{
|
|
let conn = await mariadb.getConn();
|
|
var rows = await conn.query("SELECT * FROM reserva WHERE UserID = ? AND EventoID = ?", [reserva.UserID, reserva.EventoID]);
|
|
if(!rows[0]){ //primero inserta en la tabla codigo, y luego en la tabla reserva
|
|
const CodigoUnico = await conn.query("INSERT INTO codigo (UserID, codigo, numReservas) VALUES (?, ?, ?)",
|
|
[reserva.UserID, reserva.codigoUnico, 0]);
|
|
const codigoID = await conn.query("SELECT id FROM codigo WHERE codigo = ?", [reserva.codigoUnico]);
|
|
reserva.codigoUnicoID = codigoID[0].id;
|
|
if(reserva.descuentoPorciento){ //arreglar este if
|
|
rows = await conn.query("INSERT INTO reserva (UserID, EventoID, codigoUnicoID, codigoDescuento, descuentoPorciento) VALUES (?, ?, ?, ?, ?)",
|
|
[reserva.UserID, reserva.EventoID, reserva.codigoUnicoID, reserva.codigoDescuento, reserva.descuentoPorciento]);
|
|
}
|
|
else{
|
|
rows = await conn.query("INSERT INTO reserva (UserID, EventoID, codigoUnicoID, codigoDescuento) VALUES (?, ?, ?, ?)",
|
|
[reserva.UserID, reserva.EventoID, reserva.codigoUnicoID, reserva.codigoDescuento]);
|
|
}
|
|
await conn.query("UPDATE codigo SET numReservas = numReservas + 1 WHERE codigo = ?", [reserva.codigoDescuento]);
|
|
conn.release();
|
|
return reserva;
|
|
}
|
|
else{
|
|
console.log("Ya hay una reserva para este evento.");
|
|
conn.release();
|
|
}
|
|
}catch(err){
|
|
console.log("No se pudo acceder a la BD: "+err);}
|
|
}
|
|
|
|
|
|
|
|
module.exports.addReserva = addReserva;
|
|
|
|
async function comprobarDescuento(reserva){
|
|
try{
|
|
let conn = await mariadb.getConn();
|
|
const evento = await conn.query("SELECT * FROM evento WHERE id = ?", [reserva.EventoID]);
|
|
const tipoDescuento = evento[0].tipoDescuento;
|
|
if(tipoDescuento){
|
|
const porciento = await conn.query("SELECT porciento FROM descuentos WHERE id = ?", [tipoDescuento]);
|
|
conn.release();
|
|
return porciento[0].porciento;
|
|
}
|
|
else{
|
|
conn.release();
|
|
return 0;
|
|
}
|
|
}catch(err){
|
|
console.log("No se pudo acceder a la BD: "+err);
|
|
}
|
|
|
|
|
|
}
|
|
|
|
module.exports.comprobarDescuento = comprobarDescuento;
|
|
|
|
async function activarCodigo(reserva){
|
|
try{
|
|
let conn = await mariadb.getConn();
|
|
const codigo = await conn.query("SELECT id FROM codigo WHERE codigo = ?", [reserva.codigoDescuento]);
|
|
conn.release();
|
|
console.log(codigo);
|
|
if (codigo.length>0){
|
|
const reservaOriginal = await conn.query("SELECT EventoID FROM reserva WHERE codigoUnicoID = ?", [codigo[0].id]);
|
|
conn.release();
|
|
console.log(reservaOriginal);
|
|
if (reservaOriginal[0].EventoID == reserva.EventoID){
|
|
console.log("Codigo válido");
|
|
return codigo;
|
|
}
|
|
else{
|
|
console.log("Código inválido");
|
|
reserva.codigoDescuento='';
|
|
return null;
|
|
}
|
|
}
|
|
else{
|
|
console.log("Código inválido");
|
|
return null;
|
|
}
|
|
}catch(err){
|
|
console.log("No se pudo acceder a la BD: "+err);
|
|
}
|
|
}
|
|
|
|
module.exports.activarCodigo = activarCodigo;
|
|
|
|
async function getCodigos(usuario){
|
|
try{
|
|
let conn = await mariadb.getConn();
|
|
const codigos = await conn.query("SELECT UserID, codigo, numReservas FROM codigo WHERE UserID = ?", [usuario.userID]);
|
|
conn.release();
|
|
if(codigos.length>0){
|
|
return codigos;
|
|
}
|
|
else return null;
|
|
|
|
}catch(err){
|
|
console.log("No se pudo acceder a la BD: "+err);
|
|
}
|
|
}
|
|
|
|
module.exports.getCodigos = getCodigos;
|
|
|
|
|