| 12345678910111213141516171819202122232425262728293031323334353637 | export function csvGetMembersToMap(data) {  // we will work on the list itself (an ordered array of objects) when a  // mapping is done, we add a 'wekan' field to the object representing the  // imported member  const membersToMap = [];  const importedMembers = [];  let membersIndex;  for (let i = 0; i < data[0].length; i++) {    if (data[0][i].toLowerCase() === 'members') {      membersIndex = i;    }  }  for (let i = 1; i < data.length; i++) {    if (data[i][membersIndex]) {      for (const importedMember of data[i][membersIndex].split(' ')) {        if (importedMember && importedMembers.indexOf(importedMember) === -1) {          importedMembers.push(importedMember);        }      }    }  }  for (let importedMember of importedMembers) {    importedMember = {      username: importedMember,      id: importedMember,    };    const wekanUser = Users.findOne({ username: importedMember.username });    if (wekanUser) importedMember.wekanId = wekanUser._id;    membersToMap.push(importedMember);  }  return membersToMap;}
 |