- Added query params to spell routes
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
DROP DATABASE IF EXISTS auracle;
|
DROP DATABASE IF EXISTS auracle;
|
||||||
CREATE DATABASE auracle CHARACTER SET utf8 COLLATE utf8_bin;
|
CREATE DATABASE auracle CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||||
USE auracle;
|
USE auracle;
|
||||||
|
|
||||||
/* =========== PRIMARY TABLES =========== */
|
/* =========== PRIMARY TABLES =========== */
|
||||||
|
|||||||
@@ -21,10 +21,21 @@ class SpellRepository {
|
|||||||
constructor() {
|
constructor() {
|
||||||
}
|
}
|
||||||
|
|
||||||
getAll() {
|
getAll(name, description, level, charge, cost, ritual) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
model.forge()
|
|
||||||
.fetchAll({ withRelated: ['schools.meta_schools', 'variables', 'ingredients'] })
|
let query = model.forge()
|
||||||
|
|
||||||
|
console.log("science")
|
||||||
|
|
||||||
|
if (name) { query.where('name', 'like', `%${name}%`) }
|
||||||
|
if (description) { query.where('description', 'like', `%${description}%`) }
|
||||||
|
if (level) { query.where({ 'level' : level }) }
|
||||||
|
if (charge) { query.where({ 'charge' : charge }) }
|
||||||
|
if (cost) { query.where({ 'cost' : cost }) }
|
||||||
|
if (ritual) { query.where({ 'is_ritual' : ritual }) }
|
||||||
|
|
||||||
|
query.fetchAll({ withRelated: ['schools.meta_schools', 'variables', 'ingredients'] })
|
||||||
.then(v => {
|
.then(v => {
|
||||||
resolve(v.toJSON({ omitPivot: true }))
|
resolve(v.toJSON({ omitPivot: true }))
|
||||||
})
|
})
|
||||||
@@ -35,11 +46,20 @@ class SpellRepository {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
getAllPublic() {
|
getAllPublic(name, description, level, charge, cost, ritual) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
model.forge()
|
|
||||||
|
let query = model.forge()
|
||||||
.where({ 'public' : 1 })
|
.where({ 'public' : 1 })
|
||||||
.fetchAll({ withRelated: ['schools.meta_schools', 'variables', 'ingredients'] })
|
|
||||||
|
if (name) { query.where('name', 'like', `%${name}%`) }
|
||||||
|
if (description) { query.where('description', 'like', `%${description}%`) }
|
||||||
|
if (level) { query.where({ 'level' : level }) }
|
||||||
|
if (charge) { query.where({ 'charge' : charge }) }
|
||||||
|
if (cost) { query.where({ 'cost' : cost }) }
|
||||||
|
if (ritual) { query.where({ 'is_ritual' : ritual }) }
|
||||||
|
|
||||||
|
query.fetchAll({ withRelated: ['schools.meta_schools', 'variables', 'ingredients'] })
|
||||||
.then(v => {
|
.then(v => {
|
||||||
resolve(v.toJSON({ omitPivot: true }))
|
resolve(v.toJSON({ omitPivot: true }))
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -14,15 +14,15 @@ const Spells = new SpellReposity();
|
|||||||
|
|
||||||
// ROUTES
|
// ROUTES
|
||||||
// GET ALL PUBLIC ------------------
|
// GET ALL PUBLIC ------------------
|
||||||
const getPublicSpells = () => {
|
const getPublicSpells = (name, description, level, charge, cost, ritual) => {
|
||||||
return Spells.getAllPublic()
|
return Spells.getAllPublic(name, description, level, charge, cost, ritual)
|
||||||
.catch(err => {
|
.catch(err => {
|
||||||
console.log(err)
|
console.log(err)
|
||||||
throw err
|
throw err
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
router.get('/', async (req, res) => {
|
router.get('//:name?/:description?/:level?/:charge?/:cost?/:ritual?/', async (req, res) => {
|
||||||
getPublicSpells()
|
getPublicSpells(req.query.name, req.query.description, req.query.level, req.query.charge, req.query.cost, req.query.ritual)
|
||||||
.then(v => {
|
.then(v => {
|
||||||
res.setHeader('Content-Type', 'application/json;charset=utf-8')
|
res.setHeader('Content-Type', 'application/json;charset=utf-8')
|
||||||
res.end(JSON.stringify(v))
|
res.end(JSON.stringify(v))
|
||||||
@@ -38,15 +38,15 @@ router.get('/', async (req, res) => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
// GET ALL ------------------
|
// GET ALL ------------------
|
||||||
const getSpells = () => {
|
const getSpells = (name, description, level, charge, cost, ritual) => {
|
||||||
return Spells.getAll()
|
return Spells.getAll(name, description, level, charge, cost, ritual)
|
||||||
.catch(err => {
|
.catch(err => {
|
||||||
console.log(err)
|
console.log(err)
|
||||||
throw err
|
throw err
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
router.get('/private', async (req, res) => {
|
router.get('/private/:name?/:description?/:level?/:charge?/:cost?/:ritual?/', async (req, res) => {
|
||||||
getSpells()
|
getSpells(req.query.name, req.query.description, req.query.level, req.query.charge, req.query.cost, req.query.ritual)
|
||||||
.then(v => {
|
.then(v => {
|
||||||
res.setHeader('Content-Type', 'application/json;charset=utf-8')
|
res.setHeader('Content-Type', 'application/json;charset=utf-8')
|
||||||
res.end(JSON.stringify(v))
|
res.end(JSON.stringify(v))
|
||||||
|
|||||||
Reference in New Issue
Block a user