mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-14 21:27:23 +01:00
* upgrade gulp-babel * upgrade babel-eslint * upgrade eslint-friendly-formatter * start upgrading chai * start to upgrade eslint * restore skipped tests * start to upgrqde monk * fix linting and remove unused file * fix mocha notifications, and common tests * fix unit tests * start to fix initrgration tests * more integration tests fixes * upgrade monk to latest version * lint /scripts * migrations: start moving to /archive unused migrations and run eslint with --fix * lint migrations * fix more integration tests * fix test
36 lines
966 B
JavaScript
36 lines
966 B
JavaScript
/*
|
|
let migrationName = 'ResyncGroupPlanMembers';
|
|
let authorName = 'TheHollidayInn'; // in case script author needs to know when their ...
|
|
let authorUuid = ''; // ... own data is done
|
|
*/
|
|
|
|
/*
|
|
* This migrations will iterate through all groups with a group plan a subscription and resync the free
|
|
* subscription to all members
|
|
*/
|
|
|
|
import Bluebird from 'bluebird';
|
|
|
|
import { model as Group } from '../../website/server/models/group';
|
|
import * as payments from '../../website/server/libs/payments';
|
|
|
|
async function updateGroupsWithGroupPlans () {
|
|
let cursor = Group.find({
|
|
'purchased.plan.planId': 'group_monthly',
|
|
'purchased.plan.dateTerminated': null,
|
|
}).cursor();
|
|
|
|
let promises = [];
|
|
|
|
cursor.on('data', (group) => {
|
|
promises.push(payments.addSubscriptionToGroupUsers(group));
|
|
promises.push(group.save());
|
|
});
|
|
|
|
cursor.on('close', async () => {
|
|
return await Bluebird.all(promises);
|
|
});
|
|
}
|
|
|
|
module.exports = updateGroupsWithGroupPlans;
|