overhauled training report fields to use new searchable system

This commit is contained in:
2025-12-15 23:02:22 -05:00
parent 94fac645af
commit 627f6bfe3d
4 changed files with 174 additions and 27 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/loaService';
import { getMemberSettings, getMembersFull, getMembersLite, getUserData, setUserSettings } from '../services/memberService';
import { getAllMembersLite, getMemberSettings, getMembersFull, getMembersLite, getUserData, setUserSettings } from '../services/memberService';
import { getUserRoles } from '../services/rolesService';
import { memberSettings, MemberState } from '@app/shared/types/member';
@@ -75,6 +75,16 @@ router.put('/settings', [requireLogin], async (req: Request, res: Response) => {
}
})
router.get('/lite', [requireLogin], async (req: Request, res: Response) => {
try {
let out = await getAllMembersLite();
res.status(200).json(out);
} catch (error) {
console.error(error);
res.status(500).json(error);
}
})
router.post('/lite/bulk', async (req: Request, res: Response) => {
try {
let ids = req.body.ids;
@@ -86,6 +96,7 @@ router.post('/lite/bulk', async (req: Request, res: Response) => {
}
})
router.post('/full/bulk', async (req: Request, res: Response) => {
try {
let ids = req.body.ids;

View File

@@ -49,6 +49,18 @@ export async function getMembersLite(ids: number[]): Promise<MemberLight[]> {
return res;
}
export async function getAllMembersLite(): Promise<MemberLight[]> {
const sql = `SELECT m.member_id AS id,
m.member_name AS username,
m.displayName,
u.color
FROM view_member_rank_unit_status_latest m
LEFT JOIN units u ON u.name = m.unit;`;
const res: MemberLight[] = await pool.query(sql);
return res;
}
export async function getMembersFull(ids: number[]): Promise<Member[]> {
const sql = `SELECT * FROM view_member_rank_unit_status_latest WHERE member_id IN (?);`;
const res: Member[] = await pool.query(sql, [ids]);