wekanmapper.js 863 B

123456789101112131415161718192021222324
  1. export function getMembersToMap(data) {
  2. // we will work on the list itself (an ordered array of objects) when a
  3. // mapping is done, we add a 'wekan' field to the object representing the
  4. // imported member
  5. const membersToMap = data.members;
  6. const users = data.users;
  7. // auto-map based on username
  8. membersToMap.forEach(importedMember => {
  9. importedMember.id = importedMember.userId;
  10. delete importedMember.userId;
  11. const user = users.filter(user => {
  12. return user._id === importedMember.id;
  13. })[0];
  14. if (user.profile && user.profile.fullname) {
  15. importedMember.fullName = user.profile.fullname;
  16. }
  17. importedMember.username = user.username;
  18. const wekanUser = Users.findOne({ username: importedMember.username });
  19. if (wekanUser) {
  20. importedMember.wekanId = wekanUser._id;
  21. }
  22. });
  23. return membersToMap;
  24. }