diff --git a/database.js b/database.js index 8701abd..7051662 100644 --- a/database.js +++ b/database.js @@ -124,6 +124,86 @@ function dbGetCardManaColour(){ return cPromise; } +// Effect stuff +function dbGetEffect(){ + const ePromise = new Promise((resolve, reject) => { + let sql = `SELECT + cardId + ,effectId + ,description + FROM card_effect + + INNER JOIN effect + ON effect.id = card_effect.effectId + `; + + con.query(sql, function (err, result, fields) { + if (err) { throw err; reject(new Error(err)); } + resolve(result); + }); + }); + return ePromise; +} +function dbGetEffectStep(){ + const ePromise = new Promise((resolve, reject) => { + let sql = `SELECT + effectId, + effectStep, + stepOrder, + basicEffectId, + amount, + colourId, + typeId, + classId, + passiveId, + itemFromStep + FROM effect_step + + LEFT JOIN -- May not be a target? + effect_step_target + ON effect_step_target.effectStep = effect_step.id + `; + + con.query(sql, function (err, result, fields) { + if (err) { throw err; reject(new Error(err)); } + resolve(result); + }); + }); + return ePromise; +} +// Effect Trigger stuff +function dbGetEffectTrigger(){ + const ePromise = new Promise((resolve, reject) => { + let sql = `SELECT + cardId, + effectId, + triggerTypeId, + amount, + colourId, + typeId, + classId, + passiveId + + FROM effect_trigger + + INNER JOIN card_effect + ON card_effect.effectId = effect_trigger.cardEffectId + INNER JOIN trigger_type + ON trigger_type.id = effect_trigger.triggerTypeId + + LEFT JOIN -- May not be a target + effect_trigger_target + ON effect_trigger_target.effectTriggerId = effect_trigger.triggerTypeId + `; + + con.query(sql, function (err, result, fields) { + if (err) { throw err; reject(new Error(err)); } + resolve(result); + }); + }); + return ePromise; +} + module.exports = { connect, disconnect // Testing, and trailing @@ -133,4 +213,7 @@ module.exports = { , dbGetCardClasses , dbGetCardColourRequirement , dbGetCardManaColour + , dbGetEffect + , dbGetEffectStep + , dbGetEffectTrigger };