Revived the page! He's baaaaack

This commit is contained in:
2026-01-27 10:01:41 -05:00
parent 7c7cbef3f3
commit 67562f56aa
9 changed files with 469 additions and 95 deletions

View File

@@ -5,7 +5,7 @@ import { Request, Response } from 'express';
import pool from '../db';
import { requireLogin, requireMemberState, requireRole } from '../middleware/auth';
import { getUserActiveLOA } from '../services/db/loaService';
import { getAllMembersLite, getMemberSettings, getMembersFull, getMembersLite, getUserData, getUserState, setUserSettings } from '../services/db/memberService';
import { getAllMembersLite, getMemberSettings, getMembersFull, getMembersLite, getUserData, getUserState, setUserSettings, getFilteredMembers } from '../services/db/memberService';
import { getUserRoles } from '../services/db/rolesService';
import { memberSettings, MemberState, myData } from '@app/shared/types/member';
@@ -42,6 +42,27 @@ router.get('/', [requireLogin, requireMemberState(MemberState.Member)], async (r
}
});
router.get('/filtered', [requireLogin, requireMemberState(MemberState.Member)], async (req, res) => {
try {
// Extract Query Parameters
const page = parseInt(req.query.page as string) || 1;
const pageSize = parseInt(req.query.pageSize as string) || 15;
const search = req.query.search as string | undefined;
const status = req.query.status as string | undefined;
const unitId = req.query.unitId as string | undefined;
// Call the service function
const result = await getFilteredMembers(page, pageSize, search, status, unitId);
return res.status(200).json(result);
} catch (error) {
logger.error('app', 'Failed to get filtered users', {
error: error instanceof Error ? error.message : String(error),
});
return res.status(500).json({ error: 'Failed to fetch users' });
}
});
router.get('/me', [requireLogin], async (req: Request, res) => {
if (!req.user) return res.sendStatus(401);

29
api/src/routes/units.ts Normal file
View File

@@ -0,0 +1,29 @@
import express = require('express');
const unitsRouter = express.Router();
import pool from '../db';
import { requireLogin } from '../middleware/auth';
import { logger } from '../services/logging/logger';
import { Unit } from '@app/shared/types/units';
unitsRouter.use(requireLogin);
//get all units
unitsRouter.get('/', async (req, res) => {
try {
const result: Unit[] = await pool.query('SELECT * FROM units WHERE active = 1;');
res.json(result);
} catch (error) {
logger.error(
'app',
'Failed to get all units',
{
error: error instanceof Error ? error.message : String(error),
stack: error instanceof Error ? error.stack : undefined,
}
);
res.sendStatus(500);
}
});
export const units = unitsRouter;