Hunted the last of the \t's to extinction
This commit is contained in:
@@ -4,47 +4,47 @@ import { assertAdmin } from '/imports/api/sharing/sharingPermissions.js';
|
||||
import { SyncedCron } from 'meteor/littledata:synced-cron';
|
||||
|
||||
Meteor.startup(() => {
|
||||
const collections = [
|
||||
CreatureProperties,
|
||||
LibraryNodes,
|
||||
];
|
||||
const collections = [
|
||||
CreatureProperties,
|
||||
LibraryNodes,
|
||||
];
|
||||
|
||||
/**
|
||||
* Deletes all soft removed documents that were removed more than 1 day ago
|
||||
* and were not restored
|
||||
* @return {Number} Number of documents removed
|
||||
*/
|
||||
const deleteOldSoftRemovedDocs = function () {
|
||||
const now = new Date();
|
||||
const yesterday = new Date(now.getTime() - (24 * 60 * 60 * 1000));
|
||||
collections.forEach(collection => {
|
||||
collection.remove({
|
||||
removed: true,
|
||||
removedAt: { $lt: yesterday } // dates *before* yesterday
|
||||
}, function (error) {
|
||||
if (error) {
|
||||
console.error(JSON.stringify(error, null, 2));
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
/**
|
||||
* Deletes all soft removed documents that were removed more than 1 day ago
|
||||
* and were not restored
|
||||
* @return {Number} Number of documents removed
|
||||
*/
|
||||
const deleteOldSoftRemovedDocs = function () {
|
||||
const now = new Date();
|
||||
const yesterday = new Date(now.getTime() - (24 * 60 * 60 * 1000));
|
||||
collections.forEach(collection => {
|
||||
collection.remove({
|
||||
removed: true,
|
||||
removedAt: { $lt: yesterday } // dates *before* yesterday
|
||||
}, function (error) {
|
||||
if (error) {
|
||||
console.error(JSON.stringify(error, null, 2));
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
SyncedCron.add({
|
||||
name: 'deleteSoftRemovedDocs',
|
||||
schedule: function (parser) {
|
||||
return parser.text('every 10 minutes');
|
||||
},
|
||||
job: deleteOldSoftRemovedDocs,
|
||||
});
|
||||
SyncedCron.add({
|
||||
name: 'deleteSoftRemovedDocs',
|
||||
schedule: function (parser) {
|
||||
return parser.text('every 10 minutes');
|
||||
},
|
||||
job: deleteOldSoftRemovedDocs,
|
||||
});
|
||||
|
||||
SyncedCron.start();
|
||||
SyncedCron.start();
|
||||
|
||||
// Add a method to manually trigger removal
|
||||
Meteor.methods({
|
||||
deleteOldSoftRemovedDocs() {
|
||||
assertAdmin(this.userId);
|
||||
this.unblock();
|
||||
deleteOldSoftRemovedDocs();
|
||||
},
|
||||
});
|
||||
// Add a method to manually trigger removal
|
||||
Meteor.methods({
|
||||
deleteOldSoftRemovedDocs() {
|
||||
assertAdmin(this.userId);
|
||||
this.unblock();
|
||||
deleteOldSoftRemovedDocs();
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user