mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-05-03 01:14:46 -04:00
Update to final version of enrollment start/end dates migration script
This commit is contained in:
parent
f733ce222a
commit
bcf015e3a4
1 changed files with 15 additions and 9 deletions
|
@ -1,10 +1,16 @@
|
||||||
// Migrate users from coursePrepaidID to coursePrepaid
|
// Migrate users from coursePrepaidID to coursePrepaid
|
||||||
|
|
||||||
startDate = new Date(Date.UTC(2016,4,22)).toISOString(); // NOTE: Month is 0 indexed...
|
startDate = new Date(Date.UTC(2016,4,15)).toISOString(); // NOTE: Month is 0 indexed...
|
||||||
endDate = new Date(Date.UTC(2017,4,22)).toISOString();
|
endDate = new Date(Date.UTC(2017,5,1)).toISOString();
|
||||||
print('Setting start/end', startDate, endDate);
|
|
||||||
|
|
||||||
db.prepaids.find({type: 'course'}).limit(10).forEach(function (prepaid) {
|
cutoffDate = new Date(2015,11,11);
|
||||||
|
cutoffID = ObjectId(Math.floor(cutoffDate/1000).toString(16)+'0000000000000000');
|
||||||
|
|
||||||
|
print('Setting start/end', startDate, endDate, cutoffID);
|
||||||
|
|
||||||
|
var cursor = db.prepaids.find({type: 'course', _id: { $gt: cutoffID }})
|
||||||
|
|
||||||
|
cursor.forEach(function (prepaid) {
|
||||||
var properties = prepaid.properties || {};
|
var properties = prepaid.properties || {};
|
||||||
if (!(prepaid.endDate && prepaid.startDate)) {
|
if (!(prepaid.endDate && prepaid.startDate)) {
|
||||||
if (!prepaid.endDate) {
|
if (!prepaid.endDate) {
|
||||||
|
@ -19,21 +25,21 @@ db.prepaids.find({type: 'course'}).limit(10).forEach(function (prepaid) {
|
||||||
if (!prepaid.startDate) {
|
if (!prepaid.startDate) {
|
||||||
prepaid.startDate = startDate;
|
prepaid.startDate = startDate;
|
||||||
}
|
}
|
||||||
print('updating prepaid', JSON.stringify(prepaid, null, '\t'));
|
print('updating prepaid', prepaid._id, 'creator', prepaid.creator, 'start/end', prepaid.startDate, prepaid.endDate);
|
||||||
//print(db.prepaids.save(prepaid));
|
print(' -', db.prepaids.save(prepaid));
|
||||||
}
|
}
|
||||||
|
|
||||||
var redeemers = prepaid.redeemers || [];
|
var redeemers = prepaid.redeemers || [];
|
||||||
for (var index in redeemers) {
|
for (var index in redeemers) {
|
||||||
var redeemer = redeemers[index];
|
var redeemer = redeemers[index];
|
||||||
var user = db.users.findOne({ _id: redeemer.userID }, { coursePrepaid: 1, coursePrepaidID: 1 });
|
var user = db.users.findOne({ _id: redeemer.userID }, { coursePrepaid: 1, coursePrepaidID: 1, email:1, name:1, permissions: 1 });
|
||||||
if (user.coursePrepaidID && !user.coursePrepaid) {
|
if (user.coursePrepaidID && !user.coursePrepaid) {
|
||||||
var update = {
|
var update = {
|
||||||
$set: { coursePrepaid: { _id: user.coursePrepaidID, startDate: prepaid.startDate, endDate: prepaid.endDate } },
|
$set: { coursePrepaid: { _id: user.coursePrepaidID, startDate: prepaid.startDate, endDate: prepaid.endDate } },
|
||||||
$unset: { coursePrepaidID: '' }
|
$unset: { coursePrepaidID: '' }
|
||||||
}
|
}
|
||||||
print('updating user', JSON.stringify(user, null, ' '), JSON.stringify(update, null, ' '));
|
print('\t updating user', user._id, user.name, user.email, user.permissions, JSON.stringify(update));
|
||||||
//print(db.users.update({_id: user._id}, update));
|
print('\t', db.users.update({_id: user._id}, update));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue