From 039492ea342f2d9a2534c5d09ee0355a44d44f9d Mon Sep 17 00:00:00 2001 From: JBB0807 <104856796+JBB0807@users.noreply.github.com> Date: Mon, 21 Apr 2025 09:59:08 -0700 Subject: [PATCH] re-organized / added instructor router --- user-db-service/app.js | 27 ++-------------------- user-db-service/fly.toml | 2 +- user-db-service/routes/AdminRouter.js | 15 +++++++++++- user-db-service/routes/InstructorRouter.js | 17 ++++++++++++++ 4 files changed, 34 insertions(+), 27 deletions(-) create mode 100644 user-db-service/routes/InstructorRouter.js diff --git a/user-db-service/app.js b/user-db-service/app.js index e3e480c..af23195 100644 --- a/user-db-service/app.js +++ b/user-db-service/app.js @@ -3,6 +3,7 @@ const { PrismaClient } = require('@prisma/client'); const app = express(); const adminRouter = require("./routes/AdminRouter"); +const instructorRouter = require("./routes/InstructorRouter"); const studentRouter = require("./routes/StudentRouter"); // require('dotenv').config(); // prisma client already loads .env apparently, double check before deploying @@ -16,31 +17,7 @@ app.use(express.json()); //use routes of other pages app.use("/student", studentRouter); app.use("/admin", adminRouter); - -// Fetch top users (update logic as per your requirements) -app.get('/update', async (req, res) => { - try { - const users = await prisma.user.findMany({ - orderBy: { username: 'asc' }, // Example sorting - }); - res.json(users); - } catch (err) { - res.status(500).json({ error: err.message }); - } -}); - -// For new users sign-up via Google oAuth: -app.post('/register-user', async (req, res) => { - try { - const { username, password } = req.body; - const newUser = await prisma.user.create({ - data: { username, email, password }, - }); - res.json({ message: 'User added successfully', user: newUser }); - } catch (err) { - res.status(500).json({ error: err.message }); - } -}); +app.use("/instructor", instructorRouter); app.listen(port, () => { console.log(`Server running at http://localhost:${port}`); diff --git a/user-db-service/fly.toml b/user-db-service/fly.toml index 2c607c1..28cfd0f 100644 --- a/user-db-service/fly.toml +++ b/user-db-service/fly.toml @@ -3,7 +3,7 @@ # See https://fly.io/docs/reference/configuration/ for information about how to use this file. # -app = 'snakebyte' +app = 'db-user-service' primary_region = 'sea' [env] diff --git a/user-db-service/routes/AdminRouter.js b/user-db-service/routes/AdminRouter.js index 1db78dd..0912217 100644 --- a/user-db-service/routes/AdminRouter.js +++ b/user-db-service/routes/AdminRouter.js @@ -9,4 +9,17 @@ adminRouter.get('/query', async (req, res) => { res.status(400).json({ error: 'Custom queries are not supported.' }); }); - module.exports = adminRouter; +// Fetch top users (update logic as per your requirements) +adminRouter.get('/update', async (req, res) => { + try { + const users = await prisma.user.findMany({ + orderBy: { username: 'asc' }, // Example sorting + }); + res.json(users); + } catch (err) { + res.status(500).json({ error: err.message }); + } +}); + + +module.exports = adminRouter; diff --git a/user-db-service/routes/InstructorRouter.js b/user-db-service/routes/InstructorRouter.js new file mode 100644 index 0000000..cf66b54 --- /dev/null +++ b/user-db-service/routes/InstructorRouter.js @@ -0,0 +1,17 @@ +const express = require("express"); +const instructorRouter = express.Router(); + +// For new users sign-up via Google oAuth: +instructorRouter.post('/register-user', async (req, res) => { + try { + const { username, password } = req.body; + const newUser = await prisma.user.create({ + data: { username, email, password }, + }); + res.json({ message: 'User added successfully', user: newUser }); + } catch (err) { + res.status(500).json({ error: err.message }); + } + }); + +module.exports = instructorRouter;