require('dotenv').config(); const debug = require('debug')('soundbirder:api'); const debugLocale = require('debug')('soundbirder:locale'); const debugResponses = require('debug')('soundbirder:api:responses'); const quizzController = require('./quizz'); const QUIZZ_SIZE = process.env.QUIZZ_SIZE ? process.env.QUIZZ_SIZE : 5; function getHome(req, res) { res.render('api', { title: "SoundBirder api", version: 0 }); } function quizz(req, res) { debug('Generating quizz'); const { lat, lng } = req.body; const locale = req.i18n.locale; debugLocale("Locale:", locale); quizzController.generateQuizz({ lat, lng }, locale, QUIZZ_SIZE) .then(({ species, answer, audio }) => { req.session.answer = answer; res.json({ species, audio }); debug("Quizz sent"); }) .catch(error => { debug("Faced error while generating quizz"); res.json({ error }); throw error; }); } function check(req, res) { const answer = req.query.species; const correctAnswer = req.session.answer; let result = {}; if (answer === correctAnswer.speciesCode) { debug("Correct answer"); result = { correct: true, message: req.i18n.__('Correct!'), answer: correctAnswer }; } else { debug("Wrong answer"); result = { correct: false, message: req.i18n.__('Wrong!'), answer: correctAnswer }; } res.json(result); } const game = { check, quizz } module.exports = { getHome, game }