mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-17 14:47:53 +01:00
Upgrade to mongoose 7 (#14971)
* remove some unused dependencies * update mongoose version * make common tests pass * Make unit tests pass * make api v3 integration tests pass * fix lint issues * fix issue with package-lock * fix(lint): we don't need no .js * fix(lint): update to latest config-habitrpg * chore(npm): update package locks * fix(test): replace deprecated fn * chore(package): update eslint-habitrpg again * fix(lint): server linting * fix(lint): client linting * fix(client): correct mangled common imports * chore(npm): update package-locks * fix(lint): punctuation, module --------- Co-authored-by: SabreCat <sabrecat@gmail.com> Co-authored-by: SabreCat <sabe@habitica.com>
This commit is contained in:
@@ -119,7 +119,7 @@ schema.methods.addToUser = async function addChallengeToUser (user) {
|
||||
{ $push: { challenges: this._id } },
|
||||
).exec();
|
||||
|
||||
return !!result.nModified;
|
||||
return !!result.modifiedCount;
|
||||
};
|
||||
|
||||
// Returns true if user can view the challenge
|
||||
@@ -339,7 +339,7 @@ schema.methods.unlinkTasks = async function challengeUnlinkTasks (user, keep, sa
|
||||
removeFromArray(user.tasksOrder[`${task.type}s`], task._id);
|
||||
}
|
||||
|
||||
return task.remove();
|
||||
return task.deleteOne();
|
||||
});
|
||||
user.markModified('tasksOrder');
|
||||
taskPromises.push(this.save());
|
||||
@@ -361,7 +361,7 @@ schema.methods.closeChal = async function closeChal (broken = {}) {
|
||||
const brokenReason = broken.broken;
|
||||
|
||||
// Delete the challenge
|
||||
await this.model('Challenge').remove({ _id: challenge._id }).exec();
|
||||
await this.model('Challenge').deleteOne({ _id: challenge._id }).exec();
|
||||
|
||||
// Refund the leader if the challenge is deleted (no winner chosen)
|
||||
if (brokenReason === 'CHALLENGE_DELETED') {
|
||||
@@ -403,19 +403,21 @@ schema.methods.closeChal = async function closeChal (broken = {}) {
|
||||
]);
|
||||
}
|
||||
if (savedWinner.preferences.pushNotifications.wonChallenge !== false) {
|
||||
sendPushNotification(savedWinner,
|
||||
sendPushNotification(
|
||||
savedWinner,
|
||||
{
|
||||
title: challenge.name,
|
||||
message: shared.i18n.t('wonChallenge', savedWinner.preferences.language),
|
||||
identifier: 'wonChallenge',
|
||||
});
|
||||
},
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// Run some operations in the background without blocking the thread
|
||||
const backgroundTasks = [
|
||||
// And it's tasks
|
||||
Tasks.Task.remove({ 'challenge.id': challenge._id, userId: { $exists: false } }).exec(),
|
||||
Tasks.Task.deleteMany({ 'challenge.id': challenge._id, userId: { $exists: false } }).exec(),
|
||||
// Set the challenge tag to non-challenge status
|
||||
// and remove the challenge from the user's challenges
|
||||
User.updateMany({
|
||||
|
||||
Reference in New Issue
Block a user