Skip to content
Permalink
Browse files
Formatted code for new index.js
Code now works with Index.js

Created new file questionRoutes.js to handle question routes
  • Loading branch information
dhirk committed Oct 24, 2019
1 parent a8fdbf4 commit 8d5211f807b503881ce40a6494fc2ec21acff4ca
Show file tree
Hide file tree
Showing 7 changed files with 83 additions and 62 deletions.
@@ -0,0 +1,3 @@
{
"files.eol": "\n"
}
@@ -5,10 +5,6 @@ const Database = require('sqlite-async')
const dbName = 'server.db'

module.exports = class Question {
example() {
return 'this is an example'
}

async getAllQuestions(query) {
try {
let sql = 'SELECT id, title, question FROM Questions;'
@@ -27,5 +23,15 @@ module.exports = class Question {
}
}


async insertQuestion(request) {
console.log(request.body)
const body = request.body
const sql = `INSERT INTO Questions(title, question)
VALUES("${body.title}", "${body.question}");`
console.log(sql)
const db = await Database.open(dbName)
await db.run(sql)
await db.close()
}

}
@@ -1,44 +0,0 @@
'use strict'

const Router = require('koa-router')
const Question = require('./models/question')

//temp
const Database = require('sqlite-async')
const handlebars = require('koa-hbs-renderer')
const dbName = 'server.db'
//

const router = new Router()
const question = new Question()

/*
router.get('/', async ctx => await ctx.render('home', {title: 'Home'}))
*/

//temp
router.get('/', async ctx => {
const data = await question.getAllQuestions(ctx.query)
console.log(data)
await ctx.render('home', {Questions: data,title: 'Home'})
})

router.post('/insertquestion', async ctx => {
try {
console.log(ctx.request.body)
const body = ctx.request.body
const sql = `INSERT INTO Questions(title, question)
VALUES("${body.title}", "${body.question}");`
console.log(sql)
const db = await Database.open(dbName)
await db.run(sql)
await db.close()
ctx.redirect('/')
} catch(err) {
ctx.body = err.message
}
})

router.get('/createquestion', async ctx => ctx.render('createquestion'))

module.exports = router
@@ -0,0 +1,31 @@
'use strict'

const Router = require('koa-router')
const Question = require('../models/question')

const router = new Router()
const question = new Question()


router.get('/', async ctx => {
try{
const data = await question.getAllQuestions(ctx.query)
console.log(data)
await ctx.render('home', {Questions: data,title: 'Home'})
}catch(err) {
await ctx.render('error', {message: err.message})
}
})

router.post('/insertquestion', async ctx => {
try{
await question.insertQuestion(ctx.request)
ctx.redirect('/')
}catch(err) {
await ctx.render('error', {message: err.message})
}
})

router.get('/createquestion', async ctx => ctx.render('createquestion'))

module.exports = router
@@ -0,0 +1,12 @@
<!DOCTYPE html>

<html lang="en">
<head>
<meta charset="utf-8">
<title>ERROR</title>
</head>
<body>
<h1>An Error Has Occurred</h1>
<h2>{{message}}</h2>
</body>
</html>
@@ -0,0 +1,6 @@
'use strict'

require('dotenv').config()
const app = require('./server')

app.listen(process.env.SERVER_PORT, () => console.log(`Server running on ${process.env.SERVER_PORT}...`))
@@ -1,23 +1,20 @@
'use strict'

require('dotenv').config()
const Koa = require('koa')
const views = require('koa-views')

//temp
const stat = require('koa-static')
const serve = require('koa-static')
const koaBody = require('koa-body')
//

const Router = require('./core/routes')
/*
const exampleRoutes = require('./core/routes/exampleRoutes')
const answerRoutes = require('./core/routes/answerRoutes')
*/

const questionRoutes = require('./core/routes/questionRoutes')

const app = new Koa()
const port = process.env.SERVER_PORT

//temp
app.use(stat('public'))
app.use(koaBody())
//

app.use(views(`${__dirname}/core/views`,
{
@@ -31,7 +28,17 @@ app.use(views(`${__dirname}/core/views`,
map: { hbs: 'handlebars' }
}))

app.use(Router.routes())
app.use(Router.allowedMethods())
app.use(serve('public'))

/*
app.use(exampleRoutes.routes())
app.use(exampleRoutes.allowedMethods())
app.use(answerRoutes.routes())
app.use(answerRoutes.allowedMethods())
*/

app.use(questionRoutes.routes())
app.use(questionRoutes.allowedMethods())

app.listen(port, () => console.log(`Server running on ${port}...`))
module.exports = app

0 comments on commit 8d5211f

Please sign in to comment.