wekanmapper.js 928 B

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