| 123456789101112131415161718192021222324252627282930313233343536373839 | import { ReactiveCache } from '/imports/reactiveCache';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 = ReactiveCache.getUser({ username: importedMember.username });    if (wekanUser) importedMember.wekanId = wekanUser._id;    membersToMap.push(importedMember);  }  return membersToMap;}
 |