12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- import { TrelloCreator } from './trelloCreator';
- import { WekanCreator } from './wekanCreator';
- import { CsvCreator } from './csvCreator';
- import { Exporter } from './exporter';
- import wekanMembersMapper 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 addData = {};
- addData.membersMapping = wekanMembersMapper.getMembersToMap(data);
- const creator = new WekanCreator(addData);
- //data.title = `${data.title } - ${ TAPi18n.__('copy-tag')}`;
- data.title = `${data.title}`;
- return creator.create(data, currentBoardId);
- },
- });
|