From 79cf77dc6327ee091827a2ecfbd46198fcededb8 Mon Sep 17 00:00:00 2001 From: EagleTrooper Date: Wed, 10 Dec 2025 22:17:45 -0600 Subject: [PATCH 1/4] Added 2 data types unit, unit_date --- ui/src/api/member.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ui/src/api/member.ts b/ui/src/api/member.ts index b97e7ac..4b55d8d 100644 --- a/ui/src/api/member.ts +++ b/ui/src/api/member.ts @@ -3,6 +3,8 @@ export type Member = { member_name: string; rank: string | null; rank_date: string | null; + unit: string | null; + unit_date: string | null; status: string | null; status_date: string | null; on_loa: boolean | null; -- 2.37.3.windows.1 From a8165e2ae529451f94224c62de15c1711a6fc88f Mon Sep 17 00:00:00 2001 From: EagleTrooper Date: Wed, 10 Dec 2025 22:18:08 -0600 Subject: [PATCH 2/4] Added Unit Table Header and Cell --- ui/src/pages/memberList.vue | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ui/src/pages/memberList.vue b/ui/src/pages/memberList.vue index 5408c26..64ea120 100644 --- a/ui/src/pages/memberList.vue +++ b/ui/src/pages/memberList.vue @@ -65,6 +65,7 @@ const searchedMembers = computed(() => { Member Rank + Unit Status @@ -75,6 +76,7 @@ const searchedMembers = computed(() => { {{ member.member_name }} {{ member.rank }} + {{ member.unit }} {{ member.status }} On LOA -- 2.37.3.windows.1 From fb64b35807a90c014e66f242da1eecd5dc393838 Mon Sep 17 00:00:00 2001 From: EagleTrooper Date: Wed, 10 Dec 2025 22:18:52 -0600 Subject: [PATCH 3/4] Updated database reference view_member_rank_status_all to view_member_rank_unit_status_latest --- api/src/routes/members.js | 4 ++-- api/src/routes/roles.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/api/src/routes/members.js b/api/src/routes/members.js index c93f249..ae6de7d 100644 --- a/api/src/routes/members.js +++ b/api/src/routes/members.js @@ -26,7 +26,7 @@ router.get('/', async (req, res) => { AND UTC_TIMESTAMP() BETWEEN l.start_date AND l.end_date ) THEN 1 ELSE 0 END AS on_loa - FROM view_member_rank_status_all v;`); + FROM view_member_rank_unit_status_latest v;`); return res.status(200).json(result); } catch (err) { console.error('Error fetching users:', err); @@ -61,7 +61,7 @@ router.get('/me', async (req, res) => { 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]); + const result = await pool.query('SELECT * FROM view_member_rank_unit_status_latest WHERE id = $1;', [userId]); if (result.rows.length === 0) { return res.status(404).json({ error: 'User not found' }); } diff --git a/api/src/routes/roles.js b/api/src/routes/roles.js index f1857f6..2a435f0 100644 --- a/api/src/routes/roles.js +++ b/api/src/routes/roles.js @@ -49,7 +49,7 @@ r.get('/', async (req, res) => { const membersRoles = await con.query(` SELECT mr.role_id, v.* FROM members_roles mr - JOIN view_member_rank_status_all v ON mr.member_id = v.member_id + JOIN view_member_rank_unit_status_latest v ON mr.member_id = v.member_id `); -- 2.37.3.windows.1 From 7a6020febbd8954aa6c81f82fc0bb1244b9c7e33 Mon Sep 17 00:00:00 2001 From: EagleTrooper Date: Thu, 11 Dec 2025 09:22:44 -0600 Subject: [PATCH 4/4] Changed event_date to start_date --- api/src/services/rankService.ts | 4 ++-- api/src/services/statusService.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/api/src/services/rankService.ts b/api/src/services/rankService.ts index f29a8b3..ada4ea0 100644 --- a/api/src/services/rankService.ts +++ b/api/src/services/rankService.ts @@ -21,8 +21,8 @@ export async function insertMemberRank(member_id: number, rank_id: number): Prom export async function insertMemberRank(member_id: number, rank_id: number, date?: Date): Promise { const sql = date - ? `INSERT INTO members_ranks (member_id, rank_id, event_date) VALUES (?, ?, ?);` - : `INSERT INTO members_ranks (member_id, rank_id, event_date) VALUES (?, ?, NOW());`; + ? `INSERT INTO members_ranks (member_id, rank_id, start_date) VALUES (?, ?, ?);` + : `INSERT INTO members_ranks (member_id, rank_id, start_date) VALUES (?, ?, NOW());`; const params = date ? [member_id, rank_id, date] diff --git a/api/src/services/statusService.ts b/api/src/services/statusService.ts index 7a62f3a..8b8fb28 100644 --- a/api/src/services/statusService.ts +++ b/api/src/services/statusService.ts @@ -1,6 +1,6 @@ import pool from "../db" export async function assignUserToStatus(userID: number, statusID: number) { - const sql = `INSERT INTO members_statuses (member_id, status_id, event_date) VALUES (?, ?, NOW())` + const sql = `INSERT INTO members_statuses (member_id, status_id, start_date) VALUES (?, ?, NOW())` await pool.execute(sql, [userID, statusID]); } -- 2.37.3.windows.1