52 lines
1.4 KiB
JavaScript
52 lines
1.4 KiB
JavaScript
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' });
|
|
}
|
|
});
|
|
|
|
router.get('/me', (req, res) => {
|
|
console.log(req.user);
|
|
res.json(req.user);
|
|
})
|
|
|
|
router.get('/:id', async (req, res) => {
|
|
try {
|
|
const userId = req.params.id;
|
|
const result = await pool.query('SELECT * FROM view_member_rank_status_all WHERE id = $1;', [userId]);
|
|
if (result.rows.length === 0) {
|
|
return res.status(404).json({ error: 'User not found' });
|
|
}
|
|
return res.status(200).json(result.rows[0]);
|
|
} catch (err) {
|
|
console.error('Error fetching user:', err);
|
|
return res.status(500).json({ error: 'Failed to fetch user' });
|
|
}
|
|
});
|
|
|
|
//update a user's display name (stub)
|
|
router.put('/:id/displayname', async (req, res) => {
|
|
// Stub: not implemented yet
|
|
return res.status(501).json({ error: 'Update display name not implemented' });
|
|
});
|
|
|
|
|
|
|
|
|
|
module.exports = router;
|