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
43 lines
1.3 KiB
JavaScript
43 lines
1.3 KiB
JavaScript
/*
|
|
let migrationName = 'AddUnlimitedSubscription';
|
|
let authorName = 'TheHollidayInn'; // in case script author needs to know when their ...
|
|
let authorUuid = ''; // ... own data is done
|
|
*/
|
|
|
|
/*
|
|
* This migrations will add a free subscription to a specified group
|
|
*/
|
|
import moment from 'moment';
|
|
|
|
import { model as Group } from '../../website/server/models/group';
|
|
|
|
// @TODO: this should probably be a GroupManager library method
|
|
async function addUnlimitedSubscription (groupId, dateTerminated) {
|
|
let group = await Group.findOne({_id: groupId});
|
|
|
|
group.purchased.plan.customerId = 'group-unlimited';
|
|
group.purchased.plan.dateCreated = new Date();
|
|
group.purchased.plan.dateUpdated = new Date();
|
|
group.purchased.plan.paymentMethod = 'Group Unlimited';
|
|
group.purchased.plan.planId = 'group_monthly';
|
|
group.purchased.plan.dateTerminated = null;
|
|
if (dateTerminated) {
|
|
let dateToEnd = moment(dateTerminated).toDate();
|
|
group.purchased.plan.dateTerminated = dateToEnd;
|
|
}
|
|
// group.purchased.plan.owner = ObjectId();
|
|
group.purchased.plan.subscriptionId = '';
|
|
|
|
return group.save();
|
|
}
|
|
|
|
module.exports = async function addUnlimitedSubscriptionCreator () {
|
|
let groupId = process.argv[2];
|
|
|
|
if (!groupId) throw Error('Group ID is required');
|
|
|
|
let dateTerminated = process.argv[3];
|
|
|
|
await addUnlimitedSubscription(groupId, dateTerminated);
|
|
};
|