| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 | import { TrelloCreator } from './trelloCreator';import { WekanCreator } from './wekanCreator';import { CsvCreator } from './csvCreator';import { Exporter } from './exporter';import { getMembersToMap } from './wekanmapper';Meteor.methods({  importBoard(board, data, importSource, currentBoard) {    check(data, Object);    check(importSource, String);    check(currentBoard, Match.Maybe(String));    let creator;    switch (importSource) {      case 'trello':        check(board, Object);        creator = new TrelloCreator(data);        break;      case 'wekan':        check(board, Object);        creator = new WekanCreator(data);        break;      case 'csv':        check(board, Array);        creator = new CsvCreator(data);        break;    }    // 1. check all parameters are ok from a syntax point of view    //creator.check(board);    // 2. check parameters are ok from a business point of view (exist &    // authorized) nothing to check, everyone can import boards in their account    // 3. create all elements    return creator.create(board, currentBoard);  },});Meteor.methods({  cloneBoard(sourceBoardId, currentBoardId) {    check(sourceBoardId, String);    check(currentBoardId, Match.Maybe(String));    const exporter = new Exporter(sourceBoardId);    const data = exporter.build();    const additionalData = {};    //get the members to map    const membersMapping = getMembersToMap(data);    //now mirror the mapping done in finishImport in client/components/import/import.js:    if (membersMapping) {      const mappingById = {};      membersMapping.forEach(member => {        if (member.wekanId) {          mappingById[member.id] = member.wekanId;        }      });      additionalData.membersMapping = mappingById;    }    const creator = new WekanCreator(additionalData);    //data.title = `${data.title  } - ${  TAPi18n.__('copy-tag')}`;    data.title = `${data.title}`;    return creator.create(data, currentBoardId);  },});
 |