mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-10-27 03:02:30 +01:00
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) {
|
|
const 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) {
|
|
const dateToEnd = moment(dateTerminated).toDate();
|
|
group.purchased.plan.dateTerminated = dateToEnd;
|
|
}
|
|
// group.purchased.plan.owner = ObjectId();
|
|
group.purchased.plan.subscriptionId = '';
|
|
|
|
return group.save();
|
|
}
|
|
|
|
export default async function addUnlimitedSubscriptionCreator () {
|
|
const groupId = process.argv[2];
|
|
|
|
if (!groupId) throw Error('Group ID is required');
|
|
|
|
const dateTerminated = process.argv[3];
|
|
|
|
await addUnlimitedSubscription(groupId, dateTerminated);
|
|
}
|