mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-19 07:37: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 { savedChal } = await createChallenge(user, req, res);
|
||||||
|
|
||||||
const challengeTasks = await Tasks.Task.find({
|
const challengeTaskIds = [
|
||||||
'challenge.id': challengeToClone._id,
|
...challengeToClone.tasksOrder.habits,
|
||||||
userId: { $exists: false },
|
...challengeToClone.tasksOrder.dailys,
|
||||||
}).exec();
|
...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 tasksToClone = challengeTasks.map(task => {
|
||||||
const clonedTask = cloneDeep(task.toObject());
|
const clonedTask = cloneDeep(task.toObject());
|
||||||
|
|||||||
Reference in New Issue
Block a user