From d3b7c29a1b40489a2b3499d77e68937bfd314813 Mon Sep 17 00:00:00 2001 From: JamesFlare1212 Date: Fri, 9 May 2025 22:54:38 -0400 Subject: [PATCH] improve: filter odd staff name --- engage-api/struct-staff.mjs | 40 ++++++++++++++++++++++++++++++++++--- 1 file changed, 37 insertions(+), 3 deletions(-) diff --git a/engage-api/struct-staff.mjs b/engage-api/struct-staff.mjs index 422c494..78e1f9c 100644 --- a/engage-api/struct-staff.mjs +++ b/engage-api/struct-staff.mjs @@ -2,10 +2,44 @@ let staffs = new Map(); -async function updateStaffMap(staffs,lParms) { - for (const staff of lParms) { - staffs.set(staff.key, staff.val) +async function dropOddName(staffsMap) { + let blackList = ["CL1-827", "CL1-831", "ID: CL1-832","CL1-834", + "CL1-835", "CL1-836", "CL1-838", "CL1-842", "CL1-843", + "CL1-844", "CL1-845", "CL1-846"]; + let oddNames = {"Mr TT15 Pri KinLiu TT15 Pri KinLiu": "Mr Kin Liu", + "Mr TT13 Yanni Shen TT13 Yanni Shen": "Mr Yanni Shen", + "Mr TT19 Pri Saima Salem TT19 Pri Saima Salem": "Mr Saima Salem", + "Ms TT Ca(CCA) TT Ma": "Ms Ca Ma", "Mr JackyT JackyT": "Mr JackyT", + "Ms TT Ma TT M": "Ms Ma M", "TT01 Fang TT01 Dong": "Mr Fang Dong", + "Mr TT18 Shane Rose TT18 Shane Rose": "Mr Shane Rose", + "Ms Caroline Malone(id)": "Ms Caroline Malone", + "Ms Marina Mao(id)": "Ms Marina Mao", + "Mrs Amy Yuan (Lower Secondary Secretary初中部学部助理)": "Mrs Amy Yuan", + "Ms Lily Liu (Primary)": "Ms Lily Liu", "Ms Cindy 薛": "Ms Cindy Xue", + "Ms SiSi Li": "Ms Sisi Li", "Ms Caroline Malone(id)": "Ms Caroline Malone", + "Ms Lily Liu (Primary)": "Ms Lily Liu"}; + // Filter out blacklisted keys + for (const key of blackList) { + staffsMap.delete(key); } + // Update odd names + for (const [originalName, correctedName] of Object.entries(oddNames)) { + for (const [id, name] of staffsMap) { + if (name === originalName) { + staffsMap.set(id, correctedName); + } + } + } + return staffsMap; +} + +async function updateStaffMap(staffsMap, lParms) { + for (const staff of lParms) { + if (staff && staff.key) { + staffsMap.set(staff.key, staff.val || ""); + } + } + return await dropOddName(staffsMap); } export async function structStaffData(rawActivityData) {