Merge branch 'dev'

This commit is contained in:
Alexis
2020-08-04 21:23:31 +02:00
3 changed files with 35 additions and 15 deletions

View File

@@ -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 =========== */

View File

@@ -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 }))
}) })

View File

@@ -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))