mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-17 22:57:21 +01:00
v3 migration: delete old completed todos
This commit is contained in:
@@ -19,6 +19,7 @@ var _ = require('lodash');
|
||||
var uuid = require('uuid');
|
||||
var consoleStamp = require('console-stamp');
|
||||
var common = require('../../common');
|
||||
var moment = require('moment');
|
||||
|
||||
// Add timestamps to console messages
|
||||
consoleStamp(console);
|
||||
@@ -61,19 +62,13 @@ var newTasksIds = require('./newTasksIds.json');
|
||||
var AFTER_USER_ID = nconf.get('AFTER_USER_ID');
|
||||
var BEFORE_USER_ID = nconf.get('BEFORE_USER_ID');
|
||||
|
||||
/* TODO compare old and new model
|
||||
- _id 9
|
||||
- challenges
|
||||
- groups
|
||||
- invitations
|
||||
- challenges' tasks
|
||||
*/
|
||||
|
||||
function processUsers (afterId) {
|
||||
var processedTasks = 0;
|
||||
var lastUser = null;
|
||||
var oldUsers;
|
||||
|
||||
var now = new Date();
|
||||
|
||||
var query = {};
|
||||
|
||||
if (BEFORE_USER_ID) {
|
||||
@@ -131,6 +126,7 @@ function processUsers (afterId) {
|
||||
}
|
||||
|
||||
var newUser = new NewUser(oldUser);
|
||||
var isSubscribed = newUser.isSubscribed();
|
||||
|
||||
oldTasks.forEach(function (oldTask) {
|
||||
oldTask._id = uuid.v4(); // create a new unique uuid
|
||||
@@ -157,6 +153,13 @@ function processUsers (afterId) {
|
||||
}
|
||||
}
|
||||
|
||||
// Delete old completed todos
|
||||
if (oldTask.type === 'todo' && oldTask.completed && (!oldTask.challenge.id || oldTask.challenge.broken)) {
|
||||
if (moment(now).subtract(isSubscribed ? 90 : 30, 'days').toDate() > moment(oldTask.dateCompleted).toDate()) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
oldTask.createdAt = oldTask.dateCreated;
|
||||
|
||||
if (!oldTask.text) oldTask.text = 'task text'; // required
|
||||
|
||||
Reference in New Issue
Block a user