Fixes card-number migration

and further optimizes getNextCardNumber in board model
This commit is contained in:
Kai Lehmann 2021-08-02 22:06:34 +02:00
parent 28e9a6ac33
commit 236b6c3552
2 changed files with 9 additions and 8 deletions

View file

@ -1066,12 +1066,7 @@ Boards.helpers({
getNextCardNumber() {
const boardCards = Cards.find({ boardId: this._id }).fetch();
if (boardCards.length == 0) {
return 1;
}
const maxCardNumber = Math.max(...boardCards
.map(c => c.cardNumber ? c.cardNumber : 0));
return maxCardNumber + 1;
return boardCards.length + 1;
},
cardsDueInBetween(start, end) {

View file

@ -1080,16 +1080,22 @@ Migrations.add('add-card-number-allowed', () => {
Migrations.add('assign-boardwise-card-numbers', () => {
Boards.find().forEach(board => {
let nextCardNumber = 1;
let nextCardNumber = board.getNextCardNumber();
Cards.find(
{
boardId: board._id,
cardNumber: {
$exists: false
}
},
{
sort: { createdAt: 1 }
}
).forEach(card => {
Cards.update(card._id, { $set: { cardNumber } }, noValidate);
Cards.update(
card._id,
{ $set: { cardNumber: nextCardNumber } },
noValidate);
nextCardNumber++;
});
})