You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
120 lines
2.3 KiB
JavaScript
120 lines
2.3 KiB
JavaScript
const mysql = require('mysql');
|
|
const con = mysql.createConnection({
|
|
host: "localhost",
|
|
user: "realmsdivided",
|
|
password: "realmsdivided",
|
|
database: "realms_divided"
|
|
});
|
|
|
|
function connect(){
|
|
con.connect(function(err) {
|
|
if (err) { console.log(err); }
|
|
else { console.log('DB Connected'); }
|
|
});
|
|
}
|
|
function disconnect(){
|
|
con.end();
|
|
}
|
|
|
|
// My DB stuffs
|
|
function dbGetDecks(){
|
|
const dPromise = new Promise((resolve, reject) => {
|
|
let cards = [];
|
|
let sql = `SELECT
|
|
deckId
|
|
,playerId
|
|
,deckName
|
|
FROM deck
|
|
LIMIT 10
|
|
`; // TODO: Remove limit when happy/this accepts params
|
|
|
|
con.query(sql, function (err, result, fields) {
|
|
if (err) { throw err; reject(new Error(err)); }
|
|
resolve(result);
|
|
});
|
|
});
|
|
return dPromise;
|
|
}
|
|
function dbGetDeckList(){
|
|
const dPromise = new Promise((resolve, reject) => {
|
|
let cards = [];
|
|
let sql = `SELECT
|
|
deckId
|
|
,playerId
|
|
,cardId
|
|
,cardCount
|
|
FROM deck_cards
|
|
`;
|
|
|
|
con.query(sql, function (err, result, fields) {
|
|
if (err) { throw err; reject(new Error(err)); }
|
|
resolve(result);
|
|
});
|
|
});
|
|
return dPromise;
|
|
}
|
|
function dbGetCards(){
|
|
// Start with basic stuff in card table
|
|
const dPromise = new Promise((resolve, reject) => {
|
|
let sql = `SELECT
|
|
id
|
|
,cardName
|
|
,cardCost
|
|
,cardType
|
|
,cardAttack
|
|
,cardRarity
|
|
FROM card
|
|
`;
|
|
|
|
con.query(sql, function (err, result, fields) {
|
|
if (err) { throw err; reject(new Error(err)); }
|
|
resolve(result);
|
|
});
|
|
});
|
|
return dPromise;
|
|
}
|
|
function dbGetCardClasses(){
|
|
// Get the classes assoc. on each card
|
|
const dPromise = new Promise((resolve, reject) => {
|
|
let sql = `SELECT
|
|
cardId
|
|
,classId
|
|
FROM card_class
|
|
`;
|
|
|
|
con.query(sql, function (err, result, fields) {
|
|
if (err) { throw err; reject(new Error(err)); }
|
|
resolve(result);
|
|
});
|
|
});
|
|
return dPromise;
|
|
}
|
|
function dbGetCardColourRequirement(){
|
|
// Get the classes assoc. on each card
|
|
const dPromise = new Promise((resolve, reject) => {
|
|
let sql = `SELECT
|
|
cardId
|
|
,colourId
|
|
,cost
|
|
FROM card_colour_requirement
|
|
`;
|
|
|
|
con.query(sql, function (err, result, fields) {
|
|
if (err) { throw err; reject(new Error(err)); }
|
|
resolve(result);
|
|
});
|
|
});
|
|
return dPromise;
|
|
}
|
|
|
|
|
|
module.exports = {
|
|
connect, disconnect
|
|
// Testing, and trailing
|
|
, dbGetDecks
|
|
, dbGetDeckList
|
|
, dbGetCards
|
|
, dbGetCardClasses
|
|
, dbGetCardColourRequirement
|
|
};
|