overhauled client member management system
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user