// struct-staff.mjs let staffs = new Map(); 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) { let rows = rawActivityData.newRows; for (const rowObject of rows) { for (const field of rowObject.fields) { if (field.fID == "staff") { await updateStaffMap(staffs, field.lParms); return staffs; } } } }