Skip to content
Permalink
Browse files
Merge pull request reisborw#32 from 5001CEM-1920SEPJAN/bugfix-answers
Fixed bug when submitting an empty answer
  • Loading branch information
reisborw committed Nov 28, 2019
2 parents 7190a27 + d24b5ad commit be467f8b6a81c308a7df8184c7824cc8b05719c4
Showing 1 changed file with 23 additions and 9 deletions.
@@ -24,30 +24,44 @@ router.get('/question/:question_id/answers', async ctx => {
answers: answers
}
if (ctx.session.authorised === true) {
data.auth = ctx.session.authorised
data.username = ctx.session.user.username
data.avatarName = ctx.session.user.avatar
data.id = ctx.session.user.id
await pushSessionItemsToObject(data, ctx)
}
await ctx.render('answer', data)
})

router.post('/question/:question_id/answer-action', async ctx => {
try{
const answer = await new Answer(process.env.DB_NAME)
const question = await new Question(process.env.DB_NAME)
const { question, answer } = await createObjects()
const request = {body: ctx.request.body, parameters: ctx.params, session: ctx.session}
const date = await question.currentDate(new Date())
await answer.createAnswer(request, date)
ctx.redirect(`/question/${request.parameters.question_id}/answers`)
} catch(err) {
const data = {title: ctx.params.question_id, content: 'Answers to a question', msg: err.message}
let question = await new Question(process.env.DB_NAME)
question = await question.getOneQuestion(ctx.params.question_id)
const answer = await new Answer(process.env.DB_NAME)
const answers = await answer.getAnswersByQuestion(ctx.params.question_id)
const data = {title: question.title, content: 'Answers to a question', msg: err.message,
question: question, answers: answers}
if (ctx.session.authorised === true) {
data.auth = ctx.session.authorised
data.username = ctx.session.user.username
await pushSessionItemsToObject(data, ctx)
}
await ctx.render('answer', data)
}
})

module.exports = router

async function createObjects() {
const answer = await new Answer(process.env.DB_NAME)
const question = await new Question(process.env.DB_NAME)
return { question, answer }
}

async function pushSessionItemsToObject(object, context) {
object.auth = context.session.authorised
object.username = context.session.user.username
object.avatarName = context.session.user.avatar
object.id = context.session.user.id
}

0 comments on commit be467f8

Please sign in to comment.