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:
Phillip Thelen
2024-01-16 22:18:47 +01:00
committed by GitHub
parent d0e4b533e3
commit f8d315ff6e
189 changed files with 2645 additions and 1423 deletions

View File

@@ -216,7 +216,10 @@ schema.methods.addNotification = function addUserNotification (type, data = {},
* @param data The data to add to the notification
*/
schema.statics.pushNotification = async function pushNotification (
query, type, data = {}, seen = false,
query,
type,
data = {},
seen = false,
) {
const newNotification = new UserNotification({ type, data, seen });
@@ -554,17 +557,21 @@ schema.methods.getFlagData = function getFlagData () {
return user.profile.flags;
};
schema.methods.updateBalance = async function updateBalance (amount,
schema.methods.updateBalance = async function updateBalance (
amount,
transactionType,
reference,
referenceText) {
referenceText,
) {
this.balance += amount;
if (transactionType === 'buy_gold') {
// Bulk these together in case the user is not using the bulk-buy feature
const lastTransaction = await Transaction.findOne({ userId: this._id },
const lastTransaction = await Transaction.findOne(
{ userId: this._id },
null,
{ sort: { createdAt: -1 } });
{ sort: { createdAt: -1 } },
);
if (lastTransaction.transactionType === transactionType) {
lastTransaction.amount += amount;
await lastTransaction.save();