added API support for garthering member and rank data

This commit is contained in:
2025-09-07 23:13:00 -04:00
parent 6d94df3d60
commit 1d4d469a0b
3 changed files with 51 additions and 4 deletions

View File

@@ -13,10 +13,13 @@ const port = 3000;
// Mount route modules // Mount route modules
const applicationsRouter = require('./routes/applications'); const applicationsRouter = require('./routes/applications');
const ranksRouter = require('./routes/ranks'); const { userRanks, ranks} = require('./routes/ranks');
const users = require('./routes/users');
app.use('/application', applicationsRouter); app.use('/application', applicationsRouter);
app.use('/ranks', ranksRouter); app.use('/ranks', ranks);
app.use('/userRoles', userRanks);
app.use('/users', users);
app.listen(port, () => { app.listen(port, () => {
console.log(`Example app listening on port ${port} `) console.log(`Example app listening on port ${port} `)

View File

@@ -1,10 +1,30 @@
const express = require('express'); const express = require('express');
const router = express.Router(); const r = express.Router();
const ur = express.Router();
const pool = require('../db');
// Placeholder router for rank-related routes. // Placeholder router for rank-related routes.
// Implement rank endpoints here, for example: // Implement rank endpoints here, for example:
// router.get('/', async (req, res) => { /* ... */ }); // router.get('/', async (req, res) => { /* ... */ });
// router.post('/change', async (req, res) => { /* ... */ }); // router.post('/change', async (req, res) => { /* ... */ });
module.exports = router; //insert a new latest role for a user
ur.post('/', async (req, res) => {
});
r.get('/', async (req, res) => {
try {
const result = await pool.query('SELECT id, name, short_name, sort_id FROM ranks;');
res.json(result);
} catch (err) {
console.error(err);
res.status(500).json({ error: 'Internal server error' });
}
});
module.exports.ranks = r;
module.exports.userRanks = ur;
// TODO, implement get all ranks route with SQL stirng SELECT id, name, short_name, category, sort_id FROM ranks;

24
api/routes/users.js Normal file
View File

@@ -0,0 +1,24 @@
const express = require('express');
const router = express.Router();
// DB pool (same as used in api/index.js)
const pool = require('../db');
//create a new user?
router.post('/', async (req, res) => {
});
//get all users
router.get('/', async (req, res) => {
try {
const result = await pool.query('SELECT * FROM view_member_rank_status_all;');
return res.status(200).json(result);
} catch (err) {
console.error('Error fetching users:', err);
return res.status(500).json({ error: 'Failed to fetch users' });
}
});
module.exports = router;