overhauled client member management system

This commit is contained in:
2025-12-16 01:45:45 -05:00
parent 04ad7a8f14
commit 5cbe0e6c7f
8 changed files with 38 additions and 29 deletions

View File

@@ -5,9 +5,9 @@ import { Request, Response } from 'express';
import pool from '../db';
import { requireLogin, requireMemberState, requireRole } from '../middleware/auth';
import { getUserActiveLOA } from '../services/loaService';
import { getAllMembersLite, getMemberSettings, getMembersFull, getMembersLite, getUserData, setUserSettings } from '../services/memberService';
import { getAllMembersLite, getMemberSettings, getMembersFull, getMembersLite, getUserData, getUserState, setUserSettings } from '../services/memberService';
import { getUserRoles } from '../services/rolesService';
import { memberSettings, MemberState } from '@app/shared/types/member';
import { memberSettings, MemberState, myData } from '@app/shared/types/member';
//get all users
router.get('/', [requireLogin, requireMemberState(MemberState.Member)], async (req, res) => {
@@ -37,12 +37,12 @@ router.get('/me', [requireLogin], async (req, res) => {
return res.sendStatus(401)
try {
const { id, name, state } = await getUserData(req.user.id);
const memData = await getUserData(req.user.id);
const LOAData = await getUserActiveLOA(req.user.id);
const memState = await getUserState(req.user.id);
const roleData = await getUserRoles(req.user.id);
const userDataFull = { id, name, state, LOAData, roleData };
const userDataFull: myData = { member: memData, LOAs: LOAData, roles: roleData, state: memState };
res.status(200).json(userDataFull);
} catch (error) {
console.error('Error fetching user data:', error);

View File

@@ -1,9 +1,9 @@
import pool from "../db";
import { Member, MemberLight, memberSettings, MemberState } from '@app/shared/types/member'
export async function getUserData(userID: number) {
const sql = `SELECT * FROM members WHERE id = ?`;
const res = await pool.query(sql, [userID]);
export async function getUserData(userID: number): Promise<Member> {
const sql = `SELECT * FROM view_member_rank_unit_status_latest WHERE member_id = ?`;
const res: Member = await pool.query(sql, [userID]);
return res[0] ?? null;
}