mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-18 15:17:25 +01:00
* fix cloned challenge task order (#13328) * fix lint errors
This commit is contained in:
@@ -860,10 +860,20 @@ api.cloneChallenge = {
|
||||
|
||||
const { savedChal } = await createChallenge(user, req, res);
|
||||
|
||||
const challengeTasks = await Tasks.Task.find({
|
||||
'challenge.id': challengeToClone._id,
|
||||
userId: { $exists: false },
|
||||
}).exec();
|
||||
const challengeTaskIds = [
|
||||
...challengeToClone.tasksOrder.habits,
|
||||
...challengeToClone.tasksOrder.dailys,
|
||||
...challengeToClone.tasksOrder.todos,
|
||||
...challengeToClone.tasksOrder.rewards,
|
||||
];
|
||||
|
||||
const challengeTasks = await Promise.all(challengeTaskIds.map(async taskId => {
|
||||
const task = Tasks.Task.findById(taskId).exec();
|
||||
return task;
|
||||
}));
|
||||
|
||||
// last task should be added first and vice-versa, since new tasks are prepended
|
||||
challengeTasks.reverse();
|
||||
|
||||
const tasksToClone = challengeTasks.map(task => {
|
||||
const clonedTask = cloneDeep(task.toObject());
|
||||
|
||||
Reference in New Issue
Block a user