import { TrelloCreator } from './trelloCreator' ;
import { WekanCreator } from './wekanCreator' ;
import { Exporter } from './export' ;
import wekanMembersMapper from './wekanmapper' ;
Meteor . methods ( {
importBoard ( board , data , importSource , currentBoard ) {
check ( board , Object ) ;
check ( data , Object ) ;
check ( importSource , String ) ;
check ( currentBoard , Match . Maybe ( String ) ) ;
let creator ;
switch ( importSource ) {
case 'trello' :
creator = new TrelloCreator ( data ) ;
break ;
case 'wekan' :
creator = new WekanCreator ( 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 ) ;
} ,
} ) ;