diff --git a/middlewareNode/src/models/users.js b/middlewareNode/src/models/users.js index c752560a..8144cfb8 100644 --- a/middlewareNode/src/models/users.js +++ b/middlewareNode/src/models/users.js @@ -1,4 +1,4 @@ -const mongoose = require("mongoose"); + const mongoose = require("mongoose"); const { Schema, model } = mongoose; /** diff --git a/middlewareNode/src/routes/bot.js b/middlewareNode/src/routes/bot.js new file mode 100644 index 00000000..728abfa7 --- /dev/null +++ b/middlewareNode/src/routes/bot.js @@ -0,0 +1,30 @@ +// TODO: Replace stubEngine with real conversationEngine once implemented + +const express = require("express"); +const passport = require("passport"); +const router = express.Router(); +const { generateBotResponse } = require("../utils/conversationEngine"); + +router.post("/respond", passport.authenticate("jwt"), async (req, res) => { + try { + const { currentState, userMessage } = req.body; + + if (!currentState || !userMessage) { + return res.status(400).json({ error: "Missing currentState or userMessage" }); + } + + // Call conversation engine + const response = generateBotResponse({ + currentState, + userMessage + }); + + return res.json(response); + + } catch (error) { + console.error(error); + return res.status(500).json({ error: "Server error" }); + } +}); + +module.exports = router; \ No newline at end of file diff --git a/middlewareNode/src/server.js b/middlewareNode/src/server.js index b9368c98..c3c04d49 100644 --- a/middlewareNode/src/server.js +++ b/middlewareNode/src/server.js @@ -46,6 +46,7 @@ app.use("/lessons", require("./routes/lessons")); app.use("/activities", require("./routes/activities")); app.use("/streak", streakRoutes); app.use("/badges", require("./routes/badges")); +app.use("/bot", require("./routes/bot")); // Start server on specified port const PORT = process.env.PORT || 8000; diff --git a/middlewareNode/src/utils/conversationEngine.js b/middlewareNode/src/utils/conversationEngine.js new file mode 100644 index 00000000..102b88f8 --- /dev/null +++ b/middlewareNode/src/utils/conversationEngine.js @@ -0,0 +1,8 @@ +function generateBotResponse({ currentState, userMessage, developmentPlan }) { + return { + botMessage: "This is a temporary stub response while the conversation engine is being implemented.", + nextState: "ASK_SCHOOL" + }; +} + +module.exports = { generateBotResponse }; \ No newline at end of file