Use a Meteor call to copy a board

The current method was to copy a board on the client side.  But
not all data was available for copying rules.  Moving the copy
function to the server side solves this problem.
This commit is contained in:
John R. Supplee 2021-01-22 12:49:48 +02:00
parent 1c7a9e4de8
commit ff8a36653a
3 changed files with 30 additions and 6 deletions

View file

@ -209,3 +209,19 @@ Meteor.publishRelations('board', function(boardId, isArchived) {
return this.ready();
});
Meteor.methods({
copyBoard(boardId, properties) {
check(boardId, String);
check(properties, Object);
const board = Boards.findOne(boardId);
if (board) {
for (const key in properties) {
board[key] = properties[key];
}
return board.copy();
}
return null;
},
});