Fixed roles array query that returned unexpected null
All checks were successful
Pull Request CI / Update Deployment (pull_request) Successful in 3m13s

This commit is contained in:
2026-02-12 09:48:45 -05:00
parent 5d2ad6099c
commit 69c7e7ed7e

View File

@@ -184,25 +184,21 @@ export async function getAllMembersLite(): Promise<MemberLight[]> {
export async function getMembersFull(ids: number[]): Promise<MemberCardDetails[]> {
const sql = `
SELECT m.*,
COALESCE(
JSON_ARRAYAGG(
CASE
WHEN r.id IS NOT NULL THEN JSON_OBJECT(
'id', r.id,
'name', r.name,
'color', r.color,
'description', r.description
)
END
),
JSON_ARRAY()
) AS roles
SELECT
m.*,
(
SELECT COALESCE(JSON_ARRAYAGG(JSON_OBJECT(
'id', r.id,
'name', r.name,
'color', r.color,
'description', r.description
)), JSON_ARRAY())
FROM members_roles mr
JOIN roles r ON mr.role_id = r.id
WHERE mr.member_id = m.member_id
) AS roles
FROM view_member_rank_unit_status_latest m
LEFT JOIN members_roles mr ON m.member_id = mr.member_id
LEFT JOIN roles r ON mr.role_id = r.id
WHERE m.member_id IN (?)
GROUP BY m.member_id;
WHERE m.member_id IN (?);
`;
const rows: any[] = await pool.query(sql, [ids]);